Sistema de Vigilancia de Tráfico mediante MATLAB y Arduino

En los tiempos actuales, el aumento del tráfico está agravando los principales problemas de las ciudades en desarrollo. Las carreteras principales están llenas de tráfico de vehículos en cada vía o semáforo (punto de intersección). Nos encontramos con el problema común de los atascos en casi todos los cruces, lo que es incluso crítico si vas a las grandes ciudades. Se desperdicia mucho tiempo, energía y combustible precioso simplemente debido a estos atascos en las carreteras.

Para solucionar este problema, se utilizan cámaras de tráfico en los puntos de intersección de tráfico. Las cámaras de tráfico capturan imágenes de vehículos en el tráfico y las envían a MATLAB, así que comience con matlab . Aquí, en este proyecto, se demuestra el sistema de vigilancia del tráfico cómo se puede controlar el tráfico en los puntos de intersección desde la sala de control de tráfico. Se trata de un sistema muy eficaz para la Vigilancia del Tráfico.

A continuación se muestran algunas instantáneas que muestran el funcionamiento del sistema de vigilancia de tráfico basado en Arduino.

Imagem mostrando o funcionamento do sistema de vigilância de tráfego baseado em Arduino e Matlab

Figura 1: Imagen que muestra el funcionamiento del sistema de vigilancia de tráfico basado en Arduino y Matlab

Protótipo de sistema de vigilância de tráfego baseado em Arduino e Matlab

Figura 2: Prototipo de sistema de vigilancia de tráfico basado en Arduino y Matlab

Imagem mostrando caixas de fósforos usadas como carros no modelo do protótipo

Figura 3: Imagen que muestra cajas de cerillas utilizadas como automóviles en el modelo prototipo

Imagem do código Matlab usado no sistema de vigilância de tráfego

Figura 4: Imagen del código Matlab utilizado en el sistema de vigilancia de tráfico

Imagem da fotografia capturada do tráfego no Matlab

Figura 5: Imagen de fotografía capturada del tráfico en Matlab

Imagem de imagem filtrada de tráfego no Matlab

Figura 6: Imagen filtrada del tráfico en Matlab

Imagem do relatório de trânsito enviado para o número de celular cadastrado como SMS

Figura 7: Imagen del reporte de tráfico enviado al número de celular registrado como SMS

Descripción

El funcionamiento de este Sistema de Vigilancia de Tráfico es fácil y bastante sencillo. El primer lector necesita saber cómo empezar con Arduino . Hay dos placas Arduino UNO que se utilizan para controlar todas las operaciones. En el proyecto también se utilizan tecnologías GPS y GSM. Aquí se usa GPS con Arduino para obtener coordenadas de un atasco y GSM con Arduino para enviar estas coordenadas a la Sala de Control de Tráfico. Pero además de GPS y GSM hay dos cosas más importantes que se utilizan en el Proyecto de Vigilancia del Tráfico: Cámaras y MATLAB.

Diagrama de blocos do sistema de vigilância de tráfego baseado em Arduino e Matlab

Figura 8: Diagrama de bloques del sistema de vigilancia de tráfico basado en Arduino y Matlab

Diagrama de bloques sin LCD

MATLAB envía comandos a cámaras para capturar imágenes de tráfico, donde posteriormente MATLAB identifica o cuenta el número total de vehículos en la intersección de tráfico o en la carretera. Si el número total de vehículos en la carretera excede los límites en una situación determinada, MATLAB envía señales al Arduino UNO (A).

Arduino UNO (A) envía una interrupción al segundo Arduino UNO (B). Ahora el segundo Arduino UNO (B) toma las coordenadas del atasco y envía estas coordenadas a la sala de control de tráfico mediante el módulo GSM. Aquí puede utilizar una pantalla LCD para mostrar el estado del tráfico, como atasco o falta de tráfico.

Diagrama de blocos do sistema de vigilância de tráfego baseado em Arduino e Matlab

Figura 9: Diagrama de bloques del sistema de vigilancia de tráfico basado en Arduino y Matlab

Diagrama de bloques con LCD

Diagrama de circuito y explicación de programación.

Descripción del circuito

El circuito de este sistema también es bastante sencillo. Puede conectar todo el sistema mediante un cable de puente. La cámara de una computadora portátil se utiliza como cámara de tráfico con fines de seguimiento y se utilizan cajas de cerillas en lugar de vehículos. MATLAB también se utiliza en Laptop para procesar el funcionamiento del proyecto. El Arduino se conecta directamente a la computadora portátil mediante USB. El pin número 8 de Arduino UNO (A) está conectado directamente al pin número 8 de Arduino UNO (B). Un módulo GPS y un módulo GSM están conectados al Arduino UNO (B). También puede conectar una pantalla de cristal líquido (LCD) de 16 × 2 al Arduino UNO (B) para mostrar el estado del tráfico.

