ESP32 - TM1637 4-stellige 7-Segmentanzeige
Dieses Tutorial zeigt dir, wie du den ESP32 mit dem TM1637 4-stelligen 7-Segment-Anzeigemodul verwendest. Es behandelt die folgenden Themen:
- Die 4-stellige 7-Segmentanzeige mit dem ESP32 verbinden
- Den ESP32 programmieren, um Informationen auf der 4-stelligen 7-Segmentanzeige anzuzeigen

In diesem Tutorial verwenden wir ein 4-stelliges 7-Segment-Anzeigemodul mit einem Doppelpunktseparator. 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 ESP32 Starter-Kit (ESP32 enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über TM1637 4-stellige 7-Segmentanzeige
Eine 4-stellige 7-Segment-Anzeige wird üblicherweise für Uhr, Timer und Zähler verwendet und zeigt die Temperatur an. Allerdings benötigt sie 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 Steuerung der Segmente.
Ein TM1637-Modul besteht im Allgemeinen aus vier 7-Segment-LEDs und einer der folgenden Optionen:
- Eine Doppelpunkt-LED in der Mitte: Ideal, um die Uhrzeit in Stunden und Minuten anzuzeigen, oder Minuten und Sekunden, oder Spielstände zweier Mannschaften.
- Vier punktförmige LEDs pro Ziffer: Ideal, um die Temperatur oder jeden Dezimalwert anzuzeigen.
Die Pinbelegung des TM1637-4-stelligen 7-Segment-Displays
TM1637 4-stellige 7-Segment-Anzeige-Modul hat vier Pins:
- CLK-Pin: ist ein Takt-Eingangspin, der mit jedem digitalen Pin des ESP32 verbunden werden sollte.
- DIO-Pin: ist ein Daten-I/O-Pin, der mit jedem digitalen Pin des ESP32 verbunden werden sollte.
- VCC-Pin: dient zur Stromversorgung des Moduls und sollte an eine 3,3-V bis 5-V-Stromversorgung angeschlossen werden.
- GND-Pin: ist ein Massepin, der mit der Masse des ESP32 verbunden werden sollte.

Verdrahtungsdiagramm
Um einen TM1637 mit einem ESP32 zu verbinden, sind vier Drähte erforderlich: zwei für die Stromversorgung und zwei zur Ansteuerung des Displays. Das Modul kann über den 5-Volt-Ausgang des ESP32 mit Strom versorgt werden. Die CLK- und DIO-Pins sollten mit beliebigen digitalen Pins des Arduino verbunden werden; zum Beispiel die Pins 2 und 3. Falls 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.
Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.
Bibliotheksinstallation
Um einfach für das TM1637-4-stellige 7-Segment-Anzeige 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“, und finden Sie dann die TM1637Display-Bibliothek von Avishay Orpaz
- Klicken Sie auf die Installieren-Schaltfläche.

Wie programmiert man den TM1637 4-stellige 7-Segmentanzeige mit ESP32
- Binde die Bibliothek ein.
- Geben Sie die ESP32-Pins an, die mit dem CLK und DIO des Display-Moduls verbunden sind. Zum Beispiel D9 und D10.
- Erstelle ein TM1637Display-Objekt.
- Dann können Sie Zahlen anzeigen, Zahlen mit Dezimalstellen, Zahlen mit negativen Vorzeichen oder Buchstaben. Im Fall der Buchstaben müssen Sie die Buchstabenform angeben. Lassen Sie uns jeden einzelnen Fall separat betrachten.
- 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:
Sie finden weitere Informationen zu den Funktionen am Ende dieses Tutorials.
ESP32-Code
Schnelle Schritte
Um mit ESP32 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:
- Wenn dies das erste Mal ist, dass Sie ESP32 verwenden, siehe wie man die Umgebung für ESP32 in der Arduino IDE einrichtet.
- Verbinden Sie die Kabel gemäß dem obigen Bild.
- Verbinden Sie das ESP32-Board über ein Micro-USB-Kabel mit Ihrem PC.
- Öffnen Sie die Arduino IDE auf Ihrem PC.
- Wählen Sie das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port.
- Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Kompilieren Sie den Code und laden Sie ihn auf das ESP32-Board hoch, indem Sie in der Arduino IDE auf die Schaltfläche Upload klicken.

- Beobachten Sie die Zustände der 7-Segmentanzeige.
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 finden Sie die Referenzen für:
- Bildschirm löschen
- Dezimalzahl anzeigen
- Erweiterte Dezimalzahlenanzeige anzeigen
- Segmente einstellen
- Helligkeit einstellen
display.clear()
Beschreibung
Diese Funktion löscht das Display. Sie schaltet alle LEDs aus.
display.showNumberDec()
Beschreibung
Die 7-Segmentanzeige wird verwendet, um eine Dezimalzahl anzuzeigen. Diese Funktion wird dafür verwendet.
Syntax
Parameter
- num: ist der Wert, der auf der 7-Segmentanzeige angezeigt werden soll und im Bereich von -9999 bis 9999 liegt.
- 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 höchstsignifikanten 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 der 7-Segmentanzeige. Sie verfügt über die Möglichkeit, die Punkt- oder Doppelpunktsegmente jedes Zeichens 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 wird verwendet, um festzulegen, welche Segmente des Displays als Punkte eingeschaltet werden sollen. Jedes Bit des Werts entspricht einer Ziffer auf dem Display. Mögliche Werte sind:
- 0b10000000 zum Anzeigen des ersten Punkts (0.000)
- 0b01000000 zum Anzeigen des zweiten Punkts (00.00) oder des Doppelpunkts (00:00). Je nach Modultyp.
- 0b00100000 zum Anzeigen 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. Es 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, wenn das Modul eine Doppelpunkt-LED hat.
- Die Zahl 15.30 auf der 7-Segmentanzeige, wenn das Modul aus punktförmigen LEDs besteht.
Bitte beachten Sie, dass die Funktion nichts anzeigt, wenn die Zahl außerhalb des Bereichs liegt oder wenn der Wert der Länge größer als 4 ist.
Segmente setzen()
Beschreibung
Die Funktion ermöglicht es, die Segmente der 7-Segment-Anzeige direkt zu steuern. Sie kann verwendet werden, um Buchstaben, Sonderzeichen anzuzeigen oder alle LED-Segmente auszuschalten.
Syntax
Parameter
- segments: Dieser Parameter legt die Segmente der 7-Segment-Anzeige fest, die ein Array von Bytes darstellen. 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 Ziffer mit dem höchsten Stellenwert der Zahl an.
Diese Funktion ist nützlich, wenn Sie Zeichen oder Symbole anzeigen müssen, die auf der Standard-7-Segmentanzeige nicht verfügbar sind. Sie können jedes gewünschte Muster erstellen, indem Sie die Segmente direkt einstellen.
Bitte beachten Sie, dass die Funktion nichts anzeigt, wenn die Zahl außerhalb des Bereichs liegt oder der Wert der Länge größer als 4 ist.
setHelligkeit()
Beschreibung
Die Helligkeit der 7-Segment-Anzeige kann mit dieser Funktion eingestellt werden.
Syntax
Parameter
- brightness: Dieser Parameter stellt die Helligkeit der 7-Segmentanzeige ein. Der Wert sollte zwischen 0 und 7 liegen, wobei eine höhere Zahl zu einer helleren Anzeige führt.
- on: Dies ist ein optionaler Parameter mit einem Standardwert von wahr. Er wird verwendet, um die Anzeige ein- oder auszuschalten. Wenn er auf falsch gesetzt wird, wird die Anzeige deaktiviert.