#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#include <DHT.h>;
int trig = 9;
int echo = 5;
DHT dht(12, DHT22);
int dtim =2000;
void setup() {
Serial.begin(115200);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
dht.begin();
lcd.init();
lcd.backlight();
}
void loop() {
float temp = dht.readTemperature();
float humid = dht.readHumidity();
Serial.print("Temperature is ");
Serial.println(temp);
Serial.print("Humidity is ");
Serial.println(humid);
delay(250);
digitalWrite(trig, LOW);
delayMicroseconds(5);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
long time = pulseIn(echo, HIGH);
float distance = (0.034*time)/2;
Serial.print("The distance is ");
Serial.println(distance);
delay(1000);
lcd.setCursor(0, 0);
lcd.print(temp);
lcd.print(" degrees");
delay(dtim);
lcd.setCursor(0, 1);
lcd.print(humid);
lcd.print(" %");
delay(dtim);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(distance);
lcd.print(" cm");
delay(dtim);
lcd.clear();
lcd.noDisplay();
}