En este artículo, vamos a expandir nuestro primer proyecto de control de un LED con Arduino, agregando más LED y explorando nuevas formas de encenderlos y apagarlos. Estas variaciones no solo te ayudarán a controlar múltiples LED, sino que también te permitirán entender mejor cómo modificar los tiempos y secuencias de funcionamiento de cada uno. Al final, culminaremos en la creación de un sencillo semáforo con tres LED.



Primera Variación: Control de Dos LEDs en Secuencia

En esta primera variación, controlaremos dos LED que se encenderán y apagarán de forma alternada, con un intervalo de un segundo entre cada cambio.

Materiales:

  • 1 Placa Arduino Uno
  • 2 LED (de cualquier color)
  • 2 resistencias de 220 ohmios
  • Cables de conexión

Circuito






Conecte el pin digital 12 de Arduino al ánodo del primer LED (LED1) y el pin digital 13 al ánodo del segundo LED (LED2). Los cátodos de ambos LED deben conectarse a sus respectivas resistencias, y luego llevar las resistencias al pin GND de Arduino.

Prender-y-apagar-led-variaciòn-1

Código

// Definir los pines de los LEDs
int led1 = 12;
int led2 = 13;

void setup() {
  // Configurar los pines de los LEDs como salidas
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
}

void loop() {
  // Encender el LED1 y apagar LED2
  digitalWrite(led1, HIGH);
  digitalWrite(led2, LOW);
  delay(1000);  // Esperar 1 segundo

  // Apagar el LED1 y encender LED2
  digitalWrite(led1, LOW);
  digitalWrite(led2, HIGH);
  delay(1000);  // Esperar 1 segundo
}

Explicación del Código

El código define dos pines (12 y 13) para controlar los dos LED. El bucle loop()alterna entre encender el LED1 y apagar el LED2, luego intercambia los estados después de 1 segundo. Este patrón se repite continuamente.Variando el valor del delay cambiaremos el tiempo de encendido o apagado de los leds: 1000 = 1 segundo.


Segunda Variación: Control de Tres LEDs en Secuencia

Ahora agregaremos un tercer LED al circuito, controlando los tres en secuencia para que se enciendan uno tras otro, cada uno por un segundo.

Materiales:

  • 3 LED (de cualquier color)
  • 3 resistencias de 220 ohmios

Circuito

Encender-y-apagar-leds-con-Arduino-Variaciòn-2



Conecta el tercer LED al pin digital 11 de Arduino. Mantenga las conexiones de los otros LED igual que en la variación anterior.

Prender-y-apagar-led-variaciòn-2

Código

// Definir los pines de los LEDs
int led1 = 12;
int led2 = 13;
int led3 = 11;

void setup() {
  // Configurar los pines de los LEDs como salidas
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
}

void loop() {
  // Encender LED1, apagar LED2 y LED3
  digitalWrite(led1, HIGH);
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
  delay(1000);  // Esperar 1 segundo

  // Encender LED2, apagar LED1 y LED3
  digitalWrite(led1, LOW);
  digitalWrite(led2, HIGH);
  digitalWrite(led3, LOW);
  delay(1000);  // Esperar 1 segundo

  // Encender LED3, apagar LED1 y LED2
  digitalWrite(led1, LOW);
  digitalWrite(led2, LOW);
  digitalWrite(led3, HIGH);
  delay(1000);  // Esperar 1 segundo
}

Explicación del Código

Este código añade un tercer LED (conectado al pin 11) y ajusta la secuencia para que cada LED se encienda durante 1 segundo mientras los otros dos están apagados. Este patrón se repite indefinidamente, lo que te permite experimentar con el control de múltiples salidas.


Proyecto Final: Semáforo con Tres LEDs

Para el proyecto final, construiremos un sencillo semáforo con tres LEDs que simulan los colores de un semáforo real: rojo, amarillo y verde.

Materiales:

  • 1 LED rojo
  • 1 LED amarillo
  • 1 LED verde
  • 3 resistencias de 220 ohmios

Circuito

  • Conecte el LED rojo al pin digital 13 de Arduino.
  • Conecte el LED amarillo al pin digital 12.
  • Conecte el LED verde al pin digital 11.
  • Como en los proyectos anteriores, conecta cada LED a una resistencia y luego a GND.

Código

// Definir los pines de los LEDs (Semáforo)
int ledRojo = 13;
int ledAmarillo = 12;
int ledVerde = 11;

void setup() {
  // Configurar los pines de los LEDs como salidas
  pinMode(ledRojo, OUTPUT);
  pinMode(ledAmarillo, OUTPUT);
  pinMode(ledVerde, OUTPUT);
}

void loop() {
  // Encender el LED rojo
  digitalWrite(ledRojo, HIGH);
  delay(5000);  // Mantener encendido por 5 segundos

  // Encender el LED amarillo
  digitalWrite(ledRojo, LOW);
  digitalWrite(ledAmarillo, HIGH);
  delay(2000);  // Mantener encendido por 2 segundos

  // Encender el LED verde
  digitalWrite(ledAmarillo, LOW);
  digitalWrite(ledVerde, HIGH);
  delay(5000);  // Mantener encendido por 5 segundos

  // Apagar el LED verde y reiniciar el ciclo
  digitalWrite(ledVerde, LOW);
}

Explicación del Código

El código simula un ciclo de semáforo con tres LED. El rojo se enciende durante 5 segundos, luego el amarillo durante 2 segundos, seguido por el verde durante 5 segundos. Este ciclo se repite de forma indefinida.


Conclusión

Con estas variaciones, habremos aprendido cómo manejar múltiples LEDs con Arduino y cómo modificar tiempos y secuencias de encendido y apagado. Estos conocimientos son esenciales para proyectos más avanzados en el mundo de la electrónica y la domótica. ¿Y si ahora aprendemos a controlar motores con Arduino?, ¡Anímate a seguir experimentando y mejorando tus habilidades!