#include <DHT.h>
#define DHT_PIN PA1
#define DHT_TYPE DHT22
#define BUZZER_PIN PA5
DHT dht(DHT_PIN, DHT_TYPE);
void setup()
{
Serial.begin(115200);
pinMode(BUZZER_PIN, OUTPUT);
digitalWrite(BUZZER_PIN, LOW);
dht.begin();
Serial.println("DHT22 Sensor Starting...");
}
void loop()
{
delay(2000);
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
// Check whether DHT22 reading is valid
if (isnan(humidity) || isnan(temperature))
{
Serial.println("Failed to read DHT22!");
digitalWrite(BUZZER_PIN, HIGH);
return;
}
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" °C");
Serial.print(" Humidity: ");
Serial.print(humidity);
Serial.println(" %");
// Alarm condition
if (temperature >= 32.0 || humidity >= 80.0)
{
digitalWrite(BUZZER_PIN, HIGH);
Serial.println("WARNING! Buzzer ON");
}
else
{
digitalWrite(BUZZER_PIN, LOW);
Serial.println("Normal - Buzzer OFF");
}
}