#include <Servo.h>
const int pirPin = 2; // Pin untuk Sensor PIR
const int ledPin = 9; // Pin untuk LED
const int buzzerPin = 10; // Pin untuk Buzzer
const int servoPin = 6; // Pin untuk Motor Servo
int servoPos = 0; // Variabel untuk posisi awal Motor Servo
Servo myServo; // Objek untuk Motor Servo
void setup() {
pinMode(pirPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
myServo.attach(servoPin);
myServo.write(0); // Mengatur posisi awal Motor Servo ke 0 derajat
digitalWrite(ledPin, LOW); // Memastikan LED mati pada awalnya
noTone(buzzerPin); // Mematikan Buzzer pada awalnya
}
void loop() {
int pirValue = digitalRead(pirPin);
if (pirValue == HIGH) {
digitalWrite(ledPin, HIGH); // Menyalakan LED
tone(buzzerPin, 1000); // Menghasilkan nada pada Buzzer
delay(500); // Delay untuk efek suara
noTone(buzzerPin); // Mematikan Buzzer
for (servoPos = 0; servoPos <= 180; servoPos += 1) {
myServo.write(servoPos); // Menggerakkan Motor Servo dari 0 ke 180 derajat
delay(15);
}
delay(1000); // Delay untuk menahan Motor Servo di posisi terakhir
for (servoPos = 180; servoPos >= 0; servoPos -= 1) {
myServo.write(servoPos); // Menggerakkan Motor Servo dari 180 ke 0 derajat
delay(15);
}
digitalWrite(ledPin, LOW); // Mematikan LED setelah selesai
}
}