Beleuchtungsfunktionen
Das Joy-Car verfügt mit seinen 4 LED-Boards über insgesamt 8 LED-Einheiten die einzeln ansteuerbar sind. So können die entsprechenden Lichtsignale entweder direkt über die Funktionen der Joy-Car-Erweiterung, oder aber auch in die zusätzlich integrierte NeoPixel-Bibliothek gesendet werden.
Bei der Verwendung der NeoPixel-Bibliothek müssen die LED-Module zunächst initialisiert werden. Hierzu wird in die Start-Anweisung der "setze strip auf..."-Block aus der Neopixel-Erweiterung eingefügt. Diese Funktion benötigt zusätzlich die Informationen an welchem Pin die LED-Module angeschlossen sind, um wieviele LEDs es sich handelt und in welchen Beleuchtungsmodus diese gesetzt werden sollen. In unserem Fall verwenden wir den digitalen Pin P0, 8 LED-Einheiten und den RGB-Farbmodus.
Im folgenden Beispiel weisen wir mit "zeige Regenbogen"-Funkion die LEDs an, farblich einen Regenbogen-Effekt darzustellen.
Die LEDs müssen jedoch nicht dauerhaft in ihrer zugewiesenen Funktion verbleiben. Im nächsten Beispiel wollen wir im Sekundentakt zwischen der Regenbogenfunktion und den ausgeschalteten LEDs wechseln.
Hinweis: Wundere dich nicht, wenn du mit diesem Beispiel keine Veränderung bemerkst. Im nächsten Schritt folgt die Auflösung!
Du hast vielleicht bemerkt, dass sich mit dem letzten Beispiel nichts verändert hat. Manche LED-Anweisungen, wie z.B. der "strip ausschalten"-Block, benötigen eine zusätzliche Anweisung, damit sie aktiv werden. Hierfür verwenden wir den "strip anzeigen"-Block. Du wirst sehen, dass das folgende Beispiel nun wie geplant funktionieren wird.
Der Zustandswechsel muss jedoch nicht nur zwischen An und Aus erfolgen. Du kannst auch einfach zwischen verschiedenen Beleuchtungsvarianten wechseln. Im nächsten Beispiel wechseln wir im Sekundentakt zwischen dem Regenbogeneffekt und der vorderen Scheinwerfer-Beleuchtung des Joy-Cars.
Nun gehen wir noch einen Schritt weiter und erweitern unsere Beleuchtung um einen Helligkeitseffekt, bei dem sich die Helligkeit immer weiter verringert. In unserem "beim Start"-Block initialisieren wir zunächst, wie gewohnt, unsere LED-Einheiten. Zusätzlich erstellen wir uns noch eine Variable "brightness" und setzen ihren Wert auf 255, diese Variable wird für unsere Helligkeit verantwortlich sein, und stellen für unsere LEDs eine Farbe mit dem "strip zeige Farbe"-Block ein.
Hinweis: Die Helligkeit ist in einem Wertebereich von 0 bis 255 einstellbar.
In unserem "dauerhaft"-Block prüfen wir zunächst unsere "brightness"-Variable. Sollte ihr Wert über 0 liegen, so verringern wir den Wert um 5. Falls nicht, setzen wir ihn zurück auf 255. So gehen wir sicher, dass unser Effekt dauerhaft ausgeführt wird und nicht nach dem ersten Durchlauf endet. Nun aktualisieren wir noch unsere Helligkeit auf den Helligkeitswert, der in unserer "brightness"-Variable hinterlegt ist. Dies machen wir mit dem "strip setze Helligkeit"- und dem "strip zeige Farbe"-Block.
Du möchtest es etwas aufwändiger? Versuche doch unser nächstes Beispiel! Hier erweitern wir unsere Blöcke so, dass die Helligkeit dauerhaft rauf und runter geblendet wird. Die Helligkeit steuern wir weiterhin über unsere "brightness"-Variable. Um zwischen dem auf- und abwärts-blenden unterscheiden zu können, verwenden wir zusätzlich die "upDown"-Variable. Mit ihr können wir zwischen den beiden Zuständen unterscheiden.