Como HACER un SEMÁFORO DOBLE VÍA en ARDUINO
Video
En esta práctica programaremos el cambio y el parpadeo de la luz verde de dos semáforos utilizando LEDs.
- Materiales:
Para realizar el circuito necesitas:
• 1 Arduino UNO,
• 2 LEDs rojos,
• 2 LEDs amarillos,
• 2 LEDs verdes,
• 6 Resistencia de 220 ohms,
• 1 Protoboard y Jumpers.
- Código
Comenzamos el desarrollo del programa definiendo los pines digitales de los LEDs. Para identificar el color de los leds dentro del código, las variables las llamaremos conforme al color y en que semáforo pertenece.
int Rojo1 = 5;
int Ambar1 = 6;
int Verde1 = 7;
int Rojo2 = 8;
int Ambar2 = 9;
int Verde2 = 10;
En la función void setup() pondremos todos los pines digitales como salida.
void setup() {
pinMode(Rojo1,OUTPUT);
pinMode(Ambar1,OUTPUT);
pinMode(Verde1,OUTPUT);
pinMode(Rojo2,OUTPUT);
pinMode(Ambar2,OUTPUT);
pinMode(Verde2,OUTPUT);
}
En void loop() programaremos la lógica de ambos semáforos. Separaremos los cambios por secciones utilizando comentarios para no repetir algún cambio durante el proceso.
En la primera sección será el semaforo1 estando en rojo y el semaforo2 en verde, listo para comenzar con su ciclo de cambio. Durará 3 segundos prendido el LED verde.
void loop() {
//Ciclo semaforo2
digitalWrite(Rojo1,HIGH);
digitalWrite(Ambar1,LOW);
digitalWrite(Verde1,LOW);
digitalWrite(Rojo2,LOW);
digitalWrite(Ambar2,LOW);
digitalWrite(Verde2,HIGH);
delay(3000);
Para el parpadeo abrimos otra sección solo para manipular el pin digital de LED verde. Se hará 2 parpadeo y cada uno durará 1 segundo.
//Parpadeo semaforo2
digitalWrite(Verde2,LOW);
delay(1000);
digitalWrite(Verde2,HIGH);
delay(1000);
digitalWrite(Verde2,LOW);
delay(1000);
digitalWrite(Verde2,HIGH);
delay(1000);
Para finalizar el ciclo del semaforo2, prenderemos el LED ambar para poder pasar al ciclo del semaforo1, esté cambio solo durará 1 segundo.
//Cambio semaforo2
digitalWrite(Ambar2,HIGH);
digitalWrite(Verde2,LOW);
delay(1000);
Para la programación del semaforo1 es igual al del semaforo2 solo debemos cambiar los pines de los LEDs, asi quedaría completo:
void loop() {
//Ciclo semaforo2
digitalWrite(Rojo1,HIGH);
digitalWrite(Ambar1,LOW);
digitalWrite(Verde1,LOW);
digitalWrite(Rojo2,LOW);
digitalWrite(Ambar2,LOW);
digitalWrite(Verde2,HIGH);
delay(3000);
//Parpadeo semaforo2
digitalWrite(Verde2,LOW);
delay(1000);
digitalWrite(Verde2,HIGH);
delay(1000);
digitalWrite(Verde2,LOW);
delay(1000);
digitalWrite(Verde2,HIGH);
delay(1000);
//Cambio semaforo2
digitalWrite(Ambar2,HIGH);
digitalWrite(Verde2,LOW);
delay(1000);
//Ciclo semaforo1
digitalWrite(Rojo1,LOW);
digitalWrite(Ambar1,LOW);
digitalWrite(Verde1,HIGH);
digitalWrite(Rojo2,HIGH);
digitalWrite(Ambar2,LOW);
digitalWrite(Verde2,LOW);
delay(3000);
//Parpadeo semaforo1
digitalWrite(Verde1,LOW);
delay(1000);
digitalWrite(Verde1,HIGH);
delay(1000);
digitalWrite(Verde1,LOW);
delay(1000);
digitalWrite(Verde1,HIGH);
delay(1000);
//Cambio semaforo1
digitalWrite(Ambar1,HIGH);
digitalWrite(Verde1,LOW);
delay(1000);
}
- Instrumentación
Para realizar el circuito necesitas: 1 Arduino UNO, 2 LEDs rojos, 2 LEDs amarillos, 2 LEDs verdes, 6 Resistencias de 220 ohms, 1 Protoboard y Jumpers.
Colocaremos todos los LEDs haciendo una línea, separaremos los semáforos para identificar los cambios. Conectamos los ánodos con las resistencias y está conectada a los pines digitales de la placa y los cátodos conectados a la tierra del Arduino. Compilamos y subimos programa para ver resultados.
DESCARGAS
LINK DE DESCARGA
Imágenes
APRENDE LO QUE NECESITAS
NUESTROS CURSOS
Creación de un HMI en Android Studio y Arduino
Nivel: Básico 2 horas y 30 min (146 min.)
Diseña, maqueta y programa un HMI completo en Android Studio vinculado a un Arduino mediante Bluetooth.
CONSTRUYE un DISPENSADOR AUTOMÁTICO CASERO sin ARDUINO desde CERO
Nivel: Básico 27 minutos
Construye desde cero un dispensador automático casero sin Arduino desde cero, utilizando pura electrónica.
Creación de carrito robot desde cero usando mando de PS4
Nivel: Básico 2 horas y 19 min (139 min.)
Construye desde cero un carrito robot con arduino manipulado por un control de PS4 y un teléfono Android.
¿Tienes un proyecto que quieras compartir?
Mándanos tu proyecto o prácticas que quisieras difundir en la comunidad a nuestras redes.
ó
team@codiziapp.com