Consulte la guía del diagrama de circuito para sin LCD y con LCD

Programa

Existen tres programas para este sistema, el primero es el programa Arduino MATLAB para procesamiento de imágenes y conteo de vehículos. El archivo del paquete de soporte Arduino MATLAB debe estar instalado en su computadora (consulte el artículo anterior sobre la interfaz GUI con Arduino). El segundo programa es también el paquete de soporte Arduino MATLAB (consulte el artículo anterior sobre la interfaz GUI con Arduino) para Arduino UNO (A). El tercer programa es para Arduino UNO (B) que toma el control de GPS, GSM y LCD.

Captura de tela do código Arduino usado para inicialização do sistema de vigilância de tráfego

Figura 10: Captura de pantalla del código Arduino utilizado para inicializar el sistema de vigilancia de tráfico

Captura de tela do código Matlab usado no sistema de vigilância de tráfego

Figura 11: Captura de pantalla del código Matlab utilizado en el sistema de vigilancia de tráfico

Componentes utilizados

1. Dos placas Arduino UNO

2. Módulo GSM

3. Módulo GPS

4. Portátil

5. Pantalla de cristal líquido 16X2 (opcional)

6. Fuente de alimentación

7. Cables de conexión

Código fuente del proyecto

###

 //#incluir 
//Cristal líquido lcd(7, 6, 5, 4, 3, 2);

 cadena de caracteres (70);
 char *prueba="$GPGGA";
 longitud de caracteres (10);
 latitud de caracteres (10);

 intEn=8;
 //intLED=8;

 int i,j,k;
 temperatura interna;
 //intCtrl+z=26;   //para enviar mensaje

 configuración vacía
 {
 // lcd.begin(16,2);
 Serie.begin(9600);
 pinMode(Entrada, ENTRADA);
 // pinMode(LED, SALIDA);
 // lcd.setCursor(0,0);
 // lcd.print(" tráfico ");
 // lcd.setCursor(0,1);
 // lcd.print("supervivencia");
 // retraso(4000);
 }

 bucle vacío
 {

 mientras(digitalRead(En) != 1);
 si (temperatura==1)
 {
   for(i=18;i<27;i++) //extraer latitud de la cadena
   {
     latitud(j)=cadena(i);
     j++;
   }

   for(i=30;i<39;i++) //extraer longitud de la cadena
   {
     longitud(k)=str(i);
     k++;
   }

  // lcd.setCursor(0,0);       //muestra latitud y longitud en una pantalla LCD de 16X2
  // lcd.print("Lat(N)");
  // lcd.print((unsigned)latitud); 
// lcd.setCursor(0,1);
 // lcd.print("Lon(E)");
 // lcd.print((unsigned)logitud);
 // retraso(100);
 // escritura digital(LED, ALTA);
 Serial.println("AT+CMGF=1");   //selecciona el modo texto
 retraso(10);
 Serial.println("AT+CMGS="9610126059""); //ingresa el número de recibo
 Serial.println("Atasco de tráfico ");
 Serial.print("Latitud(N): ");            //ingresa latitud en mensaje
 Serial.println(latitud);
 Serial.print("Longitud(E): ");           //ingresa longitud en mensaje
 Serial.println(logitud);
 //ingresa el valor de latitud en el mensaje
 //ingresa el valor de longitud en el mensaje
 Serial.println("Gracias");
 Serie.write(26);                     //enviar mensaje Ctrl+z=26
 temperatura=0;
 yo=0;
 j=0;
 k=0;
 retraso(4000);                       // próxima lectura dentro de 20 segundos
 // escritura digital(LED, BAJO);
 }
 }
 
evento serial nulo
 {
 while (Serial.available) //Datos seriales entrantes desde GPS
 {
 char inChar = (char)Serial.read;
 str(i)= enChar;                   //almacena los datos entrantes del GPS en una cadena temporal
 yo ++;
 si (yo < 7)
 {
 if(str(i-1) != test(i-1)) //comprueba la cadena correcta
 {
 yo=0;
 }
 }
 si(yo >=60)
 {
 temperatura=1;
 }
 }
 }


###

Diagramas de circuito

Diagrama-de-circuito-sistema-de-vigilancia-de-tráfico-basado-Arduino-Matlab
Diagrama de circuito-Sistema-de-vigilancia-de-tráfico-basado-Arduino-Matlab_0

Vídeo del proyecto

https://www.youtube.com/watch?v=M-WCH1v76tg

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.