#include <LiquidCrystal_I2C.h>
#include <NewPing.h>
int lcdColumns = 20;
int lcdRows = 4;
LiquidCrystal_I2C lcd(0x27, lcdColumns, lcdRows);
// Ultrasonic sensor pins
const int trigPin = 13;
const int echoPin = 12;
// Maximum distance to measure in centimeters
const int maxDistance = 400;
NewPing sonar(trigPin, echoPin, maxDistance);
void setup() {
// Initialize LCD
lcd.init();
// Turn on LCD backlight
lcd.backlight();
}
void loop() {
// Measure distance using the ultrasonic sensor
int distance = sonar.ping_cm();
// Set cursor to first column, first row
lcd.setCursor(0, 0);
// Print distance measurement and duration
lcd.print("Distance: ");
lcd.print(distance);
lcd.print(" cm");
// Calculate duration from distance (assuming speed of sound is 343 m/s)
float duration = distance / (343.0 / 100.0); // Convert cm to m and calculate duration in seconds
// Print duration
lcd.setCursor(0, 1);
lcd.print("Duration: ");
lcd.print(duration); // Convert seconds to milliseconds
lcd.print(" s");
delay(1000);
lcd.clear();
}