#include "DHT.h"
#include "pitches.h"
#define DHPIN 2
#define DHTTYPE DHT22
#define BUZZER_PIN 10
#define PUSH_BTN_PIN 7
#define LED_PIN 8
DHT dht(DHPIN,DHTTYPE);
int BTN_STATE = false;
void setup() {
Serial.begin(115200);
Serial.println(F("DHT22 Example"));
dht.begin();
pinMode(BUZZER_PIN, OUTPUT);
pinMode(PUSH_BTN_PIN, INPUT_PULLUP);
pinMode(LED_PIN, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
if(isnan(temperature) || isnan(humidity)){
Serial.println(F("Failed to read from DHT sensor"));
return;
}else{
if(digitalRead(PUSH_BTN_PIN) == true){
BTN_STATE = !BTN_STATE;
digitalWrite(LED_PIN, BTN_STATE);
// Serial.println(F("fire alarm off"));
// digitalWrite(BUZZER_PIN, LOW);
}
if((temperature > 40) && (BTN_STATE == false)){
digitalWrite(LED_PIN, HIGH);
Serial.println(F("fire alarm on"));
tone(BUZZER_PIN, NOTE_C4);
digitalWrite(BUZZER_PIN, HIGH);
}else{
digitalWrite(LED_PIN, LOW);
Serial.println(F("fire alarm off:fine temperature"));
digitalWrite(BUZZER_PIN, LOW);
noTone(BUZZER_PIN);
}
}
Serial.print(F("Humidity: "));
Serial.print(humidity);
Serial.print(F("% Temperature: "));
Serial.print(temperature);
Serial.println(F("C"));
delay(2000);
}