Béta code start&stop

85 vues

Publié le

code microcontroleur

Publié dans : Ingénierie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
85
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
1
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Béta code start&stop

  1. 1. //Start&stop by djeek //Probleme … Pour le moment les boutons ne sont pas à préssoir, l’état du bouton doit être enregistré // Probleme, il n’est pas possible d’appeler la fonction loop, il faut créer une nouvelle foncion contenu dans la loop pour pouvoir en sortir. // la loop peut etre utilisé en pré raglage du temps #define VERT 0 #define ORANGE 1 #define ROUGE 2 //numéro des broches utilisées const int btn_BASE1= 2; const int btn_BASE2 = 3; const int leds[3] = {11,12,13}; //tableau de 3 éléments contenant les numéros de broches des LED void setup() { //réglage des entrées/sorties //les entrées (2 boutons) pinMode(btn_BASE1, INPUT); pinMode(btn_BASE2, INPUT); //on définit les broches, où les LED sont connectées, en sortie pinMode(led_vert, OUTPUT); pinMode(led_rouge, OUTPUT); pinMode(led_orange, OUTPUT); //On éteint les LED digitalWrite(led_vert, HIGH); digitalWrite(led_orange, HIGH); digitalWrite(led_rouge, LOW); } void loop() { //on regarde si le bouton BASE1 est appuyé if(digitalRead(btn_BASE1) == LOW) { digitalWrite(led_rouge, HIGH); digitalWrite(led_orange, LOW); } //puis on continu en vérifiant si le bouton BASE2 est appuyé if(digitalRead(btn_BASE2) == LOW) { digitalWrite(led_rouge, HIGH); digitalWrite(led_orange, LOW); } // finalement on regarde si les bouton BASE1 Et BASE2 sont appuyés if(digitalRead(btn_BASE1) == LOW && digitalRead(btn_BASE2) == LOW) { //si oui, on émet l'alerte en appelant la fonction prévue à cet effet lancement(); } }
  2. 2. //le lancement de la partie void lancement(void) { digitalWrite(led_orange, LOW); digitalWrite(led_rouge, HIGH); delay(1000); if(digitalRead(btn_BASE1) == LOW || digitalRead(btn_BASE2) == LOW) { //si oui, le départ est annulé loop() } //Le compte à rebours de 5 sec commence digitalWrite(led_orange, HIGH); delay(1000); if(digitalRead(btn_BASE1) == LOW || digitalRead(btn_BASE2) == LOW) { //si oui, le départ est annulé loop() } digitalWrite(led_orange, LOW); delay(1000); if(digitalRead(btn_BASE1) == LOW || digitalRead(btn_BASE2) == LOW) { //si oui, le départ est annulé loop() } digitalWrite(led_orange, HIGH); delay(1000); if(digitalRead(btn_BASE1) == LOW || digitalRead(btn_BASE2) == LOW) { //si oui, le départ est annulé loop() } digitalWrite(led_orange, LOW); delay(1000); digitalWrite(led_orange, HIGH); if(digitalRead(btn_BASE1) == LOW || digitalRead(btn_BASE2) == LOW) { //si oui, le départ est annulé loop() }
  3. 3. //coup de sirène et feu vert digitalWrite(led_vert, LOW); digitalWrite(led_orange, HIGH); delay(3000); digitalWrite(led_vert, HIGH); digitalWrite(led_orange, HIGH); delay(5000); for(int compteur = 300; compteur >0; compteur--) { delay(500); if(digitalRead(btn_BASE1) == LOW || digitalRead(btn_BASE2) == LOW ) { //si oui, le départ est annulé digitalWrite(led_vert, LOW); delay(3000); digitalWrite(led_vert, HIGH); loop() } delay(500) ; } digitalWrite(led_vert, LOW); delay(3000); digitalWrite(led_vert, HIGH); }

×