// Ultrasonic sensor setup
const int trigPin = 7;
const int echoPin = 6;
// LED pins for status indication
const int greenLEDPin = 9;
const int redLEDPin = 10;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(greenLEDPin, OUTPUT);
pinMode(redLEDPin, OUTPUT);
digitalWrite(greenLEDPin, LOW);
digitalWrite(redLEDPin, LOW);
}
void loop() {
// Read obstacle distance
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) / 29.1;
// Obstacle avoidance
if (distance < 100) { // If an obstacle is detected within 50 cm
digitalWrite(greenLEDPin, LOW); // Stop indication
digitalWrite(redLEDPin, HIGH); // Stop due to obstacle
Serial.println("Obstacle detected! Stopping.");
} else {
digitalWrite(greenLEDPin, HIGH); // Moving indication
digitalWrite(redLEDPin, LOW); // No obstacle
Serial.println("No obstacle, moving.");
}
delay(1000); // Wait for a second before the next loop
}