Raspberry Pi - LED Matrix

Dieses Tutorial zeigt Ihnen, wie Sie Raspberry Pi mit LED Matrix Display verwenden. Im Detail lernen wir:

Anschließend ist die Anpassung des Codes für andere LED Matrizen wie 16x8, 64x8 und so weiter unkompliziert.

Erforderliche Hardware

1×Raspberry Pi 5
1×FC-16 LED Matrix 32x8
1×FC-16 LED Matrix 8x8
1×Generic LED Matrix 8x8
1×Jumper Wires (Verbindungskabel)
1×DC-Stromanschluss
1×5V Power Adapter für Raspberry Pi
1×(Empfohlen) Schraubklemmenblock-Shield für Raspberry Pi
1×(Empfohlen) Raspberry Pi Prototyping-Grundplatte & Breadboard-Kit
1×(Empfohlen) HDMI-Touchscreen-Monitor für Raspberry Pi

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über LED Matrix

LED Matrix Displays werden häufig als LED Displays oder Punktmatrix Displays bezeichnet.

LED Matrix display

LED Matrizen gibt es in vielen Varianten. Die MAX7219-basierte LED Matrix wird häufig mit Raspberry Pi verwendet. Sie hat folgende Eigenschaften:

  • Ein einzelner Block umfasst eine Grundeinheit einer LED Matrix, die eine 8x8 LED Matrix (64 LED) und einen MAX7219 Treiber enthält.
  • Es sind zwei Arten von Blöcken verfügbar: das Generic Modul und das FC-16 Modul.
  • Sie können eine LED Matrix mit einem Block oder mehreren Blöcken erstellen, die in einer Daisy-Chain-Verbindung verbunden sind.
  • Vorgefertigte Multi-Block LED Matrizen (z.B. 4-in-1, 8-in-1) sind ebenfalls käuflich erhältlich.
  • Alternativ können Sie mehrere Blöcke kaufen und diese miteinander verkabeln, um eine LED Matrix in der gewünschten Größe zu bilden.
  • Im Raspberry Pi Code müssen Sie die Größe der LED Matrix deklarieren, die Sie verwenden.

Das LED Matrix Pinout

LED Matrix pinout

Eine LED Matrix besteht aus einem oder mehreren Blöcken. Jeder Block hat zwei Sets von Pins:

  • Input Pins Gruppe:
    • VCC: verbunden mit 5V Stromversorgung.
    • GND: verbunden mit Masse.
    • DIN: Datenpin, verbunden mit dem GPIO10 (MOSI) Pin des Raspberry Pi.
    • CS: Chip Select, verbunden mit dem GPIO8 (SPI CE0) Pin des Raspberry Pi.
    • CLK: Clock Pin, verbunden mit dem GPIO11 (SPI CLK) Pin des Raspberry Pi.
  • Output Pins Gruppe:
    • VCC: verbindet sich mit VCC am folgenden Modul.
    • GND: verbindet sich mit GND am folgenden Modul.
    • DOUT: Data Out, verbindet sich mit dem DIN Pin des nächsten Moduls.
    • CS: verbindet sich mit CS am nächsten Modul.
    • CLK: verbindet sich mit CLK am nächsten Modul.

Schaltplan

Wenn die LED Matrix aus einem einzelnen Block besteht:

  • Verbinden Sie die Input Pins Gruppe mit dem Raspberry Pi
  • Lassen Sie die Output Pins Gruppe unverbunden
Raspberry Pi 8x8 LED matrix FC-16 wiring diagram

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Raspberry Pi 8x8 LED matrix generic wiring diagram

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Wenn die LED Matrix vorgefertigt aus mehreren Blöcken besteht:

  • Verbinden Sie die Input Pins Gruppe mit dem Raspberry Pi
  • Lassen Sie die Output Pins Gruppe unverbunden
Raspberry Pi LED matrix display wiring diagram

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Wenn die LED Matrix selbst aus mehreren Blöcken zusammengebaut ist:

  • Verbinden Sie die Input Pins Gruppe des ersten Blocks mit dem Raspberry Pi
  • Verbinden Sie die Output Pins Gruppe jedes Blocks mit der Input Pins Gruppe des nachfolgenden Blocks
  • Lassen Sie die Output Pins Gruppe des letzten Blocks unverbunden
Raspberry Pi 32x8 LED matrix wiring FC-16 diagram

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Um Ihren Verdrahtungsaufbau zu vereinfachen und zu organisieren, empfehlen wir die Verwendung eines Schraubklemmenblock-Shields für Raspberry Pi. Dieses Shield gewährleistet sicherere und besser verwaltbare Verbindungen, wie unten gezeigt:

Raspberry Pi Schraubklemmenblock-Shield

Da Raspberry Pi über SPI Pins mit der LED Matrix verbunden ist:

  • Pin GPIO9 (SCK) und GPIO11 (MOSI) des Raspberry Pi müssen verwendet werden. Wenn Sie ein anderes Raspberry Pi Board verwenden, konsultieren Sie die offizielle Dokumentation für die entsprechenden SPI Pins.
  • Pin GPIO8 (CS) kann zu jedem Pin am Raspberry Pi Board geändert werden. Dieses Tutorial verwendet GPIO25 für den CS Pin.

