#include <DHTesp.h>
#include <WiFi.h>
char nijanth[] = "Wokwi-GUEST";
char pass[] = "";
DHTesp dhtSensor;
TempAndHumidity data;
int trigger_pin=26;
int echo_pin=25;
float d;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
WiFi.mode(WIFI_STA);
pinMode(echo_pin, INPUT);
pinMode(trigger_pin, OUTPUT);
pinMode(21, OUTPUT);
pinMode(4, OUTPUT);
pinMode(16, OUTPUT);
pinMode(22, OUTPUT);
dhtSensor.setup(18, DHTesp::DHT22);
}
int wdistance(){
digitalWrite(trigger_pin,LOW);
delay(10);
digitalWrite(trigger_pin,HIGH);
delay(100);
digitalWrite(trigger_pin,LOW);
d=pulseIn(echo_pin,HIGH);
return(d*0.034/2)+1;
delay(1000);
}
void wifi()
{
if(WiFi.status() != WL_CONNECTED)
{
Serial.print("Attempting to connect");
while(WiFi.status() != WL_CONNECTED)
{
WiFi.begin(nijanth, pass);
Serial.print(".");
delay(5000);
}
Serial.println("\nConnected.");
}
}
void loop() {
wifi();
int c=wdistance();
Serial.println(String(c));
data = dhtSensor.getTempAndHumidity();
Serial.println("Humi : " + String(data.humidity));
Serial.println("Temp : " + String(data.temperature));
Serial.println("-----------------");
if(c<=200 && data.temperature<=40 && data.humidity>=70)
{
digitalWrite(21, HIGH);//red
digitalWrite(4, LOW);
digitalWrite(16, LOW);
tone(22,1000);
}
else if(c>200 && c<350 && data.temperature>40 && data.temperature<70 && data.humidity>40 && data.humidity<70)
{
digitalWrite(4, HIGH);//orange
digitalWrite(21, LOW);
digitalWrite(16, LOW);
noTone(22);
}
else if(c>=350 && data.temperature>=70 && data.humidity<=40)
{
digitalWrite(16, HIGH);//green
digitalWrite(21, LOW);
digitalWrite(4, LOW);
noTone(22);
}
delay(1000);
}