Sunteți pe pagina 1din 16

XII FUNCTEC -2014

28 de abril de 2014
Sensor de estacionamiento Ultrasonido
Tutor:
Ledezma Lord Eddy
Estudiantes:
Ibieta Martinez Jos Manuel
Rodrguez Andrade Adrin Mauricio
Uruchi Quispe Rodrigo Alexis
ndice
1. Resumen
2. Antecedentes
3. Objetivo
4. Marco Terico
5. Desarrollo del Proyecto
6. Discusin
7. Conclusiones
8. Anexos
9. Bibliografa y Webgrafa
10. Link del Video
1. Resumen
El proyecto est orientado a un sistema para detectar objetos cercanos y
as poder implementarlo a un automvil, que ser uno a control remoto,
se usara una placa arduino para poder controlar el funcionamiento del
sensor y un parlante para que nos indique cuando un objeto este cerca
de este. Ya que el sensor es ultrasonido el odo humano no podra
detectarlo entonces implementando el parlante se podr convertir esa
frecuencia no audible en una que si se puede or.
2. Antecedentes
En el mundo del manejo de un automovil existen varios inconvenientes a
la hora de estacionar, uno de ellos es tener que lidiar con el angulo de
vision y, por consecuencia, es no saber la distancia que nos queda antes
de colisionar con un objeto cercano. Esto causa no poder estacionar con
seguridad. En Bolivia existen algunos autos que ya cuentan con su
sistema de estacionamiento que les avisa cuando hay un objeto cerca
pero son muy pocos y son autos demasiados caros, pero se puede

implementar un circuito a todos los autos para que todos cuenten con un
sistema de este tipo y as librarse de las colisiones por el parqueo.
Una de las diversas soluciones para este problema es utilizar un sensor
de estacionamiento. Que nos brindar mayor seguridad en el
aparcamiento de automovil evitando asi choques por falta de vision.
3. Objetivo
Crear un sensor de distancia por ultrasonido para evitar choques y
facilitar el estacionamiento de un vehculo.
4. Marco Teorico
a. Qu es Ultrasonido?
Un ultrasonido es una onda sonora que se encuentra fuera del
rango audible por el odo humano, aproximadamente 20 kHz.
b. Cmo funciona un sensor Ultrasonido?
Un sensor ultrasonido tiene un Emisor y un Receptor, el cual
emite un tren de pulsos ultrasonicos y el receptor recibe el eco de
dicho tren de pulsos en algun objeto.
La distancia la medimos a travs de la formula:
d
v=
t
Donde:
v es la velocidad
d es la distancia
t es el tiempo
Si tenemos en cuenta que la velocidad del sonido a temperatura
ambiente (20) es de: 343 m/s o, su equivalente, 34300 cm/s,
podemos calcular el tiempo que las ondas tardan en recorrer 1
centmetro:

1 c ( m )=

1( s)
=29,15 (s )
cm
34300( )
s

Sabiendo que la onda tarda 29,15 uS en recorrer 1 cm, y que el


sensor nos dar el tiempo de la seal desde que es enviada hasta
que el receptor captura su eco, calculamos la distancia de la
siguiente manera

tiempo de la seal
29,15 (s)
distancia en cm=
2

La divisin por 2 se debe a que la seal desde que es enviada por


el emisor, recorre la distancia hasta el objeto, y vuelve por el
mismo camino hasta el receptor como se puede ver en la
siguiente imagen, de modo que la onda recorre 2 veces el mismo
camino, por lo que si no realizamos esta operacin, la distancia
resultante en centmetros sera el doble de la que hay realmente
entre el sensor y el objeto.

c. Qu se realizar?
Se puede aplicar esto ubicando el sensor de ultrasonido HCSR04 para medir la distancia y ubicar ste en un automovil, en la
parte del parachoques, donde se podra saber cuando el vehiculo
este cerca de un objeto y de esta manera evitar el choque de
estos. Todo esto en colaboracion de un parlante que anunciara
que la distancia minima, o tambien denominada SetPoint, ha sido
superado.

