#define relayPin 5
#define onTime 61200000 //waktu menyala 61200000 (17 jam) dalam milidetik
#define offTime 25200000 //waktu mati 25200000 (7 jam) dalam milidetik
#define ldrPin A0
unsigned long previousMillis = 0;
int relayState = HIGH; //relay aktif saat output HIGH
int on = 1;
void setup() {
Serial.begin(9600);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, relayState);
}
void loop() {
unsigned long currentMillis = millis();
int ldrValue = analogRead(ldrPin);
Serial.print("Nilai LDR: ");
Serial.println(ldrValue);
if (currentMillis - previousMillis >= (on ? offTime : onTime)) {
previousMillis = currentMillis;
Serial.println(on ? "Lampu menyala" : "Lampu mati");
on = !on;
relayState = on ? LOW : HIGH;
digitalWrite(relayPin, relayState);
// Serial.println(on ? "Lampu menyala 2" : "Lampu mati 2");
}
delay(1000); //atur waktu baca sensor cahaya di sini
}