#include <DHTesp.h>
DHTesp banu;
TempAndHumidity data;
const int redLed = 12;
const int orangeLed = 13;
const int greenLed = 14;
const int trig = 5;
const int echo = 16;
void setup() {
Serial.begin(115200);
banu.setup(18, DHTesp::DHT22);
pinMode(redLed, OUTPUT);
pinMode(orangeLed, OUTPUT);
pinMode(greenLed, OUTPUT);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
}
float Dist() {
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
long duration = pulseIn(echo, HIGH);
float distance = (duration * 0.0343) / 2;
return distance;
}
void loop() {
data = banu.getTempAndHumidity();
float temp = data.temperature;
float humi = data.humidity;
float distance = Dist();
Serial.println("Distance: " + String(distance) + " cm");
Serial.println("Humi: " + String(humi));
Serial.println("Temp : " + String(temp));
Serial.println("-----");
if (temp >= 70 && humi <= 30 && distance < 200) {
digitalWrite(redLed, HIGH);
Serial.println("You're in danger");
}
else if (temp >= 30 && temp <= 70 && humi >= 30 && humi <= 70 && distance >= 200 && distance <= 300){
digitalWrite(orangeLed, HIGH);
Serial.println("Normal condition");
}
else if (temp <= 30 && humi >= 70 && distance > 300){
digitalWrite(greenLed, HIGH);
Serial.println("You're safe");
}
else{
digitalWrite(redLed, LOW);
digitalWrite(orangeLed, LOW);
digitalWrite(greenLed, LOW);
}
delay(1000);
}