Hi guys, I am a newbie here and I have used this code here to program my R/c car:
#define enable1 2 //enable throttle motor
#define enable2 4 //enable steering motor
#define MLP1 3 //MPL = Motor Logic Pin (MLP1/2 = Throttle,MLP3/4 = Steering)
#define MLP2 2
#define MLP3 4
#define MLP4 5
#define Sp1 11
#define Sp2 12
#define trigPin 9 //Trigger Pin for HC-SR04
#define echoPin 10//Echo Pin
int duration;
int distance;
void setup(){
pinMode (enable1,OUTPUT);
pinMode (enable2,OUTPUT);
pinMode (MLP1,OUTPUT);
pinMode (MLP2,OUTPUT);
pinMode (MLP3,OUTPUT);
pinMode (MLP4,OUTPUT);
pinMode (trigPin, OUTPUT);
pinMode (echoPin,INPUT);
}
void loop(){
int duration, distance;
digitalWrite(trigPin, HIGH);
delayMicroseconds(3000);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/148);
if (distance >= 10){
Forward();
}
if (distance<10){ Here is where my problem is.
Backward();
Speaker();
delay(1000);
StopDriving();
}
}
void Backward(){ //drive backward
digitalWrite(enable1,HIGH);
digitalWrite(MLP1,HIGH);
digitalWrite(MLP2,LOW);
}
void Forward(){ //drive forward
digitalWrite(enable1,HIGH);
digitalWrite(MLP1,LOW);
digitalWrite(MLP2,HIGH);
}
void Left(){ //turn left
digitalWrite(enable2,HIGH);
digitalWrite(MLP3,LOW);
digitalWrite(MLP4,HIGH);
}
void Right(){ //turn right
digitalWrite(enable2,HIGH);
digitalWrite(MLP3,HIGH);
digitalWrite(MLP4,LOW);
}
void StopTurning(){ //self-explanatory
digitalWrite(enable2,LOW);
digitalWrite(MLP3,LOW);
digitalWrite(MLP4,LOW);
}
void StopDriving(){ //self-explanatory
digitalWrite(enable1,LOW);
digitalWrite(MLP1,LOW);
digitalWrite(MLP2,LOW);
}
void Speaker() {
digitalWrite(Sp1, HIGH);
digitalWrite(Sp2, HIGH);
delay(1000);
}
int DistanceDetect(){
int duration, distance;
digitalWrite(trigPin, HIGH);
delayMicroseconds(1000);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/148);
}
I use a HC-SR04 Ultrasonic Sensor and a Arduino Uno REV 3
This program makes my r/c car move forward until it detects a wall, once it
does, it jerks backward for a second then continues going forward.
It works, but I want my car to move backward from the wall and then turn left for a second and it will continue on with the program
Just tell what I have to add to my program above so it turns left and moves away from the wall
THANKS EVERYBODY!!!