// finds the distance of an object & based on the distance the relay is on or off
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(5, OUTPUT);
pinMode(26, OUTPUT); //trigger
pinMode(27, INPUT); //echo
}
long wdistance()
{
digitalWrite(26, LOW); // trigger signal off
delay(10); //10 milliseconds
digitalWrite(26, HIGH); // trigger signal on
delay(100);
digitalWrite(26, LOW); // trigger signal off
float d=pulseIn(27,HIGH);//It returns the length of the pulse in microseconds.
return(d*0.03/2); //divided to find one way distance
delay(1000);
}
void loop() {
// put your main code here, to run repeatedly:
int c=wdistance();
Serial.println(String(c));
if(c>=300){ //300 is the distance
digitalWrite(5, HIGH); //relay on
Serial.println("Detected");
}
else{
digitalWrite(5, LOW); //relay off
Serial.println("Not Detected");
}
delay(1000);
}