#include <DHT.h>
#include <LiquidCrystal_I2C.h>
const int triggerPin = 12;
const int echoPin = 14;
const int dhtPin = 27;
DHT dht(dhtPin, DHT22);
LiquidCrystal_I2C lcd(0x27, 20, 4);
void setup() {
Serial.begin(115200);
pinMode(triggerPin, OUTPUT);
pinMode(echoPin, INPUT_PULLUP);
lcd.init();
lcd.backlight();
lcd.print("Serialcounter Example");
delay(2000);
dht.begin();
}
void loop() {
delay(2000);
float humidity=dht.readHumidity();
float temperature = dht.readTemperature();
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
float duration = pulseIn(echoPin, HIGH);
float distance = duration * 0.034 / 2;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Humidity : "+String(humidity));
lcd.setCursor(0,1);
lcd.print("Temperature : "+String(temperature)); //(char)223 = degree symbol
lcd.setCursor(0,2);
lcd.print("Duration: " + String(duration));
lcd.setCursor(0,3);
lcd.print("Distance: " + String(distance,0) + "cm");
delay(1000);
}