#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 13 // DHT11 على المنفذ 13
#define DHTTYPE DHT11
#define BUZZER 3 // الصفّارة على المنفذ 3
#define TEMP_LIMIT 22 // الحد الأقصى الآمن لدرجة الحرارة (°C)
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2); // غيّر إلى 0x3F إذا لزم
void setup() {
pinMode(BUZZER, OUTPUT);
digitalWrite(BUZZER, LOW);
dht.begin();
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print(“Temp Monitor”);
delay(2000);
lcd.clear();
}
void loop() {
float temperature = dht.readTemperature();
if (isnan(temperature)) {
lcd.setCursor(0, 0);
lcd.print(“Sensor Error”);
return;
}
lcd.setCursor(0, 0);
lcd.print(“Temp: “);
lcd.print(temperature);
lcd.print(” C “);
if (temperature > TEMP_LIMIT) {
digitalWrite(BUZZER, HIGH);
lcd.setCursor(0, 1);
lcd.print(“ALERT: HIGH !”);
} else {
digitalWrite(BUZZER, LOW);
lcd.setCursor(0, 1);
lcd.print(“Status: OK “);
}
delay(2000);
}