#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define DHTPIN 25
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
int buzzer = 14;
void setup() {
dht.begin();
lcd.init();
lcd.backlight();
pinMode(buzzer, OUTPUT);
}
void loop() {
float temp = dht.readTemperature();
float umid = dht.readHumidity();
if (isnan(temp) || isnan(umid)) {
lcd.setCursor(0,0);
lcd.print("Erro no sensor");
lcd.setCursor(0,1);
lcd.print("Verifique DHT");
noTone(buzzer);
delay(1000);
return;
}
lcd.setCursor(0,0);
lcd.print("Temp: ");
lcd.print(temp);
lcd.print(" C ");
lcd.setCursor(0,1);
lcd.print("Umid: ");
lcd.print(umid);
lcd.print(" % ");
if (temp > 35 && umid < 30) {
tone(buzzer, 1000);
}
else if (temp > 30) {
tone(buzzer, 1000);
delay(200);
noTone(buzzer);
delay(200);
}
else if (umid < 40) {
tone(buzzer, 1000);
delay(200);
noTone(buzzer);
delay(5000);
}
else {
noTone(buzzer);
}
delay(500);
}