#include <ESP32Servo.h>
#define TRIG_PIN 2
#define ECHO_PIN 4
#define SERVO_PIN 19
#define DISTANCE_THRESHOLD 50
Servo myservo;
void setup() {
Serial.begin(115200);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
myservo.attach(SERVO_PIN);
myservo.write(0);
}
long readUltrasonicDistance() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
return pulseIn(ECHO_PIN, HIGH) * 0.034 / 2;
}
void loop() {
long distance = readUltrasonicDistance();
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
if (distance < DISTANCE_THRESHOLD) {
myservo.write(90);
Serial.println("Servo: Closed");
} else {
myservo.write(0);
Serial.println("Servo: Open");
}
delay(100);
}