![](//s1.studylibfr.com/store/data-gzf/c081887f7bd7f2f5b5d0de92de15c0a0/1/010113167.htmlex.zip/bg1.jpg)
/*
TP S02 Feu tricolore + Feu Piétons
voiture:
* Une LED rouge sur la broche 12
* Une LED orange sur la broche 11
* Une LED verte sur la broche 10
piéton:
* Une LED rouge sur la broche 9
* Une LED verte sur la broche 8
* Bouton poussoir branché sur la broche 2 depuis +5V
* Une résistance de 1KΩ branché sur la broche 2 depuis GND
*/
// Initialisation des constantes pour les LED
const int rougeVoiture = 12; //broche 12 pour la Led rouge voiture
const int orangeVoiture = 11;
const int verteVoiture = 10;
const int rougePieton = 9;
const int vertePieton = 8;
// Numéro broche du bouton poussoir
const int bouton = 2;
// Déclaration des variables :
int etatBouton = 0;
// execution unique
void setup() {
// broches des LED en sorties :
pinMode(rougeVoiture, OUTPUT);
pinMode(orangeVoiture, OUTPUT);
pinMode(verteVoiture, OUTPUT);
pinMode(rougePieton, OUTPUT);
pinMode(vertePieton, OUTPUT);
// broche bouton en entrée :
pinMode(bouton, INPUT);
}
// boucle infinie
void loop() {
// normallement le feu piéton est toujours rouge
digitalWrite(rougePieton, HIGH);
// feu voiture Vert allumé 3s
digitalWrite(verteVoiture, HIGH);
delay(3000); // 3000 ms = 3s,
digitalWrite(verteVoiture, LOW);
// l'état du bouton stocké dans etatBouton :
etatBouton = digitalRead(bouton);
// le bouton est appuyé si etatBouton = HIGH
if (etatBouton == HIGH) {
digitalWrite(orangeVoiture, HIGH);