Arduino UNO Q - Afficheur 7 segments à 4 chiffres 74HC595

Vous souhaitez afficher des nombres sur un afficheur LED compact à 4 chiffres avec votre Arduino UNO Q ? Ce tutoriel accessible aux débutants vous montre comment utiliser un afficheur 7 segments à 4 chiffres 74HC595 avec Arduino UNO Q — étape par étape.

Dans ce tutoriel, vous apprendrez :

Arduino UNO Q 74HC595 Afficheur 7 Segments à 4 Chiffres

Matériel Requis

1×Arduino UNO Q
1×USB Cable for Arduino Uno Q
1×74HC595 4-digit 7-segment Écran
1×Fils de connexion
1×Recommandé: Shield à bornier à vis pour Arduino Uno
1×Recommandé: Sensors/Servo Expansion Shield for Arduino Uno
1×Recommandé: Shield plaque d'essai pour Arduino Uno
1×Recommandé: Boîtier pour Arduino Uno
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Arduino Uno

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À Propos de l'Afficheur 7 Segments à 4 Chiffres 74HC595

L'afficheur 7 segments à 4 chiffres basé sur le 74HC595 combine quatre modules LED à chiffres avec un registre à décalage, ce qui vous permet de contrôler les quatre chiffres avec seulement 3 broches MCU.

Caractéristiques principales :

  • Chiffres : 4 chiffres, chacun avec 7 segments LED + point décimal
  • Registre à décalage : 74HC595 — données transmises en série sur 3 fils
  • Interface : similaire à SPI (SCLK, RCLK, DIO) — simple et efficace
  • Alimentation : compatible 3,3V ou 5V
  • Bibliothèque : DIYables_4Digit7Segment_74HC595 — prend en charge l'affichage d'entiers, de flottants, de texte, de températures et d'heures
  • Multiplexage : la bibliothèque gère le multiplexage des chiffres — appelez display.loop() fréquemment pour maintenir l'affichage actualisé

Brochage

Brochage de l'afficheur 7 segments à 4 chiffres 74HC595
Broche Fonction Description
SCLK (SH_CP) Horloge série Signal d'horloge pour le décalage des données
RCLK (ST_CP) Horloge de registre Verrou pour transférer les données aux sorties
DIO (DS) Entrée de données Données série envoyées dans le registre à décalage
VCC Alimentation 3,3V ou 5V
GND Masse Masse commune

Schéma de Câblage

Connectez l'afficheur 7 segments à 4 chiffres 74HC595 au MCU de l'Arduino UNO Q comme indiqué :

Schéma de câblage de l'Arduino UNO Q avec l'afficheur 7 segments 74HC595 à 4 chiffres

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Broche de l'afficheur 74HC595 Broche MCU Arduino UNO Q Description
SCLK D7 Horloge série
RCLK D6 Horloge de registre / verrou
DIO D5 Entrée de données
VCC 5V Alimentation
GND GND Masse

Code Arduino UNO Q

L'Arduino UNO Q dispose de deux processeurs fonctionnant ensemble :

  • Le MCU STM32 pilote directement l'afficheur 7 segments 74HC595 via les broches numériques — il gère tout le multiplexage
  • 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 programme ci-dessous compte de 0 à 9999 sur l'afficheur 7 segments, en incrémentant d'une unité par seconde.

Important : Appelez toujours display.loop() dans la fonction loop() d'Arduino. La bibliothèque l'utilise pour multiplexer les 4 chiffres. N'utilisez jamais delay() directement — utilisez plutôt display.delay().

