ESP8266 - TM1637 4-stellige 7-Segmentanzeige
Dieses Tutorial erklärt dir, wie man den ESP8266 mit dem TM1637-Modul und der 4-stelligen 7-Segmentanzeige verwendet. Im Detail werden wir lernen:
- Wie man eine 4-stellige 7-Segmentanzeige mit dem ESP8266 verbindet
- Wie man den ESP8266 programmiert, um die Informationen auf einer 4-stelligen 7-Segmentanzeige anzuzeigen

In diesem Tutorial verwenden wir ein 4-stelliges 7-Segment-Display-Modul mit einem Doppelpunkttrenner. Wenn Sie Gleitkommazahlen anzeigen möchten, lesen Sie bitte das Tutorial 74HC595 4-digit 7-segment Display Module.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über TM1637 4-stellige 7-Segmentanzeige
Ein vierstelliges 7-Segment-Display wird üblicherweise für Uhr, Timer und Zähler verwendet und zeigt die Temperatur an. Es erfordert jedoch normalerweise 12 Anschlüsse. Das TM1637-Modul vereinfacht dies, da es nur 4 Anschlüsse benötigt: 2 für die Stromversorgung und 2 zur Ansteuerung der Segmente.
Ein TM1637-Modul besteht im Allgemeinen aus vier 7-Segment-LEDs und eine der folgenden Optionen:
- Eine LED in Form eines Doppelpunkts in der Mitte: Sie eignet sich ideal zur Anzeige der Zeit in Stunden und Minuten, oder Minuten und Sekunden, oder Spielstände zweier Mannschaften.
- Vier punktförmige LEDs pro Ziffer: Sie eignen sich ideal zur Anzeige der Temperatur oder eines beliebigen Dezimalwerts.
TM1637 4-stellige 7-Segmentanzeige Pinbelegung
TM1637 4-stellige 7-Segment-Display-Modul hat vier Pins:
- CLK-Pin: ist ein Takteingangspin, der mit jedem digitalen Pin des ESP8266 verbunden werden sollte.
- DIO-Pin: ist ein Data-I/O-Pin, der mit jedem digitalen Pin des ESP8266 verbunden werden sollte.
- VCC-Pin: wird verwendet, um dem Modul Strom zuzuführen und sollte mit einer 3,3-V bis 5-V-Stromversorgung verbunden werden.
- GND-Pin: ist ein Massepin, der mit dem Masseanschluss des ESP8266 verbunden werden sollte.

Verdrahtungsdiagramm
Um ein TM1637-Modul mit einem ESP8266 zu verbinden, sind vier Leitungen erforderlich: zwei für die Stromversorgung und zwei zur Steuerung des Displays. Das Modul kann über den 5-Volt-Ausgang des ESP8266 mit Strom versorgt werden. Die CLK- und DIO-Pins sollten mit beliebigen digitalen Pins des Arduino verbunden werden; beispielsweise Pins 2 und 3. Wenn andere Pins verwendet werden, müssen die Pin-Nummern im Code angepasst werden.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.
Bibliotheksinstallation
Um einfach für das TM1637-4-stellige 7-Segmentanzeige zu programmieren, müssen wir die Bibliothek TM1637Display von Avishay Orpaz installieren. Befolgen Sie die untenstehenden Schritte, um die Bibliothek zu installieren:
- Klicken Sie auf das Bibliotheken-Symbol in der linken Leiste der Arduino-IDE.
- Suchen Sie „TM1637“, dann finden Sie die TM1637Display-Bibliothek von Avishay Orpaz
- Klicken Sie auf die Installieren-Schaltfläche.

