Arduino Nano - LED-Matrix

Dieses Tutorial zeigt Ihnen, wie Sie den Arduino Nano mit einer LED-Matrixanzeige verwenden. Im Detail werden wir lernen:

Sobald das erledigt ist, kannst du den Code schnell an andere LED-Matrizen anpassen, wie z. B. 16×8 LED-Matrizen, 64×8 LED-Matrizen ...

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
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 Nano
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

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 die LED-Matrix

LED-Matrixanzeigen werden üblicherweise als LED-Displays oder Punktmatrixanzeigen bezeichnet.

LED-Matrixanzeige

LED-Matrizen gibt es in vielen Varianten. Die MAX7219-basierte LED-Matrix ist eine beliebte Wahl für den Einsatz mit dem Arduino Nano. Sie verfügt über die folgenden Merkmale:

  • Jeder Block besteht aus einer 8x8 LED-Matrix (64 LEDs) und einem MAX7219-Treiber.
  • Zwei gängige Blockformen sind das generische Modul und das FC-16-Modul.
  • Eine LED-Matrix kann aus einem oder mehreren Blöcken bestehen, die in einer Daisy-Kette verbunden sind.
  • Sie können vorkonfigurierte LED-Matrizen mit mehreren Blöcken erwerben (z. B. 4-in-1, 8-in-1).
  • Alternativ können Sie einzelne Blöcke kaufen und sie miteinander verdrahten, um eine LED-Matrix der gewünschten Größe zu erstellen.
  • Die Größe der verwendeten LED-Matrix muss im Arduino-Nano-Code angegeben werden.

Die Pinbelegung der LED-Matrix

LED-Matrix-Pinbelegung

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

  • Gruppe der Eingangs-Pins:
    • VCC: mit einer 5-V-Stromversorgung verbunden.
    • GND: mit Masse verbunden.
    • DIN: Datenpin, mit dem SPI-MOSI-Pin des Arduino Nano verbunden.
    • CS: Chip-Select, mit einem digitalen Pin des Arduino Nano verbunden.
    • CLK: Clock-Pin, mit dem SPI-MOSI-Pin des Arduino Nano verbunden.
  • Gruppe der Ausgangs-Pins:
    • VCC: mit VCC am nächsten Block verbunden.
    • GND: mit GND am nächsten Modul verbunden.
    • DOUT: Datenausgang, verbunden mit dem DIN-Pin des nächsten Blocks.
    • CS: verbunden mit dem CS-Pin des nächsten Blocks.
    • CLK: mit dem CLK-Pin des nächsten Blocks verbunden.

Verdrahtungsdiagramm

Wenn die LED-Matrix aus einem einzigen Block besteht:

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

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

Arduino Nano 8x8 LED-Matrix – Allgemeines Verdrahtungsschema

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

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

  • Schließe die Eingangs-Pins-Gruppe an den Arduino Nano an
  • Lass die Ausgangs-Pins-Gruppe unverbunden
Arduino Nano 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 du selbst hergestellt hast:

  • Verbinde die Eingangs-Pin-Gruppen des ersten Blocks mit dem Arduino Nano
  • Verknüpfe die Ausgangs-Pin-Gruppen jedes Blocks mit den Eingangs-Pin-Gruppen des folgenden Blocks
  • Lass die Ausgangs-Pin-Gruppe des letzten Blocks unverbunden
Arduino Nano 32×8 LED-Matrix-Verkabelung FC-16-Diagramm

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

Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.

Aufgrund der hohen Stromaufnahme des Displays (bis zu 1 A bei maximaler Helligkeit):

  • Versorgen Sie es nicht über den 5-V-Pin eines Arduino Nano.
  • Verwenden Sie stattdessen eine externe 5-V-Stromversorgung. Sowohl der Arduino Nano als auch die LED-Matrix können von einem einzigen 5-V-Netzteil mit Strom versorgt werden.

