// Inisialisasi pin
int ledPinPINTU = 13; // Pin yang mengontrol LED LAMPU PINTU
int pirPin = 9; // Pin yang terhubung ke PIR sensor PINTU
int pirState = LOW;// Menyimpan status deteksi PIR (awalnya tidak ada deteksi)
int valPir = 0; // Variabel untuk menyimpan nilai pembacaan PIR sensor
int ledPinDEPAN = 10; // Pin untuk mengendalikan LED LAMPU DEPAN
int ldrPin = A0; // Pin untuk membaca nilai dari sensor LDR (LAMPU DEPAN)
void setup() {
pinMode(ledPinPINTU, OUTPUT); // Mengatur ledPiPINTU sebagai output
pinMode(pirPin, INPUT); // Mengatur pirPin sebagai input (PIR sensor)
pinMode(ledPinDEPAN, OUTPUT); // Mengatur ledPinDEPAN sebagai output
pinMode(ldrPin, INPUT); // Mengatur ldrPin sebagai input (LDR sensor)
Serial.begin(9600); // Inisialisasi komunikasi serial
}
void loop() {
// Membaca nilai dari PIR sensor (LEDPINTU)
valPir = digitalRead(pirPin);
if (valPir == HIGH)
{ // Jika deteksi gerakan di PINTU
digitalWrite(ledPinPINTU, HIGH); // Menyalakan LED di PINTU
if (pirState == HIGH) { // Jika sebelumnya terdeteksi gerakan di PINTU
Serial.println("MEMBUKA PINTU"); // Cetak pesan ke Serial Monitor
pirState = LOW; // Update status deteksi gerakan PINTU jika tidak ada
}
}
else
{ // Jika tidak ada deteksi gerakan di PINTU
digitalWrite(ledPinPINTU, LOW); // Matikan LED di PINTU
if (pirState == LOW) { // Jika sebelumnya tidak terdeteksi gerakan di PINTU
Serial.println("MENUTUP PINTU"); // Cetak pesan ke Serial Monitor
pirState = HIGH; // Update status deteksi di PINTU menjadi terdeteksi
}
}
// Membaca nilai dari sensor LDR (LEDPinDEPAN)
int statusLdr = analogRead(ldrPin);
if (statusLdr > 300) {
digitalWrite(ledPinDEPAN, HIGH); // Menghidupkan LED di DEPAN
delay(1000);
digitalWrite(ledPinDEPAN, LOW); // Mematikan LED di DEPAN
Serial.print("LAMPU DEPAN NYALA :");
Serial.println(statusLdr); // Mencetak nilai sensor LDR
} else {
digitalWrite(ledPinDEPAN, LOW); // Mematikan LED di DEPAN
Serial.print("LAMPU DEPAN MATI :");
Serial.println(statusLdr); // Mencetak nilai sensor LDR
delay (1000);
}
}