#include <Arduino.h>
#include <BluetoothSerial.h>
#define TRIGGER_PIN 3
#define ECHO_PIN 4
#define SPEED_SOUND 34300 //speed in cm/s
#define timediff 100 //ms
BluetoothSerial SerialBT;
void setup() {
Serial.begin(115200);
Serial.println("Hello, ESP32!");
SerialBT.begin("Hello ESP32_BT");
pinMode(TRIGGER_PIN,OUTPUT);
pinMode(ECHO_PIN,INPUT);
digitalWrite(TRIGGER_PIN,LOW);
}
void loop() {
char op;
SerialBT.print("Enter M to measure: ");
if (SerialBT.available()) {
op = SerialBT.read();
}
SerialBT.println(op);
if(op != 'M'){
SerialBT.println("Not measuring!");
delay(100);
} else{
digitalWrite(TRIGGER_PIN,HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN,LOW);
long time1=pulseIn(ECHO_PIN,HIGH);
float distance1=((time1/1e6)*SPEED_SOUND)/2;
delay(timediff);
digitalWrite(TRIGGER_PIN,HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN,LOW);
long time2=pulseIn(ECHO_PIN,HIGH);
float distance2=((time2/1e6)*SPEED_SOUND)/2;
float ans=(distance2-distance1)/(timediff/1000);
Serial.print("Speed Reading in cm/s: ");
Serial.println(ans);
SerialBT.print("Speed Reading in cm/s: ");
SerialBT.println(ans);
delay(2000);
}
}