Raspberry Pi - LED Matrix Code

Dieser Raspberry Pi Code ist für ein 32x8 FC-16 LED Matrix Display mit vier Blöcken. Er kann leicht für 8x8, 16x8, 64x8... Displays angepasst werden, indem die BLOCK_NUM Konstante im Code geändert wird.

Schnelle Schritte

  • Stellen Sie sicher, dass Sie Raspbian oder ein anderes Raspberry Pi kompatibles Betriebssystem auf Ihrem Pi installiert haben.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit demselben lokalen Netzwerk wie Ihr PC verbunden ist.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, falls Sie Bibliotheken installieren müssen.
  • Neu bei Raspberry Pi? Beginnen Sie mit unserem Raspberry Pi Getting Started Leitfaden, um zuerst die Grundlagen zu lernen.
  • Verbinden Sie Ihren PC mit dem Raspberry Pi über SSH mit dem integrierten SSH Client unter Linux und macOS oder PuTTY unter Windows. Siehe wie Sie Ihren PC mit Raspberry Pi über SSH verbinden.
  • Stellen Sie sicher, dass Sie die RPi.GPIO Bibliothek installiert haben. Falls nicht, installieren Sie sie mit folgendem Befehl:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Aktivieren Sie die SPI Schnittstelle auf dem Raspberry Pi, indem Sie der Anleitung unter Raspberry Pi - how to enable SPI inteface folgen
  • Installieren Sie die luma.led_matrix Bibliothek mit folgendem Befehl:
pip install luma.led_matrix
  • Erstellen Sie eine Python Script-Datei led_matrix.py und fügen Sie folgenden Code hinzu:
# Dieser Raspberry Pi Code wurde von newbiely.de entwickelt # Dieser Raspberry Pi Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. # Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: # https://newbiely.de/tutorials/raspberry-pi/raspberry-pi-led-matrix from luma.led_matrix.device import max7219 from luma.core.interface.serial import spi, noop from luma.core.virtual import viewport, sevensegment from time import sleep CS_PIN = 25 # Replace with your actual CS pin BLOCK_NUM = 4 # Replace with your block number HEIGHT = 8 WIDTH = 8 * BLOCK_NUM # Define SPI interface serial = spi(port=0, device=0, gpio=noop(), cs=CS_PIN) # Define LED matrix device device = max7219(serial, cascaded=BLOCK_NUM, block_orientation=-90) # Define virtual device virtual = viewport(device, width=WIDTH, height=HEIGHT) # Create instance of sevensegment for text display ledMatrix = sevensegment(virtual) def clear_display(): ledMatrix.text = " " sleep(1) def display_text(text, alignment): ledMatrix.text = text ledMatrix.text_align = alignment sleep(2) try: while True: clear_display() display_text("Left", "left") display_text("Center", "center") display_text("Right", "right") clear_display() display_text("Invert", "center") sleep(2) ledMatrix.text = "1234" sleep(2) except KeyboardInterrupt: pass finally: device.cleanup()
  • Speichern Sie die Datei und führen Sie das Python Script aus, indem Sie folgenden Befehl im Terminal ausführen:
python3 led_matrix.py
  • Schauen Sie sich die LED Matrix an, die den Text anzeigt.

Das Script läuft in einer unendlichen Schleife kontinuierlich, bis Sie Ctrl + C im Terminal drücken.

Raspberry Pi LED Matrix Code – Scrollender Text

Wenn eine Nachricht zu lang ist, um auf einem LED Matrix Display angezeigt zu werden, kann der Scroll-Text-Effekt verwendet werden, um sie zu drucken.

Dieser Raspberry Pi Code zeigt, wie Sie eine Nachricht über das LED Matrix Display scrollen lassen.

# Dieser Raspberry Pi Code wurde von newbiely.de entwickelt # Dieser Raspberry Pi Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. # Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: # https://newbiely.de/tutorials/raspberry-pi/raspberry-pi-led-matrix from luma.led_matrix.device import max7219 from luma.core.interface.serial import spi, noop from luma.core.virtual import viewport, sevensegment from luma.core.legacy import show_message from time import sleep CS_PIN = 25 # Replace with your actual CS pin BLOCK_NUM = 4 # Replace with your block number HEIGHT = 8 WIDTH = 8 * BLOCK_NUM # Define SPI interface serial = spi(port=0, device=0, gpio=noop(), cs=CS_PIN) # Define LED matrix device device = max7219(serial, cascaded=BLOCK_NUM, block_orientation=-90) # Define virtual device virtual = viewport(device, width=WIDTH, height=HEIGHT) # Create instance of sevensegment for text display ledMatrix = sevensegment(virtual) def clear_display(): ledMatrix.text = " " sleep(1) while True: if not device.is_animating(): ledMatrix.text = "Hello" show_message(device, ledMatrix.text, fill=None, font=None, scroll_delay=0.1) try: pass # Do other things if needed except KeyboardInterrupt: pass finally: device.cleanup()

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!