#include <DHT.h>
// DHT22 sensor pin
#define DHTPIN 2
// DHT22 type
#define DHTTYPE DHT22
// Initialize DHT sensor
DHT dht(DHTPIN, DHTTYPE);
const int ledPin = 13; // LED pin
void setup() {
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW); // Ensure LED is off initially
// Initialize serial communication
Serial.begin(9600);
// Initialize DHT sensor
dht.begin();
// Initial message
Serial.println("DHT22 and LED Control");
}
void loop() {
// Wait a few seconds between measurements
delay(2000);
// Reading temperature or humidity takes about 250 milliseconds!
float h = dht.readHumidity();
float t = dht.readTemperature();
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// Print the readings to the Serial Monitor
Serial.print("Humidity: ");
Serial.print(h);
Serial.print("% Temperature: ");
Serial.print(t);
Serial.println("°C");
// Control LED based on temperature
if (t > 20.0) { // If temperature is above 25°C
digitalWrite(ledPin, HIGH); // Turn on LED
Serial.println("LED ON");
} else {
digitalWrite(ledPin, LOW); // Turn off LED
Serial.println("LED OFF");
}
}