Arduino - LED-Matrix

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

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

Erforderliche Hardware

1×Arduino Uno R3
1×USB 2.0 Kabel Typ A/B (für USB-A PC)
1×USB 2.0 Kabel Typ C/B (für USB-C PC)
1×FC-16 LED Matrix 32x8
1×FC-16 LED Matrix 8x8
1×Generic LED Matrix 8x8
1×Verbindungskabel
1×DC-Stromanschluss
1×5V Power Adapter for Arduino
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables STEM V3 Starter-Kit (Arduino enthalten)
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 Arduino 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 beliebte Blockformen: das Standardmodul 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 vorkonfigurierte 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 verdrahten, um eine LED-Matrix in der gewünschten Größe zu bilden.
  • Sie geben die Größe der LED-Matrix, die Sie verwenden, im Arduino-Code an.

Pinbelegung

LED-Matrix Pinbelegung

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

  • Eingangs-Pin-Gruppe:
    • VCC: mit 5V verbunden.
    • GND: mit GND verbunden.
    • DIN ist der Datenpin, verbinde ihn mit dem SPI-MOSI-Pin des Arduino.
    • CS: Chip Select, verbinde ihn mit einem beliebigen digitalen Pin des Arduino.
    • CLK: Taktpin, verbinde ihn mit dem SPI-CLK-Pin des Arduino.
  • Ausgangs-Pin-Gruppe:
    • VCC: verbindet sich mit dem VCC des nächsten Moduls.
    • GND: verbindet sich mit dem GND des nächsten Moduls.
    • DOUT: Datenausgang, verbindet sich mit dem DIN-Pin des nächsten Moduls.
    • CS: verbindet sich mit CS des nächsten Moduls.
    • CLK: verbindet sich mit CLK des nächsten Moduls.

Verdrahtungsdiagramm

Wenn die LED-Matrix aus einem einzigen Block besteht:

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

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

Arduino 8x8 LED-Matrix allgemeines Verdrahtungsdiagramm

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

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

  • Verbinde die Eingangs-Pin-Gruppen mit dem Arduino.
  • Lass die Gruppe der Ausgangspins unverbunden.
Schaltplan für eine Arduino-LED-Matrixanzeige

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

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

  • Verbinden Sie die Gruppen der Eingangspins des ersten Blocks mit dem Arduino
  • Verbinden Sie die Gruppen der Ausgangspins jedes Blocks mit den Gruppen der Eingangspins des nächsten Blocks
  • Lassen Sie die Gruppe der Ausgangspins des letzten Blocks unverbunden
Arduino 32x8 LED-Matrix-Verkabelung FC-16-Diagramm

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

Arduino 32×8 LED-Matrix generisches Verdrahtungsdiagramm

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

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

  • Verwenden Sie nicht die Stromversorgung vom 5-V-Pin des Arduino.
  • Verwenden Sie stattdessen eine externe 5-V-Stromversorgung. Arduino und LED-Matrix können die Stromversorgung von einem 5-V-Netzadapter gemeinsam nutzen.

Weil Arduino eine LED-Matrix über SPI-Pins anschließt:

  • Pin 13 (SCK) und 11 (MOSI) am Arduino Uno müssen verwendet werden. Wenn Sie ein anderes Arduino-Board verwenden, prüfen Sie die offizielle Dokumentation auf entsprechende SPI-Pins.
  • Pin 3 (CS) kann auf jeden beliebigen Pin geändert werden.

Wie man eine LED-Matrix programmiert

Es ist nicht einfach, die LED-Matrix zu steuern. Glücklicherweise gibt es Bibliotheken, die das erleichtern. Im Folgenden finden Sie eine Schritt-für-Schritt-Anleitung, wie man Arduino-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 vier Blöcke.
#define MAX_DEVICES 4
  • Definieren Sie den Pin, der mit dem CS-Pin der LED-Matrix verbunden ist. Zum Beispiel Pin D3.
#define CS_PIN 3
  • Erstelle eine neue Instanz der MD_Parola-Klasse für das LED-Matrix-Display.
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 der LED-Matrixanzeige einstellen (von 0 bis 15) ledMatrix.displayClear(); // LED-Matrixanzeige löschen }
  • Text anzeigen, Zahl anzeigen und animierte Effekte zeigen: Siehe den nächsten Teil

Arduino - LED-Matrix-Code

Der untenstehende Code ist für eine 32×8 FC-16 LED-Matrixanzeige (4 Blöcke). Sie können ihn jedoch leicht auf 8×8, 16×8, 64×8... anpassen.

/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino 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/arduino-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 3 // 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 } 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

  • Verbinde Arduino mit der LED-Matrix gemäß dem oben gezeigten Verdrahtungsdiagramm.
  • Verbinde Arduino über ein USB-Kabel mit dem PC.
  • Navigiere zum Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
  • Suche “MD_Parola”, dann finde die MD_Parola-Bibliothek.
  • Klicke auf die Installieren-Schaltfläche.
Arduino MD_Parola-Bibliothek
  • Sie werden aufgefordert, die MD_MAX72XX-Bibliothek als Abhängigkeit zu installieren. Klicken Sie auf die Schaltfläche Alle installieren.
Arduino MD_MAX72XX-Bibliothek
  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino-IDE.
  • Klicken Sie auf die Upload-Schaltfläche in der Arduino-IDE, um den Code auf den Arduino hochzuladen.
  • Sehen Sie die LED-Matrixanzeige.

Arduino 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 Scroll-Text-Effekt verwenden.

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

/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino 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/arduino-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 3 // 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("Hello, DIYables", 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!