Fiat Lux

Steuerung von LED-Strips mit Pixelblaze und Java

Steuerung von LED-Strips mit Pixelblaze und Java

Fiat Lux

Steuerung von LED-Strips mit Pixelblaze und Java


Eine der „fanciesten“ elektronischen Komponenten ist definitiv ein LED-Strip. Es ist ziemlich cool, eine lange Leiste von Lichtern mit nur ein paar Zeilen Code zu steuern. Aber es gibt ein Problem. Das Timing der Signale ist entscheidend, um diese Leisten zuverlässig zu steuern. Und da kommt der Pixelblaze Output Expander ins Spiel.

Sowohl Python als auch Java auf einem Raspberry Pi haben mit den oben beschriebenen Zeitvorgaben zu kämpfen, da sie unter Linux, einem Nicht-Echtzeit-Betriebssystem, ausgeführt werden. So können z. B. Pausen in der Garbage Collection der JVM oder Störungen im Betriebssystem unerwartete Auswirkungen auf die LED-Strips haben. Deshalb wird in den meisten Projekten ein Mikrocontroller (Arduino, Raspberry Pi Pico, ESP32 etc.) verwendet, um die LED-Strips zu steuern.

Auf der Suche nach einer guten Lösung für die Verwendung von LED-Strips mit Java bin ich über den Pixelblaze Output Expander gestolpert. Dieses kleine Gerät wird über eine serielle Schnittstelle gesteuert und übernimmt die Ansteuerung der LED-Strips. Wie sich herausstellte, ist das eine perfekte Lösung, um die zeitkritischen Operationen des Raspberry Pi zu entlasten und eine zuverlässige Ausgabe auf einem LED-Strip oder einer Matrix zu erhalten.

Diese Experimente führten zu mehreren Tutorials, die auf der Pi4J-Website [1] verfügbar sind. Zusammen mit Robert von Burg, einem der Hauptakteure des Pi4J-Projekts, haben wir eine Live-Streaming-Sitzung zu diesem Teilprojekt durchgeführt, die Sie auf YouTube [2] ansehen können.

Dieser Artikel gibt Ihnen eine kurze Einführung in das Thema und ich lade Sie ein, die Pi4J-Website zu besuchen und das Video anzusehen, um weitere Hintergrundinformationen zu erhalten und den vollständigen Code zu sehen.

Über Pixelblaze

Pixelblaze ist ein Produkt von ElectroMage [3] mit dem Ziel, das Erschaffen von Kunst, Kostümen, Festen und Maker-Projekten auf eine ganz neue Ebene zu bringen. Die beiden Basiskomponenten, der „Pixelblaze V3 Standard – WiFi LED Controller“ und der „Pixelblaze V3 Pico – Tiny WiFi LED Controller“ sind WiFi-fähige, live-kodierbare LED-Controller mit einer webbasierten Entwicklungsumgebung. Fünfzig Lichtmuster sind im Lieferumfang enthalten und über 200 weitere sind in einer Communitybibliothek verfügbar [4].

Aber ein drittes Produkt von ElectroMage ist dasjenige, das meine Aufmerksamkeit für die Verwendung mit einer Java-Anwendung geweckt hat: der „Pixelblaze Output Expander“ (PBOE) [5]. Er wurde entwickelt, um die Ausgabemöglichkeiten für die beiden anderen Pixelblaze-Boards zu erweitern, kann aber auch von jedem anderen Mikrocontroller oder Computer über einen seriellen UART angesteuert werden. Die ideale Lösung für ein Experiment mit Java, JBang und dem Raspberry Pi!

HINWEIS: Da dieses Gerät über UART gesteuert wird, kann es von jedem PC verwendet werden. Sie können leicht einen billigen USB2Serial-Stecker finden, mit dem Sie die erforderliche Verbindung herstellen können.

So funktioniere...