#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 8
#define DHTTYPE DHT22
#define BUZZER_PIN 7
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
Serial.begin(9600);
Serial.println("Temperature Monitoring System");
lcd.begin(16, 2);
lcd.backlight();
dht.begin();
pinMode(BUZZER_PIN, OUTPUT);
digitalWrite(BUZZER_PIN, LOW);
}
void loop() {
float t = dht.readTemperature();
float h = dht.readHumidity();
delay(1000);
//Displays on LCD
lcd.setCursor(0, 0);
lcd.println("Temp="); lcd.print(t); lcd.println("C");
lcd.setCursor(0, 1);
lcd.println("Humidity="); lcd.print(h); lcd.println("%");
//Control condition (If temperature > 30°C, turn on buzzer)
if (t > 30) {
digitalWrite(BUZZER_PIN, HIGH);// Turn ON buzzer
lcd.setCursor(14, 0);
lcd.print("!!");
Serial.println("High Temperature!"); // Serial alert
} else {
digitalWrite(BUZZER_PIN, LOW); // Turn OFF buzzer
lcd.setCursor(14, 0);
lcd.print(" ");
}
//Display on serial monitor screen
Serial.println("Temp= "); Serial.print(t); Serial.println(" C");
Serial.println("Humidity= "); Serial.print(h); Serial.println(" %");
}