#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

const int echoPin = 2; // attach pin D2 Arduino to Echo pin of Sensor module
const int trigPin = 3; // attach pin D3 Arduino to Trig pin of Sensor module

void setup()
{
  pinMode(echoPin, INPUT); 
  pinMode(trigPin, OUTPUT);

  lcd.init();             // initialize the lcd
  lcd.backlight();        // Turn on the Backlight
  Serial.begin(9600);

  // The text to be printed in serial monitor
  Serial.println("Distance measurement using Arduino Uno");
}

void loop()
{
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  long duration = pulseIn(echoPin, HIGH);
  float distance = float(duration) * 0.0344 / 2.0;
  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println(" cm");

  lcd.clear();            // Clear the display buffer
  lcd.setCursor(0, 0);    // Set cursor for "Distance:" (Column, Row)

  lcd.print("Distance:"); // print "Distance:" at (0, 0)
  lcd.setCursor(0, 1);    // Set cursor for output value  (0, 1)

  lcd.print(distance,0);  // print Output in cm at (0, 1)
  lcd.setCursor(4, 1);    // move cursor to (4, 1)
  lcd.print("cm");        // print "cm" at (4, 1)

  delay(500);
}