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.
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