#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27,16,2);
#include "DHTesp.h"
#define trigPin 18
#define echoPin 19
const int DHT_PIN = 15;
#define ledPin 21
DHTesp dhtSensor;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
dhtSensor.setup(DHT_PIN,DHTesp::DHT22);
pinMode(trigPin,OUTPUT);
pinMode(echoPin,INPUT);
pinMode(ledPin,OUTPUT);
LCD.init();
LCD.backlight();
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp:" + String(data.temperature,2)+"c");
Serial.println("Humidity:" + String(data.humidity,1)+"%");
Serial.println("---");
long duration ,distance;
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
digitalWrite(trigPin,HIGH);
delayMicroseconds(10);
digitalWrite(trigPin,LOW);
duration = pulseIn(echoPin,HIGH);
distance = duration / 58.2;
if(distance <= 20.00){
digitalWrite(ledPin, HIGH);
}else{digitalWrite(ledPin,LOW);
}
LCD.setCursor(0,0);
LCD.print("Temp:" + String(data.temperature,2)+"c");
LCD.setCursor(0,1);
LCD.print("Humidity:" + String(data.humidity,1)+"%");
delay(3000);
}