#include <Servo.h>

#define PIR_SENSOR_PIN 25  // Use GPIO14 (D5) for ESP8266 / Adjust for ESP32
#define SERVO_PIN 5       // Use GPIO2 (D4) for ESP8266 / Adjust for ESP32

Servo myServo;

void setup() {
  pinMode(PIR_SENSOR_PIN, INPUT_PULLUP); // Ensures stable sensor readings
  myServo.attach(SERVO_PIN);
  myServo.write(0);  // Set servo to initial position
  Serial.begin(115200);
  delay(500); // Short delay to stabilize the system
}

void loop() {
  int irState = digitalRead(PIR_SENSOR_PIN);

  Serial.print("PIR Sensor State: ");
  Serial.println(irState);

  if (irState == LOW) {  // Obstacle detected
    Serial.println("Obstacle detected! Moving Servo...");
    myServo.write(90);  // Move servo to 90 degrees
    delay(1000);
    myServo.write(0);   // Return to initial position
  } else {
    Serial.println("No Obstacle.");
  }

  delay(500);  // Short delay before next check
}

}
esp:0
esp:2
esp:4
esp:5
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:21
esp:22
esp:23
esp:25
esp:26
esp:27
esp:32
esp:33
esp:34
esp:35
esp:3V3
esp:EN
esp:VP
esp:VN
esp:GND.1
esp:D2
esp:D3
esp:CMD
esp:5V
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:D1
esp:D0
esp:CLK
servo1:GND
servo1:V+
servo1:PWM
pir1:VCC
pir1:OUT
pir1:GND