Da der Arduino Nano über SPI-Pins mit der LED-Matrix verbunden ist:

  • Pin 13 (SCK) und 11 (MOSI) am Arduino Nano sollten verwendet werden. Falls eine andere Arduino Nano-Platine verwendet wird, konsultieren Sie die offizielle Dokumentation für die entsprechenden SPI-Pins.
  • Pin 3 (CS) kann auf jeden Pin des Arduino Nano geändert werden.

Wie man eine LED-Matrix programmiert

Es ist keine einfache Aufgabe, die LED-Matrix zu steuern. Glücklicherweise gibt es Bibliotheken, die das deutlich erleichtern. Hier ist eine Schritt-für-Schritt-Anleitung, wie man Arduino Nano-Code schreibt, um die LED-Matrix zu steuern:

  • Bibliotheken einbinden:
#include <MD_Parola.h> #include <MD_MAX72xx.h>
  • Geben Sie den Typ der verwendeten Hardware an: GENERIC_HW oder FC16_HW.
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
  • Geben Sie die Anzahl der verwendeten LED-Blöcke an. Zum Beispiel enthält eine 4-in-1-LED-Matrix vier Blöcke.
#define MAX_DEVICES 4
  • Geben Sie den Pin an, der mit dem CS-Pin der LED-Matrix verbunden ist. Zum Beispiel: Pin D3.
#define CS_PIN 3
  • Erstellen Sie ein MD_Parola-Objekt 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(); // das Objekt initialisieren ledMatrix.setIntensity(0); // die Helligkeit des LED-Matrix-Displays festlegen (von 0 bis 15) ledMatrix.displayClear(); // LED-Matrixanzeige löschen }
  • Text, numerische Werte und animierte Effekte anzeigen: Werfen Sie einen Blick auf den folgenden Abschnitt.

Arduino Nano - LED-Matrix-Code

Dieser Code gilt für ein 32×8 FC-16 LED-Matrix-Display, das aus vier Blöcken besteht. Er kann jedoch mühelos an 8×8, 16×8, 64×8 und andere Größen angepasst werden.

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

  • Schließen Sie den Arduino Nano gemäß dem Schaltplan an die LED-Matrix an.
  • Schließen Sie den Arduino Nano mit einem USB-Kabel an einen PC an.
  • Klicken Sie auf das Libraries-Symbol in der linken Leiste der Arduino IDE.
  • Suchen Sie nach “MD_MAX72XX” und finden Sie dann die MD_MAX72XX-Bibliothek.
  • Drücken Sie die Install-Schaltfläche.
  • Suchen Sie nach “MD_Parola”, und finden Sie dann die MD_Parola-Bibliothek.
  • Drücken Sie die Install-Schaltfläche.
Arduino Nano MD_Parola-Bibliothek
  • Sie werden aufgefordert, die “MD_MAX72XX”-Bibliothek zu installieren.
  • Klicken Sie auf die Schaltfläche Alle installieren, um die Abhängigkeit zu installieren.
Arduino Nano MD_MAX72XX-Bibliothek
  • Kopieren Sie den Code und öffnen Sie ihn mit der Arduino-IDE.
  • Klicken Sie in der IDE auf den Hochladen-Schaltfläche, um den Code an den Arduino Nano zu senden.
  • Schauen Sie sich die LED-Matrix an, die die Nachricht anzeigt.

Arduino Nano LED-Matrix-Code – scrollender Text

Wenn eine Nachricht zu lang ist, um auf einer LED-Matrix angezeigt zu werden, kann der Textlauf-Effekt verwendet werden. Diese Technik ermöglicht es, den Text über das Display zu scrollen. Der Textlauf-Effekt ermöglicht es, die Nachricht über die LED-Matrix zu bewegen, auch wenn sie zu lang ist, um hineinzupassen.

Dieser Arduino-Nano-Code veranschaulicht, wie man eine Nachricht über die LED-Matrixanzeige bewegt.

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-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(); } }

Um weitere Texteffekte zu erkunden, verweisen Sie bitte auf die MD_Parola-Bibliotheksreferenz.

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!