ESP32 S3 - LED-Matrix

LED-Matrix-Displays, auch Punktmatrix-Displays genannt, werden häufig in Laufschriften, Uhren und visuellen Anzeigen eingesetzt. In diesem Tutorial lernen Sie, wie Sie eine LED-Matrix an den ESP32 S3 anschließen und Lauftext, Zahlen sowie animierte Effekte anzeigen.

ESP32 S3 LED-Matrix

Was Sie bauen werden:

  1. Eine 8x8- oder 32x8-LED-Matrix mit dem ESP32 S3 verbinden
  2. Statischen Text und Zahlen auf der LED-Matrix anzeigen
  3. Lange Nachrichten als Lauftext über das LED-Matrix-Display laufen lassen
  4. Animierte Texteffekte mit der Bibliothek MD_Parola anwenden

Erforderliche Hardware

1×ESP32 S3 WROOM N16R8
1×(Alternativ) ESP32 S3 SuperMini Dev Module
1×(Alternativ) ESP32 S3 Uno-form Board
1×(Alternativ) ESP32 S3 Camera Board
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×FC-16 LED Matrix 32x8
1×FC-16 LED Matrix 8x8
1×Generic LED Matrix 8x8
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss
1×(Empfohlen) Screw Terminal Expansion Board for ESP32 S3
1×(Empfohlen) Breakout Expansion Board for ESP32 S3
1×(Empfohlen) Power Splitter for ESP32 S3

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten)
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.

Überblick über LED Matrix

LED-Matrix-Display

LED-Matrizen auf Basis des MAX7219 sind dank ihrer einfachen SPI-Schnittstelle und der guten Bibliotheksunterstützung die beliebteste Wahl für den ESP32 S3. Jeder Block einer MAX7219-basierten LED-Matrix enthält ein 8x8-Raster aus 64 LEDs, das von einem einzigen MAX7219-Chip angesteuert wird, und mehrere Blöcke lassen sich in Reihe (Daisy-Chain) zu größeren Anzeigen wie 16x8 oder 32x8 verbinden. Der ESP32 S3 steuert die gesamte Kette über nur drei SPI-Pins, und die Anzahl der Blöcke legen Sie im Code fest.

Wichtige Spezifikationen

  • Die Grundeinheit einer LED-Matrix ist ein Block
  • Jeder Block besteht aus einer 8x8-LED-Matrix (64 LEDs) und einem MAX7219-Treiber
  • Es gibt zwei gängige Blockformen: das generische Modul und das FC-16-Modul
  • Eine LED-Matrix kann aus einem einzelnen Block oder aus mehreren in Reihe geschalteten Blöcken bestehen
  • Sie können eine fertige LED-Matrix mit mehreren Blöcken kaufen (z. B. 4-in-1, 8-in-1)
  • Sie können auch mehrere Blöcke kaufen und sie zu einer LED-Matrix in der gewünschten Größe verdrahten
  • Die Größe der verwendeten LED-Matrix geben Sie im ESP32 S3 Code an

Pinbelegung

LED-Matrix Pinbelegung

Jeder LED-Matrix-Block besitzt zwei Pingruppen – Eingang und Ausgang –, mit denen sich mehrere Blöcke hintereinanderschalten lassen.

  1. Eingangs-Pingruppe:
  • VCC: wird mit 5V verbunden
  • GND: wird mit GND verbunden
  • DIN: Datenpin, mit einem beliebigen digitalen Pin des ESP32 S3 verbinden
  • CS: Chip Select, mit einem beliebigen digitalen Pin des ESP32 S3 verbinden
  • CLK: Taktpin, mit einem beliebigen digitalen Pin des ESP32 S3 verbinden
  1. Ausgangs-Pingruppe:
  • VCC: wird mit VCC der Eingangs-Pingruppe des nächsten Moduls verbunden
  • GND: wird mit GND der Eingangs-Pingruppe des nächsten Moduls verbunden
  • DOUT: Datenausgang, wird mit dem DIN-Pin der Eingangs-Pingruppe des nächsten Moduls verbunden
  • CS: wird mit CS der Eingangs-Pingruppe des nächsten Moduls verbunden
  • CLK: wird mit CLK der Eingangs-Pingruppe des nächsten Moduls verbunden

Verdrahtungsdiagramm

Verbinden Sie die Eingangspins der LED-Matrix mit dem ESP32 S3 und schalten Sie bei Anzeigen mit mehreren Blöcken die Ausgangspins mit den Eingangspins des nächsten Blocks zusammen. Wenn Sie einen einzelnen Block verwenden, lassen Sie die Ausgangs-Pingruppe unbeschaltet.

Sicherheitshinweise

Da das LED-Matrix-Display bei maximaler Helligkeit bis zu 1 A ziehen kann, sollten Sie es nicht allein über den 5V-Pin des ESP32 S3 versorgen. Verwenden Sie stattdessen ein externes 5-V-Netzteil; der ESP32 S3 und die LED-Matrix können sich dasselbe 5-V-Netzteil teilen.

