Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
MAX7219 ist ein IC, der verwendet wird, um 7-Segment-LEDs (bis zu 8 Stellen), Blockanzeigen (Balkenanzeigen) und 64 einzelne LEDs, die gemeinsame Kathoden sind, anzusteuern. Zur Kommunikation mit einem Mikrocontroller verwendet MAX7219 das SPI-Kommunikationssystem. Um 64 LEDs anzusteuern, benötigen Sie also nur 3 Ports des Mikrocontrollers.
In diesem Artikel zeige ich Ihnen, wie Sie ein 7-Segment-Modul verwenden, das IC MAX7219 als Treiber verwendet.
Erforderliche Komponenten:
- MAX7219 7-Segment-Modul
- Arduino Nano
- Draht Jumper
- USB-Mini
Erforderliche Bibliothek:
LED-Steuerung
In diesem Tutorial verwende ich Arduino Nano Board. Wenn Sie es noch nie benutzt haben. Ich schlage vor, meinen vorherigen Artikel über "Wie man Arduino Nano verwendet" zu lesen.
Schritt 1: Alle Komponenten zusammenbauen
Verbinden Sie das Arduino-Board mit dem 7-Segment-Modul. Siehe das Bild oder die Anleitung, die ich unten geschrieben habe:
Arduino zu 7-Segment
+5V => VCC
GND => GND
D12 => DIN
D11 => CLK
D10 => CS/LOAD
Schritt 2: Bibliothek hinzufügen
Nachdem die Schaltung abgeschlossen ist. Fügen Sie der Arduino-IDE die Bibliothek "LedControl" hinzu.
Um Arduino eine Bibliothek hinzuzufügen, können Sie sie in dem Artikel "Wie man eine externe Bibliothek zu Arduino hinzufügt" lesen, den ich zuvor erstellt habe.
Schritt 3: Zusätzliche Funktionen
Nach dem Hinzufügen der LedControl-Bibliothek. Mit zusätzlichen Funktionen können Sie das 7-Segment-Modul steuern.
Streit
addr - Adresse des Displays
digit - die Position der Ziffer auf dem Display (0..7)\ value - der anzuzeigende Wert. (0x00..0x0F)
dp setzt den Dezimalpunkt.
Funktion
setChar(addr, digit, value.dp); // um den Wert des Zeichentyps für die 7-Bit-ASCII-Codierung anzuzeigen
setDigit(addr, digit, value, bolean dp); // um Ziffern und Zeichen in einer Funktion anzuzeigen setRow (addr, digit, value, boolean dp); // um das Objekt in der gewünschten Ziffer anzuzeigen
Für weitere Details lesen Sie bitte hier.
Schritt 4: Skizze hochladen
Ich habe für den Test dieses 7-Segment-Moduls skizziert. Sie können den folgenden Code kopieren und dann in Ihre Skizze einfügen.
//Wir müssen immer die Bibliothek mit einbeziehen
#include "LedControl.h"
/*
Jetzt brauchen wir eine LedControl, mit der wir arbeiten können. ***** Diese PIN-Nummern funktionieren wahrscheinlich nicht mit Ihrer Hardware *****
Pin 12 ist mit dem DataIn verbunden
Pin 11 ist mit CLK. verbunden
Pin 10 ist mit LOAD. verbunden
Wir haben nur einen einzigen MAX72XX.
*/
LedControl lc=LedControl(12, 11, 10, 1);
/* wir warten immer ein bisschen zwischen den Aktualisierungen der Anzeige */
lange Verzögerungszeit ohne Vorzeichen = 500;
Leere Einrichtung () {
/* Der MAX72XX befindet sich beim Start im Energiesparmodus, wir müssen einen Weckruf ausführen */
lc.shutdown(0, falsch);
/* Helligkeit auf mittlere Werte einstellen */
lc.setIntensity(0, 8);
/* und lösche die Anzeige */
lc.clearDisplay(0);}
leeres hallo (){
lc.setChar(0, 7, 'H', falsch);
lc.setChar(0, 6, 'E', falsch);
lc.setChar(0, 5, 'L', falsch);
lc.setChar(0, 4, 'L', falsch);
lc.setChar(0, 3, '0', falsch);
lc.setChar(0, 2, '.', false);
lc.setChar(0, 1, '.', false);
lc.setChar(0, 0, '.', false);
Verzögerung (Verzögerungszeit +1000);
lc.clearDisplay(0);
Verzögerung (Verzögerungszeit);
lc.setDigit(0, 7, 1, falsch);
Verzögerung (Verzögerungszeit);
lc.setDigit(0, 6, 2, falsch);
Verzögerung (Verzögerungszeit);
lc.setDigit(0, 5, 3, falsch);
Verzögerung (Verzögerungszeit);
lc.setDigit(0, 4, 4, falsch);
Verzögerung (Verzögerungszeit);
lc.setDigit(0, 3, 5, falsch);
Verzögerung (Verzögerungszeit);
lc.setDigit(0, 2, 6, falsch);
Verzögerung (Verzögerungszeit);
lc.setDigit(0, 1, 7, falsch);
Verzögerung (Verzögerungszeit);
lc.setDigit(0, 0, 8, falsch);
Verzögerung (1500);
lc.clearDisplay(0);
Verzögerung (Verzögerungszeit);
}
Leere Schleife () { Hallo ();
}
Oder laden Sie die folgende Datei herunter:
Schritt 5: Ergebnis
Freuen Sie sich auf das Ergebnis.
Bei Fragen einfach in die Kommentarspalte schreiben.
Wir sehen uns im nächsten Artikel.