#include <LiquidCrystal.h>
#define echoPinl 2 // attach pin D2 Arduino to pin Echo of HC-SR04
#define echoPinm 4
#define echoPinr 5
#define trigPinl 6 // attach pin D6 Arduino to pin Trig of HC-SR04 for left sensor
#define trigPinm 13 // attach pin D7 Arduino to pin Trig of HC-SR04 for middle sensor
#define trigPinr 3 // attach pin D8 Arduino to pin Trig of HC-SR04 for right sensor
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
// defines variables
long durationl; // variable for the duration of sound wave travel
long durationm;
long durationr;
int distancel; // variable for the distance measurement
int distancem;
int distancer;
void setup() {
pinMode(trigPinl, OUTPUT); // Sets the trigPinl as an OUTPUT
pinMode(trigPinm, OUTPUT); // Sets the trigPinm as an OUTPUT
pinMode(trigPinr, OUTPUT); // Sets the trigPinr as an OUTPUT
pinMode(echoPinl, INPUT);
pinMode(echoPinm, INPUT);
pinMode(echoPinr, INPUT); // Sets the echoPin as an INPUT
lcd.begin(16, 2); // Initialize the LCD with 16 columns and 2 rows
Serial.begin(9600); // Initialize Serial communication for debugging
}
void loop() {
// Measure left sensor
distancel = getDistance(trigPinl, echoPinl);
// Delay before measuring middle sensor
delay(10);
// Measure middle sensor
distancem = getDistance(trigPinm, echoPinm);
// Delay before measuring right sensor
delay(10);
// Measure right sensor
distancer = getDistance(trigPinr, echoPinr);
// Clear LCD before printing new readings
lcd.clear();
// Print distances on LCD
lcd.setCursor(0, 0);
lcd.print("L: ");
lcd.print(distancel);
lcd.setCursor(7, 0);
lcd.print("M: ");
lcd.print(distancem);
lcd.setCursor(0, 1);
lcd.print("R: ");
lcd.print(distancer);
// Debugging output
Serial.print("Left: ");
Serial.print(distancel);
Serial.print(" | Middle: ");
Serial.print(distancem);
Serial.print(" | Right: ");
Serial.println(distancer);
delay(250); // Delay between sensor readings (adjust as needed)
}
int getDistance(int trigPin, int echoPin) {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
int distance = duration * 0.034 / 2;
return distance;
}