Feu tricolore de poche
Trois LEDs (rouge, orange, verte) qui s'allument à tour de rôle exactement comme un vrai feu de croisement. Tu reproduis le cycle des routes de Dakar.
Parfait pour un exposé de Sécurité routière à l'école — tu emportes ton petit feu fonctionnel sous le bras.
SunuMake Découverte
Tes premiers pas avec Arduino — 8 composants inclus.
Les étapes
- 1
Matériel à sortir
1 LED rouge, 1 LED jaune (ou orange), 1 LED verte, 3 résistances 220 Ω, 4 fils de connexion, ta breadboard et ta carte Arduino.
- 2
Câble les trois LEDs
Plante les trois LEDs côte à côte sur la breadboard, dans l'ordre : rouge en haut, orange au milieu, verte en bas. Chaque patte courte (−) va vers le rail bleu (GND) via sa résistance. Les pattes longues vont sur les broches 8 (rouge), 9 (orange) et 10 (verte) de l'Arduino.
- 3
Relie le rail GND à l'Arduino
Un fil entre le rail bleu de la breadboard et la broche GND de la carte. C'est le retour commun de toutes les LEDs.
- 4
Téléverse le code et observe
Téléverse, et regarde le cycle : vert 3 secondes → orange 1 seconde → rouge 3 secondes → vert. Comme un vrai feu de circulation.
- 5
Bonus : version piéton
Ajoute un bouton et une LED supplémentaire pour faire un « bouton piéton » qui déclenche le passage au rouge plus tôt quand on appuie. Tu peux t'en inspirer dans le projet « L'interrupteur magique ».
Le programme à téléverser
Copie ce code dans l'IDE Arduino, branche ta carte en USB et clique sur le bouton « Téléverser » (la flèche en haut à gauche).
// Feu tricolore SunuMake// 3 LEDs branchées sur les broches 8 (rouge), 9 (orange), 10 (verte).const int ROUGE = 8;const int ORANGE = 9;const int VERT = 10;void setup() { pinMode(ROUGE, OUTPUT); pinMode(ORANGE, OUTPUT); pinMode(VERT, OUTPUT);}void loop() { // Phase 1 — VERT : on roule digitalWrite(VERT, HIGH); digitalWrite(ORANGE, LOW); digitalWrite(ROUGE, LOW); delay(3000); // Phase 2 — ORANGE : ralentir digitalWrite(VERT, LOW); digitalWrite(ORANGE, HIGH); delay(1000); // Phase 3 — ROUGE : on s'arrête digitalWrite(ORANGE, LOW); digitalWrite(ROUGE, HIGH); delay(3000);}Comment ça marche ?
Ce projet est presque identique à la LED qui clignote — sauf qu'on commande trois broches au lieu d'une, et qu'on les organise en une séquence logique.
Le mot-clé const int nomme chaque broche (ROUGE = 8, etc.) pour rendre le code plus lisible. Au lieu de te demander « c'est quoi le 9 déjà ? », tu lis directement digitalWrite(ORANGE, HIGH) — instantanément clair.
L'astuce pédagogique ici : un vrai feu tricolore ne fait que ça, à plus grande échelle. Tu viens de comprendre la base de tout système séquentiel — un ascenseur, une machine à café, un robot qui suit une routine, tout part de cette même idée : éteindre quelque chose, allumer autre chose, attendre, recommencer.