Arduino UNO Q - TM1637 4-stelliges 7-Segment-Display
Möchten Sie Zahlen und Uhrzeit auf einem hellen LED-Display mit Ihrem Arduino UNO Q anzeigen? Dieses anfängerfreundliche Tutorial zeigt Ihnen Schritt für Schritt, wie Sie ein TM1637 4-stelliges 7-Segment-Display mit Arduino UNO Q verwenden.
In diesem Tutorial erfahren Sie:
- Was ein TM1637 4-stelliges 7-Segment-Display ist und wie es funktioniert
- Wie Sie das TM1637-Display mit Arduino UNO Q verdrahten
- Wie Sie den MCU programmieren (C/C++ Arduino-Code), um Ganzzahlen, Dezimalzahlen und Zählwerte anzuzeigen
- Wie Sie die Linux-Seite (Python) und die MCU-Seite (C/C++) programmieren, um das Display über Bridge ferngesteuert zu steuern
- Wie Sie Telegramnachrichten an Arduino UNO Q senden, um das 7-Segment-Display zu aktualisieren
- Wie Sie OpenClaw auf Arduino UNO Q verwenden, um das 7-Segment-Display zu steuern

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über das TM1637 4-stellige 7-Segment-Display
Das TM1637 4-stellige 7-Segment-Display verwendet einen dedizierten Treiber-IC, der Anzeigedaten intern speichert, daher benötigen Sie nur 2 Signalleitungen von der MCU.
Wichtige Spezifikationen und Merkmale:
- Ziffern: 4 Ziffern mit je 7 Segmenten plus Dezimalpunkten
- Doppelpunkt-LED: Zwischen den Ziffern 1 und 2 — perfekt für die Anzeige im Uhrenformat HH:MM
- Treiber-IC: TM1637 — Daten werden im eigenen Speicher gespeichert, keine kontinuierlichen Aktualisierungen erforderlich
- Schnittstelle: 2-Draht-Seriell (CLK + DIO) — einfache und minimale Verdrahtung
- Helligkeit: 8 einstellbare Helligkeitsstufen
- Stromversorgung: 3,3V oder 5V kompatibel
- Bibliothek: DIYables_4Digit7Segment_TM1637 — unterstützt Ganzzahlen, Dezimalzahlen, Text, Temperatur und Uhrzeit
| Pin | Funktion | Beschreibung |
|---|---|---|
| CLK | Taktsignal | Serielle Takteingabe |
| DIO | Daten E/A | Serielle Dateneingabe/-ausgabe |
| VCC | Stromversorgung | 3,3V oder 5V Stromversorgung |
| GND | Masse | Gemeinsame Masse |
Pinbelegung

- CLK: Taktsignal — synchronisiert die Datenübertragung zwischen MCU und TM1637
- DIO: Dateneingabe/-ausgabe — trägt Seriendaten zu und vom Treiber-IC
- VCC: Stromversorgung — mit 3,3V oder 5V verbinden
- GND: Masse — gemeinsame Masse
Verdrahtungsdiagramm
Verbinden Sie das TM1637 4-stellige 7-Segment-Display mit dem Arduino UNO Q MCU wie dargestellt:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| TM1637 Pin | Arduino UNO Q MCU Pin | Beschreibung |
|---|---|---|
| CLK | D9 | Taktsignal |
| DIO | D10 | Dateneingabe/-ausgabe |
| VCC | 5V | Stromversorgung |
| GND | GND | Masse |
Arduino UNO Q Code
Der Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten:
- Der STM32 MCU treibt das TM1637 7-Segment-Display direkt über zwei digitale Pins
- Der Qualcomm MPU führt Debian Linux aus und verwaltet Wi-Fi, Python und Cloud-Konnektivität
- In diesem Abschnitt wird nur der MCU programmiert — die Linux-Seite bleibt untätig. Ein späterer Abschnitt zeigt, wie beide Prozessoren über Bridge zusammenarbeiten.
Die Skizze unten zählt von 0 bis 9999 auf dem 7-Segment-Display und erhöht sich jede Sekunde.
Hinweis: Im Gegensatz zum 74HC595-Display speichert das TM1637 seine Daten im internen Speicher — Sie müssen KEINE loop()-Aktualisierungsfunktion aufrufen. delay() kann frei verwendet werden.
Schnelle Schritte
Erste Schritte mit Arduino UNO Q? Folgen Sie dem Tutorial Erste Schritte mit Arduino UNO Q, um Ihre Entwicklungsumgebung vorzubereiten, bevor Sie fortfahren.
- Verbindung: Verdrahten Sie das TM1637-Display mit dem Arduino UNO Q wie dargestellt und schließen Sie das USB-C-Kabel an.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis Ihr Arduino UNO Q erkannt wird — dies kann beim ersten Start mehrere Minuten dauern.
- Erstellen Sie eine neue App: Klicken Sie auf die Schaltfläche Create New App.

- Geben Sie der App einen Namen, z. B.: DIYables_7SegTM1637
- Klicken Sie auf Create, um zu bestätigen.
- Ihnen werden automatisch Ordner und Dateien in Ihrer neuen App angezeigt.

- Suchen Sie die Datei sketch/sketch.ino — hier werden Sie die MCU-Skizze einfügen.
- Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.

