Arduino UNO Q - LED - Clignoter
Contrôler une LED est la première étape classique avec n'importe quelle carte Arduino — et Arduino UNO Q ne fait pas exception. Dans ce tutoriel, vous apprendrez à écrire un programme pour l'Arduino UNO Q afin d'allumer et d'éteindre une LED, et de la faire clignoter.
Dans ce tutoriel, vous apprendrez :
- Ce qu'est une LED et son fonctionnement
- Comment câbler une LED sur Arduino UNO Q
- Comment programmer le MCU (code Arduino C/C++) sur Arduino UNO Q pour faire clignoter une LED
- Comment programmer côté Linux (Python) et côté MCU (C/C++ Arduino) pour contrôler une LED depuis le côté Linux
- Comment utiliser Telegram pour allumer ou éteindre une LED à distance sur Arduino UNO Q
- Comment utiliser OpenClaw sur Arduino UNO Q pour contrôler une LED

Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
Note d'achat: Pour simplifier le processus de câblage, nous recommandons d'utiliser le LED Module, qui est livré avec une résistance intégrée.
À Propos de la LED
Une LED (Diode Électroluminescente) est une petite lumière qui s'allume quand du courant la traverse dans la bonne direction.
- Deux broches : Anode (+) et Cathode (−)
- La direction est importante : Le courant doit circuler de l'Anode (+) à la Cathode (−) pour que la LED s'allume
- Résistance requise : La plupart des LEDs nécessitent une résistance limitatrice de courant (typiquement 220Ω) pour éviter les dommages
- Contrôle : Connectez l'Anode (+) à une broche de sortie numérique Arduino — mettez-la à HIGH pour allumer, LOW pour éteindre

※ Note:
La plupart des LEDs nécessitent une résistance. Vous pouvez connecter la résistance côté positif (anode) et l'alimentation, ou côté négatif (cathode) et GND. Certaines LEDs intègrent une résistance et n'ont pas besoin d'une résistance supplémentaire.
Brochage
La LED possède deux broches :
- Broche Cathode (−) : connecter à GND (0V)
- Broche Anode (+) : contrôle l'état de la LED — HIGH pour allumer, LOW pour éteindre

Comment Programmer pour une LED
Quand vous configurez une broche de l'Arduino UNO Q en sortie numérique, vous pouvez programmer pour contrôler la tension — soit GND, soit VCC — afin d'allumer ou d'éteindre la LED.
- Configurer la broche en sortie :
- Éteindre la LED (mettre la broche à LOW) :
- Allumer la LED (mettre la broche à HIGH) :
Schéma de Câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
※ Note:
Quelles broches de l'Arduino UNO Q peuvent être utilisées comme sortie numérique pour contrôler une LED ? Les broches 0 à 13 et A0 à A5 peuvent toutes être utilisées comme broches de sortie numérique.
Code MCU (Programme Arduino Direct)
L'Arduino UNO Q dispose de deux processeurs : le MCU STM32 (gère le contrôle matériel en temps réel) et le MPU Qualcomm (exécute Debian Linux). Dans cette section, seul le MCU STM32 est programmé — le côté Linux reste inactif. Une section ultérieure montrera comment les deux processeurs fonctionnent ensemble.
Voici le programme Arduino qui fait clignoter une LED connectée à la broche 9 du MCU STM32 :
- Configure la broche 9 en sortie numérique
- Allume la LED pendant 500ms, puis l'éteint pendant 500ms — se répète indéfiniment
É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.
- Câbler la LED : Connectez la LED et la résistance 220Ω à la broche 9 de l'Arduino UNO Q selon le schéma de câblage ci-dessus.
- Connecter : Branchez l'Arduino UNO Q sur votre ordinateur avec un 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_BlinkLED
- Cliquez sur Créer pour confirmer.
- Un ensemble de dossiers et de fichiers sera généré dans votre nouvelle application.

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

