Friday, June 27, 2025

U Turn accident prevention

 


#define TRIG1 6   // Trigger pin for Sensor 1
#define ECHO1 7   // Echo pin for Sensor 1
#define TRIG2 8 // Trigger pin for Sensor 2
#define ECHO2 9   // Echo pin for Sensor 2
#define LED1 10   // LED for Sensor 1
#define LED2 11   // LED for Sensor 2

#define DETECTION_DISTANCE 30 // Distance threshold in cm

void setup() {
  pinMode(TRIG1, OUTPUT);
  pinMode(ECHO1, INPUT);
  pinMode(TRIG2, OUTPUT);
  pinMode(ECHO2, INPUT);
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
 
  Serial.begin(9600);
}

void loop() {
  int distance1 = getDistance(TRIG1, ECHO1);
  int distance2 = getDistance(TRIG2, ECHO2);

  Serial.print("Sensor 1 Distance: ");
  Serial.print(distance1);
  Serial.print(" cm, Sensor 2 Distance: ");
  Serial.print(distance2);
  Serial.println(" cm");

  // Turn LED1 ON if Sensor 1 detects an object
  if (distance1 > 0 && distance1 <= DETECTION_DISTANCE) {
    digitalWrite(LED1, HIGH);
  } else {
    digitalWrite(LED1, LOW);
  }

  // Turn LED2 ON if Sensor 2 detects an object
  if (distance2 > 0 && distance2 <= DETECTION_DISTANCE) {
    digitalWrite(LED2, HIGH);
  } else {
    digitalWrite(LED2, LOW);
  }

  delay(500);
}

// Function to measure distance using an ultrasonic sensor
int getDistance(int trigPin, int echoPin) {
  long duration;
 
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
 

  duration = pulseIn(echoPin, HIGH);
  int distance = duration * 0.034 / 2; // Convert to cm

  return distance;
}

No comments:

Post a Comment

MUD Three Mode operation Manual Automatic GPS

 Code for three mode operation: /*   3-Mode Headlight Controller   - Manual mode (driver uses a toggle to pick high/low)   - Auto mode (LDR...