#include <DHT.h>
#define DHTPIN 4
#define DHTTYPE DHT22
#define LED_PIN 2
#define BUTTON_PIN 0
DHT dht(DHTPIN, DHTTYPE);
bool alertState = false;
void setup() {
pinMode(LED_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
Serial.begin(115200);
dht.begin();
}
void loop() {
delay(2000);
float temperature = dht.readTemperature();
if (isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
if (temperature > 30) {
alertState = true;
}
if (alertState) {
digitalWrite(LED_PIN, HIGH);
Serial.println("Temperature alert: LED ON");
} else {
digitalWrite(LED_PIN, LOW);
Serial.println("Temperature normal: LED OFF");
}
if (digitalRead(BUTTON_PIN) == LOW) {
alertState = false;
digitalWrite(LED_PIN, LOW);
Serial.println("Alert reset: LED OFF");
delay(200);
}
}