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