#include "DHT.h"
#include "nada.h"
#define DHTPIN 2
#define DHTTYPE DHT22
#define LED_GR 13
#define LED_YL 12
#define LED_RD 11
#define BUZZER 3
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println(F("DHTxx test!"));
pinMode(LED_GR, OUTPUT);
pinMode(LED_YL, OUTPUT);
pinMode(LED_RD, OUTPUT);
pinMode(BUZZER, OUTPUT);
digitalWrite(LED_GR,LOW);
digitalWrite(LED_YL,LOW);
digitalWrite(LED_RD,LOW);
noTone(BUZZER);
dht.begin();
}
void loop() {
delay(200);
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
if (t > 50)
{
digitalWrite(LED_GR,HIGH);
digitalWrite(LED_YL,HIGH);
digitalWrite(LED_RD,HIGH);
alarm();
}else if (t > 30)
{
digitalWrite(LED_GR,HIGH);
digitalWrite(LED_YL,HIGH);
digitalWrite(LED_RD,LOW);
nokia();
}else{
digitalWrite(LED_GR,HIGH);
digitalWrite(LED_YL,LOW);
digitalWrite(LED_RD,LOW);
noTone(BUZZER);
}
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.println(F("°C "));
}
void alarm()
{
int i=0;
for(i=700;i<800;i++){
tone(BUZZER,i);
delay(15);
}
for(i=800;i>700;i--){
tone(BUZZER,i);
delay(15);
}
}
void nokia()
{
tone(BUZZER, NOTE_E6);
delay(150);
tone(BUZZER, NOTE_D6);
delay(150);
tone(BUZZER, NOTE_FS5);
delay(200);
tone(BUZZER, NOTE_GS5);
delay(250);
tone(BUZZER, NOTE_CS6);
delay(150);
tone(BUZZER, NOTE_B5);
delay(150);
tone(BUZZER, NOTE_D5);
delay(200);
tone(BUZZER, NOTE_E5);
delay(250);
tone(BUZZER, NOTE_B5);
delay(150);
tone(BUZZER, NOTE_A5);
delay(150);
tone(BUZZER, NOTE_CS5);
delay(200);
tone(BUZZER, NOTE_E5);
delay(200);
tone(BUZZER, NOTE_A5);
delay(350);
noTone(BUZZER);
delay(200);
}