[Agregar un gift de vídeo del proyecto aquí.]
[Insertar foto del proyecto aquí.]
Semáforo.
Descripción:
Una práctica común con Arduino Uno es programar un semáforo. En esta práctica, se utiliza el microcontrolador Arduino Uno para simular el funcionamiento de un semáforo de tráfico.
El objetivo es controlar tres luces (roja, amarilla y verde) en secuencia, imitando el comportamiento de un semáforo real. El semáforo seguirá un ciclo de encendido y apagado, alternando entre las luces roja, amarilla y verde con tiempos predefinidos para cada estado.
[Insertar vídeo de YT del proyecto aquí.]
Materiales:
(Si no conoces el funcionamiento de algún componente da click aquí)
Arduino Uno R3.
· 1 Protoboard.
· 3 Leds (Rojo, amarilo y verde).
· 3 Resistencias 220 Ohm.
· 5 Cables jumpers de conexión M-M.
Procedimiento:
1. Realizar la conexión que se muestra en la ilustración 1.
Ilustración 1.
Pinout:
Aquí están las conexiones que debes realizar:
El LED verde está conectado al pin 8.
El LED amarillo está conectado al pin 9.
El LED rojo está conectado al pin 10.
Asegúrate de conectar el ánodo (lado largo) del LED al pin especificado y el cátodo (lado corto) a través de una resistencia (aproximadamente 220 ohmios) a tierra (GND) para cada LED.
Recuerda que es importante usar resistencias para limitar la corriente que pasa a través de los LEDs y evitar dañarlos.
Código:
Además de eso, el código establece los tiempos para cada estado del semáforo:
El LED verde permanece encendido durante 10 segundos.
El LED amarillo permanece encendido durante 3 segundos y parpadea 5 veces antes de cambiar al rojo.
/*Programa: Semáforo.
Curso: Arduino UNO
Autor: Expacio STEAM
*/
// Definición de pines
const int pinVerde = 8; // Definimos el pin para el LED verde
const int pinAmarillo = 9; // Definimos el pin para el LED amarillo
const int pinRojo = 10; // Definimos el pin para el LED rojo
// Definición de tiempos en milisegundos
const unsigned long tiempoVerde = 10000; // Tiempo que el LED verde permanece encendido (10 segundos)
const unsigned long tiempoAmarillo = 3000; // Tiempo que el LED amarillo permanece encendido (3 segundos)
const unsigned long tiempoRojo = 10000; // Tiempo que el LED rojo permanece encendido (10 segundos)
// Cantidad de parpadeos del LED amarillo
const int parpadeosAmarillo = 5; // Número de parpadeos que el LED amarillo realizará antes de cambiar al rojo
const unsigned long tiempoParpadeoAmarillo = 500; // Tiempo de duración de cada parpadeo del LED amarillo (0.5 segundos)
void setup() {
// Inicialización de pines como salida
pinMode(pinVerde, OUTPUT); // Configuramos el pin del LED verde como salida
pinMode(pinAmarillo, OUTPUT); // Configuramos el pin del LED amarillo como salida
pinMode(pinRojo, OUTPUT); // Configuramos el pin del LED rojo como salida
}
void loop() {
// Estado Verde
digitalWrite(pinVerde, HIGH); // Encendemos el LED verde
digitalWrite(pinAmarillo, LOW); // Apagamos el LED amarillo
digitalWrite(pinRojo, LOW); // Apagamos el LED rojo
delay(tiempoVerde); // Esperamos el tiempo del estado verde
// Parpadeo del LED Amarillo
for (int i = 0; i < parpadeosAmarillo; i++) { // Iniciamos un bucle que ejecutará el parpadeo del LED amarillo 5 veces
digitalWrite(pinVerde, LOW); // Apagamos el LED verde
digitalWrite(pinAmarillo, HIGH); // Encendemos el LED amarillo
digitalWrite(pinRojo, LOW); // Apagamos el LED rojo
delay(tiempoParpadeoAmarillo); // Esperamos el tiempo de parpadeo del LED amarillo
digitalWrite(pinAmarillo, LOW); // Apagamos el LED amarillo
delay(tiempoParpadeoAmarillo); // Esperamos el tiempo de parpadeo del LED amarillo
}
// Estado Rojo
digitalWrite(pinVerde, LOW); // Apagamos el LED verde
digitalWrite(pinAmarillo, LOW); // Apagamos el LED amarillo
digitalWrite(pinRojo, HIGH); // Encendemos el LED rojo
delay(tiempoRojo); // Esperamos el tiempo del estado rojo
}
Este código simula el funcionamiento básico de un semáforo de tráfico con tres luces. Cada luz se enciende y se apaga en secuencia, con tiempos de espera definidos entre cada cambio de estado. Este es solo un ejemplo básico; se pueden realizar ajustes y mejoras adicionales según sea necesario.
Hacer 2 semáforos que se cordinen para permitirse el paso.