5. Desarrollo del Proyecto


a. Materiales
Para el desarrollo del proyecto se utilizaran componentes
electrnicos y en especial un Arduino, un sensor HC-SR04

(ultrasonidos), protoboard, un altavoz, led, visualizadores de 7


segmentos y cables de arduino.

b. Breve Explicacin
Con el arduino se lograra controlar el sensor de ultrasonido, por
medio de programacin y una conexin fsica de ambos, la
programacin ser desarrollada en la propia plataforma con la que
arduino cuenta, llamada de igual forma.
Se implementar el proyecto conectando un sensor de ultrasonido
con emisor y receptor (HC-SR04), que cuando este detecte un
objeto muy cercano (que sobre pase el lmite) mande una seal
sonora y nosotros podamos escucharlo sin problemas, adems un
Led nos indicara que tan cerca est el objeto de una forma que
parpadeara ms rpido si el objeto esta mas cerca, asimismo la
distancia medida ser mostrada a travs de los visualizadores de
7 segmentos; como es un sensor los datos que nos dar sern
analgicos y estos sern enviados por los puertos de entrada
analgica hacia el arduino. Con los datos obtenidos y mediante la
plataforma de arduino, principalmente, podremos realizar este
experimento.

c. Diagrama de conexin
La conexin a la plataforma Arduino se realizara de la siguiente
manera.

d. Cdigo Utilizado para arduino


El cdigo implementado funciona con libreras creadas por el
usuario, donde se define como funcionara el sensor ultrasonido
(HC-SR04), que se muestra a continuacin.
El cdigo principal es:
#include <Ultrasonic.h>
#include <pitches.h>
#include "Ultrasonic.h" //Libreria del sonar
Ultrasonic ultrasonic(6,7); //Trigger, Echo
// Seal acustica
#include "pitches.h"
//Libreria que contiene las notas
musicales
int sonido = NOTE_E5;
//Declaramos la nota musical
elegida como el sonido
int sonar;
//Declaramos la variable sonar
int led=9;
int au=24, bu=26, cu=28, du=30, eu=32, fu=34, gu=36;//7
segmentos unidades
int ad=40, bd=42, cd=44, dd=46, ed=48, fd=50, gd=52; // 7
segmentos decenas

int ac=31, bc=33, cc=35, dc=37, ec=39, fc=41, gc=43; // 7


segmentos centenas
void setup()
{
pinMode(9,OUTPUT); //salida del led
//7 segmentos unidades
pinMode(24,OUTPUT);
pinMode(26,OUTPUT);
pinMode(28,OUTPUT);
pinMode(30,OUTPUT);
pinMode(32,OUTPUT);
pinMode(34,OUTPUT);
pinMode(36,OUTPUT);
//7 segmentos decenas
pinMode(40,OUTPUT);
pinMode(42,OUTPUT);
pinMode(44,OUTPUT);
pinMode(46,OUTPUT);
pinMode(48,OUTPUT);
pinMode(50,OUTPUT);
pinMode(52,OUTPUT);
//7 segmentos centenas
pinMode(31,OUTPUT);
pinMode(33,OUTPUT);
pinMode(35,OUTPUT);
pinMode(37,OUTPUT);
pinMode(39,OUTPUT);
pinMode(41,OUTPUT);
pinMode(43,OUTPUT);
Serial.begin(9600);
baudios
}

//Inicio de la comunicacion serie a 9600

void loop()
{
sonar = ultrasonic.Ranging(CM); //Leemos la distancia del
sonar
//La funcion ultrasonic.ranging(cm) viene
declarada en la libreria del sonar

//Calcula la distancia a la que rebota una


seal enviada basandose en el
//tiempo que tarda en recorrer dicha
distancia, devolviendonos la distancia
//en centimetros, lista para utilizar en
casos de medicion por ultrasonidos.
v7seg(sonar);
//llama a la funcion v7seg para
mostrar la distancia en los 7 segmentos
while (sonar < 60)
menor a 60 cm
{

//Mientras que la distancia sea

noTone(8);
//Mantenemos el sonido apagado
digitalWrite(led,LOW);
delay(sonar*10);
//Delay dependiente del valor del
sonar. Si la distancia se reduce
//el delay es menor y la seal acustica
sonara con mayor frecuencia.
//Si la distancia aumenta, el delay
aumenta, disminuyendo la frecuencia
//con la que suenan los pitidos.
tone(8, sonido);
//Seal acustica de aviso
digitalWrite(led,HIGH);
delay(100);
//Delay para mantener la seal
acustica 0,1 segundos minimo
digitalWrite(led,LOW);
noTone(8);
//Apagamos el sonido
while (sonar < 10)
//Si la distancia del sonar es
menor que 10 cm
{
tone(8, sonido);
//Suena sin interrupciones
indicando la proximidad del objeto
digitalWrite(led,HIGH);
v7seg(sonar);
sonar = ultrasonic.Ranging(CM); //Distancia del sonar
}
v7seg(sonar);

sonar = ultrasonic.Ranging(CM); //Leemos la distancia del


sonar para volver a empezar
}
}
void v7seg(int cont){
int uni=0, dec=0, cen=0;
uni=cont%10;
dec=cont/10;
cen=cont/100;
switch (uni){ //unidades
case 0:
digitalWrite(au,0);
digitalWrite(bu,0);
digitalWrite(cu,0);
digitalWrite(du,0);
digitalWrite(eu,0);
digitalWrite(fu,0);
digitalWrite(gu,1);
break;
case 1:
digitalWrite(au,1);
digitalWrite(bu,0);
digitalWrite(cu,0);
digitalWrite(du,1);
digitalWrite(eu,1);
digitalWrite(fu,1);
digitalWrite(gu,1);
break;
case 2:
digitalWrite(au,0);
digitalWrite(bu,0);
digitalWrite(cu,1);
digitalWrite(du,0);
digitalWrite(eu,0);
digitalWrite(fu,1);
digitalWrite(gu,0);
break;
case 3:
digitalWrite(au,0);
digitalWrite(bu,0);
digitalWrite(cu,0);

digitalWrite(du,0);
digitalWrite(eu,1);
digitalWrite(fu,1);
digitalWrite(gu,0);
break;
case 4:
digitalWrite(au,1);
digitalWrite(bu,0);
digitalWrite(cu,0);
digitalWrite(du,1);
digitalWrite(eu,1);
digitalWrite(fu,0);
digitalWrite(gu,0);
break;
case 5:
digitalWrite(au,0);
digitalWrite(bu,1);
digitalWrite(cu,0);
digitalWrite(du,0);
digitalWrite(eu,1);
digitalWrite(fu,0);
digitalWrite(gu,0);
break;
case 6:
digitalWrite(au,0);
digitalWrite(bu,1);
digitalWrite(cu,0);
digitalWrite(du,0);
digitalWrite(eu,0);
digitalWrite(fu,0);
digitalWrite(gu,0);
break;
case 7:
digitalWrite(au,0);
digitalWrite(bu,0);
digitalWrite(cu,0);
digitalWrite(du,1);
digitalWrite(eu,1);
digitalWrite(fu,1);
digitalWrite(gu,1);
break;
case 8:
digitalWrite(au,0);
digitalWrite(bu,0);

digitalWrite(cu,0);
digitalWrite(du,0);
digitalWrite(eu,0);
digitalWrite(fu,0);
digitalWrite(gu,0);
break;
case 9:
digitalWrite(au,0);
digitalWrite(bu,0);
digitalWrite(cu,0);
digitalWrite(du,0);
digitalWrite(eu,1);
digitalWrite(fu,0);
digitalWrite(gu,0);
break;
}
switch (dec){ //programacion de los 7 segmentos para las
decenas
case 0:
digitalWrite(ad,0);
digitalWrite(bd,0);
digitalWrite(cd,0);
digitalWrite(dd,0);
digitalWrite(ed,0);
digitalWrite(fd,0);
digitalWrite(gd,1);
break;
case 1:
digitalWrite(ad,1);
digitalWrite(bd,0);
digitalWrite(cd,0);
digitalWrite(dd,1);
digitalWrite(ed,1);
digitalWrite(fd,1);
digitalWrite(gd,1);
break;
case 2:
digitalWrite(ad,0);
digitalWrite(bd,0);
digitalWrite(cd,1);
digitalWrite(dd,0);
digitalWrite(ed,0);
digitalWrite(fd,1);

digitalWrite(gd,0);
break;
case 3:
digitalWrite(ad,0);
digitalWrite(bd,0);
digitalWrite(cd,0);
digitalWrite(dd,0);
digitalWrite(ed,1);
digitalWrite(fd,1);
digitalWrite(gd,0);
break;
case 4:
digitalWrite(ad,1);
digitalWrite(bd,0);
digitalWrite(cd,0);
digitalWrite(dd,1);
digitalWrite(ed,1);
digitalWrite(fd,0);
digitalWrite(gd,0);
break;
case 5:
digitalWrite(ad,0);
digitalWrite(bd,1);
digitalWrite(cd,0);
digitalWrite(dd,0);
digitalWrite(ed,1);
digitalWrite(fd,0);
digitalWrite(gd,0);
break;
case 6:
digitalWrite(ad,0);
digitalWrite(bd,1);
digitalWrite(cd,0);
digitalWrite(dd,0);
digitalWrite(ed,0);
digitalWrite(fd,0);
digitalWrite(gd,0);
break;
case 7:
digitalWrite(ad,0);
digitalWrite(bd,0);
digitalWrite(cd,0);
digitalWrite(dd,1);
digitalWrite(ed,1);

digitalWrite(fd,1);
digitalWrite(gd,1);
break;
case 8:
digitalWrite(ad,0);
digitalWrite(bd,0);
digitalWrite(cd,0);
digitalWrite(dd,0);
digitalWrite(ed,0);
digitalWrite(fd,0);
digitalWrite(gd,0);
break;
case 9:
digitalWrite(ad,0);
digitalWrite(bd,0);
digitalWrite(cd,0);
digitalWrite(dd,0);
digitalWrite(ed,1);
digitalWrite(fd,0);
digitalWrite(gd,0);
break;
}
switch (cen){ //programacionde los 7 segmentos para las
centenas
case 0:
digitalWrite(ac,0);
digitalWrite(bc,0);
digitalWrite(cc,0);
digitalWrite(dc,0);
digitalWrite(ec,0);
digitalWrite(fc,0);
digitalWrite(gc,1);
break;
case 1:
digitalWrite(ac,1);
digitalWrite(bc,0);
digitalWrite(cc,0);
digitalWrite(dc,1);
digitalWrite(ec,1);
digitalWrite(fc,1);
digitalWrite(gc,1);
break;
case 2:

digitalWrite(ac,0);
digitalWrite(bc,0);
digitalWrite(cc,1);
digitalWrite(dc,0);
digitalWrite(ec,0);
digitalWrite(fc,1);
digitalWrite(gc,0);
break;
case 3:
digitalWrite(ac,0);
digitalWrite(bc,0);
digitalWrite(cc,0);
digitalWrite(dc,0);
digitalWrite(ec,1);
digitalWrite(fc,1);
digitalWrite(gc,0);
break;
case 4:
digitalWrite(ac,1);
digitalWrite(bc,0);
digitalWrite(cc,0);
digitalWrite(dc,1);
digitalWrite(ec,1);
digitalWrite(fc,0);
digitalWrite(gc,0);
break;
case 5:
digitalWrite(ac,0);
digitalWrite(bc,1);
digitalWrite(cc,0);
digitalWrite(dc,0);
digitalWrite(ec,1);
digitalWrite(fc,0);
digitalWrite(gc,0);
break;
case 6:
digitalWrite(ac,0);
digitalWrite(bc,1);
digitalWrite(cc,0);
digitalWrite(dc,0);
digitalWrite(ec,0);
digitalWrite(fc,0);
digitalWrite(gc,0);
break;

case 7:
digitalWrite(ac,0);
digitalWrite(bc,0);
digitalWrite(cc,0);
digitalWrite(dc,1);
digitalWrite(ec,1);
digitalWrite(fc,1);
digitalWrite(gc,1);
break;
case 8:
digitalWrite(ac,0);
digitalWrite(bc,0);
digitalWrite(cc,0);
digitalWrite(dc,0);
digitalWrite(ec,0);
digitalWrite(fc,0);
digitalWrite(gc,0);
break;
case 9:
digitalWrite(ac,0);
digitalWrite(bc,0);
digitalWrite(cc,0);
digitalWrite(dc,0);
digitalWrite(ec,1);
digitalWrite(fc,0);
digitalWrite(gc,0);
break;
}
}

6. Resultados Esperados
Al terminar el proyecto se espera que se pueda saber con exactitud la
distancia a la que estamos de un objeto, para que de esta manera se
pueda implementar a un vehculo, en nuestro caso ser un auto a control
remoto, y as este podra utilizarlo como un sensor de parking (sensor de

estacionamiento), de esta manera se facilitara mucho la forma en que


se estacionan los automviles.
7. Discusin
Medidor Laser Vs Medidor Ultrasonido
En cuanto a esta discusin se refiere, conviene utilizar un sensor
ultrasonido debido al precio ya que el costo puede representar un factor
importante.
Medidor Ultrasonido 15 Euros, Medidor Laser 50 Euros.
Adems que los automviles actuales tiene este sistema integrado,
estos llegan a ser muy caros, el proyecto est desarrollado para que
cueste mucho menos y tambin pueda ser implementado a cualquier
automvil ya sea ltimo modelo o modelo de 10 aos atrs. Por este
motivo es ventajoso desarrollar este tipo de circuito porque ser til para
la ciudadana adems que ser accesible para todos.
8. Conclusiones
Se logr desarrollar el circuito e implementarlo en el auto a control
remoto, pudiendo demostrar que el sensor ultrasonido funciono
perfectamente a la distancia que le pusimos, indicndonos con el
parlante que si un objeto se aproximaba ms de lo debido, este sonara
y nos alertara de dicho objeto as mismo un led parpadeara segn la
distancia en el que se encuentre el objeto, mientras ms cerca este ms
parpadea el Led.
Probando el sensor con el auto a control remoto se pudo observar que
es una herramienta muy til para los automviles y para todas las
personas que tengan un auto y tengan la dificultad al estacionar, siendo
as se logr cumplir el objetivo planteado, demostrando que el uso de
este sensor es necesario a la hora del estacionar un auto en reversa
para evitar choques o raspaduras. Tomando este circuito sencillo y
barato se puede implementar a los automviles en un futuro.
Tambin se debe tomar en cuenta que el diseo del circuito est
desarrollada en un protoboard, y alimentado por una batera, esto es una
limitacin muy grande ya que cuando la batera se agote este sensor
dejara de funcionar y no sera til y no es apropiado ni razonable
cambiar cada vez de batera, por lo tanto, si se llega a implementar en
un automvil real, el circuito deber estar construido en una placa, para
una correcta implementacin al automvil, y deber estar alimentado de
alguna forma con la batera del auto a la placa del arduino pero con 5V
que esta soporta ya que si sobrepasa ese valor de tensin el circuito
llegara a quemarse.
9. Anexos
10. Bibliografa y Webgrafa

http://electronicavm.wordpress.com/2011/07/07/sensor-de-aparcamientocon-arduino/ Visitado el 20 de abril de 2014


http://www.opiron.com/portfolio/sensores-de-ultrasonidos-arduino-opiron
Visitado el 20 de abril de 2014

11. See Us on YouTube

S-ar putea să vă placă și