Hallo! Als Lieferant von 7-Segment-LCDs habe ich aus erster Hand gesehen, welche coolen Dinge man mit diesen kleinen Displays machen kann. In diesem Blog erkläre ich Ihnen, wie Sie ein 7-Segment-LCD so programmieren, dass es dynamische Inhalte anzeigt. Ganz gleich, ob Sie Hobby- oder Profi-Anwender sind: In diesem Leitfaden erfahren Sie, wie Sie Ihren 7-Segment-LCDs Leben einhauchen.
Die Grundlagen von 7-Segment-LCDs verstehen
Lassen Sie uns zunächst kurz verstehen, was ein 7-Segment-LCD ist. Es besteht aus sieben Segmenten, die normalerweise mit a, b, c, d, e, f und g sowie einem Dezimalpunkt gekennzeichnet sind. Durch das Aufleuchten verschiedener Kombinationen dieser Segmente können Sie Zahlen von 0 bis 9 und sogar einige Buchstaben anzeigen.
Es gibt verschiedene Arten von 7-Segment-LCDs, zHTN-LCD-Display,VA-LCD-Display, UndSTN-LCD-Display. Jeder Typ hat seine eigenen Eigenschaften wie Betrachtungswinkel, Kontrast und Reaktionszeit. Sie müssen diejenige auswählen, die am besten zu Ihrem Projekt passt.
Auswahl des richtigen Mikrocontrollers
Um ein 7-Segment-LCD zu programmieren, benötigen Sie einen Mikrocontroller. Beliebte Optionen sind Arduino-, Raspberry Pi- und PIC-Mikrocontroller. Die Arbeit mit ihnen ist einfach und es stehen unzählige Online-Ressourcen zur Verfügung.
Arduino ist eine großartige Option für Anfänger. Es ist Open Source, hat eine einfache Programmiersprache und eine große Community. Sie können schnell loslegen, ohne sich mit allzu großer Komplexität auseinandersetzen zu müssen. Der Raspberry Pi hingegen ist leistungsfähiger und kann komplexere Aufgaben bewältigen. Es ist wie ein Minicomputer, auf dem Sie vollwertige Betriebssysteme ausführen können.
Hardware-Verbindung
Sobald Sie Ihren Mikrocontroller ausgewählt haben, ist es Zeit, das 7-Segment-LCD anzuschließen. Das LCD verfügt über Pins für jedes Segment und einen gemeinsamen Pin (entweder gemeinsame Anode oder gemeinsame Kathode).
Wenn Sie ein LCD mit gemeinsamer Anode verwenden, ist der gemeinsame Pin mit der positiven Spannung verbunden und Sie erden die einzelnen Segmentpins, um sie zum Leuchten zu bringen. Bei einem LCD mit gemeinsamer Kathode ist das Gegenteil der Fall: Der gemeinsame Pin ist geerdet und Sie legen eine positive Spannung an die Segmentpins an.
Hier ist ein einfaches Beispiel für den Anschluss eines 7-Segment-LCD an ein Arduino:
- Verbinden Sie den gemeinsamen Pin mit der entsprechenden Stromquelle (entweder 5 V für gemeinsame Kathode oder Masse für gemeinsame Anode).
- Verbinden Sie jeden Segmentpin (a - g und den Dezimalpunkt) mit einem digitalen Ausgangspin am Arduino.
Programmierung des Displays
Jetzt kommt der spaßige Teil: das Programmieren! Beginnen wir mit einem einfachen Beispiel für die Anzeige einer einzelnen Ziffer auf dem 7-Segment-LCD mit Arduino.
// Pins für jedes Segment definieren const int segA = 2; const int segB = 3; const int segC = 4; const int segD = 5; const int segE = 6; const int segF = 7; const int segG = 8; void setup() { // Alle Segmentpins als Ausgänge festlegen pinMode(segA, OUTPUT); pinMode(segB, OUTPUT); pinMode(segC, OUTPUT); pinMode(segD, OUTPUT); pinMode(segE, OUTPUT); pinMode(segF, OUTPUT); pinMode(segG, OUTPUT); } void loop() { // Zahl anzeigen 0 digitalWrite(segA, HIGH); digitalWrite(segB, HIGH); digitalWrite(segC, HIGH); digitalWrite(segD, HIGH); digitalWrite(segE, HIGH); digitalWrite(segF, HIGH); digitalWrite(segG, LOW); Verzögerung (2000); // 2 Sekunden warten // Zahl 1 anzeigen digitalWrite(segA, LOW); digitalWrite(segB, HIGH); digitalWrite(segC, HIGH); digitalWrite(segD, LOW); digitalWrite(segE, LOW); digitalWrite(segF, LOW); digitalWrite(segG, LOW); Verzögerung (2000); // 2 Sekunden warten }
In diesem Code definieren wir zunächst die Pins für jedes Segment imaufstellen()Funktion. Dann, imSchleife()Mit dieser Funktion schalten wir die entsprechenden Segmentpins ein und aus, um verschiedene Zahlen anzuzeigen. DerVerzögerung()Mit dieser Funktion wird jede Zahl für eine bestimmte Zeit angezeigt.
Dynamische Inhalte anzeigen
Um dynamische Inhalte wie das Hochzählen oder das Anzeigen einer Laufnachricht anzuzeigen, müssen Sie etwas kreativer werden.
Hochzählen
Hier ist ein Beispiel für das Zählen von 0 bis 9 auf dem 7-Segment-LCD:
// Pins für jedes Segment definieren const int segA = 2; const int segB = 3; const int segC = 4; const int segD = 5; const int segE = 6; const int segF = 7; const int segG = 8; // Array zum Speichern von Segmentmustern für jede Ziffer int digitPatterns[10][7] = { {HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, LOW}, // 0 {LOW, HIGH, HIGH, LOW, LOW, LOW, LOW}, // 1 {HIGH, HIGH, LOW, HIGH, HIGH, LOW, HIGH}, // 2 {HIGH, HIGH, HIGH, HIGH, LOW, LOW, HIGH}, // 3 {LOW, HOCH, HOCH, NIEDRIG, NIEDRIG, HOCH, HOCH}, // 4 {HOCH, NIEDRIG, HOCH, HOCH, NIEDRIG, HOCH, HOCH}, // 5 {HOCH, NIEDRIG, HOCH, HOCH, HOCH, HOCH, HOCH}, // 6 {HOCH, HOCH, HOCH, NIEDRIG, NIEDRIG, NIEDRIG, NIEDRIG}, // 7 {HOCH, HOCH, HOCH, HOCH, HOCH, HOCH, HOCH}, // 8 {HIGH, HOCH, HOCH, HOCH, NIEDRIG, HOCH, HOCH} // 9 }; void setup() { // Alle Segmentpins als Ausgänge festlegen pinMode(segA, OUTPUT); pinMode(segB, OUTPUT); pinMode(segC, OUTPUT); pinMode(segD, OUTPUT); pinMode(segE, OUTPUT); pinMode(segF, OUTPUT); pinMode(segG, OUTPUT); } void loop() { for (int i = 0; i < 10; i++) { // Zeigt die aktuelle Ziffer an digitalWrite(segA, digitPatterns[i][0]); digitalWrite(segB, digitPatterns[i][1]); digitalWrite(segC, digitPatterns[i][2]); digitalWrite(segD, digitPatterns[i][3]); digitalWrite(segE, digitPatterns[i][4]); digitalWrite(segF, digitPatterns[i][5]); digitalWrite(segG, digitPatterns[i][6]); Verzögerung (1000); // 1 Sekunde warten } }
In diesem Code verwenden wir ein 2D-ArrayDigitPatternsum die Segmentmuster für jede Ziffer zu speichern. Dann, imSchleife()Mit dieser Funktion durchlaufen wir die Zahlen von 0 bis 9 und zeigen jede Ziffer 1 Sekunde lang an.
Laufnachricht
Um eine Laufnachricht anzuzeigen, müssen Sie mehrere 7-Segment-Anzeigen verwenden und diese multiplexen. Unter Multiplexing versteht man das schnelle Umschalten zwischen den Displays, sodass der Eindruck entsteht, als wären alle gleichzeitig eingeschaltet.


