#include <DHT.h>
#define DHTPIN 4
#define RELAY_PIN 5
#define GREEN_LED 8
#define RED_LED 9
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
pinMode(RELAY_PIN, OUTPUT);
pinMode(GREEN_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
digitalWrite(RELAY_PIN, LOW); // Cooling system OFF
digitalWrite(GREEN_LED, HIGH); // Green LED ON (Normal Temp)
digitalWrite(RED_LED, LOW); // Red LED OFF
dht.begin();
}
void loop() {
float temperature = dht.readTemperature(); // Read temperature in Celsius
// Check if the reading is valid
if (isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
// Temperature Control Logic
if (temperature > 35) {
digitalWrite(RELAY_PIN, HIGH); // Turn ON cooling system
digitalWrite(GREEN_LED, LOW);
digitalWrite(RED_LED, HIGH);
Serial.println("High Temperature! Cooling system ON.");
}
else if (temperature < 33) {
digitalWrite(RELAY_PIN, LOW); // Turn OFF cooling system
digitalWrite(GREEN_LED, HIGH);
digitalWrite(RED_LED, LOW);
Serial.println("Temperature Normal. Cooling system OFF.");
}
delay(2000); // Wait 2 seconds before next reading
}