Calliope mini - Spaß durch Programmieren

Entwicklungsumgebungen

Bistabiler Schalter

Ziel: Mit der Taste A soll die RGB-LED ein- oder ausgeschaltet werden und der Zustand nach dem Loslassen der Taste erhalten bleiben.

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.

Bistabiler Schalter A

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.

Calliope mini-Programmablaufplan

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.

Programmverkürzung

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.

Calliope mini-Programmablaufplan

Bistabiler Schalter B

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.

Bistabiler Schalter A und B

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.

Calliope mini-Programmablaufplan

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.

Erweiterung laden

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:

Erweiterung

Bistabiler Schalter A

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.

Calliope mini-Programmablaufplan

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.

Programmverkürzung

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.

Calliope mini-Programmablaufplan

Bistabiler Schalter B

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.

Bistabiler Schalter A und B

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.

Calliope mini-Programmablaufplan

Der Programmablaufplan gehört zur Taste A. Für die Taste B sieht er ähnlich aus.

zurück