Der ESP32 S3 wird über SPI-Pins mit der LED-Matrix verbunden:

  • GPIO38 (SCK — Takt)
  • GPIO40 (MOSI — Daten)
  • GPIO39 (CS — Chip Select, kann auf jeden Pin geändert werden)

Wenn die LED-Matrix aus einem einzelnen Block besteht:

  • Verbinden Sie die Eingangs-Pingruppe mit dem ESP32 S3
  • Lassen Sie die Ausgangs-Pingruppe unbeschaltet
ESP32 S3 8x8 LED-Matrix FC-16 Schaltplan

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

ESP32 S3 8x8 LED-Matrix generisch Schaltplan

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

Wenn die LED-Matrix eine fertige Einheit mit mehreren Blöcken ist:

  • Verbinden Sie die Eingangs-Pingruppe mit dem ESP32 S3
  • Lassen Sie die Ausgangs-Pingruppe unbeschaltet
ESP32 S3 LED-Matrix-Display Schaltplan

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

Wenn die LED-Matrix aus mehreren selbst verdrahteten Blöcken besteht:

  • Verbinden Sie die Eingangs-Pingruppe des ersten Blocks mit dem ESP32 S3
  • Verbinden Sie die Ausgangs-Pingruppe jedes Blocks mit der Eingangs-Pingruppe des nächsten Blocks
  • Lassen Sie die Ausgangs-Pingruppe des letzten Blocks unbeschaltet
ESP32 S3 32x8 LED-Matrix FC-16 Schaltplan

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

So programmieren Sie die LED-Matrix

Die Steuerung einer LED-Matrix auf Registerebene ist komplex, doch die Bibliotheken MD_Parola und MD_MAX72xx machen es einfach, indem sie übergeordnete Funktionen für Textanzeige und Animationseffekte bereitstellen. Der folgende Code-Durchgang zeigt jeden Schritt, der zum Initialisieren und Ansteuern der LED-Matrix mit dem ESP32 S3 nötig ist.

  • Bibliotheken einbinden:
#include <MD_Parola.h> #include <MD_MAX72xx.h>
  • Angeben, welche Hardware verwendet wird: GENERIC_HW oder FC16_HW.
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
  • Festlegen, wie viele LED-Blöcke verwendet werden. Eine 4-in-1-LED-Matrix hat zum Beispiel 4 Blöcke.
#define MAX_DEVICES 4
  • Den Pin festlegen, der mit dem CS-Pin der LED-Matrix verbunden ist. Zum Beispiel Pin GPIO39.
#define CS_PIN 39
  • Eine neue Instanz der Klasse MD_Parola für das LED-Matrix-Display erstellen.
MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
  • Code in der Funktion setup():
