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. //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()
}