#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>
#define DHTTYPE DHT22 // DHT 22
#define DHTPIN 2
DHT_Unified dht(DHTPIN, DHTTYPE);
uint32_t delayMS;
int green = 13;
int yellow = 11;
int red = 9;
int cnt = 0;
int buzzer = 7;
float tmp, humid;
void setup() {
Serial.begin(9600);
dht.begin();
sensor_t sensor;
delayMS = sensor.min_delay / 1000;
pinMode(green, OUTPUT);
pinMode(yellow, OUTPUT);
pinMode(red, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop()
{
sensors_event_t event;
dht.temperature().getEvent(&event);
Serial.print(F("Temperature: "));
tmp = event.temperature;
Serial.print(tmp);
Serial.println(F("°C"));
dht.humidity().getEvent(&event);
Serial.print(F("Humidity: "));
humid = event.relative_humidity;
Serial.print(humid);
Serial.println(F("%"));
// conditions
if(tmp >=40 || humid >=40){
digitalWrite(green, LOW);
digitalWrite(red, LOW);
digitalWrite(yellow, HIGH);
cnt++;
}
if(tmp <= 10 || humid <=10){
if(cnt==0){
digitalWrite(green, LOW);
digitalWrite(yellow, LOW);
}
digitalWrite(red, HIGH);
cnt++;
}
if(cnt == 0){
digitalWrite(green, HIGH);
noTone(buzzer);
digitalWrite(red, LOW);
digitalWrite(yellow, LOW);
}
else{
tone(buzzer,1000);
}
cnt = 0;
delay(delayMS);
}