void setup() { ledMatrix.begin(); // initialize the object ledMatrix.setIntensity(0); // set the brightness of the LED matrix display (from 0 to 15) ledMatrix.displayClear(); // clear led matrix display }
  • Text, Zahlen und animierte Effekte anzeigen: siehe nächster Abschnitt.

ESP32 S3 - LED-Matrix-Code

Der folgende Code ist für ein 32x8 FC-16 LED-Matrix-Display mit 4 Blöcken ausgelegt, lässt sich aber durch Ändern des Werts MAX_DEVICES leicht an 8x8-, 16x8- oder 64x8-Displays anpassen. Laden Sie den Sketch hoch, und Text und Effekte erscheinen sofort auf der Matrix.

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 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/esp32-s3/esp32-s3-led-matrix */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-led-matrix */ #include <MD_Parola.h> #include <MD_MAX72xx.h> #define HARDWARE_TYPE MD_MAX72XX::FC16_HW #define MAX_DEVICES 4 // 4 blocks #define CS_PIN 39 // create an instance of the MD_Parola class MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES); void setup() { ledMatrix.begin(); // initialize the LED Matrix ledMatrix.setIntensity(15); // set the brightness of the LED matrix display (from 0 to 15) ledMatrix.displayClear(); // clear LED matrix display } void loop() { ledMatrix.setTextAlignment(PA_LEFT); ledMatrix.print("Left"); // display text delay(2000); ledMatrix.setTextAlignment(PA_CENTER); ledMatrix.print("Center"); // display text delay(2000); ledMatrix.setTextAlignment(PA_RIGHT); ledMatrix.print("Right"); // display text delay(2000); ledMatrix.setTextAlignment(PA_CENTER); ledMatrix.setInvert(true); ledMatrix.print("Invert"); // display text inverted delay(2000); ledMatrix.setInvert(false); ledMatrix.print(1234); // display number delay(2000); }

Schnelle Schritte

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Führen Sie die Verdrahtung wie im obigen Schaltplan gezeigt durch.
  3. Verbinden Sie das ESP32 S3 Board über ein USB-Type-C-Kabel mit Ihrem PC.
  4. Öffnen Sie die Arduino IDE auf Ihrem PC.
  5. Wählen Sie das richtige ESP32 S3 Board und den COM-Port aus.
  6. Klicken Sie auf das Symbol Libraries in der linken Leiste der Arduino IDE.
  7. Suchen Sie nach "MD_Parola" und wählen Sie die Bibliothek MD_Parola.
  8. Klicken Sie auf die Schaltfläche Install.
  • Search for MD_Parola created by majicDesigns and click the Install button.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Library Manager
Type:
All
Topic:
All
MD_Parola by majicDesigns
Implemented using the MD_MAX72xx library for hardware control. Provides functions to simplify the implementation of text special effects on the LED matrix. More info
3.7.2
INSTALL
Newbiely.ino
···
1 void setup() {
Output
Serial Monitor
Ln 1, Col 1
ESP32S3 Dev Module on COM15
1
  1. Sie werden aufgefordert, die Bibliothek "MD_MAX72XX" zu installieren.
  2. Klicken Sie auf die Schaltfläche Install All, um die Abhängigkeit zu installieren.
  3. Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
  4. Klicken Sie in der Arduino IDE auf die Schaltfläche Upload, um den Code auf den ESP32 S3 hochzuladen.
  5. Beobachten Sie, wie das LED-Matrix-Display Text und Effekte anzeigt.
  6. Profi-Tipp: Passen Sie den Wert von setIntensity() (0–15) an, um die Helligkeit zu steuern, und experimentieren Sie mit verschiedenen PA_EFFECT-Werten in MD_Parola für Dutzende integrierter Animationseffekte.

ESP32 S3 LED-Matrix-Code – Lauftext

Wenn Sie eine Nachricht ausgeben möchten, die zu lang für das LED-Matrix-Display ist, können Sie den Lauftext-Effekt verwenden. Der folgende ESP32 S3 Code zeigt, wie eine Nachricht fortlaufend von rechts nach links über das LED-Matrix-Display läuft.

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 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/esp32-s3/esp32-s3-led-matrix */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-led-matrix */ #include <MD_Parola.h> #include <MD_MAX72xx.h> #define HARDWARE_TYPE MD_MAX72XX::FC16_HW #define MAX_DEVICES 4 // 4 blocks #define CS_PIN 39 // create an instance of the MD_Parola class MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES); void setup() { ledMatrix.begin(); // initialize the object ledMatrix.setIntensity(15); // set the brightness of the LED matrix display (from 0 to 15) ledMatrix.displayClear(); // clear led matrix display ledMatrix.displayScroll("ESP32 S3", PA_CENTER, PA_SCROLL_LEFT, 100); } void loop() { if (ledMatrix.displayAnimate()) { ledMatrix.displayReset(); } }

Weitere Texteffekte finden Sie in der MD_Parola-Bibliotheksreferenz.

Serial-Monitor-Ausgabe

Öffnen Sie den Serial Monitor mit 9600 Baud, um Debug-Meldungen des ESP32 S3 beim Ansteuern der LED-Matrix zu beobachten. Die folgenden Zeilen zeigen eine typische Ausgabe bei der Initialisierung und bei Anzeigeaktualisierungen:

  1. [2026-01-15 09:00:01] LED Matrix initialized. Blocks: 4, Intensity: 0
  2. [2026-01-15 09:00:02] Displaying text: "Hello"
  3. [2026-01-15 09:00:05] Scroll effect started
  4. [2026-01-15 09:00:10] Animation complete, restarting loop

Anwendungen

LED-Matrix-Displays sind vielseitige Ausgabegeräte, die in vielen praktischen Projekten eingesetzt werden. Hier einige typische Anwendungen:

  1. Laufschrift-Nachrichtentafel: Zeigen Sie Ankündigungen, Nachrichtenticker oder Statusmeldungen an, die fortlaufend durchlaufen.
  2. Digitaluhr: Zeigen Sie Uhrzeit und Datum mit großen, gut lesbaren Ziffern auf einer LED-Matrix mit mehreren Blöcken an.
  3. Sport-Anzeigetafel: Zeigen Sie Live-Spielstände und Mannschaftsnamen in einer Sporthalle oder an einem Veranstaltungsort an.
  4. Anzeige für das Warteschlangenmanagement: Zeigen Sie Wartenummern oder den Ticketstatus an Service-Schaltern an.
  5. IoT-Dashboard-Anzeige: Bieten Sie eine einfache visuelle Ausgabe für Sensorwerte oder Systemwarnungen.

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.

Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3 Projekt an.

Herausforderungen

Probieren Sie diese Aufgaben aus, um Ihr Verständnis der LED-Matrix-Steuerung mit dem ESP32 S3 zu vertiefen.

  1. Anfänger: Ändern Sie den angezeigten Text in Ihren Namen und passen Sie die Helligkeit mit setIntensity() an, bis sie für Ihre Umgebung angenehm ist.
  2. Fortgeschritten: Zeigen Sie die aktuelle Uhrzeit auf der LED-Matrix an, indem Sie sie von der internen Uhr des ESP32 S3 oder von einem NTP-Server über WLAN abrufen.
  3. Experte: Bauen Sie eine WLAN-fähige Laufschrift-Nachrichtentafel, deren angezeigten Text Sie über eine einfache, auf dem ESP32 S3 gehostete Weboberfläche aus der Ferne ändern können.

Verwandte Tutorials

※ 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!