#include <ESP32Servo.h>
const int TRIGGER_PIN_1 = 4; // Ultrasonic sensor 1 trigger pin
const int ECHO_PIN_1 = 5; // Ultrasonic sensor 1 echo pin
const int TRIGGER_PIN_2 = 18; // Ultrasonic sensor 2 trigger pin
const int ECHO_PIN_2 = 21; // Ultrasonic sensor 2 echo pin
const int SERVO_PIN = 13; // Servo motor pin
const int SERVO_ANGLE = 90; // Servo angle to rotate
Servo myservo;
void setup() {
Serial.begin(9600);
pinMode(TRIGGER_PIN_1, OUTPUT);
pinMode(ECHO_PIN_1, INPUT);
pinMode(TRIGGER_PIN_2, OUTPUT);
pinMode(ECHO_PIN_2, INPUT);
myservo.attach(SERVO_PIN); // Attach servo to pin
}
void loop() {
long duration_1, distance_1;
long duration_2, distance_2;
// Ultrasonic sensor 1
digitalWrite(TRIGGER_PIN_1, LOW);
delayMicroseconds(2);
digitalWrite(TRIGGER_PIN_1, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN_1, LOW);
duration_1 = pulseIn(ECHO_PIN_1, HIGH);
distance_1 = duration_1 * 0.034 / 2;
// Ultrasonic sensor 2
digitalWrite(TRIGGER_PIN_2, LOW);
delayMicroseconds(2);
digitalWrite(TRIGGER_PIN_2, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN_2, LOW);
duration_2 = pulseIn(ECHO_PIN_2, HIGH);
distance_2 = duration_2 * 0.034 / 2;
// Determine action based on distances
if (distance_1 <= 50 || distance_2 <= 50) {
myservo.write(SERVO_ANGLE); // Rotate servo to 90 degrees
delay(500); // Wait for 0.5 seconds
} else {
myservo.write(0); // Return servo to original state
}
}