Semáforo Vehicular y Peatonal con Arduino

El Semáforo vehicular y peatonal es, en primer lugar, un proyecto de Arduino que simula una intersección con dos semáforos de vehículos y sus respectivos semáforos peatonales. Además, coordina los cambios de luces para ambos sistemas de manera sincronizada. Por lo tanto, este proyecto es ideal para aprender sobre el control de LEDs y, en consecuencia, la programación básica en Arduino.

Funcionamiento

Los semáforos para los vehículos y peatones deberían funcionar de la siguiente manera:

  • El primer semáforo de vehículos estará en rojo mientras el segundo estará en verde, y el primer semáforo peatonal estará en verde mientras el segundo estará en rojo durante 5 segundos.
  • Ambos semáforos de vehículos cambiarán al amarillo durante 2 segundos.
  • El primer semáforo de vehículos cambiará a verde y el segundo a rojo, y el primer semáforo peatonal cambiará a rojo mientras el segundo cambia a verde durante 5 segundos.
  • Ambos semáforos de vehículos cambiarán nuevamente al amarillo durante 2 segundos antes de repetir el ciclo.

Materiales Necesarios

  • 1 Arduino UNO
  • Además, 2 LEDs rojos (Semáforo vehículos)
  • 2 LEDs amarillos (Semáforos vehículos)
  • 2 LEDs verdes (Semáforo vehículos)
  • 2 LEDs rojos (Semáforo peatones)
  • 2 LEDs verdes (Semáforo peatones)
  • Asimismo, 8 resistencias de 220 ohmios
  • También, 1 Protoboard
  • Finalmente, cables de conexión

Esquema de Conexión

Semáforo Vehicular y Peatonal con Arduino

Conexiones Semáforo Vehicular Principal

El pin 11, 12 y 13 del Arduino se conecta a una resistencia de 220 ohmios. Luego, esta resistencia se conecta al ánodo del LED rojo, amarillo y verde, respectivamente. Por otro lado, el cátodo del LED se conecta a GND, esto simulará el semáforo vehicular.

LED Rojo: Pin 13 -> Resistencia 220 Ohm -> Ánodo LED – Cátodo LED -> GND
LED Amarillo: Pin 12 -> Resistencia 220 Ohm -> Ánodo LED – Cátodo LED -> GND
LED Verde: Pin 11 -> Resistencia 220 Ohm -> Ánodo LED – Cátodo LED -> GND

Conexiones Semáforo Peatonal Principal

El pin 10 y 9 del Arduino se conecta a una resistencia de 220 ohmios. Luego, esta resistencia se conecta al ánodo del LED rojo y verde, respectivamente. Por otro lado, el cátodo del LED se conecta a GND, esto simulará el semáforo del peatón.

LED Rojo: Pin 10 -> Resistencia 220 Ohm -> Ánodo LED – Cátodo LED -> GND
LED Verde: Pin 9 -> Resistencia 220 Ohm -> Ánodo LED – Cátodo LED -> GND

Conexiones Semáforo Vehicular Secundario

El pin 3, 4 y 5 del Arduino se conecta a una resistencia de 220 ohmios. Luego, esta resistencia se conecta al ánodo del LED rojo, amarillo y verde, respectivamente. Por otro lado, el cátodo del LED se conecta a GND, esto simulará el semáforo vehicular.

LED Rojo: Pin 5 -> Resistencia 220 Ohm -> Ánodo LED – Cátodo LED -> GND
LED Amarillo: Pin 4 -> Resistencia 220 Ohm -> Ánodo LED – Cátodo LED -> GND
LED Verde: Pin 3 -> Resistencia 220 Ohm -> Ánodo LED – Cátodo LED -> GND

Conexiones Semáforo Peatonal Principal

El pin 1 y 2 del Arduino se conecta a una resistencia de 220 ohmios. Luego, esta resistencia se conecta al ánodo del LED rojo y verde, respectivamente. Por otro lado, el cátodo del LED se conecta a GND, esto simulará el semáforo del peatón.

