CODING :
#include <ESP32Servo.h>
#define TRIG_PIN 5
#define ECHO_PIN 18
#define SERVO_PIN 13
Servo myServo;
long duration;
float distance;
void setup() {
[Link](115200);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
[Link](SERVO_PIN);
// Initially closed
[Link](0);
}
void loop() {
// Send ultrasonic pulse
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Read echo time
duration = pulseIn(ECHO_PIN, HIGH);
// Calculate distance
distance = duration * 0.034 / 2;
[Link]("Distance: ");
[Link](distance);
[Link](" cm");
// If object within 20 cm
if (distance <= 20) {
[Link]("OPEN");
[Link](90); // Open position
}
else {
[Link]("CLOSE");
[Link](0); // Close position
}
delay(500);
}