Lüftungsassistent: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Zeile 59: Zeile 59:
</pre>
</pre>
</spoiler>
</spoiler>
<li> Die Taste A setzt die Variable "grad_pfeil" auf 180, danach startet eine Schleife.<spoiler text="Block"><pre id="pre01">
<li> Die Taste A setzt die erstellte Variable "grad_pfeil" auf 180, danach startet eine Schleife.
let grad_pfeil = 0
<li> Die Schleife wiederholt sich 30-mal. Dabei pausiert der micro:bit jeweils 10 Sekunden, bevor sich der Servo um -6° weiter bewegt.
<li> Sobald die Anzeige den Wert "Fenster schließen" erreicht hat, spielt der micro:bit eine Melodie ab.<spoiler text="Block"><pre id="pre01">
input.onButtonPressed(Button.A, function () {
input.onButtonPressed(Button.A, function () {
     grad_pfeil = 180
     grad_pfeil = 180
     for (let index = 0; index < 30; index++) {
     for (let index = 0; index < 30; index++) {
   
        basic.pause(10 * 1000)
        grad_pfeil = grad_pfeil - 6
        pins.servoWritePin(AnalogPin.P1, grad_pfeil)
     }
     }
    music.playMelody("G B A G C5 B A B ", 120)
})
})
let grad_pfeil = 0
pins.servoWritePin(AnalogPin.P1, 180)


</pre>
</spoiler>
<li> Variable<spoiler text="Block">
<pre id="pre01">
let grad_pfeil = 0
input.onButtonPressed(Button.A, function () {
    grad_pfeil = 180
})


</pre>
</pre>
</spoiler>
</spoiler>
<li> Schleife
<li> Pins
<li> Musik
<li> Mathematik


</ol>
</ol>

Version vom 2. Januar 2022, 16:56 Uhr

Icon Frische Luft für frische Ideen

So wie unser ganzer Körper braucht vor allem auch das Gehirn Sauerstoff, um gut funktionierten zu können. Das wissen auch die Kinder der 3. Klasse. Trotzdem vergessen sie am Vormittag immer wieder die Fenster für ein paar Minuten zu öffnen, um frische Luft reinzulassen. Silvia und Georg haben eine Idee. Sie möchten einen Lüftungsassistenten bauen, der regelmäßig an das Öffnen und schließen der Fenster erinnert. Vielleicht kann da der micro:bit weiterhelfen?

Icon Aufgabenstellung

Mit dem BBC micro:bit kannst du einen Lüftungsassistenten programmieren.

  • Nach einer bestimmten Dauer erinnert der micro:bit mit einem akustischen Signal an das Öffnen und Schließen der Fenster.
  • Der angeschlossene Servo-Motor ist Teil einer Anzeigetafel, die mit der Stellung des Pfeiles einen Überblick über die Dauer des Öffnens und Schließens gibt.

Icon Materialien

  • BBC micro:bit (Version V2 oder V1 mit Lautsprecher für die Soundausgabe)
  • Servo-Motor samt Kabel für den Anschluss an den micro:bit
  • Datei:Lueftungsassistent Vorlage.pdf
  • Karton zum Anfertigen der Anzeigetafel

Icon Zeitaufwand

  • 2 Unterrichtseinheit

Icon Schwierigkeitsgrad

borderlessborderlessborderless

Icon Kompetenzen

Das solltest du bereits können:

  • Einen Servo-Motor an den BBC micro:bit anschließen


Du lernst...

  • wie du Schleifen verwendetst.
  • wie du einen Servo-Motor exakt ansteuern kannst.

Icon Unterrichtsfächer

  • Physik
  • Informatik
  • Werken

Icon Tipps und Hilfestellungen

Erforderliche Programmierblöcke

Ziel

  • Beim Öffnen der Fenster startet die Taste A den Timer.
  • Der Pfeil der Anzeigetafel zeigt die restliche Dauer bis zum Öffnen und Schließen der Fenster an.
  • Ein akustisches Signal weist auf das Öffnen und Schließen der Fenster hin.

Blöcke

  1. Beim Start wird der Winkel des Servo-Motors auf 180° gesetzt<spoiler text="Block">
    pins.servoWritePin(AnalogPin.P1, 180)
    

    </spoiler>

  2. Die Taste A setzt die erstellte Variable "grad_pfeil" auf 180, danach startet eine Schleife.
  3. Die Schleife wiederholt sich 30-mal. Dabei pausiert der micro:bit jeweils 10 Sekunden, bevor sich der Servo um -6° weiter bewegt.
  4. Sobald die Anzeige den Wert "Fenster schließen" erreicht hat, spielt der micro:bit eine Melodie ab.<spoiler text="Block">
    input.onButtonPressed(Button.A, function () {
        grad_pfeil = 180
        for (let index = 0; index < 30; index++) {
            basic.pause(10 * 1000)
            grad_pfeil = grad_pfeil - 6
            pins.servoWritePin(AnalogPin.P1, grad_pfeil)
        }
        music.playMelody("G B A G C5 B A B ", 120)
    })
    let grad_pfeil = 0
    pins.servoWritePin(AnalogPin.P1, 180)
    
    
    

    </spoiler>

Tipps zur Umsetzung

  • Für den Timer musst du dir überlegen, wie lange du die Fenster geöffnet und geschlossen haben möchtest.
  • Falls du einen micro:bit V1 verwendest, achte darauf, dass der Pin P0 für die Soundausgabe verwendet wird. Den Servo-Motor musst du dann an P1 anschließen.

Schritt für Schritt zur Lösung

Hinweise zur Lösungsfindung und auch eine mögliche, komplette Lösung findest du auf der Lösungsseite zu diesem Beispiel

Icon Präsentation und Reflexion

Allgemein

  • Stelle dein Ergebnis vor! Was kann dein Produkt?
  • Was hat dir bei der Entwicklung deines Produkts gefallen?
  • Welche Schwierigkeiten hattest? Wie konntest du diese lösen?
  • Erläutere, wie du dein Produkt programmiert hast!
  • Was war bei dieser Aufgabe interessant für dich?

Projektspezifisch

  • Welche Regeln wurden für Kopf und Zahl festgelegt? Welche andere Regeln für "Kopf oder Zahl" gäbe es noch?
  • Welche Diskussionspunkte ergaben sich während des Spiels?
  • Wo wird im Alltag der Wirtschaft mit Zufallsgenerator gearbeitet?
  • Wo braucht man bei einem Computerspiel den Zufallsgenerator.
  • Wo war bei diesem Beispiel der Vorteil des Computers zu sehen, wo war er eher ein Nachteil?
  • Bei welcher Erweiterungsstufe war es am schwierigsten, einen Programmcode zu erstellen.

Icon Weiterentwicklung

  • Fallen dir noch weitere Einsatzmöglichkeiten für die Anzeigetafel ein?
  • Kann dich der micro:bit warnen, falls die Temperatur im Raum zu niedrig wird?