#include <DHTesp.h>
const int pin = 27;
DHTesp dhts;
TempAndHumidity data;
const int trig = 14;
const int echo = 12;
float dur;
float dis;
int r = 18;
int g = 17;
int b = 16;
int buzzer = 26;
void setup() {
Serial.begin(115200);
Serial.begin(115200);
dhts.setup(pin,DHTesp::DHT22);
delay(100);
Serial.begin(115200);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(r, OUTPUT);
pinMode(g, OUTPUT);
pinMode(b, OUTPUT);
pinMode(buzzer, OUTPUT);
}
float getdistance()
{
digitalWrite(trig, LOW);
delayMicroseconds(3);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
dur = pulseIn(echo,HIGH);
return(dur*0.034/2);
}
void loop() {
data = dhts.getTempAndHumidity();
dis = getdistance();
if(data.temperature<=12)
{
Serial.println("Temperature is "+String(data.temperature));
digitalWrite(g, HIGH);
}
else{
digitalWrite(g, LOW);
}
if(data.humidity<=25)
{
Serial.println("Humidity is "+String(data.humidity));
digitalWrite(b, HIGH);
}
else{
digitalWrite(b, LOW);
}
if(dis<=100)
{
Serial.println("Distance is "+String(dis));
digitalWrite(r, HIGH);
tone(buzzer,1000);
}
else {
noTone(buzzer);
digitalWrite(r, LOW);
}
Serial.println();
delay((100));
}