Proyecto 34 – LED Secuenciales

Hace ya varios proyectos que venimos trabajando con sensores y es hora descansar de ellos y de volver a lo básico, trabajar con LED. En este proyecto vamos a crear otro proyecto muy sencillo con LED, en el cual vamos a crear un código para hacer unos LED secuenciales.

Ya hemos trabajado anteriormente con diodos emisores de luz o LED, hicimos que un LED intermitente y un semáforo.

LED Secuenciales
LED Secuenciales

Componentes

  • Arduino UNO o placa compatible
  • Protoboard o placa de pruebas
  • 10 LED
  • Resistencia de 220Ω
  • Cables o Jumpers
Diagrama de conexiones – LED secuenciales

Este es un proyecto de un muy fácil ensamble, solo debemos poner los 8 LED en el medio del protoboard tal como vemos en el diagrama, al cátodo de todos los LED ponemos una resistencia de 220Ω y el otro extremo de las resistencias lo conectamos a la tierra (GND) del Arduino. Los ánodos de los LED nos conectamos en orden, así:

LEDPin Arduino
12
23
34
45
56
67
78
89

El anterior diagrama esquemático nos muestra cómo se deben hacer las conexiones de nuestro Arduino con los demás componentes para lograr nuestros LED secuenciales.

Código

#define totalLed 8
const int pines[] = {2,3,4,5,6,7,8,9};

void setup() 
{                
  for (int i=0; i<totalLed; i++)
  {
    pinMode(pines[i], OUTPUT);
  }
}
 
void loop() 
{
  for (int i=0; i<totalLed; i++)
  {
    digitalWrite(pines[i], HIGH);
    delay(100);
    digitalWrite(pines[i], LOW);
  }
  for (int i=totalLed-1; i>0; i--)
  {
    digitalWrite(pines[i], HIGH);
    delay(100);
    digitalWrite(pines[i], LOW);
  }
}

Explicación del código

Comenzaremos a revisar el código, primero vamos hacer la declaración de las variables.

#define totalLed 8
const int pines[] = {2,3,4,5,6,7,8,9};

En la primera línea definimos una constante con el valor del entero 8, al que llamamos TotalLed y que utilizaremos para definir la cantidad de LED que usaremos en nuestro proyecto. Posteriormente declaramos un arreglo de enteros, en los que asignaremos los valores de los pines en los que conectaremos nuestros LED al Arduino.

Función setup()

for (int i=0; i<totalLed; i++)
{
  pinMode(pines[i], OUTPUT);
}

Como hemos visto anteriormente en otros proyectos en el setup ponemos todo lo que debe ser inicializado o ejecutado una sola vez, en nuestro caso encontramos un ciclo for, que utilizaremos para recorrer nuestro arreglo y establecer cada uno de los pines como pines de salida.

Función loop()

for (int i=0; i<totalLed; i++)
{
  digitalWrite(pines[i], HIGH);
  delay(100);
  digitalWrite(pines[i], LOW);
}
for (int i=totalLed-1; i>0; i--)
{
  digitalWrite(pines[i], HIGH);
  delay(100);
  digitalWrite(pines[i], LOW);
}

Comenzaremos revisando el contenido de nuestra función loop, para esto vamos a dividirlo en dos partes, para que sea más fácil de entender.

for (int i=0; i<totalLed; i++)
{
  digitalWrite(pines[i], HIGH);
  delay(100);
  digitalWrite(pines[i], LOW);
}

Primero encontramos un ciclo for que inicia en 0 hasta en número máximo de LED, donde en cada iteración encenderemos el LED que se encuentra en ese pin del arreglo, lo mantenemos encendido por 100 milisegundos y luego lo apagamos, luego pasamos a la siguiente iteración, creando un efecto que la luz se mueve de un LED a otro.

for (int i=totalLed-1; i>0; i--)
{
  digitalWrite(pines[i], HIGH);
  delay(100);
  digitalWrite(pines[i], LOW);
}

luego vemos otro ciclo for, pero en este caso comenzamos con el LED número 7 (TotalLed-1 = 7) , hasta el LED 1, es decir que va decreciendo, donde en cada iteración encenderemos el LED que se encuentra en ese pin del arreglo, lo mantenemos encendido por 100 milisegundos y luego lo apagamos, luego pasamos a la siguiente iteración , encendiendo ahora es el LED anterior, creando un efecto que la luz se mueve de un LED a otro, pero en sentido contrario.

NOTA:  Con el Arduino UNO, Arduino Pro, Arduino Pro mini, entre otros, podría conectar hasta 20 LEDs, usando las 14 salidas digitales y las 6 análogas.

Resumen

En este proyecto crearemos un efecto en el que se enciende un LED y luego se apaga, luego se enciende el siguiente y así hasta llegar al último de los LED, luego regresando hasta el primero, creando un efecto en el que vemos que la luz se mueve de diodo en diodo del primero al último y regresando.


Deja un comentario

Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.