#include <DHT.h>
#include <LiquidCrystal.h>
// Definição de pinos
#define DHTPIN 13 // Pino do sensor DHT22
#define DHTTYPE DHT22 // Tipo do sensor DHT22
#define buzzer 4 // Pino do buzzer
#define button 5 // Pino do botão de reinício
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // Pinos do LCD
DHT dht(DHTPIN, DHTTYPE);
void setup() {
pinMode(buzzer, OUTPUT);
pinMode(button, INPUT_PULLUP);
lcd.begin(16, 2); // Inicializa o LCD
dht.begin(); // Inicializa o sensor
lcd.print("");
delay(2000); // Exibe mensagem inicial
lcd.clear();
}
void loop() {
// Reinício do sistema ao pressionar o botão
if (digitalRead(button) == LOW) {
digitalWrite(buzzer, LOW);
lcd.clear();
lcd.print("Reiniciando...");
delay(2000);
lcd.clear();
return; // Reinicia o loop
}
// Lê a temperatura
int temp = dht.readTemperature();
// Exibe a temperatura no LCD
lcd.clear();
lcd.print("Temp: ");
lcd.print(temp);
lcd.print(" C");
// Condição de alerta se temperatura > 30°C
if (temp > 30) {
digitalWrite(buzzer, HIGH); // Liga buzzer
lcd.setCursor(0, 1); // Segunda linha do LCD
lcd.print("ALERTA!");
} else {
digitalWrite(buzzer, LOW); // Desliga buzzer
}
delay(5000);
}