/* attiny_sequenceur
  20/06/2018
  Dominique Hudry
  séquenceur 3 voies
  Attiny85

    Brochage ATtiny85

      =| 1  U  8 |= VCC
      =| 2     7 |= 2--> Sortie2
      =| 3     6 |= 1--> Sortie1
  GND =| 4     5 |= 0--> Sortie0
*/

// Les constantes ne changent pas durant le programme
enum { Sortie0, Sortie1, Sortie2 };

void setup() {
  pinMode(2, OUTPUT);  // met la broche en sortie
  pinMode(1, OUTPUT);  // met la broche en sortie
  pinMode(0, OUTPUT);  // met la broche en sortie
}

void loop() {
  allumeSortie(Sortie0);
  delay(10);
  eteintSortie(Sortie0);
  delay(100);
  allumeSortie(Sortie1);
  delay(10);
  eteintSortie(Sortie1);
  delay(100);
  allumeSortie(Sortie2);
  delay(10);
  eteintSortie(Sortie2);
  delay(100);
}

void allumeSortie(const byte laquelle) { // allumage de la bonne
  switch (laquelle) {
    case Sortie0:
      digitalWrite(0, HIGH);
      break;

    case Sortie1:
      digitalWrite(1, HIGH);
      break;

    case Sortie2: 
      digitalWrite(2, HIGH);
      break;
  }
}

void eteintSortie(const byte laquelle) { // extinction de la bonne
  switch (laquelle) {
    case Sortie0:
      digitalWrite(0, LOW);
      break;

    case Sortie1:
      digitalWrite(1, LOW);
      break;

    case Sortie2:
      digitalWrite(2, LOW);
      break;
  }
}
ATTINY8520PU