#include <LiquidCrystal_I2C.h>
// Pin untuk LDR
const int ldrPin = A0;
// Pin untuk LED
const int ledPin = 2;
// Pin untuk PIR
const int pirPin = 3;
// Konfigurasi LCD
LiquidCrystal_I2C lcd (0x27, 20, 4);
void setup() {
// Inisialisasi pin
pinMode(ledPin, OUTPUT);
pinMode(pirPin, INPUT);
// Inisialisasi LCD
lcd.begin(16, 2);
}
void loop() {
// Baca nilai LDR
int ldrValue = analogRead(ldrPin);
// Baca nilai PIR
int pirValue = digitalRead(pirPin);
// Jika nilai PIR adalah HIGH (ada gerakan)
if (pirValue == HIGH) {
// Jika nilai LDR kurang dari 500 (malam hari)
if (ldrValue < 500) {
// Nyalakan LED
digitalWrite(ledPin, HIGH);
// Tampilkan pesan di LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Gerakan terdeteksi!");
lcd.setCursor(0, 1);
lcd.print("Malam hari");
// Tunda selama 5 detik
delay(5000);
// Matikan LED
digitalWrite(ledPin, LOW);
}
}
}