- Vérifier la LED : La LED connectée à la broche 9 devrait clignoter toutes les 500ms.
- Conseil : Changez les deux valeurs delay(500) pour ajuster la vitesse de clignotement — essayez delay(100) pour un clignotement rapide ou delay(2000) pour un clignotement lent.
※ Note:
- Le code ci-dessus utilise la fonction delay(), qui bloque le MCU pour d'autres tâches pendant l'attente. Si votre projet doit faire plusieurs choses en même temps, voir Arduino UNO Q - LED - Clignotement sans Délai.
Programmation Bridge Linux + MCU
L'Arduino UNO Q dispose de deux processeurs fonctionnant ensemble : le MPU (Qualcomm, exécute Debian Linux) et le MCU (STM32, exécute Zephyr OS avec votre programme Arduino). Ils communiquent via RPC grâce à la bibliothèque Arduino_RouterBridge — jamais via des ports série bruts.
- La LED est connectée au MCU (STM32) — la LED est câblée à une broche numérique du STM32, pas au MPU. Le MCU contrôle directement l'état de la LED via digitalWrite().
- Le MPU ne peut pas contrôler la LED directement — il doit envoyer une requête au MCU via Bridge.call(). Le MCU exécute la fonction Bridge.provide_safe() correspondante et définit l'état de la LED.
- Le MPU dispose du Wi-Fi — car le MPU exécute Debian Linux complet avec Wi-Fi, il peut se connecter à Internet : recevoir des commandes Telegram, appeler des API REST, etc.
- Communication : Bridge.call() côté Linux invoque Bridge.provide_safe() côté MCU
- ⚠️ Réservé : /dev/ttyHS1 (Linux) et Serial1 (MCU) sont utilisés par le routeur Arduino — ne les ouvrez jamais directement
En résumé : Le MPU reçoit la commande (ex. depuis Telegram) → le MPU l'envoie au MCU → le MCU définit l'état de la LED.
Programme MCU — expose le contrôle de la LED au côté Linux :
Script Python (Arduino App Lab) — contrôle de la LED depuis Linux :
- Remarque : Assurez-vous que Bridge.begin() est appelé dans le programme MCU et que le programme est téléversé avant d'exécuter le script Python côté Linux.
- ⚠️ Avertissement : N'ouvrez jamais directement /dev/ttyHS1 (sous Linux) ou Serial1 (sur MCU) dans votre code — ces ports sont réservés par le routeur Arduino et y accéder brisera le Bridge.
Étapes Rapides
- Téléversez le programme MCU : Ouvrez Arduino App Lab, créez une nouvelle application, collez le programme MCU Bridge ci-dessus dans sketch/sketch.ino, puis cliquez sur Exécuter.
- Ajoutez le script Python : Collez le code Python ci-dessus dans l'onglet Python de la même application.
- Exécutez l'application : Cliquez sur Exécuter — le côté Linux commencera à faire clignoter la LED via des appels Bridge toutes les 500ms.
- Vérifiez la console : Ouvrez l'onglet Console → sous-onglet Console Python pour voir les messages ALLUMÉ/ÉTEINT côté Python.
- Conseil : Changez time.sleep(0.5) pour toute valeur afin de contrôler la vitesse à laquelle le côté Linux fait clignoter la LED.
Sortie de la Console App Lab
Intégration Telegram
Vous pouvez allumer ou éteindre la LED à distance via Telegram — envoyez une commande depuis n'importe où et la LED répond instantanément.
Si vous n'avez pas encore de bot Telegram, consultez Arduino UNO Q - Bot Telegram pour obtenir votre token de bot avant de continuer.
Cette section couvre :
- Exécuter un script Python côté Linux de l'Arduino UNO Q pour écouter les messages Telegram
- Transférer la commande LED côté MCU via Bridge.call()
- Envoyer une réponse de confirmation à Telegram
Programme MCU : Conservez le même programme MCU de la section Bridge précédente — aucune modification nécessaire. Assurez-vous qu'il est déjà téléversé et en cours d'exécution sur le STM32 avant de continuer.
Script Python (Arduino App Lab) — bot Telegram pour le contrôle de la LED :
- Remarque : Remplacez YOUR_BOT_TOKEN par le token obtenu depuis @BotFather sur Telegram.
- Envoyez /on à votre bot pour allumer la LED.
- Envoyez /off à votre bot pour éteindre la LED.
Étapes Rapides
- Téléversez le programme MCU : Utilisez le programme MCU Bridge de la section précédente (téléversez-le d'abord s'il ne l'est pas déjà).
- Collez le script Telegram : Copiez le code Python ci-dessus dans l'onglet Python de votre application dans Arduino App Lab.
- Définissez votre token : Remplacez YOUR_BOT_TOKEN dans le script par votre vrai token de bot.
- Exécutez l'application : Cliquez sur Exécuter — le bot commence à écouter les messages Telegram immédiatement.
- Testez : Envoyez /on à votre bot et regardez la LED s'allumer. Envoyez /off pour l'éteindre.
- Conseil : Ajoutez une commande /status au script Python pour indiquer si la LED est actuellement allumée ou éteinte.
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 d'Applications / Projets
Voici quelques idées de projets que vous pouvez construire avec une LED et Arduino UNO Q :
- Veilleuse contrôlée par Telegram : Allumez ou éteignez une LED de chambre depuis votre téléphone via Telegram
- Indicateur d'état : Utilisez la LED pour signaler si un processus côté Linux s'est terminé
- Moniteur de pulsation : Faites clignoter la LED depuis le côté Python pour indiquer que l'application est en cours d'exécution et en bonne santé
- Minuterie de compte à rebours : Faites clignoter la LED à vitesse croissante à l'approche de zéro
- Lumière de notification : Faites clignoter la LED quand un nouvel email ou un événement API est détecté côté Linux
Mettez-Vous au Défi
Essayez ces défis avec la LED et Arduino UNO Q pour améliorer vos compétences :
- Facile : Modifiez le programme de clignotement pour clignoter 3 fois rapidement, faire une pause de 1 seconde, puis se répéter
- Moyen : Ajoutez une deuxième LED au programme Bridge et créez une commande Telegram pour alterner entre elles
- Avancé : Construisez un bot Telegram qui accepte n'importe quel motif de clignotement (ex. /blink 3 500) et fait clignoter la LED autant de fois avec le délai donné