Radarduino
RADARDUINO
~Sistema Empotrados y de Tiempo Real~
Grupo 23:
Manuel Belver
Prieto
Prieto
Vanesa Maseli
Martín
Martín
Maria Santiago
Corral
Corral
Índice
1. Introducción
2. Componentes y precio
3. Esquema de conexión
4. Proceso de montaje
5. Funcionamiento
6.
Problemas y soluciones
7. Posibles mejoras
8. Anexos
2. Componentes y precio
3. Esquema de conexión
4. Proceso de montaje
5. Funcionamiento
6.
Problemas y soluciones
7. Posibles mejoras
8. Anexos
1. Introducción
Radarduino es el
nombre que recibe el proyecto por el que nuestro grupo de trabajo se ha
decantado. Como se puede intuir a través de su nombre, se trata de un radar de
velocidad para vehículos.
nombre que recibe el proyecto por el que nuestro grupo de trabajo se ha
decantado. Como se puede intuir a través de su nombre, se trata de un radar de
velocidad para vehículos.
La decisión de
llevar a cabo dicho proyecto y no otro, se tomó por unanimidad de todos los
componentes del grupo. Nos decantamos por esta opción ya que no resultaba
interesante el hecho de tratarse de una situación cotidiana y poder ver de forma
directa su aplicación real, además de que contribuye a salvar vidas y
accidentes ya que presiona más a respetar los límites de velocidad.
llevar a cabo dicho proyecto y no otro, se tomó por unanimidad de todos los
componentes del grupo. Nos decantamos por esta opción ya que no resultaba
interesante el hecho de tratarse de una situación cotidiana y poder ver de forma
directa su aplicación real, además de que contribuye a salvar vidas y
accidentes ya que presiona más a respetar los límites de velocidad.
Nuestro radar está
pensado para ser utilizado en zonas de propiedad privada tales como industrias,
parkings, urbanizaciones privadas, entre otros. El motivo de esto es que
nuestro proyecto está diseñado para carreteras unidireccionales.
pensado para ser utilizado en zonas de propiedad privada tales como industrias,
parkings, urbanizaciones privadas, entre otros. El motivo de esto es que
nuestro proyecto está diseñado para carreteras unidireccionales.
Además, nuestro Radarduino
no tiene un fin sancionador sino que esta ideado con el objetivo de garantizar
la seguridad vial dentro de un recinto privado.
no tiene un fin sancionador sino que esta ideado con el objetivo de garantizar
la seguridad vial dentro de un recinto privado.
2. Componentes y precio
COMPONENTE |
CANTIDAD |
PRECIO
UNITARIO |
GASTOS DE ENVÍO |
PRECIO TOTAL COMPONENTE |
2 |
4,13 € |
– |
8,26 € |
|
1 |
3,75 € |
– |
3,75 € |
|
1 |
2,70 € |
1,49 € |
4,19 € |
|
1 |
8,79 € |
2,10 € |
10,89 € |
|
10 |
2,36 € |
– |
2,36 € |
|
1 |
2,08 € |
– |
2,08 € |
|
1 |
1,08 € |
0,90 € |
1,98 € |
|
65 |
1,82 € |
0,65 € |
2,47 € |
|
1 |
3,18 € |
– |
3,18 € |
|
15 |
2,38 € |
– |
2,38 € |
|
40 |
2,95 € |
– |
2,95 € |
|
Materiales maqueta |
– |
20 € |
– |
20 € |
PRECIO TOTAL |
64,49 € |
Como podemos observar en la tabla el precio total de nuestro
proyecto es de 64.49€.
proyecto es de 64.49€.
3. Esquema de conexión
- Diodos láser:
- Necesario:
- 2 diodo láser LED
- 2 resistencias de 100 Ω
- Cable
- Proceso de montaje e
incorporación en práctica - Se unen el diodo láser y la resistencia. El
polo positivo de cada LED se une con el pin (en nuestro proyecto, el pin
digital 26 y el 28, respectivamente). El polo negativo se une a GND (tierra).
- LDR (fotorresistencias)
- Necesario:
- 2 fotorresistencias LDR
- 2 resistencias de 10K
- Cable
- Proceso
de montaje e incorporación en práctica: - Para poder usar la fotorresistencia usamos un
divisor de tensión clásico, para ello unimos la fotorresistencia y la
resistencia. Conectamos la pata sobrante de la resistencia a GND (tierra) y la
pata de la fotorresistencia a VCC (+5V). - En la unión entre la resistencia y la LDR
(fotorresistencia), soldamos un cable que irá hasta nuestro pin de Arduino (A0,
en caso de la primera y A1, en la segunda).
- Modulo wifi ESP8266:
- Necesario
- Módulo
WiFi ESP8266 - Cables
- Proceso de montaje e incorporación en
práctica - Existe
mucha bibliografía y discusiones sobre el montaje y conexiones de este módulo
con Arduino: divisores de tensión, fuente de alimentación externa, etc. - Nosotros
hemos seguido las conexiones que hemos encontrado en el siguiente esquema, con
modificaciones, ya que el Arduino utilizado por nosotros se trata de un Arduino
Mega. - Las
conexiones que aparecen rojas en el dibujo se conectan a 3.3V y la conexión
GND, lógicamente a GND. Los mayores cambios se aplican tanto a TxD (conectado a
RX1, pin 18 en Mega) y RxD (coectado a TX1, pin 19 en Arduino Mega), para que
podamos comunicarnos con este módulo por el Serial1.
- Pantalla LCD:
- Necesario:
- Pantalla LCD
- Módulo I2C controller
- Cables
- Proceso
de montaje e incorporación en práctica: - Soldamos la pantalla LCD al módulo I2C y como
resultado sólo tendremos 4 pines finales. - Estos pines son VCC, GND, SDA y SCL que van a
los pines con el mismo nombre en Arduino Mega. Los pines SDA y SCL son el 20 y
el 21, respectivamente.
- Matriz LED RGB 8×8
- Necesario:
- Matriz LED RGB 8X8
- Soldador de estaño y estaño
- Resistencias
- Cable
- Proceso
de montaje e incorporación en práctica: - Queremos controlar la matriz solamente con 4
pines, por lo que soldamos o unimos los pines de la matriz de tal forma que con
sólo estos 4, podamos controlar que se encienda entera de un color RGB (o
combinaciones de ellos). - Para ello, analizamos el esquema de la matriz.
- Podemos observar que los pines
17,18,19,20,29,30,31 y 32 son los que alimentan el positivo de los diodos. Se
trata de los pines que apagan y encienden las filas de la matriz - Los pines 9,10,11,12,13,14,15 y 16, controlan
las columnas del color rojo (si están en LOW se encenderá el color) . - Los pines 1,2,3,4,5,6,7 y 8, controlan las
columnas del color azul (si están en LOW se encenderá el color). - Los pines 28,27,26,25,24,23,22 y 21,
controlan las columnas del color verde (si están en LOW se encenderá el color). - Cada uno de estos colores se une a una
resistencia y se unen a los pines correspondientes de la matriz.
4.Proceso de montaje
Para poder realizar la demostración de nuestro
proyecto Arduino hemos elaborado una maqueta. En las siguientes fotografías se
pueden apreciar algunos de los pasos que hemos seguidos durante este proceso.
proyecto Arduino hemos elaborado una maqueta. En las siguientes fotografías se
pueden apreciar algunos de los pasos que hemos seguidos durante este proceso.
5. Funcionamiento
El proyecto consiste en
dos diodos láser, uno que detectara la entrada del vehículo y otro la salida. Ambos diodos nos aportarán los datos necesarios para el
cálculo de la velocidad a la que circula dicho vehículo. Una vez que el automóvil
pasa por el último diodo laser, se mostrará por la pantalla LCD la velocidad a
la que circula y, a través de una matriz
de LEDs, se mostrara un color indicativo dependiendo de la velocidad a la que
circula. Este color es rojo si supera la velocidad del límite establecido,
verde si circula por debajo del límite y amarillo si circula a un margen del
10% superior o inferior al límite.
dos diodos láser, uno que detectara la entrada del vehículo y otro la salida. Ambos diodos nos aportarán los datos necesarios para el
cálculo de la velocidad a la que circula dicho vehículo. Una vez que el automóvil
pasa por el último diodo laser, se mostrará por la pantalla LCD la velocidad a
la que circula y, a través de una matriz
de LEDs, se mostrara un color indicativo dependiendo de la velocidad a la que
circula. Este color es rojo si supera la velocidad del límite establecido,
verde si circula por debajo del límite y amarillo si circula a un margen del
10% superior o inferior al límite.
Además, hemos hecho que Arduino
funcione como un servidor web a través delmódulo ESP8266, de tal manera que la
persona que se encarga de controlar el radar podrá cambiar el límite velocidad,
el espacio y poder encender o apagar el radar.
funcione como un servidor web a través delmódulo ESP8266, de tal manera que la
persona que se encarga de controlar el radar podrá cambiar el límite velocidad,
el espacio y poder encender o apagar el radar.
6.
Problemas y soluciones
Como es habitual en el
desarrollo de cualquier proyecto nos hemos tenido que enfrentar a diversos
problemas que nos han ido surgiendo a lo largo de todo el proceso y buscar una
solución optima para los mismos.
desarrollo de cualquier proyecto nos hemos tenido que enfrentar a diversos
problemas que nos han ido surgiendo a lo largo de todo el proceso y buscar una
solución optima para los mismos.
A continuación vamos a
explicar los problemas más relevantes que hemos tenido:
explicar los problemas más relevantes que hemos tenido:
- En un principio no podíamos controlar la
velocidad máxima, es decir, era una
constante y eso no siempre es así dado que dependiendo las circunstancias puede
variar. Así mismo, tampoco podíamos variar el espacio ni apagar o encender el
radar a voluntad. La solución que hemos desarrollado a esto fue crear un
servidor web a través del módulo ESP8266 de tal manera que estos valores se
envíen a través de un formulario al programa de Arduino y pueda ser manejado
por la persona encargada de controlar el radar. - No había ninguna manera de avisar al
conductor sobre si su velocidad es apropiada o no de acuerdo al límite de
velocidad permitido. Como solución a esto decidimos usar dos matrices LED RGB
que se encenderán de color rojo, verde o amarillo dependiendo de la velocidad a
la que circule. - Para usar las dos matrices LED RGB
necesitábamos 64 pines digitales y Arduino no cuenta con tantos pines digitales
por tanto una solución podría haber sido usar desplazadores de registro. Sin embargo,
la mejor opción para nuestro caso es modificar la matriz para que se pudiera
controlar con solo 4 pines pero reduciendo sus prestaciones, es decir, solo
podremos encender la matriz entera del mismo color. Como nuestra idea es usar
la matriz a modo de semáforo es la mejor
opción y, por tanto, la que hemos aplicado. - No trabajar con tipos de datos float ya que
aumenta el tiempo de procesamiento. Como consecuencia de esto hemos modificado
las operaciones del cálculo de velocidad y el coeficiente para que el resultado
fuese un número entero.
7.
Posibles mejoras
Al analizar nuestro proyecto
una vez finalizado somos conscientes de que se podrían llevar a cabo una serie
de mejoras para optimizar su funcionamiento.
Estas mejoras podrían ser
las siguientes.
una vez finalizado somos conscientes de que se podrían llevar a cabo una serie
de mejoras para optimizar su funcionamiento.
Estas mejoras podrían ser
las siguientes.
- Usar Radarduino en una carretera
bidireccional. Para hacer esto habría que poner dos Radarduino, es decir, uno
en cada carril. Esto no sería óptimo ya
que lo apropiado seria que una misma placa de Arduino controlase los dos
carriles.
- Todo vehículo que exceda el límite de
velocidad será fotografiado por Radarduino. Para ello habría que conectar una
cámara a Arduino.
- Mientras se está mostrando la velocidad en el
LCD y la matriz, Radarduino no detecta el paso de ningún coche. Para solucionar
esto, podríamos usar multitarea mediante threads.