Mit dem Lichtsensor wird die Umgebungshelligkeit gemessen. Wenn es draußen dunkler wird, wird das Fahrradlicht automatisch angeschaltet. Wenn es heller wird, wird es ausgeschaltet. Außerdem gibt es noch eine Stufe dazwischen, bei der die Hälfte der LEDs angeschaltet werden.
Kategorie | Sensoren |
Schulstufe | SEK1, GS |
Schwerpunkte | Variablen, Sensoren |
Entwickle eine Fahrradleuchte, welche
- sich ausschaltet, wenn es hell ist
- sich einschaltet, wenn es dunkel ist
- dazwischen, bei Dämmerung, auf Sparflamme ist
Ampelstruktur
Definiere zwei Grenzwerte (Minimum und Maximum), die die Ampelstufen festlegen und programmiere die Abfragen und Bedingungen.
Eine Wenn dann… ansonsten Abfrage ermöglicht dir die Unterscheidung der drei Bedingungen.
Ist die gemessene Lichtstärke größer (>) als 70% (MakeCode: 180) ist, schaltet sich das Display aus.
Ist die gemessene Lichtstärke kleiner (<) als 30% (MakeCode: 50), schaltet sich das Display komplett an.
Ist die gemessene Lichtstärke weder niedriger (<) als 30% (MakeCode: 50) noch höher (>) als 70% (MakeCode: 180), schaltet sich das Display zur Hälfte an.
Die dritte und mittlere Stufe wird durch den Wert zwischen den beiden Grenzwerten definiert.
Hier findest du Informationen zu der LED-Matrix, die gleichzeitig auch der Helligkeitssensor ist, sowie weiteren Grundlagen.
Die grafische Darstellung in Form eines PAP dient als Grundlage der
Entwicklung eines Programms. Ein PAP beschreibt den Ablauf und die
Zusammenhänge von einzelnen Operationen zur Lösung einer Aufgabe.
- Variable erstellen
- Variablen setzen
- Lichtsensor abfragen
- Bedingte Anweisung definieren
- logische Vergleiche
- LEDs anzeigen
In MakeCode werden die Werte in 8bit dargestellt und reichen von 0 - 255.
Deshalb müssen auch die Abfragen entsprechend angepasst werden.
Starte den Debug-Modus und teste dein Programm.
Du kannst die Helligkeit im Debugger auf unterschiedliche Werte stellen.
Wird die Verzweigung bei der richtigen Bedingung abgebrochen?
Ist die Lampe z.B. an, wenn der Wert unter 50 liegt?
- Variable erstellen
- Dauerhaft wiederholen (while True:)
- Lichtsensor abfragen
- Bedingte Anweisung
- logische Vergleiche
- LEDs anzeigen
- Variable erstellen
- Wiederhole unendlich oft Schleife
- Lichtsensor abfragen
- Bedingte Anweisung
- logische Vergleiche
- LEDs anzeigen
Eine Beschreibung der einzelnen Programmier-Blöcke gibt es hier.
Starte den Debug-Modus und teste dein Programm.
Du kannst die Helligkeit im Debugger auf unterschiedliche Werte stellen.
Wird die Verzweigung bei der richtigen Bedingung abgebrochen?
Ist die Lampe z.B. an, wenn der Wert unter 30% liegt?
Starte den Debug-Modus im jeweiligen Editor und lasse dein Programm durchlaufen.
Du kannst die Helligkeit im Debugger auf unterschiedliche Werte stellen.
- Wird die Verzweigung bei der richtigen Bedingung abgebrochen?
- Ist die Lampe z.B. an, wenn der Wert unter 30% liegt?
Füge weitere Bedingungen zu der Verzweigung hinzu: z.B. 20%, 40%, 60%...
Wie muss die Mehrfachverzweigung umstrukturiert werden, um noch weitere Helligkeitsabstufen zu prüfen?