domingo, 26 de enero de 2014

Encender leds en secuencia con Arduino.

Hoy expondré como programar una secuencia de leds en Arduino.
Los leds encienden con lógica negativa, es decir en estado bajo (0) o conexión a tierra.
Los leds están conectados a los pines 10-13 de la tableta Arduino ADK. En el resto de las tabletas Arduino Uno también puede funcionar.
A continuación pueden ver el esquema eléctrico y el código fuente de Arduino.
// LUCES SECUENCIALES

// Se establecen las pines 10 al 13 como salidas digitales
int salidas[] = {10,11,12,13};
int contador = 0;

void setup() {                
  for(contador = 0; contador < 4; contador++){
    pinMode(salidas[contador], OUTPUT);
    digitalWrite(salidas[contador], HIGH); // La conexion del circuito es LOW ACTIVE, el estado HIGH apaga el led.
  }       
}

void loop() {
  contador = 0;
  while(contador < 4){
    digitalWrite(salidas[contador], LOW); // Enciende el led especificado en el arreglo
    delay(1000); // Retarda 1 segundo en el arreglo
    digitalWrite(salidas[contador], HIGH); // Apaga el led especificado en el arreglo
    if(contador == 4) contador = 0; // Reinicia la secuencia
    contador++; // Incrementa la salida de led a encender
  }
}

No hay comentarios: