Calliope mini

Lauflicht

Ziel: Es soll ein Punkt als Lauflicht über den Bildschirm wandern. Dazu wird im Programm nur ein Setze-LED-Block verwendet. Die Zeilen und Spalten werden über Zählschleifen verändert.
Der Punkt läuft zuerst von links oben nach rechts unten. Danach bewegt er sich wieder zurück usw.

Vorbereitung: Die Zählschleife

Mit einer Zählschleife hat man die Möglichkeit, eine Anweisung mehrmals hintereinander zu wiederholen und in der Schleife auf die Nummer des Schleifendurchlaufs zuzugreifen. Die Nummer der Schleife wird in der Schleifenvariable abgelegt. Diese Variable heißt für die erste eingesetzte Schleife i (Iterator, Wiederholung ).

Aufgabe: Untersuche, wie oft die Schleife im Beispiel durchlaufen wird. Ändere sie so, dass alle Ziffern zwischen 0 und 5 angezeigt werden. (0....5)

Aufgabe: Ändere die Schleife so, dass nur die geraden Zahlen zwischen 0 und 10 angezeigt werden. (0, 2, 4 ... 10)

Calliope mini-Zählscheife

Lauflicht in einer Zeile

Im ersten Schritt lässt man in der oberen Zeile einen Leuchtpunkt von links nach rechts laufen. Im Setze-LED-Block ist die Zeile fest angegeben und die Spaltennummer wird über die Zählvariable bestimmt.
Damit der Punkt wandert, muss er eingeschaltet und nach einer kurzen Wartezeit wieder ausgeschaltet werden.

Calliope mini: Lauflicht in der ersten Zeile

Lauflicht in allen Zeilen

Im nächsten Schritt wird über eine neue Zählschleife die Zeilennummer verändert. Dazu wird die erste Schleife (innere Schleife) 5 mal durch eine äußere Schleife aufgerufen. In der äußeren Schleife heißt die Zählvariable jetzt j.

Das Lauflicht sollte nun von oben links nach unten rechts laufen und dann wieder oben links anfangen.

Calliope mini-innere und äußere Schleife

Der Punkt wandert wieder zurück

Im letzten Schritt soll der Leuchtpunkt wieder zurück laufen. Dazu muss unter den Block mit den beiden Schleifen ein neuer Block mit ebenfalls zwei verschachtelten Schleifen angefügt werden. (Beachte: Das muss sich immer noch innerhalb der unendlichen Schleife abspielen)

Jetzt müsste man nur noch die Schleifenvariablen rückwärts zählen, also von 4 bis zur 0 runter. Das scheint aber nicht zu funktionieren. Deshalb müssen die Zeilen- und die Spaltennummern aus den Zählvariablen berechnet werden. Rechts ist das Beispiel für die Spaltennummer zu sehen.

Beispiel Spalte
Zählvariable Spaltennummer Summand
0 4 +4
1 3 +2
2 2 +0
3 1 -2
4 0 -4

Die Zählvariable läuft von 0 bis 4, die Spaltennummer muss aber von 4 zur 0 zurücklaufen. Um von der Zählvariablen zur Spaltennummer zu kommen, ist zur Zählvariablen jeweils der in der letzten Spalte stehende Summand zu addieren.

Aufgabe: Finde eine Formel, wie aus der Zählvariablen der Summand berechnet werden kann.


Es geht auch einfacher

Der Bildschirm besteht aus 25 LED, die man von 0 bis 24 durchnummerieren kann. Damit ist zum Ansprechen jeder einzelnen LED nur eine Schleife notwendig, die von 0 bis 24 durchläuft.

Man kann nun aus dem Schleifenzähler i die Spalten- und Zeilennummer jeder einzelnen LED berechnen:

  • Die Spaltennummer erhält man, wenn der Schleifenzähler durch 5 geteilt wird und dann der Rest der ganzzahligen Division genutzt wird. Ist der Schleifenzähler z.B. 11, ergibt die Teilung durch 5 eine 2. Der Rest ist dann 1 und das ist genau die Spaltennummer der LED mit der Nummer 11.
  • Die Zeilennummer erhält man, wenn man den Schleifenzähler durch 5 teilt und das Ergebnis abrundet. Für die 11 ergibt das die Zeile 2, für die LED 17 entsprechend die 3.
Calliope mini-Bildschirm

Wer alles verstanden hat, kann noch ein Vorglühen und ein Nachbrennen einbauen.

zurück