jueves, 24 de mayo de 2012

Ciclo For con LEDs en Arduino


Ciclo For


Algunas veces se requiere iterar una serie de pines y hacer algo con cada uno. Por ejemplo, en este ejemplo parpadean 6 LEDs conectados al Arduino, usando un ciclo for() para el ciclo de ida y vuelta a través de los pines digitales 2 a 7. Los LEDs prenden y apagan en secuencia, usando las funciones digitalWrite() y delay().

¿Qué se necesita?

Arduino
6 Resistencias de 220 ohms
6 LEDs
Cables de interconexión
Protoboard

Conectar los seis LEDs cada uno con una resistencia de 220 en serie, a los pines 2 a 7 del Arduino. Aquí se encuentra el esquema.



El código empieza utilizando un ciclo for para asignar los pines digitales 2 a 7 como salidas para los 6 LEDs utilizados.

En el ciclo principal del código, se utilizan dos ciclos for para recorrer de forma incremental, paso a paso a través de los LEDs, uno por uno, del pin 2 al pin 7. Cuando el pin 7 está encendido, el proceso se invierte, haciendo que los LEDs se prendan al contrario de como ya se había hecho.



int timer = 100; // The higher the number, the slower the timing.

void setup() {
// use a for loop to initialize each pin as an output:
for (int thisPin = 2; thisPin < 8; thisPin++) {
pinMode(thisPin, OUTPUT); 
}
}

void loop() {
// loop from the lowest pin to the highest:
for (int thisPin = 2; thisPin < 8; thisPin++) { 
// turn the pin on:
digitalWrite(thisPin, HIGH); 
delay(timer); 
// turn the pin off:
digitalWrite(thisPin, LOW); 
}

// loop from the highest pin to the lowest:
for (int thisPin = 7; thisPin >= 2; thisPin--) { 
// turn the pin on:
digitalWrite(thisPin, HIGH);
delay(timer);
// turn the pin off:
digitalWrite(thisPin, LOW);
}
}

Referencias:
Arduino

1 comentario: