Leçon 98-7 : Marche lumineuse avec Arduino et 5 LED
Une lumière courante (aussi appelée lumière « chasing » ou « Knight Rider ») est l'un des projets Arduino classiques pour débutants — et pour une bonne raison. Elle vous apprend à contrôler plusieurs sorties en séquence, à chronométrer des événements et à réfléchir aux résistances de limitation de courant, tout en produisant quelque chose de visuellement satisfaisant. Dans ce projet, vous câblerez cinq LED à un Arduino et les programmerez pour que chacune s'allume à tour de rôle, créant l'illusion d'une seule lumière qui « marche » le long de la rangée.
Une fois que vous comprenez le motif, vous pouvez le réutiliser dans un nombre surprenant de réalisations concrètes :
- Éclairage décoratif : une bordure courante pour une étagère, un cadre photo ou une maquette.
- Indicateurs de direction : un effet de clignotant séquentiel pour un véhicule factice ou un vélo électrique.
- Affichage de progression ou d'état : une rangée de LED qui avance à mesure qu'un processus se termine.
- Accessoires de jeu et de tableau de score : une « cible mobile » ou un indicateur de niveau.
- Outil pédagogique : la démonstration la plus claire possible des sorties numériques et de la synchronisation.
Le même câblage à cinq LED est réutilisé dans plusieurs autres projets de ce cours, donc le matériel que vous construisez ici devient une plateforme réutilisable.
Comment fonctionne la lumière courante
Le principe est exactement le même que pour allumer une seule LED — il est simplement répété cinq fois (dans la vidéo à 30:47). Chaque LED est connectée à sa propre broche Arduino via sa propre résistance de limitation de courant, et toutes les résistances partagent un rail de masse commun. Le croquis met ensuite une broche à HIGH, attend, la met à LOW, attend, et passe à la broche suivante. Comme une seule LED est allumée à la fois, l'œil perçoit la séquence comme un mouvement.
Les deux valeurs de temporisation sont ce qui donne son caractère à l'effet. Le temps allumé contrôle la durée pendant laquelle chaque LED reste allumée, et le temps éteint contrôle l'intervalle avant que la LED suivante ne s'allume. Un temps allumé court avec un temps éteint long produit un point unique qui se déplace rapidement ; un temps allumé long avec un temps éteint court produit un balayage plus fluide et plus continu (dans la vidéo à 35:00).
Matériel et composants
- 1 × carte Arduino (Uno, Nano ou similaire)
- 5 × LED (n'importe quelle couleur ; mélanger les couleurs rend l'effet plus facile à lire)
- 5 × résistances — 300 Ω à 1 kΩ fonctionnent bien
- 1 × plaque de prototypage
- Fils de liaison
- Câble USB ou pack de batteries pour l'alimentation
Si vous souhaitez ajouter plus tard une variante avec bouton-poussoir, vous aurez également besoin d'un bouton-poussoir momentané et de deux fils de liaison supplémentaires.
Choisir la valeur de la résistance
Une LED a une tension directe d'environ 2 V et souhaite environ 10 mA pour une luminosité maximale (dans la vidéo à 03:49). Avec une alimentation de 5 V, la résistance doit chuter les 3 V restants. En appliquant la loi d'Ohm, R = V / I = 3 V / 0,01 A = 300 Ω. En pratique, tout ce qui va de 300 Ω jusqu'à environ 1 kΩ fonctionnera — plus la résistance est élevée, plus la LED est faible, mais plus le circuit est sûr et efficace (dans la vidéo à 05:33).
Guide de câblage
Insérez les cinq LED dans la plaque de prototypage avec leurs anodes (la patte la plus longue) orientées dans la même direction. Connectez chaque cathode (la patte la plus courte, à face plate) à sa propre résistance, et reliez l'extrémité libre des cinq résistances à un rail de masse commun. Ensuite, reliez chaque anode à une broche Arduino avec un fil de liaison.
Dans cette réalisation, les LED sont assignées aux broches 3, 4, 5, 6 et 7 (dans la vidéo à 31:29). Les numéros de broche sont définis en haut du croquis, donc si vous préférez une autre disposition, vous n'avez qu'à modifier ces cinq lignes.
Explication du code
Le croquis est délibérément simple afin qu'un débutant puisse suivre chaque ligne. Seul le bloc tout en haut doit être modifié pour votre propre configuration.
const int LED1 = 3;
const int LED2 = 4;
const int LED3 = 5;
const int LED4 = 6;
const int LED5 = 7;
int offTime = 30; // the time each LED waits in the OFF state
int onTime = 100; // the time each LED is ON
Définitions des broches. Les cinq lignes const int associent chaque LED à une broche Arduino physique. Comme elles sont déclarées const, les valeurs ne peuvent pas être modifiées plus tard dans le programme — c'est une habitude de sécurité qui évite toute réaffectation accidentelle. Si vous câblez vos LED sur des broches différentes, modifiez les numéros ici et rien d'autre.
onTime et offTime. Ces deux entiers sont les seules variables de « comportement » du projet, et ce sont celles avec lesquelles vous voudrez expérimenter :
onTime— combien de temps (en millisecondes) chaque LED reste allumée. Des valeurs plus grandes rendent chaque étape plus lente et plus délibérée.offTime— la pause après qu'une LED s'éteint avant que la suivante ne s'allume. Des valeurs plus petites font que la lumière se déplace plus rapidement.
Essayez onTime = 200 et offTime = 200 pour une chenillard régulier à vitesse moyenne, ou onTime = 30 et offTime = 30 pour un effet très rapide, presque flou (dans la vidéo à 36:06).
La fonction setup() s'exécute une fois et configure simplement les cinq broches en mode OUTPUT. La fonction loop() répète ensuite le même schéma en quatre étapes pour chaque LED : mettre la broche à HIGH, attendre onTime, la mettre à LOW, attendre offTime. Lorsque la cinquième LED termine, la boucle redémarre depuis la première, produisant un défilement sans fin.
Projet en direct et démonstration
Avec les valeurs par défaut, les LED défilent le long de la rangée à un rythme détendu. Téléverser le sketch avec onTime et offTime réglés à 200 ms donne une marche régulière et uniforme ; les réduire tous les deux à 30 ms fait que la lumière traverse la rangée presque trop vite pour être suivie (dans la vidéo à 36:21).
Deux expériences utiles à essayer une fois que cela fonctionne :
- Rendre le temps d'allumage plus court que le temps d'extinction pour créer un point voyageur distinct.
- Rendre le temps d'allumage plus long que le temps d'extinction pour créer une lueur douce et superposée.
Le même câblage à cinq LED est réutilisé dans le projet suivant, où un bouton-poussoir fait avancer la lumière d'un pas à la fois. Cette réalisation est couverte dans Leçon 98-8 : Chenillard avec bouton-poussoir et LED avec Arduino.
Si vous préférez piloter la rangée à partir d'une entrée analogique plutôt que d'un bouton, consultez Leçon 98-9 : Voltmètre à niveau de tension à LED utilisant Arduino ou chenillard avec potentiomètre.
Pour aller plus loin
Une fois le chenillard de base fonctionnel, une prochaine étape naturelle consiste à faire rebondir la lumière d'un bout à l'autre au lieu de sauter de la dernière LED à la première. C'est un pur exercice de code — aucun matériel supplémentaire — et c'est un bon moyen de s'exercer avec les boucles et les tableaux. Vous pouvez également combiner ce projet avec la version à bouton-poussoir pour construire un affichage avancé manuellement.
Projets associés de cette vidéo
- Leçon 98-1 : Comment allumer et éteindre une LED avec Arduino
- Leçon 98-2 : Comment allumer et éteindre une LED à l'aide d'un bouton-poussoir avec Arduino
- Leçon 98-3 : Comment allumer/éteindre une LED à bascule à l'aide d'un bouton-poussoir avec Arduino
- Leçon 98-4 : Faire varier l'intensité d'une LED avec Arduino : contrôle de la luminosité
- Leçon 98-5 : Fondu de lumière lorsqu'un bouton est pressé avec Arduino
- Leçon 98-6 : Jeu de LED bascule avec Arduino
- Leçon 98-8 : Chenillard avec bouton-poussoir et LED avec Arduino
- Leçon 98-9 : Voltmètre à niveau de tension à LED utilisant Arduino ou chenillard avec potentiomètre
- Leçon 98-10 : Feu de circulation Arduino
Chapitres
- [00:00] Aperçu des dix projets à LED
- [01:22] Introduction au cours Arduino étape par étape
- [02:29] Ce qu'est une LED et comment identifier ses broches
- [03:49] Calcul de la résistance de limitation de courant
- [30:47] Présentation du projet de chenillard
- [31:06] Schéma de câblage pour cinq LED
- [32:52] Explication du code du chenillard
- [34:39] Démonstration et modification des valeurs de temporisation
- [36:41] Faire avancer la lumière avec un bouton-poussoir (tutoriel séparé)
- [42:25] Barre de tension à LED avec potentiomètre (tutoriel séparé)
- [49:25] Feu de circulation Arduino (tutoriel séparé)
This code has not been parsed yet. Please return to the admin panel to parse it.
Ce dont vous pourriez avoir besoin
-
AmazonSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
Amazon
-
Amazon
-
Amazon
Ressources et références
-
DocumentationDocumentation pour le kit d'apprentissage IoT/Smart Car/en 3 en 1 de SunFounderdocs.sunfounder.com
-
Externe
-
Externe
-
Externe
Fichiers📁
Bibliothèques Arduino (zip)
-
Code source du kit d'apprentissage Smart Car 3-en-1 de SunFounder.
3in1-kit-main-v2.zip12.80 MB
Manuel de l'Utilisateur
-
Manuel d'assemblage de la voiture intelligente SunFounder 3-en-1 ArduinoCe document montre l'assemblage étape par étape de la voiture intelligente SunFounder 3-en-1 Arduino
SunFounder_car_assembly_manual.pdf1.20 MB