#define DHTPIN 15 // Pin for DHT22
#define LDR_PIN 34 // Pin for LDR
#define SUN_LED_PIN 25
#define CLOUD_LED_PIN 26
#define RAIN_LED_PIN 27
void setup() {
Serial.begin(115200);
pinMode(SUN_LED_PIN, OUTPUT);
pinMode(CLOUD_LED_PIN, OUTPUT);
pinMode(RAIN_LED_PIN, OUTPUT);
}
void loop() {
// Simulated temperature and humidity readings
float temperature = 26.0; // Simulated temperature (in Celsius)
float humidity = 65.0; // Simulated humidity (in %)
// Read light level from LDR (simulated analog value)
int lightLevel = analogRead(LDR_PIN);
// Print sensor readings
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" °C, Humidity: ");
Serial.print(humidity);
Serial.print(" %, Light Level: ");
Serial.println(lightLevel);
// Control LEDs based on light level
if (temperature > 25 && lightLevel > 512) { // Example condition for sunny
digitalWrite(SUN_LED_PIN, HIGH);
digitalWrite(CLOUD_LED_PIN, LOW);
digitalWrite(RAIN_LED_PIN, LOW);
} else if (humidity > 60) { // Example condition for cloudy
digitalWrite(SUN_LED_PIN, LOW);
digitalWrite(CLOUD_LED_PIN, HIGH);
digitalWrite(RAIN_LED_PIN, LOW);
} else { // Default to rain
digitalWrite(SUN_LED_PIN, LOW);
digitalWrite(CLOUD_LED_PIN, LOW);
digitalWrite(RAIN_LED_PIN, HIGH);
}
delay(2000); // Wait for 2 seconds before the next reading
}