/* * Ce code Arduino UNO Q a été développé par newbiely.fr * Ce code Arduino UNO Q est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-uno-q/arduino-uno-q-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> #define SCLK_PIN 7 // MCU pin connected to SCLK of 74HC595 7-segment display #define RCLK_PIN 6 // MCU pin connected to RCLK of 74HC595 7-segment display #define DIO_PIN 5 // MCU pin connected to DIO of 74HC595 7-segment display DIYables_4Digit7Segment_74HC595 display(SCLK_PIN, RCLK_PIN, DIO_PIN); int count = 0; unsigned long lastUpdate = 0; void setup() { display.begin(); display.print(0); } void loop() { display.loop(); // Must be called frequently to refresh the display if (millis() - lastUpdate >= 1000) { lastUpdate = millis(); count++; if (count > 9999) count = 0; display.print(count); } }

Étapes Rapides

Première utilisation de l'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 74HC595 sur 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.
Créer une nouvelle application dans Arduino App Lab sur Arduino UNO Q
  • Donnez un nom à l'application, par exemple : DIYables_7Seg74HC595
  • Cliquez sur Créer pour confirmer.
  • Un ensemble de dossiers et de fichiers sera généré dans votre nouvelle application.
Dossiers et fichiers de l'application Arduino App Lab sur Arduino UNO Q
  • Trouvez le fichier sketch/sketch.ino — c'est là que vous collerez le programme MCU.
  • Coller le programme : Copiez le code MCU ci-dessus et collez-le dans ce fichier de programme. Laissez les autres fichiers par défaut.
    • Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.
    Add sketch library in Arduino App Lab on Arduino UNO Q
    • Search for Arduino_RouterBridge created by Arduino and click the Install button.
    My Apps / DIYables Apps
    Run
    Bricks
    No bricks added...
    Sketch Libraries
    No sketch libra...
    Files
    python
    sketch
    .gitignore
    README.md
    app.yaml
    sketch.ino
    Add sketch library
    Arduino_RouterBridge Arduino

    This library provides a simple RPC bridge for Arduino UNO Q boards, allowing communication between the board and other devices using MsgPack serialization.

    0.4.1
    Install
    More Info
    • Search for DIYables_4Digit7Segment_74HC595 created by DIYables.io and click the Install button.
    My Apps / DIYables Apps
    Run
    Bricks
    No bricks added...
    Sketch Libraries
    No sketch libra...
    Files
    python
    sketch
    .gitignore
    README.md
    app.yaml
    sketch.ino
    Add sketch library
    DIYables_4Digit7Segment_74HC595 DIYables.io

    Supports integers, floats, text, degree symbol, temperature, time display, zero-padding, individual dot control. Common anode and common cathode. Works with all Arduino-compatible boards.

    2.0.0
    Install
    More Info
    • Téléverser : Cliquez sur le bouton Exécuter dans Arduino App Lab pour compiler et téléverser sur le STM32.
    Cliquer sur le bouton Exécuter dans Arduino App Lab sur Arduino UNO Q

    Votre afficheur 7 segments commencera à compter de 0 à 9999, en incrémentant d'une unité par seconde !

    • Conseil : Si votre afficheur montre des caractères brouillés, essayez de passer false comme 4e argument du constructeur : DIYables_4Digit7Segment_74HC595 display(SCLK_PIN, RCLK_PIN, DIO_PIN, false) — cela passe de l'anode commune (par défaut) au mode cathode commune.

    Bridge : Linux + MCU

    Cette section montre comment programmer les deux processeurs de l'Arduino UNO Q afin que le côté Linux puisse contrôler l'afficheur 7 segments à distance :

    • L'afficheur 7 segments 74HC595 est connecté au MCU (STM32) — le MCU gère tout le multiplexage des chiffres
    • Le MPU ne peut pas contrôler l'afficheur directement — 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 une communication RPC entre les deux processeurs
    • ⚠️ /dev/ttyHS1 (Linux) et Serial1 (MCU) sont RÉSERVÉS par le routeur — ne les ouvrez jamais dans votre code utilisateur

    En résumé : Le MCU pilote l'afficheur 7 segments → le MPU envoie les valeurs → le MPU peut mettre à jour l'afficheur depuis n'importe où sur Internet.

    Code MCU (Bridge)

    Remarque : Dans le programme Bridge, display.loop() est appelé dans la loop() d'Arduino pour maintenir l'afficheur actualisé — cela est nécessaire pour l'afficheur 7 segments multiplexé et n'interfère pas avec la communication Bridge.

    /* * Ce code Arduino UNO Q a été développé par newbiely.fr * Ce code Arduino UNO Q est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-uno-q/arduino-uno-q-74hc595-4-digit-7-segment-display */ #include "Arduino_RouterBridge.h" #include <DIYables_4Digit7Segment_74HC595.h> #define SCLK_PIN 7 #define RCLK_PIN 6 #define DIO_PIN 5 DIYables_4Digit7Segment_74HC595 display(SCLK_PIN, RCLK_PIN, DIO_PIN); String current_value = ""; void display_number(String text) { int number = text.toInt(); current_value = text; display.print(number); Monitor.println("7SEG: " + text); } void display_float(String text) { float value = text.toFloat(); current_value = text; display.print(value, 1); Monitor.println("7SEG float: " + text); } void clear_display() { current_value = ""; display.print(0); Monitor.println("7SEG cleared"); } String get_status() { if (current_value == "") return "Display shows: 0"; return "Display shows: " + current_value; } void setup() { Bridge.begin(); Monitor.begin(9600); display.begin(); display.print(0); Bridge.provide_safe("display_number", display_number); Bridge.provide_safe("display_float", display_float); Bridge.provide_safe("clear_display", clear_display); Bridge.provide("get_status", get_status); } void loop() { display.loop(); // Keep refreshing the 7-segment display }

    Code Python (Bridge)

    /* * Ce code Arduino UNO Q a été développé par newbiely.fr * Ce code Arduino UNO Q est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-uno-q/arduino-uno-q-74hc595-4-digit-7-segment-display */ from arduino.app_utils import * import time def loop(): result = Bridge.call("display_number", "1234") print(result) time.sleep(3) result = Bridge.call("display_float", "26.5") print(result) time.sleep(3) result = Bridge.call("display_number", "-42") print(result) time.sleep(3) result = Bridge.call("clear_display") print(result) time.sleep(2) result = Bridge.call("get_status") print(result) time.sleep(2) App.run(user_loop=loop)

    Étapes Rapides

    • Connecter : Câblez l'afficheur 74HC595 sur 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_7Seg74HC595Bridge, puis cliquez sur Créer.
    • Coller le programme 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.
    Cliquer sur le bouton Exécuter dans Arduino App Lab sur Arduino UNO Q

    Sortie de la Console App Lab

    DIYables_Apps
    Stop
    sketch.ino
    1#include "Arduino_RouterBridge.h"
    Serial Monitor
    Python
    Message (Enter to send a message to "Newbiely" on usb(2820070321))
    New Line
    9600 baud
    [2026-04-29 09:00:01] 7SEG: 1234 [2026-04-29 09:00:04] 7SEG float: 26.5 [2026-04-29 09:00:07] 7SEG: -42 [2026-04-29 09:00:09] 7SEG cleared
    DIYables_Apps
    Stop
    sketch.ino
    1#include "Arduino_RouterBridge.h"
    Serial Monitor
    Python
    [2026-04-29 09:00:01] OK [2026-04-29 09:00:04] OK [2026-04-29 09:00:07] OK [2026-04-29 09:00:09] OK [2026-04-29 09:00:11] Display shows: 0

    Telegram

    Contrôlez l'afficheur 7 segments 74HC595 depuis n'importe où via Telegram. Envoyez un nombre depuis votre téléphone et l'afficheur se met à jour instantanément.

    Programme MCU : Conservez le même programme MCU de la section Bridge précédente.

    Code Python (Telegram)

    /* * Ce code Arduino UNO Q a été développé par newbiely.fr * Ce code Arduino UNO Q est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-uno-q/arduino-uno-q-74hc595-4-digit-7-segment-display */ from arduino.app_utils import * import requests import time TELEGRAM_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN" CHAT_ID = "YOUR_CHAT_ID" last_update_id = 0 def get_updates(): global last_update_id url = f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/getUpdates" params = {"offset": last_update_id + 1, "timeout": 5} try: response = requests.get(url, params=params, timeout=10) data = response.json() if data["ok"]: return data["result"] except Exception: pass return [] def send_message(text): url = f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage" requests.post(url, data={"chat_id": CHAT_ID, "text": text}) def loop(): global last_update_id updates = get_updates() for update in updates: last_update_id = update["update_id"] message = update.get("message", {}) text = message.get("text", "") if text.startswith("/number "): number = text[8:].strip() result = Bridge.call("display_number", number) send_message(result) elif text.startswith("/float "): value = text[7:].strip() result = Bridge.call("display_float", value) send_message(result) elif text == "/clear": result = Bridge.call("clear_display") send_message(result) elif text == "/status": result = Bridge.call("get_status") send_message(result) elif text == "/start": send_message("Commands:\n/number <value> - Show integer on display\n/float <value> - Show float on display\n/clear - Clear the display\n/status - Get current display value") App.run(user_loop=loop)

    Étapes Rapides

    • Remplacez YOUR_TELEGRAM_BOT_TOKEN par votre vrai token de bot obtenu depuis 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 programme MCU).
    • Cliquez sur le bouton Exécuter. Ouvrez Telegram et envoyez des commandes à votre bot.

    Sortie de la Console App Lab

    DIYables_Apps
    Stop
    sketch.ino
    1#include "Arduino_RouterBridge.h"
    Serial Monitor
    Python
    [2026-04-29 09:15:00] Waiting for Telegram messages... [2026-04-29 09:15:08] Received: /number 2025 [2026-04-29 09:15:22] Received: /float 23.4 [2026-04-29 09:15:40] Received: /status
    Telegram
    Telegram 12:45
    Welcome to Telegram!
    ArduinoBot 10:19
    Chatting with Arduino...
    telegram-botfather
    BotFather Yesterday
    Your bot has been created.

    ArduinoBot

    bot
    Today
    /number 2025
    10:15 AM ✓✓
    OK
    10:16 AM
    /float 23.4
    10:17 AM ✓✓
    OK
    10:18 AM
    /status
    10:19 AM ✓✓
    Display shows: 23.4
    10:20 AM
    /clear
    10:21 AM ✓✓
    OK
    10:22 AM

    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 74HC595 et l'Arduino UNO Q :

    • Compteur à distance : Envoyez une valeur de comptage à l'afficheur via Telegram — utile pour des compteurs de production ou de taux de participation
    • 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
    • Minuterie de compte à rebours : Python envoie une valeur de départ via Bridge, et le MCU effectue le compte à rebours jusqu'à zéro sur l'afficheur
    • Horloge Internet : Python récupère l'heure actuelle via NTP et l'envoie au MCU pour l'afficher au format HH.MM
    • Afficheur de score : Utilisez Telegram pour mettre à jour un score en direct sur l'afficheur 7 segments pour des jeux ou des compétitions

    Mettez-Vous au Défi

    Prêt à aller plus loin avec l'afficheur 7 segments 74HC595 sur Arduino UNO Q ? Essayez ces défis :

    • Facile : Modifiez le programme MCU pour afficher 88.88 au démarrage, en utilisant la méthode d'affichage flottant avec un point décimal.
    • Moyen : Utilisez le Bridge pour implémenter une commande Telegram /count <début> <fin> qui fait compter l'afficheur de <début> à <fin> par intervalles d'une seconde.
    • Avancé : Construisez un chronomètre contrôlé par Telegram : /start commence le comptage en secondes sur l'afficheur, /stop le fige, et /reset le remet à zéro.

    ※ NOS MESSAGES

    • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !