#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