const int echo=14;
const int trig=12;
float distance;
float humidity;
float temperature;
float duration;
#define buzz 25
#define redled 18
#define blueled 5
#define greenled 17
#include <DHTesp.h>
DHTesp dhtSensor;
TempAndHumidity data;
const int dhtpin=27;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(buzz, OUTPUT);
pinMode(redled,OUTPUT);
pinMode(blueled,OUTPUT);
pinMode(greenled,OUTPUT);
dhtSensor.setup(dhtpin,DHTesp::DHT22);
delay(1000);
}
float getdistance()
{
digitalWrite(trig,LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
duration = pulseIn(echo,HIGH);
return {duration*0.034/2};
}
void loop()
{
distance=getdistance();
Serial.println("distance:"+String(distance));
Serial.println("<------------->");
data=dhtSensor.getTempAndHumidity();
Serial.println(" ");
Serial.println("Humidity: "+String(data.humidity));
Serial.println("Temperature: "+String(data.temperature));
delay(1500);
if(distance <= 100)
{
tone(buzz,1500);
digitalWrite(redled, HIGH);
}
else
{
noTone(buzz);
digitalWrite(redled, LOW);
}
if(data.humidity <= 12)
{
digitalWrite(blueled, HIGH);
delay(1000);
}
else
{
digitalWrite(blueled, LOW);
}
if(data.temperature <= 24)
{
digitalWrite(greenled, HIGH);
delay(1000);
}
else
{
digitalWrite(greenled, LOW);
}
}