Lüftungsassistent
Frische Luft für frische Ideen
So wie unser ganzer Körper braucht vor allem 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?
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.
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
- 4,5V-Stromquelle (3x AA-Batterien) für Servo-Motor
- Lüftungsassistent Vorlage
- Karton zum Anfertigen der Anzeigetafel
Zeitaufwand
- 2 Unterrichtseinheit
Schwierigkeitsgrad
Kompetenzen
Das solltest du bereits können:
- Einen Servo-Motor mit 4,5 Volt Spannung (3x AA-Batterien) versorgen
- Einen Servo-Motor an den micro:bit anschließen
Du lernst...
- wie du Schleifen verwendest.
- wie du einen Servo-Motor exakt ansteuerst.
Unterrichtsfächer
- Physik
- Informatik
- Werken
Tipps und Hilfestellungen
Erforderliche Programmierblöcke
Ziel
- Beim Öffnen der Fenster wird die Taste A gedrückt. Der Timer beginnt zu zählen.
- 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
- Beim Start wird der Winkel des Servo-Motors auf 180° gesetzt. <spoiler text="Block">
pins.servoWritePin(AnalogPin.P1, 180)
</spoiler>
- Die Taste A setzt die erstellte Variable "grad_pfeil" auf 180, danach startet eine Schleife.
- Die Schleife wiederholt sich 30-mal. Dabei pausiert der micro:bit jeweils 10 Sekunden, bevor sich der Servo um -6° weiter bewegt.
- Sobald der Pfeil den Wert "Fenster schließen" erreicht, spielt der micro:bit eine Melodie ab. <spoiler text="Block">
let grad_pfeil = 0 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) })
</spoiler>
- Es folgt eine zweite Schleife. Nun pausiert der Servo für 90 Sekunden, bevor er sich um +6° weiter bewegt.
- Sobald der Pfeil den Wert "Fenster öffnen" erreicht, spielt der micro:bit wieder eine Melodie ab.
- Der Vorgang kann mit der Taste A wieder neu gestartet werden.
Tipps zur Umsetzung
- Denk daran, dass der micro:bit mit Millisekunden arbeitet. Am besten du verwendest eine Multiplikation, um eine längere Zeitdauer zu bestimmen:
- 300x1000 Millisekunden = 300 Sekunden = 5 Minuten
- 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.
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?
Weiterentwicklung
- Fallen dir noch weitere Einsatzmöglichkeiten für die Anzeigetafel ein?
- Auf welche Weise kann dich der micro:bit warnen, falls die Temperatur im Raum zu niedrig wird?