// Chenillard
//Déclaration
/*déclaration des 6 variables attribuant une LED de couleurs différantes
à chacune des entrées analogiques */
int LedBlanche = A0;
int LedVerte = A1;
int LedJaune = A2;
int LedOrange = A3;
int LedBleue = A4;
int LedRouge = A5;
//Déclaration des variable des broches et compteur
int compteur = 0 ;// attribut la valeur 0 à la variable compteur
int pin =0 ;//       attribut la valeur 0 à la variable pin
//Initialisation
void setup()
{
       //Initialise les 6 broches d'E/S analogiques en mode SORTIE (OUTPUT)
pinMode(LedBlanche, OUTPUT);pinMode(LedVerte, OUTPUT);pinMode(LedJaune, OUTPUT);
pinMode(LedOrange, OUTPUT);pinMode(LedBleue, OUTPUT);pinMode(LedRouge, OUTPUT);
    //Initialise les 14 broches d'E/S digitale en mode SORTIE (OUTPUT)
    // avec une boucle "for"
for (compteur = 0;compteur < 14;compteur++)
   {
    pinMode(compteur, OUTPUT); // instructions à faire pendant la boucle "for"
    digitalWrite(compteur, LOW); // met toutes les sorties à 0  
   }
}
//______________________________FIN de la partie initialisation
// Exécution
void loop()
{
    //Début phase N° 1
    digitalWrite(LedVerte, HIGH);      // allume LED phase 1
    for(pin =0;pin < 14; pin++)
    {
        digitalWrite(pin, HIGH);     // allume les LED une par une
        digitalWrite(LedBlanche, HIGH);
        delay(250);
        digitalWrite(pin, LOW);
        digitalWrite(LedBlanche, LOW);
        delay(250);
    }
    digitalWrite(LedVerte, LOW);        // eteint LED phase 1
    // Fin phase N°1
   // Début phase N° 2
   digitalWrite(LedJaune, HIGH);        // allume LED phase 2
   for(pin =0;pin < 14; pin++)         // allume les LED une aprés l'autre
   {
        digitalWrite(pin, HIGH);
        digitalWrite(LedBlanche, HIGH);
        delay(250);
        digitalWrite(LedBlanche, LOW);
        delay(250);
   }
   for(pin =0;pin < 14; pin++)       // eteint les LED une apres l'autre
   {
        digitalWrite(pin, LOW);
        digitalWrite(LedBlanche, HIGH);
        delay(250);
        digitalWrite(LedBlanche, LOW);
        delay(250);
   }
    digitalWrite(LedJaune, LOW);        // eteint LED phase 2
    // Fin phase N° 2
    // Début phase N° 3
    digitalWrite(LedOrange, HIGH);      // allume LED phase 3
    for(pin = 14;pin >= 0; pin--)      // allume les LED une par une mais de gauche à droite
    {
        digitalWrite(pin, HIGH);     
        digitalWrite(LedBlanche, HIGH);
        delay(250);
        digitalWrite(LedBlanche, LOW);
        delay(250);
    }
    for(pin = 14;pin >= 0; pin--)      // eteint les LED une par une mais de gauche à droite
    {
        digitalWrite(pin, LOW);     
        digitalWrite(LedBlanche, HIGH);
        delay(250);
        digitalWrite(LedBlanche, LOW);
        delay(250);
    }
    digitalWrite(LedOrange, LOW);      // eteint LED phase 3
   // Fin phase N° 3
    // Début phase N° 4
    digitalWrite(LedBleue, HIGH);        // allume LED phase 3
    for(compteur = 0;compteur < 10; compteur++)
    {
    digitalWrite(LedBlanche, HIGH);
    delay(125);
        for(pin=0;pin <14;pin++){digitalWrite(pin, HIGH);}
        delay(125);
        for(pin=0;pin <14;pin++){digitalWrite(pin, LOW);}
        delay(125);
        digitalWrite(LedBlanche, LOW);
        delay(125);
    }
    digitalWrite(LedBleue, LOW);
    // Fin de la phase N° 4
    // Début de la phase N° 5
    digitalWrite(LedRouge, HIGH);
    for(compteur=0;compteur<5;compteur++)
    {
        for(pin=0;pin<14;pin++)
        {
            digitalWrite(pin, HIGH);
            digitalWrite(LedBlanche, HIGH);
            delay(150);
            digitalWrite(LedBlanche, LOW);
            delay(150);
        }
        for(pin=14;pin>=0;pin--)
        {
            digitalWrite(pin, LOW);
            digitalWrite(LedBlanche, HIGH);
            delay(150);
            digitalWrite(LedBlanche, LOW);
            delay(150);
        }
      }  
    digitalWrite(LedRouge, LOW);
    // Fin de la phase N° 5
    }