#include "LiquidCrystal_I2C.h"
#include  <Wire.h>
LiquidCrystal_I2C lcd(0x27,  20, 4);

#include "DHT.h"
#define DHTPIN 4   
#define DHTTYPE DHT22   
DHT dht(DHTPIN, DHTTYPE);


const int trigPin = 9;
const int echoPin = 10;
float duration, distance;

void dht22() 
{
  delay(2000);  
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  Serial.print("Humidity: \t" );
  Serial.print(h);
  Serial.print(" %\n");
  lcd.setCursor(0,2);
  lcd.print("Hu: ");
  lcd.print(h);
  delay(500);
  Serial.print("Temperature: \t");
  Serial.print(t);
  Serial.print(" *C \n");
  lcd.setCursor(11,2);
  lcd.print("Te: ");
  lcd.print(t);
}
void hcsr04() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);
  distance = (duration*.0343)/2;
  Serial.print("Distance: ");
  Serial.println(distance);
  delay(100);
  lcd.setCursor(0,3);
  lcd.print("Distance: ");
  lcd.print(distance);
}

void setup() {  
  lcd.init();  
  lcd.backlight();
  dht.begin();
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}
void loop() {  
  delay(1000);  
  lcd.setCursor(0,0);  //(column,Row) 
  lcd.print("HIMACHAL PRADESH UNI");  
  lcd.setCursor(0,1);  
  lcd.print("LOVELY PR UNIVERSITY");  

  dht22();  //DHT22 Sensor function call
  hcsr04();
}