#include <Servo.h>
#define PIR_PIN 5 // Pin PIR Sensor terhubung ke pin 5
#define LED_PIN 2 // Pin LED terhubung ke pin 2
#define SERVO_PIN 9 // Pin Servo terhubung ke pin 9
Servo myServo;
void setup() {
pinMode(PIR_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
myServo.attach(SERVO_PIN);
myServo.write(90); // Servo dalam posisi tertutup (0 derajat)
}
void loop() {
int pirState = digitalRead(PIR_PIN);
if (pirState == HIGH) { // Jika sensor gerak mendeteksi gerakan
digitalWrite(LED_PIN, HIGH); // Nyalakan LED
openDoor();
delay(500);
closeDoor();
digitalWrite(LED_PIN, LOW); // Matikan LED
// Tunggu sampai tidak ada gerakan untuk menghindari terus-menerus membuka dan menutup
// while(digitalRead(PIR_PIN) == HIGH) {
// delay(5); // Periksa setiap 50ms apakah masih ada gerakan
// }
}
}
void openDoor() {
myServo.write(0); // Putar servo ke posisi terbuka (90 derajat)
}
void closeDoor() {
myServo.write(90); // Putar servo ke posisi tertutup (0 derajat)
}