#include <Servo.h>
#define TRIG 6
#define ECHO 7
#define SERVO_PIN 9
Servo doorLock;
void setup() {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
doorLock.attach(SERVO_PIN);
doorLock.write(0); // Door initially locked
Serial.begin(9600);
}
void loop() {
long duration;
int distance;
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
duration = pulseIn(ECHO, HIGH);
distance = duration * 0.034 / 2;
Serial.print("Distance: ");
Serial.println(distance);
if (distance > 0 && distance <= 30) {
Serial.println("Person detected! Unlocking door...");
doorLock.write(90);
delay(5000);
doorLock.write(0);
Serial.println("Door Locked!");
}
delay(1000);
}