#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.print("Temp="); lcd.print(t); lcd.println("C");
lcd.setCursor(0,1);
lcd.print("Humidity="); lcd.print(h); lcd.println("%");
//Control condition: If temperature > 30°C, turn on buzzer
if (t > 30) {
digitalWrite(BUZZER_PIN, HIGH);
lcd.setCursor(14,0);
lcd.print("!!"); // Visual alert
} else {
digitalWrite(BUZZER_PIN, LOW);
lcd.setCursor(14,0);
lcd.print(" "); // Clear alert
}
//Display on serial monitor screen
Serial.print("Temp= ");
Serial.print(t); Serial.println(" C");
Serial.print("Humidity= ");
Serial.print(h); Serial.println(" %");
if (t > 30) {
Serial.println("ALERT: High Temperature!");
}
}