Calliope mini - Spaß durch Programmieren

Entwicklungsumgebungen

CountDown (1)

Ziel: Die 25 roten LED des Bildschirmes gehen nacheinander in einer bestimmten Zeit aus. Während des Ausgehens leuchtet die RGB-LED rot auf, danach grün.

Im Video beträgt die CountDown-Zeit 15 Sekunden.

Einzelne LEDs einschalten

Mit diesem Befehl lässt sich eine LED mit den Koordinaten x und y mit einer bestimmten Helligkeit einschalten.

  • x: Position in x-Richtung nach rechts von 0 bis 4
  • y: Position in y-Richtung nach unten von 0 bis 4
  • Helligkeit: Helligkeit der LED von 0 (aus) bis 9 (hell).

Aufgabe: Setzt 5 Anweisungen untereinander, so dass die mittlere, waagerechte LED-Leiste von links nach rechts in den Helligkeiten 1, 3, 5, 7 und 9 aufleuchtet.

Setze danach die Anweisungen in eine unendliche Schleife, baue zwischen den Anweisungen Wartezeiten von 0,5 s ein und lösche am Ende den Bildschirm.

Calliope mini-LED-Block
Calliope mini-LED-Block

LEDs mit einer Zählschleife einschalten

Um 25 LED anzusteuern, wären dann 25 einzelne Befehle notwendig. Das geht viel einfacher.

Im Folgenden wird ein Programm beschrieben, dass die 5 LED der mittleren Reihe in aufsteigender Helligkeit nacheinander einschaltet, dann den Bildschirm löscht und die LED wieder aufleuchten lässt.

Aufgabe: Setze die Programmbeschreibung in ein lauffähiges Programm um.

Programmbeschreibung

Zu Beginn werden zwei Variablen erzeugt:
Name Typ Startwert
spalte Zahl 0
helligkeit Zahl 1

Das gesamte Programm läuft in einer unendlichen Schleife.

In einer Schleife, die 5-mal wiederholt wird, setzt man zuerst die LED mit der x-Koordinate spalte und der y-Koordinate 2 auf die Helligkeit helligkeit.
Danach wird der Inhalt der Variablen spalte um 1 und der Inhalt der Variablen helligkeit um 2 erhöht.
Es folgt am Ende der 5-fach-Schleife eine Wartezeit von einer halben Sekunde.

Nach dem Ende der 5-fach-Schleife wird

  1. die Variable spalte auf 0 gesetzt
  2. die Variable helligkeit auf 1 gesetzt
  3. der Bildschirm gelöscht
  4. eine halbe Sekunde gewartet

Achtung: Es kann sein, dass das Programm ein Mal gut läuft. Danach wird der Bildschirm wieder eingeschaltet, aber die LEDs werden nicht gelöscht. Untersuche im Debug-Modus das Verhalten der Variablen und ändere das Programm.

count_down

Wenn das beschriebene Programm richtig eingegeben wurde, läuft der Calliope mini wie in dem Video.

Aufgabe: Ändere das Programm so, dass die erste Zeile nacheinander einschaltet.

Aufgabe: Ändere das Programm so, dass die mittlere Spalte nacheinander einschaltet.

Eine Zeile ausschalten

Aufgabe: Es soll nun im voll beleuchteten Bildschirm eine Zeile gelöscht werden. Dazu ist der Bildschirm vor der 5-fach-Schleife komplett einzuschalten und die Helligkeit beim Setzen der LED auf 0 zu stellen.
Beachte: Da die Helligkeit jetzt immer 0 ist, kann die Variable helligkeit entfernt werden.

Zwei verschachtelte Zählschleifen

Im nächsten Schritt wird jede Zeile einzeln gelöscht. Die Zeile ist die y-Koordinate.

  1. Es wird eine neue Variable zeile erzeugt. Sie ist vom Typ Zahl und erhält den Startwert 0.
  2. Die neue Variable wird im Block Setze LED am y-Wert angedockt.
  3. Um die 5-fach-Schleife wird eine weitere 5-fach-Schleife gelegt!
  4. Die neue Schleife umschließt jetzt die zu Beginn geschriebene 5-fach-Schleife. NACH dieser inneren Schleife wird
    • die Variable zeile um 1 erhöht
    • die Variable spalte wieder auf 0 zurückgesetzt.
  5. Teste das fertige Programm.

