Arduino - TM1637 4-stellige 7-Segmentanzeige
Für Uhr-, Timer- und Zählerprojekte wird eine standardmäßige 4-stellige 7-Segmentanzeige benötigt, aber sie erfordert normalerweise 12 Anschlüsse. Das TM1637-Modul erleichtert dies, indem es nur 4 Anschlüsse benötigt: 2 für die Stromversorgung und 2 für die Ansteuerung der Segmente.
Dieses Tutorial überfordert Sie nicht damit, sich zu sehr mit der Hardware zu beschäftigen. Stattdessen lernen wir, wie man das 4-stellige 7-Segment-Display an Arduino anschließt und wie man es programmiert, um das anzuzeigen, was wir wollen.

Dieses Tutorial verwendet ein 4-stelliges 7-Segment-Anzeigemodul mit Doppelpunkt-Trennung. Wenn Sie Fließkommazahlen anzeigen möchten, verwenden Sie bitte das 74HC595 4-digit 7-segment Display Module.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables STEM V3 Starter-Kit (Arduino enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über TM1637 4-stellige 7-Segmentanzeige
Ein TM1637-Modul besteht typischerweise aus vier 7-Segment-LEDs und einer Doppelpunkt-LED in der Mitte: Es eignet sich ideal zum Anzeigen der Zeit in Stunden und Minuten, oder Minuten und Sekunden, oder Spielständen zweier Teams.
Pinbelegung
TM1637 4-stellige 7-Segmentanzeige-Modul enthält 4 Pins:
- CLK-Pin: ist ein Takt-Eingangspin. Verbinden Sie ihn mit jedem digitalen Pin auf dem Arduino.
- DIO-Pin: ist ein Daten-Ein-/Ausgangspin. Verbinden Sie ihn mit jedem digitalen Pin auf dem Arduino.
- VCC-Pin: versorgt das Modul mit Strom. Verbinden Sie ihn mit einer 3,3 V bis 5 V-Stromversorgung.
- GND-Pin: ist ein Massepin.

Verdrahtungsdiagramm
Um einen TM1637 mit einem Arduino zu verbinden, schließen Sie vier Kabel an: zwei für die Stromversorgung und zwei zur Ansteuerung des Displays. Das Modul kann vom 5-Volt-Ausgang des Arduino gespeist werden. Verbinden Sie die CLK- und DIO-Pins mit beliebigen digitalen Pins des Arduino. Zum Beispiel 2 und 3 am Arduino. Die Pin-Nummern im Code sollten geändert werden, falls andere Pins verwendet werden.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
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:
- Navigieren Sie zum Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
- Suchen Sie nach „TM1637“, und finden Sie dann die TM1637Display-Bibliothek von Avishay Orpaz.
- Klicken Sie auf die Installieren-Schaltfläche.

Wie man TM1637 4-stellige 7-Segmentanzeige mit Arduino programmiert
- Die Bibliothek einbinden
- Definieren Sie die Pins des Arduino, die mit CLK und DIO des Displaymoduls verbunden sind. Zum Beispiel die Pins D9 und D10
- Erstelle ein Display-Objekt des Typs TM1637Display
- Dann können Sie eine Zahl, eine Zahl mit Dezimalpunkt, eine Zahl mit Minuszeichen oder einen Buchstaben anzeigen. Im Fall eines Buchstabens müssen Sie die Buchstabenform definieren. Schauen wir uns das der Reihe nach an.
- Zahl anzeigen: Siehe untenstehende Beispiele; '_' in der unten beschriebenen Darstellung steht für eine Ziffer, die in der Praxis nichts anzeigt:
- Geben Sie die Zahl mit einem Doppelpunkt oder Punkt aus:
Sie können dort weitere Details in den Funktionsreferenzen am Ende dieses Tutorials sehen.
Arduino-Code
Schnelle Schritte
- Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE
- Klicken Sie in der Arduino IDE auf die Upload-Schaltfläche, um den Code auf Arduino hochzuladen
- Sehen Sie sich die Zustände des 7-Segment-Displays 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
Die untenstehenden sind Referenzen für die folgenden Funktionen:
- Anzeige löschen
- Dezimalzahl anzeigen
- Erweiterte Dezimalzahl anzeigen
- Segmente setzen
- Helligkeit einstellen
display.clear()
Beschreibung
Diese Funktion löscht das Display. Es schaltet alle LEDs aus.
display.showNumberDec()
Beschreibung
Die Funktion dient dazu, eine Dezimalzahl auf der 7-Segmentanzeige anzuzeigen.
Syntax
Parameter
- num: Dies ist die Zahl, die auf dem 7-Segment-Display angezeigt werden soll. Diese Zahl sollte sich im Bereich von -9999 bis 9999 befinden.
- leading_zero: Dies ist ein optionaler Parameter mit einem Standardwert von false. Wenn er auf true gesetzt wird, werden führende Nullen angezeigt.
- length: Dies ist ein optionaler Parameter mit einem Standardwert von 4. Er legt die Anzahl der Ziffern fest, die auf dem 7-Segment-Display angezeigt werden.
- pos: Dies ist ein optionaler Parameter mit einem Standardwert von 0. Er legt die Position der höchstsignifikanten Ziffer der Zahl fest.
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.
showNumberDecEx()
Beschreibung
Die Funktion dient dazu, eine Dezimalzahl auf einer 7-Segmentanzeige anzuzeigen und bietet im Vergleich zur Funktion showNumberDec() zusätzliche Funktionen. Es ist eine fortgeschrittene Version von showNumberDec(), die es ermöglicht, die Punkt- oder Doppelpunktsegmente jeder Ziffer einzeln zu steuern.
Syntax
Parameter
- num1: Dies ist die Zahl, die auf der 7-Segmentanzeige angezeigt werden soll. Sie sollte im Bereich von -9999 bis 9999 liegen.
- dots: Dieser Parameter dient dazu festzulegen, welche Segmente der Anzeige als Punkte eingeschaltet werden sollen. Jedes Bit des Wertes entspricht einer Ziffer auf der Anzeige: Gültiger Wert
- 0b10000000: Anzeige des ersten Dezimalpunkts: 0.000
- 0b01000000: Anzeige des zweiten Dezimalpunkts: 00.00
- 0b00100000: Anzeige des dritten Dezimalpunkts: 000.0
- 0b01000000: Für Anzeigen mit nur einem Doppelpunkt: 00:00
- leading_zero: Dies ist ein optionaler Parameter mit einem Standardwert von false. Wenn er auf true gesetzt wird, werden führende Nullen angezeigt.
- length: Dies ist ein optionaler Parameter mit einem Standardwert von 4. Er legt die Anzahl der Ziffern fest, die auf der 7-Segmentanzeige angezeigt werden.
- pos: Dies ist ein optionaler Parameter mit einem Standardwert von 0. Er legt die Position der signifikantesten Ziffer der Zahl fest.
Zum Beispiel, wenn Sie display.showNumberDecEx(1530,0b01000000); aufrufen, wird die Zahl 15:30 auf der 7-Segmentanzeige angezeigt.
Bitte beachten Sie, dass die Funktion nichts anzeigen wird, wenn die Zahl außerhalb des gültigen Bereichs liegt oder die Länge größer als 4 ist.
setSegments()
Beschreibung
Die Funktion dient dazu, die Segmente eines 7-Segment-Displays direkt zu setzen. Sie kann verwendet werden, um Buchstaben, Sonderzeichen anzuzeigen oder alle LED-Segmente einzuschalten.
Syntax
Parameter
- segments: Dieser Parameter legt die Segmente der 7-Segmentanzeige fest. Es handelt sich um ein Byte-Array, in dem jedes Byte die Segmente jeder Ziffer repräsentiert. Jedes Segment wird durch ein Bit im Byte dargestellt.
- length: Dieser Parameter ist optional und hat standardmäßig den Wert 4. Er legt die Anzahl der Ziffern fest, die auf der 7-Segmentanzeige angezeigt werden.
- pos: Dieser Parameter ist optional und hat standardmäßig den Wert 0. Er legt die Position der führenden Ziffer der Zahl fest.
Diese Funktion ist nützlich, wenn Sie Zeichen oder Symbole anzeigen möchten, die in der grundlegenden 7-Segmentanzeige nicht enthalten sind. Indem Sie die Segmente direkt einstellen, können Sie jedes Muster anzeigen, das Sie möchten.
Bitte beachten Sie, dass die Zahl außerhalb des Bereichs liegt oder der Wert der Länge größer als 4 ist. Die Funktion wird nichts anzeigen.
Helligkeit einstellen()
Beschreibung
Die Funktion wird verwendet, um die Helligkeit der 7-Segmentanzeige einzustellen.
Satzbau
Parameter
- brightness: Dieser Parameter legt den Helligkeitsgrad des 7-Segment-Displays fest. Der Wert sollte im Bereich von 0 bis 7 liegen. Ein höherer Wert führt zu einer helleren Anzeige.
- on: Dies ist ein optionaler Parameter mit einem Standardwert von true. Er wird verwendet, um das Display ein- oder auszuschalten. Wenn er auf false gesetzt ist, wird das Display ausgeschaltet.