Una vez que hemos aprendido a controlar un LED individual, el siguiente paso es coordinar múltiples salidas digitales para crear una secuencia lógica.
En este ejercicio simularemos el funcionamiento básico de un semáforo utilizando tres LEDs conectados a pines digitales del Arduino UNO.
Este ejercicio permite verificar que:
Podemos controlar múltiples pines digitales simultáneamente
Comprendemos la lógica secuencial en un sistema embebido
Somos capaces de estructurar una secuencia temporal de eventos
Descripción del ejercicio
En este programa vamos a simular el funcionamiento de un semáforo.
Se conectarán tres LEDs a pines digitales del Arduino UNO:
LED rojo
LED verde
LED amarillo
Cada LED deberá tener su resistencia limitadora de corriente (220 Ω o 330 Ω recomendada).
El comportamiento esperado será:
Primero se enciende el LED rojo
Luego se apaga el rojo y se enciende el LED verde
Posteriormente se apaga el verde y se enciende el LED amarillo
La secuencia se repite de forma indefinida dentro de la función loop()
Esta lógica reproduce el comportamiento básico de un sistema secuencial programado por software.
Objetivos de aprendizaje
Con este ejercicio aprenderás a:
Configurar múltiples pines digitales como salida
Coordinar varias señales digitales
Implementar una secuencia lógica controlada por tiempo
Comprender el concepto de sistema secuencial en programación embebida
Estructurar el flujo de un programa con varias etapas
Conceptos clave
Antes de analizar el código, es importante conocer estos elementos fundamentales:
Secuencia temporal
Orden específico en el que ocurren los eventos dentro del programa.
setup()
Se ejecuta una sola vez al iniciar el sistema. Aquí configuramos los pines como salidas.
loop()
Se ejecuta continuamente mientras la placa esté encendida, permitiendo repetir la secuencia del semáforo.
pinMode(pin, OUTPUT)
Configura cada pin conectado a un LED como salida digital.
digitalWrite(pin, HIGH/LOW)
Permite encender o apagar cada LED enviando un nivel lógico alto o bajo.
delay(ms)
Controla la duración de cada estado del semáforo mediante pausas temporales en milisegundos.
Resistencia limitadora
Protege cada LED evitando exceso de corriente en el circuito.
Código fuente en GitHub
Para facilitar el aprendizaje y permitirte experimentar libremente, todos los ejercicios de esta serie estarán disponibles en un repositorio público de GitHub.
En el repositorio encontrarás:
El código del Ejercicio No. 3 – Simulación de semáforo
Archivos organizados por ejercicio
Una progresión estructurada hacia sistemas digitales más complejos
👉 Repositorio GitHub:
Enlace a Github
Prompt sugerido para generar el código
Actúa como un instructor de Arduino para principiantes.
Necesito un programa en Arduino que simule el funcionamiento de un semáforo utilizando tres LEDs conectados a pines digitales de un Arduino UNO.
El programa debe encender primero el LED rojo, luego el LED verde y finalmente el LED amarillo, repitiendo la secuencia indefinidamente dentro de la función loop().
Genera el código completo en C/C++ para Arduino, con comentarios explicativos línea por línea.
