#define LDR_PIN 32 // Pin untuk LDR
#define PIR_PIN 4 // Pin untuk PIR
#define RELAY_PIN 2 // Pin untuk Relay (lampu)
#define LED_PIN 17 // Pin untuk LED indikator
int ldrThreshold = 800; // Threshold LDR untuk mendeteksi gelap
void setup() {
pinMode(LDR_PIN, INPUT);
pinMode(PIR_PIN, INPUT);
pinMode(RELAY_PIN, OUTPUT);
pinMode(LED_PIN, OUTPUT); // Set LED sebagai output
digitalWrite(RELAY_PIN, LOW); // Lampu mati di awal
digitalWrite(LED_PIN, LOW); // LED mati di awal
Serial.begin(9600);
}
void loop() {
int ldrValue = analogRead(LDR_PIN); // Baca nilai LDR
int pirValue = digitalRead(PIR_PIN); // Baca nilai PIR
Serial.print("LDR Value: ");
Serial.println(ldrValue);
Serial.print("PIR Value: ");
Serial.println(pirValue);
// Logika untuk menyalakan/mematikan lampu berdasarkan PIR dan LDR
if (pirValue == HIGH) { // Jika ada gerakan
digitalWrite(RELAY_PIN, HIGH); // Nyalakan lampu
digitalWrite(LED_PIN, HIGH); // Nyalakan LED indikator
} else if (ldrValue > ldrThreshold) { // Jika ruangan gelap
digitalWrite(RELAY_PIN, HIGH); // Nyalakan lampu
digitalWrite(LED_PIN, HIGH); // Nyalakan LED indikator
} else { // Jika tidak ada gerakan dan ruangan terang
digitalWrite(RELAY_PIN, LOW); // Matikan lampu
digitalWrite(LED_PIN, LOW); // Matikan LED indikator
}
delay(100); // Delay untuk mengurangi beban pembacaan sensor
}