Wie man eine TM1637 4-stellige 7-Segmentanzeige mit ESP8266 programmiert
- Die Bibliothek einbinden
- Geben Sie die ESP8266-Pins an, die mit dem CLK- und dem DIO-Pin des Displaymoduls verbunden sind. Zum Beispiel D2 und D1.
- Erstelle ein TM1637Display-Objekt.
- Dann können Sie Zahlen, Dezimalzahlen, Zahlen mit negativen Vorzeichen oder Buchstaben anzeigen. Im Fall von Buchstaben müssen Sie die Buchstabenform angeben. Betrachten wir jeden Fall einzeln.
- Zahlen anzeigen: Siehe die untenstehenden Beispiele; '_' in der folgenden Beschreibung steht für eine Ziffer, die in der Praxis nicht angezeigt wird:
- Zeige die Zahl mit einem Doppelpunkt oder Punkt:
Weitere Informationen zu den Funktionen finden Sie am Ende dieses Tutorials.
ESP8266-Code
Schnelle Schritte
Um mit dem ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:
- Schau dir das Tutorial wie man die Umgebung für ESP8266 in der Arduino IDE einrichtet an, falls dies dein erstes Mal mit ESP8266 ist.
- Verbinde die Bauteile wie im Diagramm gezeigt.
- Schließe das ESP8266-Board mit einem USB-Kabel an deinen Computer an.
- Öffne die Arduino IDE auf deinem Computer.
- Wähle das richtige ESP8266-Board, z. B. (NodeMCU 1.0 (ESP-12E Modul)), und den jeweiligen COM-Port.
- Kopiere den Code und öffne ihn mit der Arduino IDE.
- Klicke den Upload-Button, um den Code auf den ESP8266 zu übertragen.
- Schau dir die Zustände der 7-Segmentanzeige an.
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.
Funktionsreferenzen
Nachfolgend sind die Referenzen für:
- display.loeschen()
- display.zeigeDezimalzahl()
- display.zeigeDezimalzahlEx()
- display.setzeSegmente()
- display.helligkeitSetzen()
Anzeige.löschen()
Beschreibung
Diese Funktion löscht das Display. Alle LEDs werden ausgeschaltet.
display.showNumberDec()
Beschreibung
Die 7-Segmentanzeige wird verwendet, um eine Dezimalzahl anzuzeigen. Diese Funktion dient dazu.
Syntax
Parameter
- num: ist der Wert, der auf der 7-Segmentanzeige angezeigt wird, liegt im Bereich von -9999 bis 9999.
- leading_zero: ein optionaler Parameter mit einem Standardwert von false; bestimmt, ob führende Nullen angezeigt werden sollen.
- length, ein weiterer optionaler Parameter mit einem Standardwert von 4; legt die Anzahl der anzuzeigenden Ziffern fest.
- pos: ebenfalls ein optionaler Parameter mit einem Standardwert von 0; legt die Position der signifikantesten Ziffer fest.
Bitte beachten Sie, dass die Funktion nichts anzeigt, wenn die Zahl außerhalb des Bereichs liegt oder wenn der Längenwert größer als 4 ist.
showNumberDecEx()
Beschreibung
Diese Funktion ist eine Weiterentwicklung von showNumberDec() und bietet mehr Kontrolle über die Anzeige einer Dezimalzahl auf dem 7-Segment-Display. Sie verfügt über die Möglichkeit, die Punkt- oder Doppelpunktsegmente jeder Ziffer individuell zu steuern.
Satzbau
Parameter
- num1: Dies ist die Zahl, die auf der 7-Segmentanzeige angezeigt werden soll. Sie sollte sich im Bereich von -9999 bis 9999 befinden.
- dots: Dieser Parameter dient dazu festzulegen, welche Segmente des Displays als Punkte eingeschaltet werden sollen. Jedes Bit des Wertes entspricht einer Ziffer auf dem Display. Mögliche Werte sind:
- 0b10000000 zur Anzeige des ersten Punkts (0.000)
- 0b01000000 zur Anzeige des zweiten Punkts (00.00) oder des Doppelpunkts (00:00). Es hängt vom Modultyp ab.
- 0b00100000 zur Anzeige des dritten Punkts (000.0)
- leading_zero: Dies ist ein optionaler Parameter mit dem Standardwert false. Wenn er auf true gesetzt wird, werden führende Nullen angezeigt.
- length: Dies ist ein optionaler Parameter mit dem Standardwert 4. Er bestimmt die Anzahl der Ziffern, die auf der 7-Segmentanzeige angezeigt werden.
- pos: Dies ist ein optionaler Parameter mit dem Standardwert 0. Er legt die Position der signifikantesten Ziffer der Zahl fest.
Zum Beispiel, wenn Sie display.showNumberDecEx(1530, 0b01000000) verwenden, wird es angezeigt:
- Die Zahl 15:30 auf der 7-Segmentanzeige, falls das Modul eine Doppelpunkt-LED hat.
- Die Zahl 15.30 auf der 7-Segmentanzeige, falls das Modul über punktförmige LEDs verfügt.
Bitte beachten Sie, dass die Funktion nichts anzeigt, wenn die Nummer außerhalb des Bereichs liegt oder der Wert der Länge größer als 4 ist.
Segmente festlegen()
Beschreibung
Die Funktion ermöglicht es, die Segmente der 7-Segmentanzeige direkt zu setzen. Sie kann verwendet werden, um Buchstaben, Sonderzeichen anzuzeigen, oder alle LED-Segmente auszuschalten.
Syntax
Parameter
- segments: Dieser Parameter setzt die Segmente der 7-Segment-Anzeige, die ein Array von Bytes bilden. Jedes Byte repräsentiert die Segmente jeder Ziffer, und jedes Segment wird durch ein Bit im Byte dargestellt.
- length: Dies ist ein optionaler Parameter mit einem Standardwert von 4. Er bestimmt die Anzahl der Ziffern, die auf der 7-Segment-Anzeige angezeigt werden.
- pos: Dies ist ein optionaler Parameter mit einem Standardwert von 0. Er gibt die Position der höchstwertigen Ziffer der Zahl an.
Diese Funktion ist nützlich, wenn Sie Zeichen oder Symbole anzeigen müssen, die auf dem Standard-7-Segment-Display nicht verfügbar sind. Sie können jedes von Ihnen gewünschte Muster erstellen, indem Sie die Segmente direkt einstellen.
Bitte beachten Sie, dass die Funktion nichts anzeigen wird, wenn die Zahl außerhalb des Bereichs liegt oder die Länge größer als 4 ist.
Helligkeit einstellen()
Beschreibung
Die Helligkeit der 7-Segment-Anzeige kann mit dieser Funktion angepasst werden.
Syntax
Parameter
- brightness: Dieser Parameter passt die Leuchtkraft der 7-Segment-Anzeige an. Der Wert sollte zwischen 0 und 7 liegen, wobei eine höhere Zahl eine hellere Anzeige erzeugt.
- on: Dies ist ein optionaler Parameter mit dem Standardwert true. Er wird verwendet, um die Anzeige ein- oder auszuschalten. Wenn er auf false gesetzt wird, wird die Anzeige deaktiviert.