#include <DHTesp.h>
DHTesp dht;
TempAndHumidity th;
const int trg=14,echo=13,grn=25,org=21,red=19,buzzer=2;
float dis=0;
void setup() {
Serial.begin(115200);
pinMode(trg, OUTPUT);
pinMode(echo,INPUT);
pinMode(grn, OUTPUT);
pinMode(org,OUTPUT);
pinMode(red, OUTPUT);
pinMode(buzzer, OUTPUT);
dht.setup(18,DHTesp::DHT22);
}
int ultra(){
digitalWrite(trg,HIGH);
delay(1000);
digitalWrite(trg,LOW);
float eh=pulseIn(echo,HIGH);
dis=eh*0.034/2;
return dis;
}
void loop() {
th=dht.getTempAndHumidity();
int sensor=ultra();
if(th.temperature <=30 && th.humidity >=70 && dis>=300){
digitalWrite(grn, HIGH);
digitalWrite(org, LOW);
digitalWrite(red, LOW);
Serial.println("You are safe!!");
noTone(buzzer);
}
else if((th.temperature >30 && th.temperature<70) && (th.humidity >30 && th.humidity<70) && (dis>200 && dis<300))
{
digitalWrite(org, HIGH);
digitalWrite(grn, LOW);
digitalWrite(red, LOW);
Serial.println("You are unsafe!!");
noTone(buzzer);
}
else if(th.temperature >=70 && th.humidity <=30 && dis<=200){
digitalWrite(red, HIGH);
digitalWrite(org, LOW);
digitalWrite(grn, LOW);
Serial.println("You are danger!!!!!!");
tone(buzzer, 10000);
}
else{
digitalWrite(red, LOW);
digitalWrite(org, LOW);
digitalWrite(grn, LOW);
Serial.println("Unstable values");
tone(buzzer, 10000);
}
delay(10);
}