- Search for Arduino_RouterBridge created by Arduino and click the Install button.
- Search for DIYables_4Digit7Segment_TM1637 created by DIYables.io and click the Install button.
- Hochladen: Klicken Sie die Schaltfläche Run in Arduino App Lab, um es zu kompilieren und auf den STM32 hochzuladen.

Ihr TM1637-Display beginnt zu zählen, von 0 bis 9999, und erhöht sich jede Sekunde!
- Pro-Tipp: Verwenden Sie display.setBrightness(7) in setup(), um die maximale Helligkeitsstufe einzustellen (0 = dimmste, 7 = hellste).
Bridge: Linux + MCU
In diesem Abschnitt wird gezeigt, wie Sie beide Prozessoren des Arduino UNO Q programmieren, damit die Linux-Seite das TM1637-Display ferngesteuert steuern kann:
- Das TM1637 7-Segment-Display ist mit der MCU (STM32) verbunden — der MCU schreibt Werte über 2-Draht-Seriell
- Der MPU kann das Display nicht direkt steuern — er muss den MCU anfordern, Werte über Bridge.call() zu aktualisieren
- Der MPU hat Wi-Fi — mit vollständigem Debian Linux kann er sich mit dem Internet verbinden und Anzeigeaktualisierungen remote durchführen
- Arduino_RouterBridge ermöglicht RPC-Kommunikation zwischen den beiden Prozessoren
- ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind RESERVIERT durch den Router — öffnen Sie diese niemals in Benutzercode
Kurz gesagt: MCU treibt das TM1637-Display → MPU sendet Werte → MPU kann das Display von überall über das Internet aktualisieren.
MCU-Code (Bridge)
Python-Code (Bridge)
Schnelle Schritte
- Verbindung: Verdrahten Sie das TM1637-Display mit dem Arduino UNO Q und schließen Sie das USB-C-Kabel an.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis das Board erkannt wird.
- Erstellen Sie eine neue App: Klicken Sie auf Create New App, benennen Sie sie DIYables_7SegTM1637Bridge, und klicken Sie auf Create.
- Fügen Sie die MCU-Skizze ein: Kopieren Sie den MCU-Bridge-Code oben und fügen Sie ihn in sketch/sketch.ino ein.
- Fügen Sie den Python-Code ein: Kopieren Sie den Python-Bridge-Code oben und fügen Sie ihn in die Python-Datei in der App ein.
- Hochladen: Klicken Sie die Schaltfläche Run in Arduino App Lab.

App Lab Konsolenausgabe
Telegram
Steuern Sie das TM1637 7-Segment-Display von überall mit Telegram. Senden Sie eine Zahl von Ihrem Telefon und das Display aktualisiert sich sofort.
MCU-Skizze: Behalten Sie die gleiche MCU-Skizze aus dem vorherigen Bridge-Abschnitt.
Python-Code (Telegram)
Schnelle Schritte
- Ersetzen Sie YOUR_TELEGRAM_BOT_TOKEN durch Ihren tatsächlichen Bot-Token von BotFather.
- Ersetzen Sie YOUR_CHAT_ID durch Ihre Telegram-Chat-ID.
- Fügen Sie diesen Python-Code in die Python-Datei Ihrer App ein (behalten Sie die gleiche MCU-Skizze).
- Klicken Sie die Schaltfläche Run. Öffnen Sie Telegram und senden Sie Befehle an Ihren Bot.
App Lab Konsolenausgabe
ArduinoBot
OpenClaw
You can adapt the OpenClaw to this tutorial by refering the instruction on Arduino Uno Q - OpenClaw Tutorial
Projektideen
Sie können viele nützliche Projekte mit einem TM1637 7-Segment-Display und Arduino UNO Q erstellen:
- Internet-Uhr: Python ruft die aktuelle Uhrzeit über NTP ab und sendet sie an den MCU, um sie im Format HH:MM mit blinkenden Doppelpunkten anzuzeigen
- Ferngesteuerte Zähler: Senden Sie einen Zählwert über Telegram an das Display — nützlich für Produktionszähler oder Anzeigetafeln
- Live-Temperaturanzeige: Rufen Sie Temperaturwerte von einem Sensor auf dem MCU ab und zeigen Sie sie über Bridge auf dem 7-Segment-Display an
- Countdown-Timer: Python sendet einen Startwert über Bridge, und der MCU zählt auf dem Display bis null herunter
- Pomodoro-Timer: Zeigen Sie Arbeits-/Pausenintervalle auf dem TM1637-Display an, gesteuert und überwacht über Telegram
Fordern Sie sich selbst heraus
Bereit, mit dem TM1637 7-Segment-Display auf Arduino UNO Q weiter zu gehen? Probieren Sie diese Herausforderungen aus:
- Einfach: Ändern Sie die MCU-Skizze, um 26.5 beim Start mit display.print(26.5, 1) anzuzeigen und fügen Sie display.setBrightness(7) für maximale Helligkeit hinzu.
- Mittel: Verwenden Sie die Bridge, um einen /time HH MM Telegram-Befehl zu implementieren, der Stunden und Minuten an den MCU sendet, der sie dann im Format HH:MM mit aktiviertem Doppelpunkt anzeigt.
- Fortgeschritten: Erstellen Sie einen Telegram-gesteuerten Countdown-Timer: /timer <Sekunden> startet den Countdown ab dem angegebenen Wert, das Display zeigt die verbleibenden Sekunden an, und /stop stoppt den Countdown.