Hinweis: Du wirst merken, dass das Programm ein Mal gut läuft. Danach wird der Bildschirm wieder eingeschaltet, aber die LEDs werden nicht gelöscht. Untersuche im Debug-Modus das Verhalten der Variablen und ändere das Programm.

Calliope mini-Verschachtelte Schleifen

Einzelne LEDs einschalten

Mit diesem Befehl lässt sich eine LED mit den Koordinaten x und y mit einer bestimmten Helligkeit einschalten.

  • x: Position in x-Richtung nach rechts von 0 bis 4
  • y: Position in y-Richtung nach unten von 0 bis 4
  • Helligkeit: Helligkeit der LED von 0 (aus) bis 255 (hell).

Aufgabe: Setzt 5 Anweisungen untereinander, so dass die mittlere, waagerechte LED-Leiste von links nach rechts in den Helligkeiten 51, 102, 153, 204 und 255 aufleuchtet.

Calliope mini-LED-Block
Calliope mini-LED-Block

LEDs mit einer Zählschleife einschalten

Um 25 LED anzusteuern, wären dann 25 einzelne Befehle notwendig. Das geht viel einfacher.

Im Folgenden wird ein Programm beschrieben, dass die 5 LED der mittleren Reihe in aufsteigender Helligkeit nacheinander einschaltet, dann den Bildschirm löscht und die LED wieder aufleuchten lässt.

Aufgabe: Setze die Programmbeschreibung in ein lauffähiges Programm um.

Programmbeschreibung

Zu Beginn werden zwei Variablen erzeugt:
Name Typ Startwert
spalte Zahl 0
helligkeit Zahl 51

Das gesamte Programm läuft in einer unendlichen Schleife.

In einer Schleife, die 5-mal wiederholt wird, setzt man zuerst die LED mit der x-Koordinate spalte und der y-Koordinate 2 auf die Helligkeit helligkeit.
Danach wird der Inhalt der Variablen spalte um 1 und der Inhalt der Variablen helligkeit um 51 erhöht. (255/5=51)
Es folgt am Ende der 5-fach-Schleife eine Wartezeit von einer halben Sekunde.

Nach dem Ende der 5-fach-Schleife wird

  1. die Variable spalte auf 0 gesetzt
  2. die Variable helligkeit auf 51 gesetzt
  3. der Bildschirm gelöscht
  4. eine halbe Sekunde gewartet
count_down

Wenn das beschriebene Programm richtig eingegeben wurde, läuft der Calliope mini wie in dem Video.

Aufgabe: Ändere das Programm so, dass die erste Zeile nacheinander einschaltet.

Aufgabe: Ändere das Programm so, dass die mittlere Spalte nacheinander einschaltet.

Eine Zeile ausschalten

Aufgabe: Es soll nun im voll beleuchteten Bildschirm eine Zeile gelöscht werden. Dazu ist der Bildschirm vor der 5-fach-Schleife komplett einzuschalten und die Helligkeit beim Setzen der LED auf 0 zu stellen.
Beachte: Da die Helligkeit jetzt immer 0 ist, kann die Variable helligkeit entfernt werden.

Zwei verschachtelte Zählschleifen

Im nächsten Schritt wird jede Zeile einzeln gelöscht. Die Zeile ist die y-Koordinate.

  1. Es wird eine neue Variable zeile erzeugt. Sie ist vom Typ Zahl und erhält den Startwert 0.
  2. Die neue Variable wird im Block Zeichne x... am y-Wert angedockt.
  3. Um die 5-fach-Schleife wird eine weitere 5-fach-Schleife gelegt!
  4. Die neue Schleife umschließt jetzt die zu Beginn geschriebene 5-fach-Schleife. NACH dieser inneren Schleife wird
    • die Variable zeile um 1 erhöht
    • die Variable spalte wieder auf 0 zurückgesetzt.
  5. Teste das fertige Programm.

