#include <DHTesp.h>
DHTesp dht;
TempAndHumidity data;
int distance();
int trigger=4;
int echo=5;
int r = 25;
int o = 33;
int g = 32;
int buzzer = 26;
void setup() {
pinMode(r, OUTPUT);
pinMode(o, OUTPUT);
pinMode(g, OUTPUT);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
pinMode(buzzer, OUTPUT);
Serial.begin(115200);
Serial.println("Hello, ESP32!");
dht.setup(18,DHTesp::DHT22);
}
void loop() {
noTone(buzzer);
data = dht.getTempAndHumidity();
float data2 = distance();
Serial.println("Temerature : "+String(data.temperature));
Serial.println("humidity : "+String(data.humidity));
Serial.println("Distance : "+String(data2));
if (data.temperature<=30 && data.humidity >=70 && data2 >=300) {
digitalWrite(g, HIGH);
digitalWrite(o, LOW);
digitalWrite(r, LOW);
Serial.println("You are safe");
} else if ((data.humidity>30 && data.humidity<70) && (data2>200 && data2<300)&&(data.temperature>30 && data.temperature<70)) {
digitalWrite(g, LOW);
digitalWrite(o, HIGH);
digitalWrite(r, LOW);
Serial.println("You are unsafe");
} else if (data.temperature >=70 && data.humidity <=30 && data2 <=200) {
digitalWrite(g, LOW);
digitalWrite(o, LOW);
digitalWrite(r, HIGH);
Serial.println("You are in danger");
tone(buzzer,5000);
}
else
{
digitalWrite(r,LOW);
digitalWrite(o,LOW);
digitalWrite(g,LOW);
}
delay(1000);
}
int distance()
{
digitalWrite(trigger, HIGH);
delay(100);
digitalWrite(trigger, LOW);
float a = pulseIn(echo,HIGH);
return(a*0.034/2);
}