Ce projet Arduino te permet de créer un système de feux de circulation à l’aide d’une Arduino Uno et des LEDs.
Amuse-toi bien en reproduisant ce projet !
Matériel nécessaire
- Arduino Uno
- Module 3 LEDs RJV ( Rouge, Jaune, Vert) x4
- Câbles Male/Femelle
- Câbles Male/Male
- Maquette découpé en contreplaqué (3mm) (schémas dans le dossier Schéma).
- (Optionnel) Alimentation externe 5V (2-3A)
Schéma de câblage
| Composant | Arduino |
|---|---|
| Feu 1 LED Rouge | D1 |
| Feu 1 LED Jaune | D2 |
| Feu 1 LED Vert | D3 |
| Feu 1 LED GND | GND |
| Feu 2 LED Rouge | D4 |
| Feu 2 LED Jaune | D5 |
| Feu 2 LED Vert | D6 |
| Feu 2 LED GND | GND |
| Feu 3 LED Rouge | D7 |
| Feu 3 LED Jaune | D8 |
| Feu 3 LED Vert | D9 |
| Feu 3 LED GND | GND |
| Feu 4 LED Rouge | D10 |
| Feu 4 LED Jaune | D11 |
| Feu 4 LED Vert | D12 |
| Feu 4 LED GND | GND |

Module Feu de circulation
Le module de feux de signalisation pour carte Arduino est composé de 3 broches reliées aux LEDs RVJ (Rouge, Vert, Jaune) et de 3 résistances de 330 ohms intégrées, partageant une masse commune (GND). Ainsi, pour notre schéma, aucune résistance supplémentaire n’est nécessaire. Le câblage détaillé est illustré dans le schéma ci-dessous.

Fonctionnement du système
- Les feux 1 et 3 sont synchronisés.
- Les feux 2 et 4 sont également synchronisés.
- Le système commence en mettant les feux 1 et 3 au vert et les feux 2 et 4 au rouge.
- Après un délai de 3 secondes, les feux 1 et 3 passent au jaune, tandis que les feux 2 et 4 restent au rouge.
- 2 secondes plus tard, les feux 1 et 3 passent au rouge, et les feux 2 et 4 passent à leur tour au vert.
Code Arduino
/*
Projet : Feux de circulation synchronisés avec Arduino
Description : Ce programme contrôle 4 feux de signalisation (modules LED rouge, jaune, verte)
Les feux 1 et 3 sont synchronisés ensemble, ainsi que les feux 2 et 4.
La séquence de feu suit un cycle classique : vert -> jaune -> rouge.
Auteur : IronLab
Date : 2025
*/
struct FeuCirculation {
int rouge; // Pin pour la LED rouge
int jaune; // Pin pour la LED jaune
int vert; // Pin pour la LED verte
};
// Déclaration des 4 feux de circulation avec leurs pins respectifs
FeuCirculation feu1 = {1, 2, 3};
FeuCirculation feu2 = {4, 5, 6};
FeuCirculation feu3 = {7, 8, 9};
FeuCirculation feu4 = {10, 11, 12};
void setup() {
// Initialisation des broches en sortie pour chaque feu
pinMode(feu1.rouge, OUTPUT);
pinMode(feu1.jaune, OUTPUT);
pinMode(feu1.vert, OUTPUT);
pinMode(feu2.rouge, OUTPUT);
pinMode(feu2.jaune, OUTPUT);
pinMode(feu2.vert, OUTPUT);
pinMode(feu3.rouge, OUTPUT);
pinMode(feu3.jaune, OUTPUT);
pinMode(feu3.vert, OUTPUT);
pinMode(feu4.rouge, OUTPUT);
pinMode(feu4.jaune, OUTPUT);
pinMode(feu4.vert, OUTPUT);
}
void loop() {
// Phase 1 : feux 1 et 3 au vert, feux 2 et 4 au rouge
allumerVert(feu1);
allumerVert(feu3);
allumerRouge(feu2);
allumerRouge(feu4);
delay(3000);
// Passage à l’jaune pour les feux 1 et 3
allumerJaune(feu1);
allumerJaune(feu3);
delay(2000);
// Phase 2 : feux 1 et 3 au rouge, feux 2 et 4 au vert
allumerRouge(feu1);
allumerRouge(feu3);
allumerVert(feu2);
allumerVert(feu4);
delay(3000);
// Passage à l’jaune pour les feux 2 et 4
allumerJaune(feu2);
allumerJaune(feu4);
delay(2000);
}
// Fonction pour allumer uniquement la LED rouge
void allumerRouge(FeuCirculation f) {
digitalWrite(f.rouge, HIGH);
digitalWrite(f.jaune, LOW);
digitalWrite(f.vert, LOW);
}
// Fonction pour allumer uniquement la LED verte
void allumerVert(FeuCirculation f) {
digitalWrite(f.rouge, LOW);
digitalWrite(f.jaune, LOW);
digitalWrite(f.vert, HIGH);
}
// Fonction pour allumer uniquement la LED jaune
void allumerJaune(FeuCirculation f) {
digitalWrite(f.rouge, LOW);
digitalWrite(f.jaune, HIGH);
digitalWrite(f.vert, LOW);
}
Pour ce code, j’ai utilisé les structures car elles sont largement utilisées en programmation et présentent de nombreux avantages : une meilleure lisibilité du code, une grande scalabilité et une réutilisation simplifiée. Si vous souhaitez approfondir le sujet des structures, un lien est disponible dans la section “Ressources utiles” en fin de page.
Assemblage
Colle les plaques pour rehausser la maquette et permettre le passage des câbles.

Colle les feux de circulation sur la route à l’aide de colle à bois, en les insérant dans les emplacements découpés.

Réalise le câblage des feux en suivant les schémas présentés au début.
⚠️ Certains feux sont synchronisés, il est donc important de bien les câbler dans le bon ordre. Pour le montage, j’ai suivi le sens inverse des aiguilles d’une montre pour les câbler.

Connecte ton Arduino à une source d’alimentation et téléverse le code.

Teste ta création !

📝 Le petit mot de la fin
J’espère que le projet t’a plu et que tu t’es amusé ! Si ce type de projet t’intéresse, n’hésite pas à liker et partager un maximum sur les réseaux. Tu peux aussi laisser un commentaire si tu as réussi à le reproduire !
✍️ Nos projets
IronLab — Passionné d’électronique, robotique & projets DIY
AquaLab — La téchnologie au service du monde marin & chasse au trésor.


Leave a Reply