En este proyecto vamos a utlilizar una secuencia de leds y los iremos prendiendo y apagando uno después del otro. Primero en un sentido y luego en el sentido inverso. El circuito es muy similar al que hemos utilizado en los proyectos anteriores con leds, como en el de dos leds intermitentes, pero ahora lo haremos con más pares de leds y resistencias. Puedes poner todos los leds que quieras o todos los que te quepan en el protoboard ¿Cuál sería la limitante?  

Componentes
  • ·   Arduino UNO
  • ·   Protoboard
  • ·   6 leds
  • ·   6 resistencias de 220 oms (rojo, rojo, café)
 
Circuito
Éste es otra vez prácticamente el mismo circuito que el de un led intermitente, en éste caso colocaremos
un número mayor de leds con sus respectivas resistencias, conectados cada uno a un pin del Arduino.
 
Aquí es importante que los conectemos a pines consecutivos del Arduino, en la descripción del sketch, veremos la razón de esto.
 
Los Leds están conectados a los pines 9,8,7,6,5 y 4 como lo indica la gráfica.
 
Código
El código de este sketch podría ser muy similar al código de dos leds intermitentes, pero tendríamos que repetir múltiples veces el mismo código para cada led. Para evitar esto, usaremos la declaración for, que nos permite repetir un bloque de instrucciones.
 
El ciclo for tiene tres parámetros o partes. Una variable o contador con un valor inicial. Una condición que debe cumplir esta variable para continuar el ciclo. Y una función para cambiar el valor de esta variable, comúnmente para incrementarla.
 
for (int pinLed = 4; pinLed < 10; pinLed++)
{
bloque de instrucciones
}
 
El bloque de intrucciones que se ejecutará repetidamente en el ciclo for estará encerrado entre las llaves {
y } del for.
 
En el sketch usaremos el ciclo for en tres momentos. Primero, en la función setup, para inicializar todos los pines como pines de salida. Y después, en la función loop, primero para encender y apagar los leds en un sentido y después para hacerlo en el otro sentido.
 
Variantes
Podemos ir dejando prendidos los leds, usando el primer ciclo for y después irlos apagando en el segundo ciclo. Esto podríamos hacerlo en el mismo sentido o en sentidos contrarios.
 
Con estas variantes entenderemos mejor el funcionamiento de la estructura de control for. Cambia la duración del delay(). ¿Qué pasa cuando éste se va haciendo más corto?