#define THRESHOLD 2045
const int BUTTON_1_PIN = 14;
const int BUTTON_2_PIN = 27;
const int RELAY_PIN = 5 ;
#define WHITE_LED_PIN 2
#define RED_LED_PIN 12
const int LDR_SENSOR_PIN = 34 ;
bool isAutoMode = false;
bool manualRelayState = LOW;
void setup() {
pinMode(WHITE_LED_PIN, OUTPUT);
pinMode(RED_LED_PIN, OUTPUT);
pinMode(RELAY_PIN, OUTPUT);
pinMode(BUTTON_1_PIN, INPUT_PULLUP);
pinMode(BUTTON_2_PIN, INPUT_PULLUP);
pinMode(LDR_SENSOR_PIN, INPUT);
Serial.begin(115200);
}
void loop() {
if (digitalRead(BUTTON_1_PIN) == LOW) {
isAutoMode = !isAutoMode;
delay(300);
Serial.print("Mode Changed to: ");
Serial.println(isAutoMode ? "AUTO" : "MANUAL");
}
if (isAutoMode) {
int ldrValue = analogRead(LDR_SENSOR_PIN);
Serial.print("LDR Value: ");
Serial.println(ldrValue);
if (ldrValue < THRESHOLD) {
Serial.print("Light!\n");
digitalWrite(RELAY_PIN, LOW);
digitalWrite(WHITE_LED_PIN, LOW);
} else {
Serial.print("Dark!\n");
digitalWrite(RELAY_PIN, HIGH);
digitalWrite(WHITE_LED_PIN, HIGH);
}
digitalWrite(RED_LED_PIN, HIGH);
} else {
if (digitalRead(BUTTON_2_PIN) == LOW) {
manualRelayState = !manualRelayState;
delay(300);
}
digitalWrite(RED_LED_PIN, LOW);
digitalWrite(RELAY_PIN, manualRelayState);
digitalWrite(WHITE_LED_PIN, manualRelayState);
digitalWrite(WHITE_LED_PIN, LOW);
}
}