Arduino Nano ESP32 – LED-Matrix

LED-Matrixanzeigen, auch bekannt als LED-Display oder Punktmatrixanzeige, sind weit verbreitet. In diesem Tutorial werden wir lernen:

Danach kannst du den Code leicht auf andere LED-Matrizen anpassen, z. B. auf eine 16×8-LED-Matrix, eine 64×8-LED-Matrix ...

Erforderliche Hardware

1×Arduino Nano ESP32
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) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano ESP32

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-Matrixanzeige

Es gibt viele Arten von LED-Matrizen. Mit dem ESP32 ist die MAX7219-basierte LED-Matrix weit verbreitet. Die MAX7219-basierte LED-Matrix hat die folgenden Merkmale:

  • Eine Basiseinheit einer LED-Matrix ist ein Block.
  • Jeder Block verfügt über eine 8x8-LED-Matrix (64 LEDs) und einen 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 mehreren Blöcken in einer Daisy-Kette bestehen.
  • Sie können eine vorgefertigte LED-Matrix mit mehreren Blöcken kaufen (z. B. 4-in-1, 8-in-1).
  • Sie können auch mehrere Blöcke kaufen und diese verdrahten, um eine LED-Matrix mit der gewünschten Größe zu bilden.
  • Sie geben die Größe der verwendeten LED-Matrix im Arduino Nano ESP32-Code an.

Pinbelegung

LED-Matrix-Pinbelegung

Eine LED-Matrix besteht aus einem einzelnen oder mehreren Blöcken. Jeder Block enthält zwei Gruppen von Pins:

  • Gruppe der Eingangspins:
    • VCC: verbindet sich mit 5V.
    • GND: verbindet sich mit GND.
    • DIN: ist der Datenpin, Verbinde ihn mit einem beliebigen digitalen Pin des Arduino Nano ESP32.
    • CS: Chip Select, Verbinde CS mit einem beliebigen digitalen Pin des Arduino Nano ESP32.
    • CLK: Clock-Pin, Verbinde ihn mit einem beliebigen digitalen Pin des Arduino Nano ESP32.
  • Gruppe der Ausgangspins:
    • VCC: verbindet sich mit dem VCC der Eingangspins-Gruppe des nächsten Moduls.
    • GND: verbindet sich mit dem GND der Eingangspins-Gruppe des nächsten Moduls.
    • DOUT: Datenausgang, Verbinde ihn mit dem DIN-Pin der Eingangspins-Gruppe des nächsten Moduls.
    • CS: verbindet sich mit CS der Eingangspins-Gruppe des nächsten Moduls.
    • CLK: Clock-Pin, Verbinde ihn mit dem CLK der Eingangspins-Gruppe des nächsten Moduls.

Verdrahtungsdiagramm

Wenn die LED-Matrix aus einem einzigen Block besteht:

  • Verbinde die Gruppen der Eingangspins mit dem Arduino Nano ESP32
  • Lass die Gruppe der Ausgangspins unverbunden
Arduino Nano ESP32 8×8 LED-Matrix FC-16 Schaltplan

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

Arduino Nano ESP32 8×8 LED-Matrix generisches Verdrahtungsschema

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

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

  • Verbinde die Gruppen der Eingangspins mit dem Arduino Nano ESP32
  • Lass die Gruppe der Ausgangspins nicht verbunden
Arduino Nano ESP32 LED-Matrixanzeige Verdrahtungsdiagramm

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

Wenn die LED-Matrix aus mehreren Blöcken besteht, die Sie selbst hergestellt haben:

  • Verbinde die Gruppen der Eingangspins des ersten Blocks mit dem Arduino Nano ESP32
  • Verbinde die Gruppen der Ausgangspins jedes Blocks mit den Gruppen der Eingangspins des nächsten Blocks
  • Lasse die Gruppe der Ausgangspins des letzten Blocks unverbunden
Arduino Nano ESP32 32×8 LED-Matrix-Verkabelung FC-16-Diagramm

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

Weil das Display viel Strom zieht (bis zu 1 A bei maximaler Helligkeit):

  • Verwenden Sie nicht die Stromversorgung vom 5V-Pin des Arduino Nano ESP32.
  • Verwenden Sie stattdessen eine externe 5V-Stromversorgung. Der Arduino Nano ESP32 und die LED-Matrix können gemeinsam von einem 5V-Netzteil gespeist werden.

