Kühlschrankwächter Lösung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 13: | Zeile 13: | ||
== Komplettlösungen == | == Komplettlösungen == | ||
; Beim Starten des Programms, was müssen wir alles festlegen? | ; Beim Starten des Programms, was müssen wir alles festlegen? | ||
: Eine mögliche Lösung für den Start? <spoiler text="Lösung"> | : Eine mögliche Lösung für den Start? <spoiler text="Lösung"><pre id="pre4"> | ||
basic.showLeds(` | |||
# # # # # | |||
# # # # # | |||
# # # # # | |||
# # # # # | |||
# # # # # | |||
`) | |||
</pre></spoiler> | |||
; Wenn das Programm läuft, muss nur noch die Lichtstärke dauerhaft abgefragt und verglichen werden. | ; Wenn das Programm läuft, muss nur noch die Lichtstärke dauerhaft abgefragt und verglichen werden. | ||
: Das sieht im einfachsten Fall so aus: <spoiler text="Lösung"> | : Das sieht im einfachsten Fall so aus: <spoiler text="Lösung"><pre id="pre4"> | ||
basic.forever(function () { | |||
if (input.lightLevel() < 10) { | |||
basic.showLeds(` | |||
. . . . . | |||
. . . . . | |||
. . . . . | |||
. . . . . | |||
# # # # # | |||
`) | |||
} | |||
}) | |||
</pre></spoiler> | |||
<htmlet>makecode_embed</htmlet> |
Aktuelle Version vom 12. Mai 2020, 11:06 Uhr
Grundsätzliche Überlegungen
Für dieses einführende Beispiel sind zwei Ideen wichtig:
- Was sind Ereignisse und welche gibt es beim micro:bit?
- Wie funktionieren Abfragen und wie können dort Vergleiche verwendet werden?
Tipps und Tricks
- Überlege dir zwei verschiedene Symbole für "Es ist hell" und "Es ist dunkel". Hole dir am besten zwei Blöcke namens "Zeige LEDs" und zeichne dir zwei beliebige Muster. Diese Blöcke kannst du später in dein Programm einbauen.<spoiler text="Lösung"></spoiler>
- Beim Starten des Programms soll eines davon angezeigt werden. Welches nimmst du, wenn wir davon ausgehen, dass wir bei offener Kühlschranktür starten? Baue dein Symbol beim Ereignis "beim Start" ein!
- Das meiste, was man im Block "dauerhaft" benötigt, findet man im Bereich "Logik" der Programmierumgebung. Für unser Beispiel reicht ein "Wenn"-Block und darin ein Block zum Vergleichen ob etwas kleiner als etwas anderes ist. Dieser Vergleichsblock kann in die "Wenn"-Abfrage eingebaut werden.
- Das Messen der Lichtstärke ist ein Eingabewert. Der entsprechende Block kann in diesem Bereich gefunden werden. Er passt in den Vergleichsbaustein der "Wenn"-Abfrage.
- Probiere verschiedene Zahlenwert aus, unter die die Lichtstärke fallen muss damit "Es ist dunkel" angezeigt wird. Wie weit musst du deine Hand jeweils über den micro:bit legen, damit dein Kühlschrankwächter Alarm schlägt?
Komplettlösungen
- Beim Starten des Programms, was müssen wir alles festlegen?
- Eine mögliche Lösung für den Start? <spoiler text="Lösung">
basic.showLeds(` # # # # # # # # # # # # # # # # # # # # # # # # # `) </spoiler>
- Wenn das Programm läuft, muss nur noch die Lichtstärke dauerhaft abgefragt und verglichen werden.
- Das sieht im einfachsten Fall so aus: <spoiler text="Lösung">
basic.forever(function () { if (input.lightLevel() < 10) { basic.showLeds(` . . . . . . . . . . . . . . . . . . . . # # # # # `) } }) </spoiler>