#define WHITE_LED 19
#define YELLOW_LED 21
#define BUTTON_PIN 18
#define RAIN_SENSOR_PIN 32 // Analog pin
#define FOG_SENSOR_PIN 33 // Simulated by potentiometer
#define PIR_SENSOR_PIN 5
void setup() {
Serial.begin(115200);
pinMode(WHITE_LED, OUTPUT);
pinMode(YELLOW_LED, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
pinMode(PIR_SENSOR_PIN, INPUT);
// No pinMode needed for analog pins (rain/fog)
}
void loop() {
int rainValue = analogRead(RAIN_SENSOR_PIN);
int fogValue = analogRead(FOG_SENSOR_PIN);
int pirValue = digitalRead(PIR_SENSOR_PIN);
int buttonState = digitalRead(BUTTON_PIN);
Serial.print("Rain: ");
Serial.print(rainValue);
Serial.print(" | Fog: ");
Serial.print(fogValue);
Serial.print(" | Motion: ");
Serial.println(pirValue);
bool badWeather = (rainValue < 300 || fogValue > 600); // Adjust thresholds as needed
if (pirValue == HIGH) {
// Motion detected
if (badWeather) {
digitalWrite(YELLOW_LED, HIGH);
digitalWrite(WHITE_LED, LOW);
} else {
digitalWrite(YELLOW_LED, LOW);
digitalWrite(WHITE_LED, HIGH);
}
} else {
// No motion → turn off lights
digitalWrite(YELLOW_LED, LOW);
digitalWrite(WHITE_LED, LOW);
}
delay(500);
}