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.
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.
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:
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.