lunes, 9 de marzo de 2015

Serie de LEDs con encendido secuencial

Vamos a encender y apagar secuencialmente un conjunto de LEDs y efectuaremos el viaje de ida y vuelta.

Puedes verlo en el siguiente enlace:


int timer=100;                        //establecemos el tiempo de espera en milisegundos
int cont = 5;                         //indica que usamos 5 LEDs y por tanto 5 pines digitales
int matriz[5] = {5, 7, 9, 11, 13};    //la matriz contiene los cinco pines digitales usados y su orden

void setup(){
 for (int pin=0; pin < cont; pin++){     //recorremos los 5 pines
  pinMode (matriz [pin], OUTPUT);     //establecemos la salida de cada pin
 }
}
          
void loop () {
 for (int pin=0; pin < cont; pin++)     //recorremos los 5 pines
 {
  digitalWrite (matriz [pin], HIGH);  //encendemos el LED que toca
  delay (timer);                      //el LED permanece encendido el tiempo indicado en la variable timer
  digitalWrite (matriz [pin], LOW);   //transcurrido el tiempo de espera se apaga el LED
 }

 for (int pin=cont-1;pin>=0; pin --)  //recorremos los 5 pines pero ahora en sentido contrario
 {
  digitalWrite (matriz [pin], HIGH);  //encendemos el LED que toca
  delay (timer);                      //el LED permanece encendido el tiempo indicado en la variable timer
  digitalWrite (matriz [pin], LOW);   //transcurrido el tiempo de espera se apaga el LED
 }
}

No hay comentarios:

Publicar un comentario