LED Rojo: Pin 2 -> Resistencia 220 Ohm -> Ánodo LED – Cátodo LED -> GND
LED Verde: Pin 1 -> Resistencia 220 Ohm -> Ánodo LED – Cátodo LED -> GND

Conexiones en el Protoboard

Te compartimos nuestro proyecto elaborado en Tinkercad. En esta plataforma, podrás encontrar el esquema de conexión, el código y los materiales necesarios para desarrollar el proyecto. Además, lo más importante es que podrás iniciar la simulación y comprender cómo funciona el proyecto. De este modo, podrás experimentar y verificar todos los detalles por ti mismo

  1. Preparar el Protoboard para los Semáforos de Vehículos:
    • Primero, coloca los LEDs rojos, amarillos y verdes en la protoboard.
    • A continuación, conecta una resistencia de 220 ohmios a cada ánodo de los LEDs de vehículos. El otro extremo de cada resistencia irá, posteriormente, conectado a un pin digital diferente del Arduino.
  2. Preparar el Protoboard para los Semáforos Peatonales:
    • En primer lugar, coloca los LEDs rojos y verdes en la protoboard.
    • Luego, conecta una resistencia de 220 ohmios a cada ánodo de los LEDs peatonales. Finalmente, el otro extremo de cada resistencia irá conectado a un pin digital diferente del Arduino.

Código

En este proyecto con Arduino, se utiliza una variante del lenguaje C/C++ que simplifica el control del hardware de manera eficiente. El código se organiza en funciones básicas, como setup(), que se encarga de las configuraciones iniciales del sistema, y loop(), que permite la ejecución continua de las tareas. Mediante comandos específicos, se maneja la configuración de los pines, se controla el encendido y apagado de los LEDs del semáforo, y se gestionan los intervalos de tiempo con la función delay(). Además, los comentarios integrados en el código proporcionan una documentación clara, explicando detalladamente su funcionamiento y facilitando la comprensión y el mantenimiento del proyecto.

Copia y pega el siguiente código en el Arduino IDE:

/*
 * Proyecto: Semáforo Vehicular y Peatonal con Arduino
 * Autor: www.ielectel.com
 * Descripción: Este proyecto controla dos semáforos y dos semáforos peatonales en una intersección utilizando un Arduino.
 * 
 * Materiales:
 * - 2 LEDs rojos para vehículos
 * - 2 LEDs amarillos para vehículos
 * - 2 LEDs verdes para vehículos
 * - 2 LEDs rojos para peatones
 * - 2 LEDs verdes para peatones
 * - 8 resistencias (220 ohm)
 * - Placa de pruebas y cables
 * - Arduino Uno
 */


// Declarar los pines de los LEDs del primer semáforo (vehículos)
const int ledRojo1 = 13;
const int ledAmarillo1 = 12;
const int ledVerde1 = 11;

// Declarar los pines de los LEDs del segundo semáforo (vehículos)
const int ledRojo2 = 5;
const int ledAmarillo2 = 4;
const int ledVerde2 = 3;

// Declarar los pines de los LEDs del primer semáforo (peatones)
const int ledRojoPeaton1 = 10;
const int ledVerdePeaton1 = 9;

// Declarar los pines de los LEDs del segundo semáforo (peatones)
const int ledRojoPeaton2 = 2;
const int ledVerdePeaton2 = 1;

void setup() {
  // Configurar los pines de los LEDs del primer semáforo (vehículos) como salida
  pinMode(ledRojo1, OUTPUT);
  pinMode(ledAmarillo1, OUTPUT);
  pinMode(ledVerde1, OUTPUT);
  
  // Configurar los pines de los LEDs del segundo semáforo (vehículos) como salida
  pinMode(ledRojo2, OUTPUT);
  pinMode(ledAmarillo2, OUTPUT);
  pinMode(ledVerde2, OUTPUT);

  // Configurar los pines de los LEDs del primer semáforo (peatones) como salida
  pinMode(ledRojoPeaton1, OUTPUT);
  pinMode(ledVerdePeaton1, OUTPUT);

  // Configurar los pines de los LEDs del segundo semáforo (peatones) como salida
  pinMode(ledRojoPeaton2, OUTPUT);
  pinMode(ledVerdePeaton2, OUTPUT);
}

void loop() {
  // Secuencia del primer semáforo (Semáforo 1 - vehículos)
  digitalWrite(ledRojo1, HIGH);
  digitalWrite(ledAmarillo1, LOW);
  digitalWrite(ledVerde1, LOW);
  
  // Secuencia del segundo semáforo (Semáforo 2 - vehículos)
  digitalWrite(ledRojo2, LOW);
  digitalWrite(ledAmarillo2, LOW);
  digitalWrite(ledVerde2, HIGH);

  // Secuencia del primer semáforo (Semáforo 1 - peatones)
  digitalWrite(ledRojoPeaton1, LOW);
  digitalWrite(ledVerdePeaton1, HIGH);
  
  // Secuencia del segundo semáforo (Semáforo 2 - peatones)
  digitalWrite(ledRojoPeaton2, HIGH);
  digitalWrite(ledVerdePeaton2, LOW);

  delay(5000); // Esperar 5 segundos

  // Cambiar al amarillo en ambos semáforos de vehículos
  digitalWrite(ledRojo1, LOW);
  digitalWrite(ledAmarillo1, HIGH);
  digitalWrite(ledVerde1, LOW);
  
  digitalWrite(ledRojo2, LOW);
  digitalWrite(ledAmarillo2, HIGH);
  digitalWrite(ledVerde2, LOW);

  delay(2000); // Esperar 2 segundos

  // Cambiar al verde en el primer semáforo de vehículos y al rojo en el segundo
  digitalWrite(ledRojo1, LOW);
  digitalWrite(ledAmarillo1, LOW);
  digitalWrite(ledVerde1, HIGH);
  
  digitalWrite(ledRojo2, HIGH);
  digitalWrite(ledAmarillo2, LOW);
  digitalWrite(ledVerde2, LOW);

  // Cambiar al rojo en el primer semáforo de peatones y al verde en el segundo
  digitalWrite(ledRojoPeaton1, HIGH);
  digitalWrite(ledVerdePeaton1, LOW);
  
  digitalWrite(ledRojoPeaton2, LOW);
  digitalWrite(ledVerdePeaton2, HIGH);

  delay(5000); // Esperar 5 segundos

  // Cambiar al amarillo en ambos semáforos de vehículos
  digitalWrite(ledRojo1, LOW);
  digitalWrite(ledAmarillo1, HIGH);
  digitalWrite(ledVerde1, LOW);
  
  digitalWrite(ledRojo2, LOW);
  digitalWrite(ledAmarillo2, HIGH);
  digitalWrite(ledVerde2, LOW);

  delay(2000); // Esperar 2 segundos
}

Proceso

  1. Configurar el Hardware:
    • Primero, coloca todos los LEDs en la protoboard siguiendo las conexiones descritas anteriormente.
    • Luego, conecta las resistencias a los ánodos de los LEDs.
    • Después, conecta los cátodos de los LEDs a GND en el Arduino.
    • Finalmente, conecta el otro extremo de las resistencias a los pines digitales correspondientes del Arduino.
  2. Escribir y Subir el Código:
    • Primero, abre el Arduino IDE y copia el código proporcionado.
    • Luego, haz clic en «Verificar» para compilar el código.
    • Finalmente, haz clic en «Subir» para cargar el código en tu Arduino.

¡Y eso es todo! Ahora, tienes un sistema de semáforos inteligente para una intersección con semáforos peatonales sincronizados utilizando Arduino. En consecuencia, este proyecto te permitirá comprender mejor el control de LEDs y la programación de microcontroladores.

Preguntas Frecuentes

¡Esperamos sinceramente que este post, repleto de contenido valioso, haya sido excepcionalmente útil en tu emocionante travesía hacia el fascinante mundo de la electrónica! 🌟 Te extendemos la invitación a explorar muchos más artículos, proyectos, contenido sobre equipos, software y más en nuestra página web.

Invita a otros a explorar: Comparte Ahora 📢

1 comentario en “Semáforo Vehicular y Peatonal con Arduino”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio