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.

Achtung: Dieses Programm läuft nicht in der Simulation sondern nur auf dem Calliope mini selber (Stand September 2018).

Das Prinzip: Der Bildschirm mit seinen 25 LEDs wird in 8 Achsen zu je zwei LEDs eingeteilt. Zu Beginn sind die beiden LEDs auf der Achse 1 aus, also Helligkeit:0. Auf Achse 2 haben die LEDs die Helligkeit 1, auf Achse 3 Helligkeit 2 usw. Dieses Bild wird zu Beginn auf dem Bildschirm angezeigt.

Das Programm liest nun die Helligkeit jeder LED, die in einer Achse steht aus und erhöht die Helligkeit um 1. Auf der Achse 2 haben die LEDs die Helligkeit 7 und müssen als nächstes ausgeschaltet werden. Auch das ist kein Problem.

Damit wandert die dunkle Achse um eine Position nach rechts und alle anderen Achsen werden um ein heller.

Nach diesem Helligkeitswechsel warte das Programm eine kurze Zeit und das Spiel beginnt von vorn.

Das Problem sind die 9 LEDs, die die gesamte Zeit nicht leuchten. Da sie die Helligkeit 0 haben, würden sie nach dem ersten Durchlauf mit 1 leuchten. Da das nicht passieren darf, müssen sie vorher erkannt und aus dem Spiel rausgelassen werden. Dazu später.

Calliope mini-Drehstern

Das Ansprechen jeder einzelnen LED über ihre x- und y-Koordinate erfolgt wie beim Lauflicht mit Hilfe einer Zählschleife. Dann wird

  • die Helligkeit ausgelesen und in der Variablen helligkeit gespeichert
  • entschieden, was damit passiert (auf 0 setzen oder um eins erhöhen)
  • die Helligkeit der LED mit dem neuen Wert gesetzt.
Calliope mini-Drehstern

Welche LEDs dürfen nun nicht mitspielen?

Ordnet man die LEDs nach den y-Werten, ergibt sich folgendes Bild:

y x   y x
0 1   4 1
0 3   4 3
3 0   1 0
3 4   1 4

 

Man sieht: Die LEDs dürfen NICHT verändert werden, wenn:

  • (y=0 ODER y=4) UND (x=1 ODER x=4)
  • UND
  • (y=3 ODER y=1) UND (x=0 ODER x=4)

Das Bild zeigt den Beginn der logischen Verknüpfungen. Die Entscheidung über die mittlere LED (2,2) wird dann nochmal extra getroffen.

Calliope mini-Drehstern

zurück