#include <LiquidCrystal_I2C.h>
// Define LCD parameters
int lcdColumns = 16;
int lcdRows = 2;
LiquidCrystal_I2C lcd(0x27, lcdColumns, lcdRows);
// Define ultrasonic sensor pins
const int trigPin = 0;
const int echoPin = 4;
long duration;
int distance;
void setup(){
// Initialize LCD
lcd.init();
lcd.backlight();
// Initialize ultrasonic sensor pins
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// Set initial message on the LCD
lcd.setCursor(3, 0);
lcd.print("Ultrasonic");
lcd.setCursor(2, 1);
lcd.print("Distance Sensor");
delay(2000);
lcd.clear();
}
void loop(){
// Clear previous display
lcd.clear();
// Send a 10us HIGH pulse to trigger pin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Measure the echo pulse duration
duration = pulseIn(echoPin, HIGH);
// Calculate the distance in centimeters
distance = duration * 0.034 / 2;
// Display distance on the LCD
lcd.setCursor(0, 0);
lcd.print("Distance:");
lcd.setCursor(10, 0);
lcd.print(distance);
lcd.print(" cm");
delay(1000); // Wait for a second before the next measurement
}