Arduino UNO Q - Afficheur 7 Segments à 4 Chiffres TM1637
Vous souhaitez afficher des nombres et l'heure sur un écran LED lumineux avec votre Arduino UNO Q ? Ce tutoriel convivial pour les débutants vous montre comment utiliser un afficheur 7 segments à 4 chiffres TM1637 avec l'Arduino UNO Q — étape par étape.
Dans ce tutoriel, vous apprendrez :
- Ce qu'est un afficheur 7 segments à 4 chiffres TM1637 et comment il fonctionne
- Comment câbler l'afficheur TM1637 à l'Arduino UNO Q
- Comment programmer le MCU (code Arduino C/C++) pour afficher des entiers, des flottants et des valeurs de comptage
- Comment programmer côté Linux (Python) et côté MCU (C/C++) pour contrôler l'afficheur à distance via Bridge
- Comment envoyer des messages Telegram à l'Arduino UNO Q pour mettre à jour l'afficheur 7 segments
- Comment utiliser OpenClaw sur l'Arduino UNO Q pour contrôler l'afficheur 7 segments

Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À Propos de l'Afficheur 7 Segments à 4 Chiffres TM1637
L'afficheur 7 segments à 4 chiffres TM1637 utilise un circuit pilote dédié qui stocke les données d'affichage en interne, vous n'avez donc besoin que de 2 fils de signal depuis le MCU.
Caractéristiques et spécifications principales :
- Chiffres : 4 chiffres avec 7 segments chacun, plus des points décimaux
- LED deux-points : Entre les chiffres 1 et 2 — parfait pour l'affichage de type horloge HH:MM
- Circuit pilote : TM1637 — données stockées dans sa propre mémoire, pas de mises à jour continues nécessaires
- Interface : Série à 2 fils (CLK + DIO) — câblage simple et minimal
- Luminosité : 8 niveaux de luminosité réglables
- Alimentation : Compatible 3,3V ou 5V
- Bibliothèque : DIYables_4Digit7Segment_TM1637 — prend en charge les entiers, les flottants, le texte, la température et l'heure
| Broche | Fonction | Description |
|---|---|---|
| CLK | Signal d'Horloge | Entrée d'horloge série |
| DIO | E/S de Données | Entrée/sortie de données série |
| VCC | Alimentation | Alimentation 3,3V ou 5V |
| GND | Masse | Masse commune |
Brochage

- CLK : Signal d'horloge — synchronise le transfert de données entre le MCU et le TM1637
- DIO : Entrée/sortie de données — porte les données série vers et depuis le circuit pilote
- VCC : Alimentation — connecter à 3,3V ou 5V
- GND : Masse — masse commune
Schéma de Câblage
Connectez l'afficheur 7 segments à 4 chiffres TM1637 au MCU de l'Arduino UNO Q comme indiqué :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| Broche TM1637 | Broche MCU Arduino UNO Q | Description |
|---|---|---|
| CLK | D9 | Signal d'horloge |
| DIO | D10 | Entrée/sortie de données |
| VCC | 5V | Alimentation |
| GND | GND | Masse |
Code Arduino UNO Q
L'Arduino UNO Q possède deux processeurs fonctionnant ensemble :
- Le MCU STM32 pilote directement l'afficheur 7 segments TM1637 via deux broches numériques
- Le MPU Qualcomm exécute Debian Linux et gère le Wi-Fi, Python et la connectivité cloud
- Dans cette section, seul le MCU est programmé — le côté Linux reste inactif. Une section ultérieure montre comment les deux processeurs fonctionnent ensemble via Bridge.
Le sketch ci-dessous compte de 0 à 9999 sur l'afficheur 7 segments, s'incrémentant chaque seconde.
Note : Contrairement à l'afficheur 74HC595, le TM1637 conserve ses données en mémoire interne — vous n'avez PAS besoin d'appeler une fonction de rafraîchissement dans loop(). delay() peut être utilisé librement.
Étapes Rapides
Première utilisation d'Arduino UNO Q ? Suivez le tutoriel Démarrer avec Arduino UNO Q pour préparer votre environnement de développement avant de continuer.
- Connecter : Câblez l'afficheur TM1637 à l'Arduino UNO Q comme indiqué, puis branchez le câble USB-C.
- Ouvrir Arduino App Lab : Lancez Arduino App Lab et attendez qu'il détecte votre Arduino UNO Q — cela peut prendre plusieurs minutes au premier lancement.
- Créer une nouvelle application : Cliquez sur le bouton Créer une nouvelle application.

- Donnez un nom à l'application, par exemple : DIYables_7SegTM1637
- Cliquez sur Créer pour confirmer.
- Vous verrez un ensemble de dossiers et fichiers générés dans votre nouvelle application.

- Trouvez le fichier sketch/sketch.ino — c'est ici que vous collerez le sketch MCU.
- 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.
- Téléverser : Cliquez sur le bouton Exécuter dans Arduino App Lab pour compiler et téléverser vers le STM32.

