¿Cómo hacer un controlador de semáforo basado en Arduino?

¿Cómo hacer un controlador de semáforo basado en Arduino?

Los semáforos son dispositivos de señalización que se utilizan para controlar el flujo de tráfico en las intersecciones de una carretera, cruces de peatones y otros lugares. Es una combinación de tres colores de luz que son rojo, amarillo y verde. La luz roja le dice a la gente que se detenga, la amarilla le dice que se prepare o arranque el motor si está apagado y la luz verde indica que está libre para seguir adelante.

Semáforos



En este proyecto, vamos a realizar un sistema de señales de tráfico de 4 vías utilizando un microcontrolador. Vamos a quemar un Código C en la placa Arduino Uno para indicarle cómo encender y apagar los LED para que se pueda lograr el momento perfecto de conmutación en el proceso de señalización. Se utilizarán 4 combinaciones de 4 LED y se colocarán en la placa de pruebas para fines de prueba.



¿Cómo hacer una señal de tráfico de 4 vías usando Seeeduino v4.2?

Las señales de tráfico son lo más importante que se instala en las carreteras para mantener un flujo de tráfico suave y constante y minimiza la posibilidad de accidentes. Podemos hacer este proyecto en una pequeña placa de pruebas. Recopilemos información sobre este proyecto y comencemos a trabajar.

Paso 1: recopilación de los componentes

El mejor enfoque para iniciar cualquier proyecto es hacer una lista de componentes completos al inicio y hacer un breve estudio de cada componente. Esto nos ayuda a evitar los inconvenientes en medio del proyecto. A continuación se proporciona una lista completa de todos los componentes utilizados en este proyecto.



  • Seeeduino V4.2
  • Cables de puente
  • LED (4xVerde, 4xAmarillo, 4xRojo)
  • Adaptador de 12V CA a CC

Paso 2: estudiar los componentes

Ahora que conocemos el resumen de nuestro proyecto y también tenemos una lista completa de todos los componentes, avancemos un paso y revisemos un breve estudio de los componentes que vamos a utilizar.

Seeeduino v4.2 es una de las mejores placas compatibles con Arduino del mundo que se basa en el microcontrolador Atmega 328 MCU. porque es fácil de usar, más estable y se ve mejor que muchas otras placas. Está basado en el gestor de arranque Arduino. tiene un ATMEGA16U2 como convertidor de UART a USB debido a que se puede utilizar como chip FTDI. se conecta a la computadora mediante un cable micro USB que generalmente se denomina cable de Android. También se puede utilizar un conector de CC para alimentar la placa. la potencia de entrada debe ser de 7 V a 15 V.

Seeeduino



A Tablero de circuitos es un dispositivo sin soldadura. Se utiliza para hacer y probar prototipos temporales de circuitos y diseños electrónicos. La mayoría de los componentes electrónicos se conectan simplemente a una placa de pruebas simplemente insertando sus pines en la placa de pruebas. Se coloca una tira de metal por los orificios de la protoboard y los orificios se conectan de una manera específica. Las conexiones de los agujeros se muestran en el siguiente diagrama:

Tablero de circuitos

Paso 3: Principio de funcionamiento

Repasemos una breve introducción al principio de funcionamiento del proyecto de señales de tráfico de 4 vías. Como se trata de un 4 vías, necesitaremos doce LED y cuatro combinaciones de tres LED. El código está escrito de modo que si una combinación muestra una luz verde, todas las demás combinaciones mostrarán una luz roja. Si una señal cambia de verde a amarillo o de rojo a amarillo, otra combinación de LED también mostrará una transacción de rojo a amarillo o de amarillo a rojo, respectivamente.

Todo esto se hará con un retraso de tiempo entre la transición de las señales. Por ejemplo, un LED permanecerá verde durante casi quince segundos, un LED permanecerá amarillo durante casi dos segundos. La duración del LED rojo depende de la duración del LED verde. Significa que si un LED está en verde durante quince segundos, todos los demás LED rojos permanecerán encendidos durante quince segundos.

Paso 4: Hacer el circuito

Ahora que conocemos el funcionamiento principal de los componentes, sigamos adelante y comencemos a ensamblar los componentes para hacer el circuito. Siga los siguientes pasos para conectar todos los componentes correctamente en la placa.

  1. En primer lugar, tome todos los LED y conéctelos en la placa de pruebas en el orden correcto como rojo, amarillo y verde.
  2. Haga una conexión común de las tierras de todos los LED. Es mejor conectar una resistencia de 220 ohmios al terminal positivo del LED.
  3. Ahora conecte los cables de conexión en consecuencia.
  4. Ahora conecte los LED al Arduino como se muestra en el diagrama de circuito a continuación. LED-1, LED-2 hasta LED-12 se conectarán al pin1, pin2 hasta pin12 de la placa Arduino Uno.
  5. Cargue el código en el Arduino Uno y enciéndalo usando una computadora portátil o el adaptador de CA a CC.
  6. El circuito se verá como la imagen que se muestra a continuación:

    Diagrama de circuito

Paso 5: Empezando con Arduino

Si no está familiarizado con Arduino IDE antes, no se preocupe porque a continuación, puede ver pasos claros para grabar código en la placa del microcontrolador usando Arduino IDE. Puede descargar la última versión de Arduino IDE desde aquí y siga los pasos que se mencionan a continuación:

