// Define pins for Ultrasonic Sensor
const int trigPin = 2;
const int echoPin = 3;
// Define pins for LEDs
const int ledPinLeft = 5; // Indicates left turn
const int ledPinRight = 6; // Indicates right turn
void setup() {
// Initialize serial communication
Serial.begin(9600);
// Initialize Ultrasonic Sensor pins
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// Initialize LED pins
pinMode(ledPinLeft, OUTPUT);
pinMode(ledPinRight, OUTPUT);
// Turn off LEDs initially
digitalWrite(ledPinLeft, LOW);
digitalWrite(ledPinRight, LOW);
}
long readUltrasonicDistance() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
long distance = duration * 0.034 / 2;
return distance;
}
void loop() {
long distance = readUltrasonicDistance();
Serial.print("Distance: ");
Serial.println(distance);
if (distance < 50) {
// Obstacle detected, indicate direction change with LEDs
digitalWrite(ledPinLeft, HIGH); // Turn on left LED
digitalWrite(ledPinRight, LOW); // Turn off right LED
} else {
// No obstacle detected, move forward
digitalWrite(ledPinLeft, LOW); // Turn off left LED
digitalWrite(ledPinRight, HIGH); // Turn on right LED
}
delay(100);
}