Votre afficheur TM1637 commencera à compter de 0 à 9999, s'incrémentant chaque seconde !
- Conseil Pro : Utilisez display.setBrightness(7) dans setup() pour définir le niveau de luminosité maximum (0 = le plus faible, 7 = le plus lumineux).
Bridge : Linux + MCU
Cette section montre comment programmer les deux processeurs de l'Arduino UNO Q pour que le côté Linux puisse contrôler l'afficheur TM1637 à distance :
- L'afficheur 7 segments TM1637 est connecté au MCU (STM32) — le MCU écrit des valeurs via la communication série à 2 fils
- Le MPU ne peut pas contrôler directement l'afficheur — il doit demander au MCU de mettre à jour les valeurs via Bridge.call()
- Le MPU dispose du Wi-Fi — exécutant Debian Linux complet, il peut se connecter à Internet et envoyer des mises à jour d'affichage à distance
- Arduino_RouterBridge permet la communication RPC entre les deux processeurs
- ⚠️ /dev/ttyHS1 (Linux) et Serial1 (MCU) sont RÉSERVÉS par le routeur — ne les ouvrez jamais dans le code utilisateur
En résumé : Le MCU pilote l'afficheur TM1637 → le MPU envoie des valeurs → le MPU peut mettre à jour l'afficheur depuis n'importe où via Internet.
Code MCU (Bridge)
Code Python (Bridge)
Étapes Rapides
- Connecter : Câblez l'afficheur TM1637 à l'Arduino UNO Q et branchez le câble USB-C.
- Ouvrir Arduino App Lab : Lancez Arduino App Lab et attendez que la carte soit détectée.
- Créer une nouvelle application : Cliquez sur Créer une nouvelle application, nommez-la DIYables_7SegTM1637Bridge, puis cliquez sur Créer.
- Coller le sketch MCU : Copiez le code MCU Bridge ci-dessus et collez-le dans sketch/sketch.ino.
- Coller le code Python : Copiez le code Python Bridge ci-dessus et collez-le dans le fichier Python de l'application.
- Téléverser : Cliquez sur le bouton Exécuter dans Arduino App Lab.

Sortie de la Console App Lab
Telegram
Contrôlez l'afficheur 7 segments TM1637 depuis n'importe où avec Telegram. Envoyez un nombre depuis votre téléphone et l'afficheur se met à jour instantanément.
Sketch MCU : Conservez le même sketch MCU de la section Bridge précédente.
Code Python (Telegram)
Étapes Rapides
- Remplacez YOUR_TELEGRAM_BOT_TOKEN par votre vrai token de bot de BotFather.
- Remplacez YOUR_CHAT_ID par votre identifiant de chat Telegram.
- Collez ce code Python dans le fichier Python de votre application (conservez le même sketch MCU).
- Cliquez sur le bouton Exécuter. Ouvrez Telegram et envoyez des commandes à votre bot.
Sortie de la Console App Lab
ArduinoBot
Intégration d'OpenClaw
Vous pouvez adapter OpenClaw à ce tutoriel en vous référant aux instructions du tutoriel Arduino UNO Q - OpenClaw.
Idées de Projets
Vous pouvez réaliser de nombreux projets utiles avec un afficheur 7 segments TM1637 et l'Arduino UNO Q :
- Horloge Internet : Python récupère l'heure actuelle via NTP et l'envoie au MCU pour l'afficher au format HH:MM avec les deux-points clignotants
- Compteur à Distance : Envoyez une valeur de comptage à l'afficheur via Telegram — utile pour les compteurs de production ou les tableaux de score
- Affichage de Température en Direct : Récupérez la température d'un capteur sur le MCU et affichez-la sur l'afficheur 7 segments via Bridge
- Minuteur Décompte : Python envoie une valeur de départ via Bridge, et le MCU compte à rebours vers zéro sur l'afficheur
- Minuteur Pomodoro : Affichez les intervalles travail/pause sur l'afficheur TM1637, contrôlé et suivi via Telegram
Défiez-Vous
Prêt à aller plus loin avec l'afficheur 7 segments TM1637 sur l'Arduino UNO Q ? Essayez ces défis :
- Facile : Modifiez le sketch MCU pour afficher 26.5 au démarrage en utilisant display.print(26.5, 1) et ajoutez display.setBrightness(7) pour la luminosité maximale.
- Moyen : Utilisez le Bridge pour implémenter une commande Telegram /time HH MM qui envoie les heures et les minutes au MCU, qui les affiche ensuite au format HH:MM avec les deux-points activés.
- Avancé : Construisez un minuteur décompte contrôlé par Telegram : /timer <secondes> commence le décompte depuis la valeur donnée, l'afficheur montre les secondes restantes, et /stop arrête le décompte.