Feu tricolore avec Arduino UNO
Reproduis le fonctionnement d'un vrai feu de circulation avec trois LEDs (rouge, jaune, verte) pilotées par un Arduino UNO. Un projet idéal pour apprendre à commander plusieurs sorties et gérer des temporisations.
Résumé du projet
Ce circuit simule un feu tricolore à l'aide d'un Arduino UNO et de trois LEDs (rouge, jaune, verte), chacune protégée par une résistance de 220 Ω. L'Arduino enchaîne les phases dans un ordre précis : rouge, rouge + jaune, vert, puis jaune, sans jamais arrêter le cycle.
C'est le premier projet parfait pour comprendre comment contrôler plusieurs broches de sortie, utiliser la fonction delay() et structurer un cycle répétitif dans la boucle loop().
Cycle complet
12 secondes
3 sorties
D2, D3, D4
Niveau
Débutant
Composants
6 éléments

Schéma de câblage : Arduino UNO — LED rouge (D2) — LED jaune (D3) — LED verte (D4) — résistances 220 Ω.
Le cycle du feu tricolore
Rouge (5 s)
La LED rouge s'allume : la circulation est arrêtée.
Rouge + jaune (1 s)
Le jaune s'allume en plus du rouge : on se prépare à passer au vert.
Vert (5 s)
Rouge et jaune s'éteignent, la LED verte s'allume : la circulation est autorisée.
Jaune (1 s)
Vert éteint, jaune allumé : signal de fin, on se prépare à s'arrêter.
De quoi as-tu besoin ?
Carte microcontrôleur basée sur le ATmega328P. Elle pilote la séquence du feu tricolore en allumant et en éteignant chaque LED au bon moment.
Le feu rouge. Elle indique l'arrêt obligatoire. C'est la première lampe allumée dans le cycle.
Le feu orange. Elle annonce le changement d'état : elle s'allume brièvement avant le feu vert (et avant le retour au rouge).
Le feu vert. Elle autorise la circulation. Elle reste allumée pendant la majeure partie du cycle.
Protègent chaque LED en limitant le courant qui la traverse. Sans elles, les LEDs risquent de griller.
La breadboard permet de réaliser les branchements proprement, et les fils (jumpers) relient les composants entre eux et à l'Arduino.
Branchements sur l'Arduino UNO
Résistance 220 Ω de la LED rouge (broche 2)
Résistance 220 Ω de la LED jaune (broche 2)
Résistance 220 Ω de la LED verte (broche 2)
Cathodes (−) des trois LEDs (via la ligne GND de la breadboard)
LED rouge
Anode (+) : Broche 1 de sa résistance 220 Ω · Cathode (−) : GND · Contrôlée par la broche D2 (via sa résistance 220 Ω).
LED jaune
Anode (+) : Broche 1 de sa résistance 220 Ω · Cathode (−) : GND · Contrôlée par la broche D3 (via sa résistance 220 Ω).
LED verte
Anode (+) : Broche 1 de sa résistance 220 Ω · Cathode (−) : GND · Contrôlée par la broche D4 (via sa résistance 220 Ω).
Règle d'or
Toujours brancher la résistance en série avec chaque LED, côté anode (+). Une LED sans résistance peut être endommagée instantanément.
Le code Arduino
Voici un code complet et commenté. Copie-le dans l'Arduino IDE, branche ta carte via USB, sélectionne le bon port et clique sur « Téléverser ».
// Feu tricolore avec Arduino UNO
const int LED_ROUGE = 2;
const int LED_JAUNE = 3;
const int LED_VERTE = 4;
const unsigned long TEMPS_ROUGE = 5000; // 5 secondes
const unsigned long TEMPS_ROUGE_JAUNE = 1000; // 1 seconde
const unsigned long TEMPS_VERT = 5000; // 5 secondes
const unsigned long TEMPS_JAUNE = 1000; // 1 seconde
void setup() {
pinMode(LED_ROUGE, OUTPUT);
pinMode(LED_JAUNE, OUTPUT);
pinMode(LED_VERTE, OUTPUT);
// Toutes les LEDs éteintes au départ
digitalWrite(LED_ROUGE, LOW);
digitalWrite(LED_JAUNE, LOW);
digitalWrite(LED_VERTE, LOW);
}
void loop() {
// Phase 1 : feu rouge
digitalWrite(LED_ROUGE, HIGH);
digitalWrite(LED_JAUNE, LOW);
digitalWrite(LED_VERTE, LOW);
delay(TEMPS_ROUGE);
// Phase 2 : rouge + jaune
digitalWrite(LED_ROUGE, HIGH);
digitalWrite(LED_JAUNE, HIGH);
digitalWrite(LED_VERTE, LOW);
delay(TEMPS_ROUGE_JAUNE);
// Phase 3 : feu vert
digitalWrite(LED_ROUGE, LOW);
digitalWrite(LED_JAUNE, LOW);
digitalWrite(LED_VERTE, HIGH);
delay(TEMPS_VERT);
// Phase 4 : feu jaune
digitalWrite(LED_ROUGE, LOW);
digitalWrite(LED_JAUNE, HIGH);
digitalWrite(LED_VERTE, LOW);
delay(TEMPS_JAUNE);
}Pour aller plus loin : modifie les durées dans les constantesTEMPS_* pour accélérer ou ralentir ton feu, ou ajoute un bouton piéton et une LED verte clignotante avant le jaune.
Prêt à construire ton feu tricolore ?
Rassemble trois LEDs, trois résistances et un Arduino UNO, suis le schéma de câblage, téléverse le code et regarde ton feu fonctionner !
