const int TRIG_PIN_F = 6;
const int ECHO_PIN_F = 5;
const int THRESHOLD_F= 50;
const int TRIG_PIN_R = 51;
const int ECHO_PIN_R = 50;
const int THRESHOLD_R= 20;
const int TRIG_PIN_L = 48;
const int ECHO_PIN_L = 49;
const int THRESHOLD_L= 20;
float duration_us_F, distance_cm_F,duration_us_R ;
float distance_cm_R,duration_us_L, distance_cm_L;
void setup() {
Serial.begin (9600);
pinMode(TRIG_PIN_F, OUTPUT);
pinMode(ECHO_PIN_F, INPUT);
pinMode(TRIG_PIN_R, OUTPUT);
pinMode(ECHO_PIN_R, INPUT);
pinMode(TRIG_PIN_L, OUTPUT);
pinMode(ECHO_PIN_L, INPUT);
pinMode(13, OUTPUT);
pinMode(11, OUTPUT);
}
void loop() {
ultrasonic_F();
if(distance_cm_F < THRESHOLD_F) {
ultrasonic_R();
ultrasonic_L();
if(distance_cm_R < 40 && distance_cm_L > 40)
{
digitalWrite(13, LOW);
digitalWrite(11, HIGH);
}
if(distance_cm_R >40 && distance_cm_L < 40)
{
digitalWrite(13, HIGH);
digitalWrite(11, LOW);
}
if (distance_cm_R <= 40 && distance_cm_L <= 40){
digitalWrite(13, HIGH);
digitalWrite(11, LOW);
}
if (distance_cm_R > 40 && distance_cm_L > 40){
digitalWrite(13, HIGH);
digitalWrite(11, LOW);
}
}else{
digitalWrite(13, HIGH);
digitalWrite(11, HIGH);
}
}
void ultrasonic_F(){
digitalWrite(TRIG_PIN_F, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN_F, LOW);
duration_us_F = pulseIn(ECHO_PIN_F, HIGH);
distance_cm_F = 0.017 * duration_us_F;
Serial.print("object distance in front : ");
Serial.print(distance_cm_F);
Serial.println(" cm");
delay(500);
}
void ultrasonic_R(){
digitalWrite(TRIG_PIN_R, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN_R, LOW);
duration_us_R = pulseIn(ECHO_PIN_R, HIGH);
distance_cm_R = 0.017 * duration_us_R;
Serial.print("object distance in right : ");
Serial.print(distance_cm_R);
Serial.println(" cm");
delay(500);
}
void ultrasonic_L(){
digitalWrite(TRIG_PIN_L, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN_L, LOW);
duration_us_L= pulseIn(ECHO_PIN_L, HIGH);
distance_cm_L = 0.017 * duration_us_L;
Serial.print("object distance in left : ");
Serial.print(distance_cm_L);
Serial.println(" cm");
delay(500);
}