#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
const int buzzerPin = 8;
const int buttonPin = 7;
bool buzzerActive = false;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
pinMode(buzzerPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP); // Configura o pino do botão como entrada com pull-up interno
dht.begin();
lcd.init();
lcd.backlight();
}
void loop() {
float temperature = dht.readTemperature();
if (temperature >= 40.0) {
// Ativa o alarme do buzzer se a temperatura for maior ou igual a 40 graus Celsius
activateBuzzer();
} else {
// Desativa o alarme do buzzer se a temperatura estiver abaixo de 40 graus Celsius
deactivateBuzzer();
}
// Verifica se o botão foi pressionado para desativar o alarme do buzzer
if (digitalRead(buttonPin) == LOW) {
deactivateBuzzer();
}
// Exibe a temperatura no LCD
lcd.setCursor(0, 0);
lcd.print("Temperatura:");
lcd.setCursor(0, 1);
lcd.print(temperature);
lcd.print(" C");
delay(1000); // Aguarda 1 segundo antes de fazer a próxima leitura
}
void activateBuzzer() {
digitalWrite(buzzerPin, HIGH);
buzzerActive = true;
}
void deactivateBuzzer() {
digitalWrite(buzzerPin, LOW);
buzzerActive = false;
}