Un semáforo es un proyecto clásico y educativo que puedes realizar con Arduino. En este artículo, te guiaré paso a paso a través del proceso de crear un semáforo simulado utilizando una placa Arduino. Este proyecto es una excelente manera de aprender a controlar componentes electrónicos y trabajar con conceptos de programación estructurada.
Materiales Necesarios
Antes de comenzar, asegúrate de tener los siguientes materiales a tu disposición (click en cada uno para ver el producto en Amazon):
- Placa Arduino (por ejemplo, Arduino Uno).
- Tres LEDs de colores diferentes (rojo, amarillo y verde).
- Tres resistencias de 220 ohmios.
- Cables de conexión (jumpers).
- Una protoboard para montar los componentes.
- Una computadora con el software Arduino IDE instalado.
O también puedes adquirir un Kit de inicio Arduino, que ya contiene todos estos componentes, de los mostrados a continuación:
Paso 1: Conexión del Hardware
Comencemos con las conexiones del hardware:
- En la protoboard, conecta el LED rojo al pin digital 9 de la placa Arduino. Coloca una resistencia de 220 ohmios en serie con el LED rojo para limitar la corriente.
- Conecta el LED amarillo al pin digital 10 y el LED verde al pin digital 11 de la placa Arduino. Utiliza resistencias de 220 ohmios con ambos LEDs de la misma manera que lo hiciste con el LED rojo.
Asegúrate de que todas las conexiones estén seguras y que no haya cortocircuitos.
Paso 2: Programación en Arduino IDE
Ahora, programaremos la placa Arduino para simular el funcionamiento de un semáforo. Sigue estos pasos:
- Abre el software Arduino IDE en tu computadora.
- Verifica que la placa Arduino esté conectada a través del puerto USB.
- Crea un nuevo proyecto (sketch) seleccionando «Archivo» > «Nuevo».
- Ingresa el siguiente código:
const int C_Rojo = 9; const int C_Amarillo = 10; const int C_Verde = 11; void setup() { pinMode(C_Rojo, OUTPUT); pinMode(C_Amarillo, OUTPUT); pinMode(C_Verde, OUTPUT); } void loop() { encenderLED(C_Verde); // Enciende el LED verde delay(4000); // Espera 4 segundos apagarLED(C_Verde); // Apaga el LED verde encenderLED(C_Amarillo); // Enciende el LED amarillo delay(1000); // Espera 1 segundo apagarLED(C_Amarillo); // Apaga el LED amarillo encenderLED(C_Rojo); // Enciende el LED rojo delay(3000); // Espera 3 segundos apagarLED(C_Rojo); // Apaga el LED rojo } void encenderLED(int pin) { digitalWrite(pin, HIGH); } void apagarLED(int pin) { digitalWrite(pin, LOW); }
Este código configura los pines 9, 10 y 11 como salidas digitales para los LEDs rojo, amarillo y verde, respectivamente. Luego, en el bucle principal, enciende y apaga los LEDs en secuencias correspondientes a un semáforo.
- Guarda el proyecto seleccionando «Archivo» > «Guardar» y asignándole un nombre.
- Compila el código seleccionando «Verificar» (el ícono de checkmark) en la parte superior izquierda del Arduino IDE.
- Carga el código en la placa Arduino seleccionando «Subir» (el ícono de flecha) en la parte superior izquierda. La placa Arduino ahora ejecutará el programa, y los LEDs simularán el funcionamiento de un semáforo.
Paso 3: Verificación del Semáforo
Una vez que el código se haya cargado con éxito en la placa Arduino, notarás que los LEDs rojo, amarillo y verde se encienden y apagan de manera secuencial, simulando el funcionamiento de un semáforo. La secuencia será 2 segundos de luz roja, 1 segundo de luz amarilla, 2 segundos de luz verde, y así sucesivamente.
¡Has creado con éxito un semáforo simulado con Arduino! Este proyecto no solo es educativo sino también divertido, y te proporciona una valiosa experiencia en control de componentes y programación estructurada. A partir de aquí, puedes experimentar y expandir tus habilidades en la plataforma Arduino para desarrollar proyectos más complejos y emocionantes.
Ver simulación en Wokwi
En el siguiente enlace (click aquí), se puede ver el proyecto en el simulador, dónde se puede experimentar con la parte electrónica y el código, para depurar y comprobar que esté todo correcto antes de montar el circuito, y hacer tus propios ajustes y modificaciones. ¡Adelante!