#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
                                                                      }
                                                                      }