#include <LiquidCrystal.h>
// Define LCD connections
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// Define ultrasonic sensor connections
const int trigPin = 7;
const int echoPin = 6;
void setup() {
// Initialize LCD
lcd.begin(16, 2);
// Initialize ultrasonic sensor pins
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// Set up Serial Monitor for debugging
Serial.begin(9600);
}
void loop() {
// Variables for the duration of the ping, and the distance result in inches and centimeters
long duration, inches, cm;
// Clear the trigPin by setting it low
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(echoPin, HIGH);
// Calculating the distance
inches = duration / 74 / 2;
cm = duration / 29 / 2;
// Print distance on Serial Monitor
Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();
// Display distance on LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Distance:");
lcd.setCursor(0, 1);
lcd.print(cm);
lcd.print(" cm");
// Delay before next reading
delay(1000);
}