#include<DHTesp.h>
DHTesp pavi;
TempAndHumidity data;
int trigger=4;
int echo=5;
int red_light=32;
int orange_light=26;
int green_light=25;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pavi.setup(15,DHTesp::DHT22);
pinMode(trigger,OUTPUT);
pinMode(echo,INPUT);
pinMode(32,OUTPUT);
pinMode(26,OUTPUT);
pinMode(25,OUTPUT);
}
int finding_distance(){
digitalWrite(trigger,HIGH);
delay(100);
digitalWrite(trigger,LOW);
float a=pulseIn(echo,HIGH);
return(a*0.034/2);
}
void loop() {
int distance=finding_distance();
Serial.println(distance);
data=pavi.getTempAndHumidity();
Serial.println("Hum :" +String(data.humidity));
Serial.println("Temp :" +String(data.temperature));
if ((distance>300) && (data.temperature<30) && (data.humidity>70))
{
digitalWrite(25,HIGH);
digitalWrite(26,LOW);
digitalWrite(32,LOW);
Serial.println("you are safe");
}
else if ((distance<=300 && distance>=200)&& (data.temperature>=30 && data.temperature<=70) && (data.humidity>=30 && data.humidity<=70))
{ digitalWrite(26,HIGH);
digitalWrite(25,LOW);
digitalWrite(32,LOW);
Serial.println("you are unsafe");}
else if((distance<200) && (data.humidity<30) && (data.temperature>70))
{digitalWrite(32,HIGH);
digitalWrite(26,LOW);
digitalWrite(25,LOW);
Serial.println("you are in danger");
}
else
{digitalWrite(32,LOW);
digitalWrite(26,LOW);
digitalWrite(25,LOW);
Serial.println("Invalid data");
}
delay(10);
}