Hier ist eine allgemeine Übersicht darüber, wie es geht:
- Teilen Sie Ihre Nachricht in einzelne Ziffern oder Zeichen auf.
- Zeigen Sie jeweils eine Ziffer auf einer Anzeige an und wechseln Sie schnell zur nächsten Anzeige.
- Wiederholen Sie diesen Vorgang kontinuierlich, um einen Scrolleffekt zu erzeugen.
Fehlerbehebung
Wenn Sie auf Probleme stoßen, machen Sie sich keine Sorgen! Hier sind einige häufige Probleme und ihre Lösungen:
- Segmente leuchten nicht: Überprüfen Sie Ihre Hardwareverbindungen. Stellen Sie sicher, dass die Pins richtig angeschlossen sind und dass Sie die richtige Stromquelle verwenden.
- Flackernde Anzeige: Dies könnte an einer niedrigen Bildwiederholfrequenz liegen. Versuchen Sie, die Geschwindigkeit zu erhöhen, mit der Sie die Anzeigen multiplexen.
- Falsche Ziffern angezeigt: Überprüfen Sie noch einmal Ihre Segmentmuster im Code. Stellen Sie sicher, dass Sie für jede Ziffer die richtigen Segmente aufleuchten lassen.
Abschluss
Das Programmieren eines 7-Segment-LCD zur Anzeige dynamischer Inhalte ist ein unterhaltsames und lohnendes Projekt. Mit der richtigen Hardware, ein wenig Programmierkenntnissen und einigen Fähigkeiten zur Fehlerbehebung können Sie alle möglichen coolen Displays erstellen.
Wenn Sie daran interessiert sind, 7-Segment-LCDs für Ihre Projekte zu kaufen, sind Sie bei uns genau richtig. Wir bieten eine große Auswahl anHTN-LCD-Display,VA-LCD-Display, UndSTN-LCD-DisplayOptionen. Kontaktieren Sie uns, um Ihre Anforderungen zu besprechen und mit Ihrem nächsten Projekt zu beginnen!
Referenzen
- Offizielle Arduino-Dokumentation
- Offizielle Raspberry Pi-Website
- Verschiedene Online-Elektronik-Tutorials und -Foren
