tp s2 arduino

Telechargé par Diogo Da Costa
/*
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);
delay(1000);
digitalWrite(orangeVoiture, LOW);
digitalWrite(rougeVoiture, HIGH);
// feu piéton passe au vert pendant 5s
digitalWrite(rougePieton, LOW);
digitalWrite(vertePieton, HIGH);
delay(5000); // 5000 ms = 5s
// feu piéton redevient rouge
digitalWrite(rougePieton, HIGH);
digitalWrite(vertePieton, LOW);
// feu voiture Rouge est éteint
// avant retour au déroulement normal
digitalWrite(rougeVoiture, LOW);
}
else {
// Fonctionnement normal du feu voiture:
// orange 1s, rouge 3s
digitalWrite(orangeVoiture, HIGH);
delay(1000); // 1000 ms = 1s
digitalWrite(orangeVoiture, LOW);
digitalWrite(rougeVoiture, HIGH);
delay(3000); // 3000 ms = 3s
digitalWrite(rougeVoiture, LOW);
}
}
1 / 2 100%

tp s2 arduino

Telechargé par Diogo Da Costa
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !