#include <Servo.h>
const int pirPin = 2;
const int buzzerPin = 9;
const int ledPin = 8;
const int servoPin = 10;
Servo myservo; // Membuat objek servo
bool motionDetected = false;
void setup() {
pinMode(pirPin, INPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(ledPin, OUTPUT);
myservo.attach(servoPin); // Melampirkan servo pada pin 10 ke objek servo
}
void loop() {
int pirState = digitalRead(pirPin);
if (pirState == HIGH) { // Deteksi gerakan
if (!motionDetected) {
motionDetected = true;
tone(buzzerPin, 1000); // Bunyikan buzzer pada frekuensi 1000 Hz
digitalWrite(ledPin, HIGH); // Nyalakan LED
myservo.write(90); // Putar servo ke posisi 90 derajat
delay(500); // Tunggu selama 0,5 detik
noTone(buzzerPin); // Matikan buzzer
digitalWrite(ledPin, LOW); // Matikan LED
delay(500); // Tunggu selama 0,5 detik (LED berkedip pada 1Hz)
}
} else {
// Tidak ada gerakan terdeteksi
motionDetected = false;
noTone(buzzerPin); // Matikan buzzer
digitalWrite(ledPin, LOW); // Matikan LED
myservo.write(0); // Putar servo kembali ke posisi 0 derajat
}
}