Lüftungsassistent Loesung
Zur Navigation springen
Zur Suche springen
Grundsätzliche Überlegungen
Der Servo-Motor funktioniert ähnlich wie der Minutenzeiger einer Uhr. Während der Minutenzeiger jedoch nur im Uhrzeigersinn läuft und 60 Minuten auf 360° aufteilt (6° pro Minute), bewegt sich der Servo-Motor in beide Richtungen und unterteilt die voreingestellte Zeitdauer auf 180°.
Hilfestellungen und Lösung zum Lüftungsassistent
- Ausgangsstellung Servo-Motor und Pfeil
- Zu Beginn setzen wir den Winkel des Servo-Motors auf 180°.
- Der Pfeil wird passend auf den Servo-Motor geklebt. Der Pfeil zeigt auf das rote Ende der Skala ("Fenster öffnen").
- Pfeilbewegung und Zeitintervall
- Wir unterteilen die zur Verfügung stehenden 180° in 6° Schritte.
- Nach einer bestimmten Dauer soll der Pfeil jeweils um 6° weiterspringen.
- Bei geöffnetem Fenster 10x1000ms (= 10 Sekunden)
- Bei geschlossenem Fenster 90x1000ms (= 90 Sekunden)
- Akustischer Hinweis
- Sobald der Pfeil bei "Fenster öffnen", bzw. "Fenster schließen" angekommen ist, soll uns der micro:bit ein akustisches Signal zum Öffnen und Schließen der Fenster geben.
Komplettlösungen
input.onButtonPressed(Button.A, function () {
grad_pfeil = 180
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #
`)
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)
basic.showLeds(`
# # # # #
# . # . #
# . # . #
# . # . #
# # # # #
`)
for (let index = 0; index < 30; index++) {
basic.pause(90 * 1000)
grad_pfeil = grad_pfeil + 6
pins.servoWritePin(AnalogPin.P1, grad_pfeil)
}
music.playMelody("A F A F A F A F ", 120)
basic.clearScreen()
})
let grad_pfeil = 0
pins.servoWritePin(AnalogPin.P1, 180)
- Eine mögliche Lösung