Mostafa zaghloulsarah gamalMohamed MostafaHamada HamzaRokaya Elhakim
Created November 9, 2015 © GPL3+

Avoid CAR

It a simple car to avoid any Handicap

BeginnerFull instructions provided351
Avoid CAR

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
SR04
the UltraSonics
×3
2WD car
Make it as you want :) just make it simple and Light
×1

Story

Read more

Schematics

how to connect the ultrasonic with Arduino uno

Code

Untitled file

Arduino
//motor A
#define en1 9
#define in1 4
#define in2 5
//motor b
#define en2 3
#define in3 6
#define in4 7

int front_trig = A4; 
int front_echo = A5; 

int left_trig = A2;
int left_echo = A3;

int right_trig = A0;
int right_echo = A1;


//distance,time
long front_time, front_dis, right_time, right_dis, left_time, left_dis;

void setup() {
  pinMode(front_trig, OUTPUT); 
  pinMode(front_echo, INPUT);

  pinMode(left_trig, OUTPUT);
  pinMode(left_echo, INPUT);

  pinMode(right_trig, OUTPUT);
  pinMode(right_echo, INPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
  pinMode(en1, OUTPUT);
  pinMode(en2, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  digitalWrite(front_trig, LOW);  
  delayMicroseconds(2);               
  digitalWrite(front_trig, HIGH); 
  delayMicroseconds(5);               
  digitalWrite(front_trig, LOW);  
  front_time = pulseIn(front_echo, HIGH); 
  front_dis = front_time/ 29 / 2;

  digitalWrite(left_trig, LOW);
  delayMicroseconds(2);
  digitalWrite(left_trig, HIGH);
  delayMicroseconds(5);
  digitalWrite(left_trig, LOW);
  left_time= pulseIn(left_echo, HIGH);
  left_dis= left_time / 29 / 2;

  digitalWrite(right_trig, LOW);
  delayMicroseconds(2);
  digitalWrite(right_trig, HIGH);
  delayMicroseconds(5);
  digitalWrite(right_trig, LOW);
  right_time = pulseIn(right_echo, HIGH);
  right_dis = right_time / 29 / 2;
  Serial.print(right_dis);
  Serial.print(":");
  Serial.print(front_dis);
  Serial.print(":");
  Serial.println(left_dis);
  
  

   
if(right_dis <= 15)
  { left();
  }
  else if(left_dis <=15)
    
    {right();
    
   }
   else if (front_dis<=15)
   {back();
   }else {
    forward();
    }
   delay(100);
}
void right() {
  analogWrite(en1,255);
  analogWrite(en2,255);
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
}
void Stop () {
  analogWrite(en1, 0);
  analogWrite(en2, 0);
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
}
void left() {
  analogWrite(en1, 255);
  analogWrite(en2, 255);
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
}
void forward() {
  analogWrite(en1, 255);
  analogWrite(en2, 255);
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
}
void back(){

   analogWrite(en1, 255);
  analogWrite(en2, 255);
  digitalWrite(in1, LOW);
  digitalWrite(in2,HIGH);
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH);
}

the code here on Codebender

Credits

Mostafa zaghloul
6 projects • 19 followers
mostafa zaghloul a communication engineer student at "Egypt's Higher Institute Mansoura"
sarah gamal
4 projects • 10 followers
Mohamed Mostafa
4 projects • 9 followers
Mini Engineer
Hamada Hamza
4 projects • 7 followers
عضو فى تيم صغنن خالص تقدر تقول بنستفاد من بعض
Rokaya Elhakim
3 projects • 3 followers

Comments