#define pirPin 4 // Deklarasi pin dari PIR yang diberi nama variabel pirPin
#define ledPin 11 // Deklarasi pin LED yang dihubungkan ke pin 11 dan diberi nama variabel ledPin
int statusPir = LOW; // Deklarasi kondisi dari sensor PIR apakah HIGH atau LOW
int gerakanPir; // Deklarasi variabel untuk pembacaan PIR sensor
void setup() {
pinMode(pirPin, INPUT); // Set pirPin menjadi pin input
pinMode(ledPin, OUTPUT); // Set ledPin menjadi pin output
Serial.begin(9600); // Memulai komunikasi serial ke Serial Monitor dengan baud rate 9600
}
void loop() {
gerakanPir = digitalRead(pirPin); // Membaca sinyal dari PIR ketika ada gerakan
if (gerakanPir == HIGH) { // Jika PIR mendeteksi gerakan
digitalWrite(ledPin, HIGH); // Menyalakan LED
if (statusPir == LOW) { // Jika status PIR sebelumnya adalah LOW
Serial.println("Ada Gerakan!!!"); // Menampilkan peringatan ke Serial Monitor
statusPir = HIGH; // Mengubah status PIR dari LOW ke HIGH
}
} else { // Jika PIR tidak mendeteksi gerakan
digitalWrite(ledPin, LOW); // Mematikan LED
if (statusPir == HIGH) { // Jika status PIR sebelumnya adalah HIGH
Serial.println("Tidak Ada Gerakan!"); // Menampilkan peringatan ke Serial Monitor
statusPir = LOW; // Mengubah status PIR dari HIGH ke LOW
}
}
delay(100); // Jeda singkat untuk menghindari pembacaan yang terlalu cepat
}