#3Débutant

Feu de circulation

4.8(122)
302 terminé
Feu de circulation
Projet qui simule un vrai feu de circulation avec des DEL rouges, jaunes et vertes. Enseigne la synchronisation et la logique de contrôle séquentielle.

Vidéo

Schéma du circuit

Feu de circulation - Circuit

Code source

Arduino (C++)
1void setup() {
2  pinMode(2,OUTPUT);
3  pinMode(3,OUTPUT);
4  pinMode(4,OUTPUT);
5}
6void loop() {
7  digitalWrite(2,HIGH);
8  digitalWrite(3,LOW); 
9  digitalWrite(4,LOW);  
10  delay(2000);
11  digitalWrite(2,LOW);  
12  digitalWrite(3,HIGH);
13  digitalWrite(4,LOW);  
14  delay(300);
15  digitalWrite(2,LOW);  
16  digitalWrite(3,LOW);  
17  digitalWrite(4,HIGH);
18  delay(2000);
19  digitalWrite(2,LOW);
20  digitalWrite(3,HIGH);
21  digitalWrite(4,LOW); 
22  delay(300);
23}

FAQ

Combien de temps le feu orange doit-il rester allumé ?▾

Sur les feux de signalisation réels, le feu orange reste généralement allumé pendant 3 à 4 secondes. Dans le projet, cette durée est réglée à l'aide de la fonction delay() ; en prolongeant la durée des feux rouge et vert et en raccourcissant celle du feu orange, on obtient un cycle proche de la réalité.

Pourquoi utilise-t-on une résistance de 330 Ω au lieu de 220 Ω ?▾

Une résistance de 330 Ω réduit légèrement le courant (environ 9 à 10 mA) ; les LED restent bien visibles et le courant total prélevé sur les broches est moindre. Cela fonctionne également avec une résistance de 220 Ω, mais les LED sont alors un peu plus lumineuses.

Puis-je ajouter un bouton « piéton » ?▾

Oui. Tu peux ajouter un bouton-poussoir et une résistance de pull-down de 10 kΩ, puis lire la valeur avec la fonction digitalRead. Lorsque tu appuies sur le bouton, tu peux faire passer le cycle au rouge et allumer une LED verte distincte pour les piétons ; pour cela, utiliser la fonction millis() plutôt que delay permet de détecter instantanément l'action du bouton.

L'ordre des LED est perturbé, que dois-je faire ?▾

Compare une à une les désignations des broches dans le code (rouge, jaune, vert) avec les câbles du circuit. Le plus simple est d'allumer chaque LED à l'aide d'un code de test distinct afin de vérifier à quelle broche elle est connectée.

Feu de circulation | BlueGrays