Dieses Verhalten wird in der Technik durch ein bistabiles Relais realisiert. Bistabil bedeutet, der Schalter hat zwei stabile Zustände und jeder Tastendruck bringt ihn in den anderen stabilen Zustand. Der Einsatz ist z.B. eine Treppenhausbeleuchtung, wo man von jeder Stelle des Treppenhauses das Licht Ein- oder Ausschalten kann.
Die Taste A am Calliope mini ist monostabil. Sie hat nur einen stabilen Zustand. Wird sie nach dem Drücken losgelassen, geht sie in den Zustand "nicht gedrückt" zurück.
Es ist nicht möglich, im Programm den Zustand der LED abzufragen. Es gibt also keinen Befehl wie z.B. wenn die LED an, mache... Deshalb muss man sich den Zustand der LED in einer Variablen merken!
Variable sind wie Merkzettel, auf denen man sich Dinge aufschreibt, von denen man weiß, dass man sie vergessen wird.
Bei jedem Druck auf die Taste A wird der Inhalt der Variablen led_an abgefragt. Je nach dem Inhalt (wahr oder falsch) wird die LED aus- oder eingeschaltet. Danach wird der Inhalt der Variablen gewechselt, da sich ja auch der Zustand der LED gewechstelt hat. Die Variable led_an merkt sich den Zustand der LED, da der Zustand der LED im Programm nicht abgefragt werden kann.
Damit beim Drücken der Taste A die LED nicht ständig an- und ausgeht, muss zum Schluss noch gewartet werden, bis die Taste A wieder losgelassen wird.
Die Begriffe wahr und falsch bedeuten nicht, dass etwas richtig oder falsch ist. Sie beschreiben den Zustand einer logischen Variablen und sind vielleicht nicht ganz glücklich gewählt..
Zustand 1 | Zustand 2 |
---|---|
0 | 1 |
Aus | An |
false | true |
falsch | wahr |
Nein | Ja |
LOW | HIGH |
Aufgabe: Wenn das Programm funktioniert, entferne den Block: Warte, bis nicht Taste A gedrückt. Schau dir in der Simulation jetzt an, was das Programm beim längeren Drücken auf den Knopf A macht. Überlege, warum es das macht.
Aufgabe: Verkürze das Programm um eine Zeile!
Da sich der Inhalt der Variablen led_an bei jedem Drücken von A wechselt, kann der Inhalt jedesmal negiert werden. Aus wahr wird dann immer falsch und umgekehrt.
Aufgabe: Erweitere das Programm so, dass sich mit der Taste B die RGB-LED ebenfalls bistabil in Grün schalten lässt. Dazu sind die Blöcke für A zu kopieren und leicht zu ändern.
Aufgabe: Erweitere das Programm so, dass mit der Taste B die RGB-LED bistabil in Rot aufleuchtet.
Dazu sind zwei Variablen notwendig, denn das Programm muss sich jetzt merken, in welcher Farbe die LED leuchtet.
Beachte: Wenn die LED grün leuchtet, muss sie mit dem Drücken der Taste B sofort in rot aufleuchten. Dazu muss beim Einschalten der LED in grün die Variable für die rote LED auf falsch gesetzt werden. Entsprechend muss dann bei der Taste B mit der Variable für die grüne LED verfahren werden.
Der Programmablaufplan gehört zur Taste A. Für die Taste B sieht er ähnlichaus.
Dieses Verhalten wird in der Technik durch ein bistabiles Relais realisiert. Bistabil bedeutet, der Schalter hat zwei stabile Zustände und jeder Tastendruck bringt ihn in den anderen stabilen Zustand. Der Einsatz ist z.B. eine Treppenhausbeleuchtung, wo man von jeder Stelle des Treppenhauses das Licht Ein- oder Ausschalten kann.
Die Taste A am Calliope mini ist monostabil. Sie hat nur einen stabilen Zustand. Wird sie nach dem Drücken losgelassen, geht sie in den Zustand "nicht gedrückt" zurück.
Für diese Aufgabe müssen neue Befehle nachgeladen werden. Dazu geht man in den Block
und sucht dort die Erweiterung "warte bis...". Nach dem Anklicken findet man ganz oben die neuen Blöcke:
Es ist nicht möglich, im Programm den Zustand der LED abzufragen. Es gibt also keinen Befehl wie z.B. wenn die LED an, mache... Deshalb muss man sich den Zustand der LED in einer Variablen merken!
Variable sind wie Merkzettel, auf denen man sich Dinge aufschreibt, von denen man weiß, dass man sie vergessen wird.
Bei jedem Druck auf die Taste A wird der Inhalt der Variablen led_an abgefragt. Je nach dem Inhalt (wahr oder falsch) wird die LED aus- oder eingeschaltet. Danach wird der Inhalt der Variablen gewechselt, da sich ja auch der Zustand der LED gewechstelt hat. Die Variable led_an merkt sich den Zustand der LED, da der Zustand der LED im Programm nicht abgefragt werden kann.
Damit beim Drücken der Taste A die LED nicht ständig an- und ausgeht, muss zum Schluss noch gewartet werden, bis die Taste A wieder losgelassen wird.
Die Begriffe wahr und falsch bedeuten nicht, dass etwas richtig oder falsch ist. Sie beschreiben den Zustand einer logischen Variablen und sind vielleicht nicht ganz glücklich gewählt..
Zustand 1 | Zustand 2 |
---|---|
0 | 1 |
Aus | An |
false | true |
falsch | wahr |
Nein | Ja |
LOW | HIGH |
Aufgabe: Wenn das Programm funktioniert, entferne den Block: Warte, bis Knopf A losgelassen. Schau dir in der Simulation jetzt an, was das Programm beim längeren Drücken auf den Knopf A macht. Überlege, warum es das macht.
Aufgabe: Verkürze das Programm um eine Zeile!
Da sich der Inhalt der Variablen led_an bei jedem Drücken von A wechselt, kann der Inhalt jedesmal negiert werden. Aus wahr wird dann immer falsch und umgekehrt.
Aufgabe: Erweitere das Programm so, dass sich mit der Taste B die RGB-LED ebenfalls bistabil in Grün schalten lässt. Dazu sind die Blöcke für A zu kopieren und leicht zu ändern.
Aufgabe: Erweitere das Programm so, dass mit der Taste B die RGB-LED bistabil in Rot aufleuchtet.
Dazu sind zwei Variablen notwendig, denn das Programm muss sich jetzt merken, in welcher Farbe die LED leuchtet.
Beachte: Wenn die LED grün leuchtet, muss sie mit dem Drücken der Taste B sofort in rot aufleuchten. Dazu muss beim Einschalten der LED in grün die Variable für die rote LED auf falsch gesetzt werden. Entsprechend muss dann bei der Taste B mit der Variable für die grüne LED verfahren werden.
Der Programmablaufplan gehört zur Taste A. Für die Taste B sieht er ähnlich aus.
Dieses Verhalten wird in der Technik durch ein bistabiles Relais realisiert. Bistabil bedeutet, der Schalter hat zwei stabile Zustände und jeder Tastendruck bringt ihn in den anderen stabilen Zustand. Der Einsatz ist z.B. eine Treppenhausbeleuchtung, wo man von jeder Stelle des Treppenhauses das Licht Ein- oder Ausschalten kann.
Die Taste A am Calliope mini ist monostabil. Sie hat nur einen stabilen Zustand. Wird sie nach dem Drücken losgelassen, geht sie in den Zustand "nicht gedrückt" zurück.
Für diese Aufgabe muss wieder das Neopixel-Modul nachgeladen werden.
Es ist nicht möglich, im Programm den Zustand der LED abzufragen. Es gibt also keinen Befehl wie z.B. wenn die LED an, mache... Deshalb muss man sich den Zustand der LED in einer Variablen merken!
Variable sind wie Merkzettel, auf denen man sich Dinge aufschreibt, von denen man weiß, dass man sie vergessen wird.
Bei jedem Druck auf die Taste A wird der Inhalt der Variablen led_an abgefragt. Je nach dem Inhalt (wahr oder falsch) wird die LED aus- oder eingeschaltet. Danach wird der Inhalt der Variablen gewechselt, da sich ja auch der Zustand der LED gewechstelt hat. Die Variable led_an merkt sich den Zustand der LED, da der Zustand der LED im Programm nicht abgefragt werden kann.
Damit beim Drücken der Taste A die LED nicht ständig an- und ausgeht, muss zum Schluss noch gewartet werden, bis die Taste A wieder losgelassen wird.
Nach dem Schreiben des Programms muss es auf den Calliope mini übertragen werden. In der Simulation fünktionieren die Neopixel nicht. (Oktober 2024)
Die Begriffe wahr und falsch bedeuten nicht, dass etwas richtig oder falsch ist. Sie beschreiben den Zustand einer logischen Variablen und sind vielleicht nicht ganz glücklich gewählt. In Python werden die Begriff True und False verwendet.
Zustand 1 | Zustand 2 |
---|---|
0 | 1 |
Aus | An |
false | true |
falsch | wahr |
Nein | Ja |
LOW | HIGH |
Aufgabe: Wenn das Programm funktioniert, kommentiere mit einem # die beiden letzten Zeilen aus (while-Schleife).Schau dir auf dem Calliope mini jetzt an, was das Programm beim Drücken auf den Knopf A macht. Überlege, warum es das macht.
Aufgabe: Verkürze das Programm um eine Zeile!
Da sich der Inhalt der Variablen led_an bei jedem Drücken von A wechselt, kann der Inhalt jedesmal negiert werden. Aus wahr wird dann immer falsch und umgekehrt.
Aufgabe: Erweitere das Programm so, dass sich mit der Taste B die RGB-LED ebenfalls bistabil in Grün schalten lässt. Dazu sind die Blöcke für A zu kopieren und leicht zu ändern.
Aufgabe: Erweitere das Programm so, dass mit der Taste B die RGB-LED bistabil in Rot aufleuchtet.