const int ldrAnalogPin = A0; // Pin untuk pembacaan analog dari sensor LDR
const int relay1Pin = 7; // Pin untuk relay pertama
const int relay2Pin = 8; // Pin untuk relay kedua
int ldrValue = 0; // Variabel untuk menyimpan nilai LDR
// Batasan intensitas cahaya (nilai LDR) untuk mengontrol lampu
const int threshold1 = 600; // Nilai analog LDR untuk satu lampu
const int threshold2 = 300; // Nilai analog LDR untuk dua lampu
void setup() {
// Inisialisasi pin relay sebagai output
pinMode(relay1Pin, OUTPUT);
pinMode(relay2Pin, OUTPUT);
// Matikan lampu pada awalnya
digitalWrite(relay1Pin, HIGH);
digitalWrite(relay2Pin, HIGH);
// Inisialisasi Serial Monitor untuk debugging
Serial.begin(9600);
}
void loop() {
// Baca nilai analog dari sensor LDR (atau potensiometer)
ldrValue = analogRead(ldrAnalogPin);
// Tampilkan nilai LDR di Serial Monitor
Serial.print("LDR Value: ");
Serial.println(ldrValue);
// Kondisi untuk mengatur nyala/mati lampu berdasarkan nilai LDR
if (ldrValue > threshold1) {
// Kondisi ruangan gelap, nyalakan kedua lampu
digitalWrite(relay1Pin, LOW); // Nyalakan lampu 1
digitalWrite(relay2Pin, LOW); // Nyalakan lampu 2
} else if (ldrValue > threshold2) {
// Kondisi ruangan agak terang, nyalakan satu lampu
digitalWrite(relay1Pin, LOW); // Nyalakan lampu 1
digitalWrite(relay2Pin, HIGH); // Matikan lampu 2
} else {
// Kondisi ruangan terang, matikan kedua lampu
digitalWrite(relay1Pin, HIGH); // Matikan lampu 1
digitalWrite(relay2Pin, HIGH); // Matikan lampu 2
}
// Jeda sebelum pembacaan berikutnya
delay(500);
}