1). Cuando la placa Arduino esté conectada a su PC, abra 'Panel de control' y haga clic en 'Hardware y sonido'. Luego haga clic en 'Dispositivos e impresoras'. Busque el nombre del puerto al que está conectada su placa Arduino. En mi caso es “COM14” pero puede ser diferente en tu PC.

Encontrar puerto

2). Ahora abra el IDE de Arduino. Desde Herramientas, configure la placa Arduino en Arduino / Genuino UNO.

Tablero de ajuste

3). Desde el mismo menú de Herramientas, configure el número de puerto que vio en el panel de control.

Puerto de configuración

4). Descargue el código adjunto a continuación y cópielo en su IDE. Para cargar el código, haga clic en el botón de carga.

Subir

Puede descargar el código por haciendo clic aquí.

Paso 6: Código

El código está bien comentado y se explica por sí mismo, pero aún así, una parte del código se explica brevemente a continuación.

1. Al principio, se nombran todos los pines, que luego se conectarán a Arduino.

int led1 = 1; // luz roja 1 int led2 = 2; // luz amarilla 1 int led3 = 3; // luz verde 1 int led4 = 4; // luz roja 2 int led5 = 5; // luz amarilla 2 int led6 = 6; // luz verde 2 int led7 = 7; // luz roja 3 int led8 = 8; // luz amarilla 3 int led9 = 9; // luz verde 3 int led10 = 10; // luz roja 4 int led11 = 11; // luz amarilla 4 int led12 = 12; // luz verde 4

2. configuración vacía () es una función en la que declaramos todos los pines de la placa Arduino para ser utilizados como ENTRADA o SALIDA. La velocidad en baudios también se configura en esta función. La tasa de baudios es la velocidad de comunicación en bits por segundo por la cual la placa del microcontrolador se comunica con los dispositivos externos. Esta función solo se ejecuta una vez cuando se presiona el botón de habilitación de la placa del microcontrolador.

void setup () {Serial.begin (9600;) // La velocidad en baudios se establece en 9600 pinMode (led1, OUTPUT); // Todos los pines conectados a los LED se configuran como OUTPUT pinMode (led2, OUTPUT); pinMode (led3, SALIDA); pinMode (led4, SALIDA); pinMode (led5, SALIDA); pinMode (led6, SALIDA); pinMode (led7, SALIDA); pinMode (led8, SALIDA); pinMode (led9, SALIDA); pinMode (led10, SALIDA); pinMode (led11, SALIDA); pinMode (led12, SALIDA); }

3. El bucle vacío es una función que se ejecuta repetidamente en un bucle. En esta función, codificaremos todo el procedimiento mediante el cual el microcontrolador controlará los LED externos. A continuación se proporciona un pequeño fragmento de código. Aquí la luz verde del primer lado está encendida y todos los demás lados tienen su luz roja encendida. Estas luces permanecerán en este estado durante 15 segundos. Después de 15 segundos, la luz amarilla del primer y segundo lado se encenderá, los otros dos lados tendrán su luz roja encendida. Después de un retraso de dos segundos, el primer lado tendrá su luz roja encendida y el segundo lado tendrá su luz verde encendida. Esto sucederá hasta que los cuatro lados tengan sus luces verdes encendidas, en su turno y luego el bucle se repetirá.

digitalWrite (led1, BAJO); // La luz roja del primer lado está apagada digitalWrite (led2, LOW); // luz amarilla f el primer lado está apagado digitalWrite (led3, HIGH); // La luz verde del primer lado está en digitalWrite (led4, HIGH); // La luz roja del segundo lado está en digitalWrite (led5, LOW); // la luz amarilla del segundo lado está apagada digitalWrite (led6, LOW); // la luz verde del segundo lado está apagada digitalWrite (led7, HIGH); // La luz roja del tercer lado está en digitalWrite (led8, LOW); // la luz amarilla del tercer lado está apagada digitalWrite (led9, LOW); // la luz verde del tercer lado está apagada digitalWrite (led10, HIGH); // la luz roja del cuarto lado está en digitalWrite (led11, LOW); // la luz amarilla del cuarto lado está apagada digitalWrite (led12, LOW); // la luz verde del cuarto lado está apagada delay (15000); // debido a un retraso de 15 segundos, la luz verde del primer lado y las luces rojas de los otros tres lados permanecerán encendidas durante 15 segundos digitalWrite (led1, LOW); // la luz roja del primer lado está apagada digitalWrite (led2, HIGH); // La luz amarilla del primer lado está en digitalWrite (led3, LOW); // la luz verde del primer lado está apagada digitalWrite (led4, LOW); // la luz roja del segundo lado está apagada digitalWrite (led5, HIGH); // La luz amarilla del segundo lado está en digitalWrite (led6, LOW); // la luz verde del segundo lado está apagada digitalWrite (led7, HIGH); // La luz roja del tercer lado está en digitalWrite (led8, LOW); // la luz amarilla del tercer lado está apagada digitalWrite (led9, LOW); // la luz verde del tercer lado está apagada digitalWrite (led10, HIGH); // la luz roja del cuarto lado está en digitalWrite (led11, LOW); // la luz amarilla del cuarto lado está apagada digitalWrite (led12, LOW); // la luz verde del cuarto lado está apagada delay (2000); // debido a un retraso de 2 segundos, la luz amarilla del primer y segundo lado permanecerá encendida

Entonces, este fue todo el procedimiento para hacer una señal de tráfico de 4 vías. Ahora, puede disfrutar haciéndolo para su aprendizaje o un proyecto escolar.