#include <DHT.h>
#define LED1 12
#define LED2 14
#define DHTPIN 18 // Pin connected to the DHT sensor
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
dht.begin(); // Initialize DHT sensor
}
void loop() {
float humidity = dht.readHumidity(); // Read humidity
float temperature = dht.readTemperature(); // Read temperature
// Check if sensor reading failed
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
delay(2000);
return;
}
// Log sensor data
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print("°C, Humidity: ");
Serial.print(humidity);
Serial.println("%");
// Temperature above 60°C
if (temperature > 60) {
Serial.println("Temperature exceeds 60°C! Turning LED1 ON...");
digitalWrite(LED1, HIGH); // Turn LED1 ON
digitalWrite(LED2, LOW); // Ensure LED2 is OFF
}
// Temperature between 10°C and 50°C and Humidity below 70%
else if (temperature > 10 && temperature < 50 && humidity < 70) {
Serial.println("Temperature and humidity are in range. Turning LED2 ON...");
digitalWrite(LED2, HIGH); // Turn LED2 ON
digitalWrite(LED1, LOW); // Ensure LED1 is OFF
}
// No conditions met
else {
Serial.println("Conditions not met. Turning both LEDs OFF...");
digitalWrite(LED1, LOW); // Turn LED1 OFF
digitalWrite(LED2, LOW); // Turn LED2 OFF
}
delay(2000); // Wait before the next sensor reading
}