Aus Raspberry Pi Geek 02/2021

Laufschrift erstellen mit der LED-Matrix WS2812

© Mackoflower, 123RF

Am laufenden Band

Martin Mohr

Eine LED-Matrix übermittelt auf kompaktem Raum viele Informationen, wenn Sie eine Laufschrift und die passenden LED-Bausteine einsetzen.

In der Ausgabe 09-10/2020 haben wir die Funktionsweise der LED-Matrix WS2812 in der 8×8-Variante vorgestellt [1]. In dieser Ausgabe gehen wir einen Schritt weiter und bauen aus zwei Modulen mit 8×32-Elementen ein Panel auf, das ohne Probleme längere Texte mit kleinen Bildern anzeigt. Dabei kommt Java als Programmiersprache zum Einsatz. Das Gehäuse für den Aufbau kommt wieder aus dem 3D-Drucker.

Die WS2812-Module erhalten Sie für etwa 10 Euro direkt in China [2]. Möchten Sie keine vier bis sechs Wochen auf die Lieferung warten, erstehen Sie die Module zum dreifachen Preis bei Amazon.

Vorbereitungen

Die Bausteine lassen sich in fast beliebiger Anzahl hintereinanderschalten – fast, weil sie ab einer bestimmten Anzahl von LEDs zu flackern anfangen. Behalten Sie darüber hinaus den Strombedarf im Blick: Eine einzelne LED zieht bis zu 12 Milliampere Strom. Bei 512 LEDs wächst der Bedarf auf stattliche 6,14 Ampere an. Da heißt es aufpassen, damit nichts zu schmoren anfängt. Wählen Sie für die Zuleitungen daher entsprechendes Material mit mindestens 0,5 mm2 Querschnitt aus.

Um Problemen bei einem Spannungsabfall innerhalb der Module zu begegnen, sollten Sie alle Spannungsanschlüsse der Displays verwenden. Sonst leuchtet die letzte LED in der Kette deutlich weniger hell als die erste. Als Netzteil kam im Beispiel ein Tischgerät mit 30 Watt [3] zum Einsatz, das bei 5 Volt 6 Ampere bereitstellt – ein paar Milliampere weniger als der maximal mögliche Strom der Anordnung.

Allerdings fallen die 12 Milliampere pro LED nur an, wenn die Diode mit 100 Prozent Helligkeit weiß leuchtet. Zeigen Sie mit dem Display Farben an, senkt das den Stromverbrauch. Im praktischen Einsatz genügt es, das Display mit einem Viertel der maximalen Helligkeit zu betreiben. Die Schrift lässt sich dabei selbst bei Tageslicht immer noch gut erkennen.

Das Thema Schrift führt schon zum nächsten Punkt: Wählen Sie eine Laufschrift auf schwarzem Hintergrund, leuchtet nur ein Bruchteil der LEDs tatsächlich, was sich wiederum positiv auf den Energiebedarf auswirkt. Es braucht also schon etwas Anstrengung, um das Netzteil mit dieser Anordnung zu überlasten. Der Hersteller der WS2812 empfiehlt ein 3-Ampere-Netzteil für eine Matrix.

Um die LEDs etwas zu schützen, bietet es sich an, sie in ein Gehäuse zu installieren. Hier kommt der 3D-Drucker zum Einsatz. Mit transparentem Filament erzeugen Sie ein cooles Case für die Bausteine. Da die einzelnen Teile des Gehäuses alle um die 20 Zentimeter groß sind (beschränkt durch den Bauraum des Druckers), benötigen Sie recht viele Einzelstücke, die Sie miteinander verschrauben.

STL- und OpenSCAD-Dateien für das Gehäuse finden Sie im Download-Bereich zu dieser Ausgabe. Die Einzelteile verbinden Sie über M3-Schrauben und -Muttern. Als Zugentlastung dienen zwei kleine M2,5-Schrauben. Die Tabelle “Bauteile” zeigt, welches Teil Sie wie oft ausdrucken müssen.

Datei

Anzahl

Verwendungszweck

Big_WS2812_Part1.stl

2

Vorderseite Endstück

Big_WS2812_Part2.stl

2

Vorderseite Mittelstücke

Big_WS2812_Part3.stl

1

Endstück mit Einführung

Big_WS2812_Part4.stl

3

Mittelstück

Big_WS2812_Part5.stl

1

Endstück

Big_WS2812_Part6.stl

2

Rückseite Mittelstücke

Big_WS2812_Part7.stl

2

Rückseite Endstücke

WS2812_Part4.stl

2

Zugentlastung

Damit die LED-Matrix mit dem RasPi zusammenarbeitet, benötigen Sie einen Hardware-Treiber. Abbildung 1 zeigt den Schaltplan für das Anschließen der Matrix. Die Datei zum Schaltplan finden Sie im Autodesk-Eagle-Format in den Downloads zu diesem Artikel.

Abbildung 1: Der Schaltplan zum LED-Panel.

Abbildung 1: Der Schaltplan zum LED-Panel.

Sie steuern das Display über den PWM-Anschluss der GPIO an (BCM18, Pin 12). Die SPI-Schnittstelle (BCM10, Pin 19) eignet sich dazu nicht, da der Kernel-Treiber die Puffergröße beschränkt. Abbildung 2 zeigt das komplett zusammengebaute Panel.

Abbildung 2: Das aufgebaute Panel mit weihnachtlichen Grüßen.

Abbildung 2: Das aufgebaute Panel mit weihnachtlichen Grüßen.

Den RasPi vorbereiten

Als Erstes bereiten Sie eine SD-Karte mit dem aktuellen Image von Raspberry Pi OS vor. Der einfachste Weg führt über den RPi-Imager (Abbildung 3), den Sie bei Bedarf von der Homepage des Raspberry-Pi-Projekts herunterladen [4]. Es gibt Varianten für Ubuntu, MacOS und Windows. Um die nötige Software auf den RasPi zu installieren, verwenden Sie die Kommandos aus Listing 1.

Abbildung 3: Der Imager zum Erstellen von SD-Karten für den RasPi.

Abbildung 3: Der Imager zum Erstellen von SD-Karten für den RasPi.

Listing 1

Installation

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install openjdk-10-jdk scons build-essential libpcre3 libpcre3-dev swig  kolourpaint
$ cd ~
$ git clone https://github.com/jgarff/rpi_ws281x.git
$ cd rpi_ws281x
$ scons
$ sudo ./test -g 18 -x 8 -y 64
$ cd ~
$ git clone https://github.com/rpi-ws281x/rpi-ws281x-java.git
$ cd rpi-ws281x-java/src/scripts
$ bash createNativeLib.sh
$ cd ~/rpi-ws281x-java/
$ ./gradlew assemble -x signArchives
$ cd ~
$ wget http://apache.lauf-forum.at/logging/log4j/2.13.3/apache-log4j-2.13.3-bin.tar.gz
$ tar -xzvf apache-log4j-2.13.3-bin.tar.gz
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben