Lüftungsassistent Loesung: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Zeile 15: Zeile 15:


== Komplettlösungen ==
== Komplettlösungen ==
[[Datei:pflanzwächteraufbau.jpg|right|500px|border|Pflanzenwächter]]
<pre id="01">
Wenn der micro:bit mit Strom versorgt ist zeigt der mit der LED Matrix die Feuchtigkeit der Erde. Wenn die Taste A gedrückt wird, wird der Wert als Zahl ausgegeben. Den Pflanzenwächter in Aktion siehst du in diesem Video https://youtu.be/S8NppVT_paw.  
input.onButtonPressed(Button.A, function () {
Eine mögliche Lösung könnte so aussehen. <spoiler text="Lösung">[[Datei: Loesung_pflanzenwaechter.PNG |border|800px|eine mögliche Lösung]]</spoiler>
    grad_pfeil = 180
    for (let index = 0; index < 30; index++) {
        basic.pause(1000)
        grad_pfeil = grad_pfeil - 6
        pins.servoWritePin(AnalogPin.P1, grad_pfeil)
    }
    music.playMelody("G B A G C5 B A B ", 120)
    for (let index = 0; index < 30; index++) {
        basic.pause(2000)
        grad_pfeil = grad_pfeil + 6
        pins.servoWritePin(AnalogPin.P1, grad_pfeil)
    }
    music.playMelody("A F A F A F A F ", 120)
})
let grad_pfeil = 0
pins.servoWritePin(AnalogPin.P1, 180)
basic.forever(function () {
})
 
</pre>

Version vom 2. Januar 2022, 15:05 Uhr

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 Metronom

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 stehenden1 180° in 6° Schritte.
Nach einer bestimmten Dauer soll der Pfeil jeweils um 6° weiterspringen. Dieser Vorgang wird 30x wiederholt.
Akustischer Hinweis
Sobald der Pfeil bei 0°, bzw. 180° 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
    for (let index = 0; index < 30; index++) {
        basic.pause(1000)
        grad_pfeil = grad_pfeil - 6
        pins.servoWritePin(AnalogPin.P1, grad_pfeil)
    }
    music.playMelody("G B A G C5 B A B ", 120)
    for (let index = 0; index < 30; index++) {
        basic.pause(2000)
        grad_pfeil = grad_pfeil + 6
        pins.servoWritePin(AnalogPin.P1, grad_pfeil)
    }
    music.playMelody("A F A F A F A F ", 120)
})
let grad_pfeil = 0
pins.servoWritePin(AnalogPin.P1, 180)
basic.forever(function () {
	
})