Raspberry Pi Zero 2 W – 8×8 LED Dot Matrix

In diesem Beitrag zeige ich dir wie man die 8×8 LED Dot Matrix mit MAX7219 Chip am Raspberry Pi Zero 2 W mit Python3 programmiert.

Raspberry Pi Zero 2 W - 8x8 LED Matrix
Raspberry Pi Zero 2 W – 8×8 LED Matrix

Die 8×8 LED Matrix habe ich dir bereits für den Arduino im Beitrag Arduino Lektion 8: Max7219 8×8 LED Shield vorgestellt, hier soll es nun darum gehen, wie dieses am Pi Zero mit Python3 funktioniert.

Benötigte Ressourcen für dieses Projekt

Für den Nachbau des Projektes benötigst du:

Du kannst die 8×8 LED Punktmatrix Module auch kaskadierend anschließen (d.h. diese werden hintereinander geschaltet) und somit ein größeres Display erzeugen. Das ist vor allem beim Anzeigen von langen Texten sehr sinnvoll.

Anschluss des 8×8 LED Punktmatrix Moduls

Das verwendete Modul hat eine Stiftleiste mit 5 Pins welche mit VCC, GND, DIN, CS, CLK beschriftet sind.

8×8 LED PunktmatrixRaspberry Pi Zero 2 W
VCC5V
GNDGND
DINGPIO 10, MOSI
CSGPIO 8, CE0
CLKGPIO 11, CLK
8x8 LED Punktmatrix am Raspberry Pi Zero 2 W
8×8 LED Punktmatrix am Raspberry Pi Zero 2 W

Aktivieren von SPI auf dem Raspberry Pi Zero 2 W

Damit wir die SPI Schnittstelle verwenden können, müssen wir diese zunächst aktivieren. Dieses können wir entweder über eine Konfigurationsdatei erledigen oder recht bequem über das Konfigurationstool „raspi-config“.

Auf der Konsole wird der nachfolgende Befehl ausgeführt:

sudo raspi-config

Programmieren der 8×8 Punktmatrix in Python3

Für die Programmierung der 8×8 LED Punktmatrix verwende ich das Modul „luma“ welches recht gut dokumentiert ist.

Installieren des Moduls „luma“

Damit wir das Modul verwenden können, müssen wir dieses zunächst installieren. Dazu führen wir den nachfolgenden Befehl auf der Konsole aus.

sudo python3 -m pip install --upgrade luma.led_matrix

Text ausgeben

In meinem Fall verwende ich 3 Stück der 8×8 LED Matrix Module so kann man den Text deutlich besser lesen.

Raspberry Pi Zero 2 W mit 8x8 LED Matrix
Raspberry Pi Zero 2 W mit 8×8 LED Matrix

Natürlich kannst du das Beispiel auch nur mit einem Matrixmodul ausführen, jedoch musst du dann im Quellcode den Parameter „cascaded“ auf 1 setzen.

from time import sleep

from luma.led_matrix.device import max7219
from luma.core.interface.serial import spi, noop
from luma.core.legacy import show_message
from luma.core.legacy.font import proportional, CP437_FONT

text = "Hello World!"

serial = spi(port=0, device=0, gpio=noop())
device = max7219(serial, cascaded=3, block_orientation=0, rotate=0, blocks_arranged_in_reverse_order=True)
show_message(device, text , fill="white", font=proportional(CP437_FONT), scroll_delay=0.05)
sleep(1)

In dem Video zeige ich dir nun die Ausgabe der Zeichenkette „Hello World!“.

Im Quellcode wurde lediglich der erste Buchstabe der jeweiligen Wörter großgeschrieben, auf der Matrix werden aber alle Buchstaben in großen Buchstaben geschrieben.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert