Scanner

Scanner

//  **********************************************************
//  ***    Scanner : Allumage/extinction de leds pas sur un bargraph      ***
//  ***     en passant de l’une a l’autre et inversement                               ***
//  **********************************************************

//  On suppose que les LEDs sont branchees sur des broches voisines
//  On part de LED_DEBUT et on va utiliser NB_LEDS

#define LED_DEBUT   4
#define NB_LEDS    10

void setup() {
  int nCpt;

//  Passage de toutes les broches des LEDs en OUTPUT
  for(nCpt=0; nCpt<NB_LEDS; nCpt ++)
    pinMode(LED_DEBUT + nCpt, OUTPUT);

//  Extinction de toutes les LEDs
  for(nCpt=0; nCpt<NB_LEDS; nCpt ++)
    digitalWrite(LED_DEBUT + nCpt, LOW);
}

void loop() {
  int nCpt;

  for (nCpt=0; nCpt<NB_LEDS; nCpt ++) {
    if (nCpt >0)
      digitalWrite(LED_DEBUT +nCpt -1, LOW);  //  Extinction de la LED precedente, sauf si on est sur la premiere
    digitalWrite(LED_DEBUT + nCpt, HIGH);
    delay(200);
  }
  delay(50);
 
  for (nCpt=NB_LEDS -1; nCpt>=0; nCpt –) {
    if (nCpt < NB_LEDS -1)
      digitalWrite(LED_DEBUT + nCpt + 1, LOW);
    digitalWrite(LED_DEBUT + nCpt, HIGH);
    delay(150);
  }
  delay(30);
}