Calliope mini - Spaß durch Programmieren

Drehstern

Ziel: Auf dem Bildschirm soll sich, ähnlich wie ein Wartebildchen unter Windows, ein Stern drehen. Das könnte als eine Animation aus 8 einzelnen Bilder erstellt werden. Es lässt sich aber über eine Programmierung eleganter realisieren.

Das Prinzip: Der Bildschirm mit seinen 25 LEDs wird in 8 Achsen zu je zwei LEDs eingeteilt. Die Helligkeit jeder LED kann Werte zwischen 0 und 255 einnehmen. Wir haben 8 Achsen, also sind es von 0 bis 255 insgesamt 7 Schritte. 255/7=36,4. Da wir mit ganzen Zahlen arbeiten, ist ein Schritt 36 Helligkeitsstufen. Man kommt also von der Helligkeit 0 in dieser Schrittweite bis 252.

Zu Beginn sind die beiden LEDs auf der Achse 1 aus, also Helligkeit 0. Auf Achse 2 haben die LEDs die Helligkeit 252, auf Achse 3 Helligkeit 216 usw. Dieses Bild wird zu Beginn auf dem Bildschirm angezeigt.

 

Calliope mini-Drehstern

Da 16 Werte für die LED mit den entsprechenden Helligkeiten zu Beginn gespeichert werden müssen, bietet sich hier ein Array an. Jede LED erhält ein Element im Array, es hat also 16 Elemente. Da zu jedem Element die x- und y-Koordinaten und die Helligkeite gespeichert wird, braucht man ein mehrdimensionales Array. Jedes Element im Array selber ist wieder ein Array aus drei Elementen: x-Wert, y-Wert, Helligkeit.

Calliope mini-Drehstern

Es sind jetzt nur wenige Befehle notwendig, um das Startbild auf dem Display anzuzeigen. Die Schleife liest nacheinander alle 16 Elemente des Arrays aus. In der vom Programm vorgegebenen Variablen Wert ist wieder ein Array enthalten, das die drei Werte für die entsprechende LED enthält:

  • Wert[0]=x-Koordinate
  • Wert[1]=y-Koordinate
  • Wert[2]=Helligkeit
Calliope mini-Drehstern

Das Ändern der Helligkeiten nach einer Wartezeit von 100 ms ist nun auch kein Hexenwerk: Es werden wieder alle 16 Elemente des Arrays nacheinander in der Variable Wert gespeichert. Ist der Wert 252 (volle Helligkeit), wird die Helligkeit auf 0 gesetzt. Ansonsten wird der Änderungswert für die Helligkeit addiert. Danach wird der neue Helligkeitswert in das Array geschrieben.

Ist das für alle Elemente des Arrays erledigt, beginnt das Programm in der dauerhaft-Schleife von vorn und stellt das neue Array auf dem Bildschirm dar.

Fertig.

Calliope mini-Drehstern

zurück

Impressum/ Kontakt Datenschutzerklärung Creative Commons Lizenzvertrag