#include <Servo.h>
#define IR_SENSOR_PIN 34 // Analog pin connected to IR sensor output
#define SERVO_PIN 15 // PWM pin connected to Servo signal
#define OPEN_ANGLE 180 // Servo angle to open door
#define CLOSE_ANGLE 0 // Servo angle to close door
#define OPEN_TIME 5000 // Time to keep door open (milliseconds)
Servo myServo;
void setup() {
Serial.begin(115200);
myServo.attach(SERVO_PIN);
myServo.write(CLOSE_ANGLE); // Start with door closed
}
void loop() {
int sensorValue = analogRead(IR_SENSOR_PIN);
if (sensorValue > 1000) { // Adjust threshold based on IR sensor specs
// Person detected
myServo.write(OPEN_ANGLE); // Open the door
delay(OPEN_TIME); // Keep the door open for a specified time
myServo.write(CLOSE_ANGLE); // Close the door
}
delay(1000); // Check every second
}