Hinweis: Du wirst merken, dass das Programm ein Mal gut läuft. Danach wird der Bildschirm wieder eingeschaltet, aber die LEDs werden nicht gelöscht. Untersuche im Debug-Modus das Verhalten der Variablen und ändere das Programm.

Calliope mini-Verschachtelte Schleifen

Einzelne LEDs einschalten

Mit diesem Befehl lässt sich eine LED mit den Koordinaten x und y mit einer bestimmten Helligkeit einschalten. In der Klammer müssen drei Werte, getrennt durch ein Komma, stehen.

  • 1. Wert x: Position in x-Richtung nach rechts von 0 bis 4
  • 2. Wert y: Position in y-Richtung nach unten von 0 bis 4
  • 3. Wert Helligkeit: Helligkeit der LED von 0 (aus) bis 9 (hell).

Aufgabe: Setzt 5 Anweisungen untereinander, so dass die mittlere, waagerechte LED-Leiste von links nach rechts in den Helligkeiten 1, 3, 5, 7 und 9 aufleuchtet.

Calliope mini-LED-Block
Calliope mini-LED-Block

LEDs mit einer Zählschleife einschalten

Um 25 LED anzusteuern, wären dann 25 einzelne Befehle notwendig. Das geht viel einfacher.

Im Folgenden wird ein Programm beschrieben, dass die 5 LED der mittleren Reihe in aufsteigender Helligkeit nacheinander einschaltet, dann den Bildschirm löscht und die LED wieder aufleuchten lässt.

Aufgabe: Übernimm das Programm.

Programmbeschreibung

Zu Beginn werden zwei Variablen erzeugt:
Name Typ Startwert
x Zahl 0
h Zahl 1

Das gesamte Programm läuft in einer unendlichen Schleife.

In einer Schleife, die 5-mal wiederholt wird, setzt man zuerst die LED mit der x-Koordinate x und der y-Koordinate 2 auf die Helligkeit h.
Danach wird der Inhalt der Variablen x um 1 und der Inhalt der Variablen h um 2 erhöht.
Es folgt am Ende der 5-fach-Schleife eine Wartezeit von einer halben Sekunde.

Nach dem Ende der 5-fach-Schleife wird

  1. die Variable x auf 0 gesetzt
  2. die Variable h auf 1 gesetzt
  3. der Bildschirm gelöscht
  4. eine halbe Sekunde gewartet
count_down

Was verbirgt sich eigentlich hinter der Variable i? Um das herauszufinden, wird sie bei jedem Schleifendurchlauf angezeigt. Dazu werden drei Zeilen mit einem # auskommentiert und eine zusätzliche Zeile eingefügt. Die auskommentierten Zeilen werden vom Programm nicht mehr berücksichtigt.

Aufgabe: Ändere das Programm. Die Variable x wird gelöscht und durch das i ersetzt. Danach sollte es wieder laufen, ist aber kürzer.

count_down

Wenn das beschriebene Programm richtig eingegeben wurde, läuft der Calliope mini wie in dem Video.

Aufgabe: Ändere das Programm so, dass die erste Zeile nacheinander einschaltet.

Aufgabe: Ändere das Programm so, dass die mittlere Spalte nacheinander einschaltet.

Eine Zeile ausschalten

Aufgabe: Es soll nun im voll beleuchteten Bildschirm eine Zeile gelöscht werden. Dazu ist der Bildschirm vor der 5-fach-Schleife komplett einzuschalten und die Helligkeit beim Setzen der LED auf 0 zu stellen.

Programmteil zum Einschalten des Bildschirms
Beachte: Da die Helligkeit jetzt immer 0 ist, kann die Variable h entfernt werden.

Zwei verschachtelte Zählschleifen

Im nächsten Schritt wird jede Zeile einzeln gelöscht. Die Zeile ist die y-Koordinate.

  1. Es wird eine weitere 5-fach-Schleife eingefügt.
  2. Die display.set_pixel-Anweisung wird so verändert, dass die Variable i und j die Koordinaten der entsprechenden LED darstellen.
  3. Teste das fertige Programm.

Calliope mini-Verschachtelte Schleifen

zurück