Weil der Arduino Nano ESP32 sich über SPI-Pins mit der LED-Matrix verbindet:

  • Pin D13 (SCK) und D11 (MOSI) auf dem Arduino Nano ESP32
  • Pin D10 (CS) kann auf jeden beliebigen Pin geändert werden

Wie man für eine LED-Matrix programmiert

Es ist nicht einfach, die LED-Matrix zu steuern. Glücklicherweise sind Bibliotheken verfügbar, um es zu erleichtern. Im Folgenden finden Sie eine Schritt-für-Schritt-Anleitung, wie man Arduino Nano ESP32-Code schreibt, um die LED-Matrix zu steuern.

  • Bibliotheken einbinden:
#include <MD_Parola.h> #include <MD_MAX72xx.h>
  • Geben Sie an, welche Hardware verwendet wird: GENERIC_HW oder FC16_HW.
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
  • Bestimmen Sie, wie viele LED-Blöcke verwendet werden. Zum Beispiel hat eine 4-in-1-LED-Matrix 4 Blöcke.
#define MAX_DEVICES 4
  • Definiere den Pin, der mit dem CS-Pin der LED-Matrix verbunden ist. Zum Beispiel Pin D10
#define CS_PIN D10
  • Erstellen Sie eine neue Instanz der MD_Parola-Klasse für die LED-Matrixanzeige.
MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
  • Code in der setup()-Funktion:
void setup() { ledMatrix.begin(); // Objekt initialisieren ledMatrix.setIntensity(0); // Helligkeit des LED-Matrix-Displays einstellen (von 0 bis 15) ledMatrix.displayClear(); // LED-Matrix-Display löschen }
  • Text, Zahl anzeigen und animierte Effekte anzeigen: Siehe den nächsten Teil

Arduino Nano ESP32 - LED-Matrix-Code

Der folgende Code ist für die 32×8 FC-16 LED-Matrixanzeige (4 Blöcke). Aber Sie können ihn leicht für 8×8, 16×8, 64×8...

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano ESP32 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/arduino-nano-esp32/arduino-nano-esp32-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 D10 // The Arduino Nano ESP32 pin connected to the CS pin of the LED matrix // 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

Um mit dem Arduino Nano ESP32 zu beginnen, befolgen Sie diese Schritte:

  • Wenn Sie neu beim Arduino Nano ESP32 sind, lesen Sie das Tutorial wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
  • Verbinden Sie die Komponenten gemäß dem bereitgestellten Diagramm.
  • Schließen Sie das Arduino Nano ESP32-Board über ein USB-Kabel an Ihren Computer an.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das Arduino Nano ESP32-Board und den entsprechenden COM-Port aus.
  • Öffnen Sie den Library Manager, indem Sie auf das Symbol Library Manager in der linken Navigationsleiste der Arduino IDE klicken.
  • Suchen Sie “MD_Parola”, dann finden Sie die MD_Parola-Bibliothek.
  • Klicken Sie auf die Installieren-Schaltfläche.
Arduino Nano ESP32 MD_Parola-Bibliothek
  • Sie werden aufgefordert, die Bibliothek “MD_MAX72XX” zu installieren
  • Klicken Sie auf die Schaltfläche Alle installieren, um die Abhängigkeit zu installieren
Arduino Nano ESP32 MD_MAX72XX-Bibliothek
  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE
  • Klicken Sie in der Arduino IDE auf die Hochladen-Schaltfläche, um den Code auf den Arduino Nano ESP32 hochzuladen
  • Sehen Sie die LED-Matrixanzeige

Arduino Nano ESP32 LED-Matrix Code – Scrollender Text

Wenn Sie eine lange Nachricht drucken möchten, die zu lang ist, um auf einem LED-Matrix-Display zu passen, können Sie den Scrolltext-Effekt verwenden.

Der untenstehende Arduino Nano ESP32-Code zeigt, wie man eine Nachricht auf dem LED-Matrix-Display scrollt.

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano ESP32 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/arduino-nano-esp32/arduino-nano-esp32-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 D10 // The Arduino Nano ESP32 pin connected to the CS pin of the LED matrix // 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", PA_CENTER, PA_SCROLL_LEFT, 100); } void loop() { if (ledMatrix.displayAnimate()) { ledMatrix.displayReset(); } }

Für weitere Texteffekte besuchen Sie bitte MD_Parola Library Reference.

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!