buenas tardes todos, tengo un problema.
estoy intentando hacer un radar de velocidad con un Arduino uno, una pantalla lcd con interfaz y el ultrasonido y necesito ayuda con el código
//
#include <LiquidCrystal_I2C.h> // Debe descargar la Libreria que controla el I2C
#include<Wire.h>
LiquidCrystal_I2C lcd(0x3F, 16, 2);
long distancia;
long tiempo;
double dist1;
double dist2;
double vel;
int triger = 7;
int echo = 6;
void setup(){
lcd.backlight();
lcd.init();
lcd.begin(16, 2);
Serial.begin(9600);
pinMode(triger,OUTPUT);
pinMode(echo, INPUT);
}
void loop(){
lcd.clear();
lcd.setCursor(0,0);
lcd.print( "RADAR DE" );
lcd.setCursor(0,1);
lcd.print( "VELOCIDAD" );
dist1 = 0;
dist2 = 0;
vel = 0;
digitalWrite(triger,LOW); //Apagamos el pulso ultrasónico
delayMicroseconds(5); //Pequeña pausa de estabilización
digitalWrite(triger, HIGH); //Envío del pulso ultrasónico
delayMicroseconds(10); //Pequeña pausa de estabilización
tiempo = pulseIn(echo, HIGH); //Función para medir el tiempo que transcurrido entre el envío del pulso ultrasónico y cuando el sensor recibe el rebote
distancia= int(0.017*tiempo); //Fórmula para calcular la distancia usando la velocidad del sonido como constante
Serial.print("Distancia "); Serial.print(distancia); Serial.println(" cm"); //Sacamos el resultado por el monitor serial
delay(1000); //Pequeña pausa antes de reiniciar el ciclo
while(distancia < 60) //esperar hasta que la distancia sea menor a 60 cm
{
loop();
}
digitalWrite(triger,LOW); //Apagamos el pulso ultrasónico
delayMicroseconds(5); //Pequeña pausa de estabilización
digitalWrite(triger, HIGH); //Envío del pulso ultrasónico
delayMicroseconds(10); //Pequeña pausa de estabilización
tiempo = pulseIn(echo, HIGH); //Función para medir el tiempo que transcurrido entre el envío del pulso ultrasónico y cuando el sensor recibe el rebote
dist1= int(0.017*tiempo); //Fórmula para calcular la distancia usando la velocidad del sonido como constante
delay(0.1);
digitalWrite(triger,LOW); //Apagamos el pulso ultrasónico
delayMicroseconds(5); //Pequeña pausa de estabilización
digitalWrite(triger, HIGH); //Envío del pulso ultrasónico
delayMicroseconds(10); //Pequeña pausa de estabilización
tiempo = pulseIn(echo, HIGH); //Función para medir el tiempo que transcurrido entre el envío del pulso ultrasónico y cuando el sensor recibe el rebote
dist2= int(0.017*tiempo); //Fórmula para calcular la distancia usando la velocidad del sonido como constante
vel = ((dist1) - (dist2)) / (0.1);
delay(0.5);
lcd.clear();
lcd.setCursor(0,0);
lcd.print( "SU VELOCIDAD ES DE" );
lcd.setCursor(0,1);
lcd.print( vel );
lcd.setCursor(4,1);
lcd.print( "cm/s" );
delay(50);
loop();
}
void _loop(){
}
este es el código y estoy intentando hacer lo siguiente
que en la pantalla muestre radar de velocidad y se quede así hasta que digamos que un carro de juguete lanzarlo a el y que guarde una distancia en una variable esperar 0.1 segundos y que guarde otra distancia en otra variable y así hacer la conversión hallando la velocidad promedio.
quisiera saber si hay una forma de guardar el dato en una variable
eso es todo por ahora, muchas gracias a los que leas y respondan.
un saludo