En este proyecto de laboratorio, se busca implementar un sistema de control de tráfico con cruce de peatones en un módulo de Arduino Mega. Para lograrlo, se llevaron a cabo diversos ensayos de prueba y error utilizando el software Proteus. Cada una de las pruebas fue realizada exhaustivamente hasta alcanzar el correcto funcionamiento del circuito.
Fue realizada por estudiantes de la materia de Internet de las Cosas, correspondiente a la carrera de Ingeniería en Telecomunicaciones de la Universidad Técnica del Norte.
Para llevar a cabo este proyecto, contamos con tres tipos de señales de tráfico: una para el tráfico en dirección sur, otra para el tráfico en dirección este y una tercera destinada al cruce de peatones en dirección norte.
Los materiales necesarios para construir estas señales son de bajo costo y se pueden encontrar fácilmente en el mercado. Entre ellos se encuentran los siguientes:
- Arduino MEGA 2560: Este es nuestro nodo principal el cual funcionará como el cerebro de nuestro proyecto el cual controlará cada uno de los leds a partir de la lectura de los botones. Para más información acerca de este microcontrolador aquí.
- LEDs: Utilizaremos LEDs en los colores rojo, verde y amarillo. Estos LEDs son esenciales para indicar el estado de las señales, ya sea para detenerse (rojo), avanzar (verde) o tener precaución (amarillo).
- Botones: Será necesario incorporar botones en las señales para permitir a los peatones o conductores interactuar con ellas. Estos botones pueden ser utilizados para solicitar el cambio de la señal o para indicar la intención de cruzar la calle.
- Jumpers: Los jumpers son cables de conexión que nos permitirán interconectar los diferentes componentes del sistema de señalización. Estos cables son esenciales para establecer las conexiones adecuadas entre los LEDs, los botones y cualquier otro elemento electrónico presente en el proyecto
En primer lugar, es fundamental tomar apuntes detallados sobre la lógica y el funcionamiento previsto para cada semáforo. Con el objetivo de facilitar este proceso, se ha creado una tabla específica para cada semáforo, donde se presentan los diferentes estados que se considerarán en la simulación.
Estas tablas permiten visualizar de manera clara y organizada los posibles estados en los que cada semáforo puede encontrarse durante el funcionamiento. Además, también se incluyen detalles sobre las transiciones entre estados, los tiempos de duración de cada fase y cualquier otro parámetro relevante para la operación del semáforo.
Dicha recopilación de información garantiza un enfoque sistemático y preciso al momento de diseñar la simulación. Asimismo, proporciona una base sólida para realizar análisis y optimizaciones futuras, ya que permite identificar posibles mejoras en la lógica de los semáforos y en su interacción con el tráfico vehicular.
Es importante destacar que la toma de apuntes precisa y detallada es esencial para mantener la coherencia y la eficiencia en la simulación. Cada elemento registrado en las tablas proporciona información valiosa que contribuye a la comprensión completa del comportamiento de los semáforos y a la validación de su correcto funcionamiento en la simulación.
Estadosparael primer botón
Estadosparael segundo botón
Estadosparael tercer botón
Al utilizar la herramienta Tinkercad para crear un esquema, es importante tener en cuenta que solo se encuentra disponible una variante de Arduino, específicamente el Arduino Uno. Esto implica que al desarrollar el código, debemos adaptarlo para que sea compatible con los pines disponibles en el Arduino Uno.
Al adaptar el código para el Arduino Uno en Tinkercad, es necesario asegurarse de que los pines utilizados en el código coincidan con los pines disponibles en el Arduino Uno. Por ejemplo, si el código originalmente utiliza un pin digital específico en otro modelo de Arduino, debemos ajustar el código para que utilice el pin correspondiente en el Arduino Uno.
Se implementó una configuración pull-down para el Dip Switch, con el objetivo de asegurar un correcto funcionamiento del circuito. Esta configuración permite que cuando la perilla del interruptor se mueva hacia arriba, el Arduino detecte que se ha enviado un pulso para activar el circuito.
Además, se colocaron los LEDs de acuerdo con los pines correspondientes, y se utilizaron resistencias apropiadas para cada uno de ellos. Esta medida de seguridad garantiza que los LEDs no se quemen debido a una corriente excesiva, ya que las resistencias limitan el flujo de corriente hacia los LEDs, asegurando así su durabilidad y correcta operación.
En primer lugar, se procede a realizar la declaración de los pines correspondientes al LED o botón que se va a utilizar:
// Definición de pines
const int greenLED1 = 2;
const int yellowLED1 = 3;
const int redLED1 = 4;
const int greenLED2 = 6;
const int yellowLED2 = 7;
const int redLED2 = 8;
const int greenLED3 = 9; // Nuevo semáforo - LED verde peatón
const int redLED3 = 10; // Nuevo semáforo - LED rojo peatón
const int buttonPin = 11;
const int button2Pin = 34;
const int button3Pin = 35;Después de eso, se procede a inicializar los botones con un valor lógico de 0. De esta manera, los LEDs funcionarán al leer un valor lógico de 1, y se configuran los LEDs como pines de salida (OUTPUT) para que Arduino envíe pulsos de 3.3V para encender cada LED. Los botones se configuran como pines de entrada (INPUT), ya que leerán un pulso de 3.3V.
// Variables
int buttonState = 0;
int button2State = 0;
int button3State = 0;
void setup() {
// Configurar pines como salidas o entradas
pinMode(greenLED1, OUTPUT);
pinMode(yellowLED1, OUTPUT);
pinMode(redLED1, OUTPUT);
pinMode(greenLED2, OUTPUT);
pinMode(yellowLED2, OUTPUT);
pinMode(redLED2, OUTPUT);
pinMode(greenLED3, OUTPUT);
pinMode(redLED3, OUTPUT);
pinMode(buttonPin, INPUT);
pinMode(button2Pin, INPUT);
pinMode(button3Pin, INPUT);
}Después de eso, se utilizará el diagrama de estados en el bucle principal (void loop) para escribir un estado HIGH o LOW según sea necesario.
Funcionamiento (Video)Conclusiones- Se utilizaron materiales de bajo costo y fácilmente disponibles en el mercado, como Arduino MEGA 2560, LEDs, botones y jumpers. Esto destaca la accesibilidad y la viabilidad económica del proyecto, lo que puede fomentar la adopción de soluciones similares en otras áreas o instituciones con recursos limitados.
- Debido a los inconvenientes surgidos con la placa de Texas Instruments, específicamente la CC1352R LAUNCHPAD, relacionados con la declaración de los pines GPIO y el envío de pulsos a través de los mismos, se ha tomado la decisión de llevar a cabo este proyecto utilizando un Arduino Mega 2560 como alternativa.
- Las dificultades encontradas en la CC1352R LAUNCHPAD han llevado a la necesidad de cambiar a un hardware más confiable y compatible, como es el caso del Arduino Mega 2560. Esta placa ofrece una amplia gama de pines GPIO y una interfaz bien documentada, lo que facilitará la correcta configuración y operación del sistema de control de tráfico con cruce de peatones.
- La elección del Arduino Mega 2560 como reemplazo se basa en su capacidad para funcionar como el cerebro central del proyecto, controlando de manera eficiente los LEDs y los botones necesarios para el correcto funcionamiento de las señales de tráfico. Además, su disponibilidad y costo accesible en el mercado también han sido consideraciones importantes para asegurar la viabilidad del proyecto.


_wzec989qrF.jpg?auto=compress%2Cformat&w=48&h=48&fit=fill&bg=ffffff)








Comments