Pages: [1]   Go Down
Author Topic: Medición de espacio en un hueco para aparcar.  (Read 805 times)
0 Members and 1 Guest are viewing this topic.
Collbató, Barcelona
Offline Offline
Full Member
***
Karma: 1
Posts: 115
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola, he terminado mi proyecto de ODB2 Bluetooth y arduino.
Este funciona perfectamente, aunque la libreria ODB para arduino contiene pocos PID, pero bueno ya me vale.
Ahora estoy añadiendo más opciones al proyecto, he añadido la lectura de un sensor de temperatura y humedad que irá en el interior del retrovisor del coche, este sensor funciona correctamente y la lectura es muy buena.
Tambien quiero, y este es mi problema añadir un sensor ultrasónico para medir el espacio que hay en un aparcamiento, para ver si hay o no espacio para aparcar, la teorica la tengo es decir que mi sensor de ultrasonidos dejará de medir cuando la distancia al vehiculo aparcado sea mayor de 1 m, es decir que hay un hueco sin coche, y comenzara un temporizador a contar hasta que pase el hueco y el temporizador se pare ya que el módulo ha detectado el siguiente vehículo, como dispongo de la velocidad del vehiculo en todo momento luego simplemente será hacer los calculos de el tiempo que ha medido el temporizador dividido por la velocidad a la que vá el vehículo.
pero la verdad es que no se experesar esto en codigo para el arduino, por lo que espero que si podeis me echeis una mano y me deis alguna idea.
Muchas gracias por adelantado.
Un Saludo
Jomagom
Logged

Collbató, Barcelona
Offline Offline
Full Member
***
Karma: 1
Posts: 115
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Viendo que no hay nadie que me conteste, he probado con con un código a ver y me gustaría que me dierais vuestra opinión.
Code:
if (ultrasonic.Ranging(CM)<100)
                          {
                            lcd.setCursor(3, 1);
                            lcd.print("    ");
                            lcd.setCursor(3, 1);
                            lcd.print(ultrasonic.Ranging(CM));
                            tiempo=0;
                          //Aquí tambien añadiré un aviso acustico por si me acerco a menos de 50 cm.
                          }
                       else
                          {
                            tiempo++;  
                            float value1=((value) * (0,02777));
                            float tiempo2=((value1) * (tiempo));
                            lcd.setCursor(12, 1);
                            lcd.print("    ");
                            lcd.setCursor(12, 1);
                            lcd.print(tiempo2);
                          }
                        
  
                        delay(100);
En la variable "value" se guarda la velocidad del vehículo expresada en números enteros.
El número "0,02777" es para convertir km/h por m/décimas de segundo.
"tiempo" es la variable del tiempo expresado en décimas de segundo que ha contado el sensor ultrasónico que no ha detectado un vehículo a menos de un metro del lateral de mi vehículo, es decir el hueco del aparcamiento.
Luego lo demás es la impresión en el LCD.
Todo este código está puesto en un bucle white que como veis se ejecuta cada 100 milésimas de segundo, es decir cada décima de segundo.
espero que hasta que haga las pruebas pertinentes si veis algo que no está bien me lo comentéis.
Un Saludo
Jomagom  
« Last Edit: November 26, 2012, 08:04:53 am by Jomagom » Logged

Offline Offline
God Member
*****
Karma: 7
Posts: 635
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Pues o no te va a funcionar o yo no entiendo el funcionamiento. Entiendo que lo que quieres es calcular la longitud de un hueco entre dos coches aparcados en fila (no en batería). Para ello y, suponiendo que tengas suficiente precisión en la velocidad del coche, tienes que hacer una integración discreta que en la práctica es un sumatorio de distancias parciales recorridas. Mientras la distancia detectada por el ultrasonidos sea mayor de 1 metro tomas tiempos (función millis) y velocidades del coche y multiplicas las velocidades por los intervalos de tiempo. Los resultados de las multiplicaciones los sumas mientras exista hueco. La suma total será la longitud del hueco.
Logged


Collbató, Barcelona
Offline Offline
Full Member
***
Karma: 1
Posts: 115
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

La velocidad la cojo de la Ecu con un escaner, por lo que pienso que es bastante fiable.
Volveré a realizar el código según tus instrucciones, y ya te comentaré.
Muchas gracias por la respuesta.
Un Saludo
Jomagom
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 42
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

la velocidad.. por muy fiable que sea no creo que tenga una precision de centimetros, que es lo que tu necesitas..
no seria mejor usar dos sensores de ultrasonidos puestos en un angulo de 45º en el lateral del coche?
uno alante y otro atras.. y luego con trigonometria sacar la distancia al vehiculo
si quieres te dibujo un esquema smiley-lol
Logged

Pages: [1]   Go Up
Jump to: