Arduino Obstacle Avoiding Robot (Tinkercad Tutorial)

by marcosan in Circuits > Arduino

10 Views, 0 Favorites, 0 Comments

Arduino Obstacle Avoiding Robot (Tinkercad Tutorial)

Obstacle-Avoiding-Robot-using-Arduino-Image-1-760x440.jpg

learn how to code and this robot


Supplies

Screenshot 2022-09-18 202803.png

dc motors, Arduino, servo motor, ultrasonic sensor ,battery(powersupply), L293D

Open Tinkercad .Start a new circuit project. Use all the components needed

Screenshot 2022-09-18 203238.png

connect everything follow the picture above

Screenshot 2022-09-18 203525.png

coding:

#define RMS 5


#define RMP 6


#define RMN 7


#define LMS 4


#define LMP 2


#define LMN 3




const int trigPin = 11;


const int echoPin = 12;




float duration, distance;




void setup() {


pinMode(trigPin, OUTPUT);


pinMode(echoPin, INPUT);


pinMode(RMS, OUTPUT);


pinMode(RMP, OUTPUT);


pinMode(RMN, OUTPUT);


pinMode(LMS, OUTPUT);


pinMode(LMP, OUTPUT);


pinMode(LMN, OUTPUT);


digitalWrite(RMS, HIGH);


digitalWrite(LMS, HIGH);



Serial.begin(9600);



}




void loop() {



sense();



if ( distance > 50 ){



forward();


}


else {




stops();


}



}




void sense() {


digitalWrite(trigPin, LOW);


delayMicroseconds(2);


digitalWrite(trigPin, HIGH);


delayMicroseconds(10);


digitalWrite(trigPin, LOW);




duration = pulseIn(echoPin, HIGH);


distance = (duration*.0343)/2;


Serial.print("Distance: ");


Serial.println(distance);


delay(100);


}




void forward() {


digitalWrite(RMS, HIGH);


digitalWrite(LMS, HIGH);


digitalWrite(RMP, HIGH);


digitalWrite(RMN, LOW);


digitalWrite(LMP, HIGH);


digitalWrite(LMN, LOW);



}




void stops(){


digitalWrite(RMP, LOW);


digitalWrite(RMN, LOW);


digitalWrite(LMP, LOW);


digitalWrite(LMN, LOW);



}




void backward(){


digitalWrite(RMP, LOW);


digitalWrite(RMN, HIGH);


digitalWrite(LMP, LOW);


digitalWrite(LMN, HIGH);



}


void left(){


digitalWrite(RMP, HIGH);


digitalWrite(RMN, LOW);


digitalWrite(LMP, LOW);


digitalWrite(LMN, LOW);



}


void right(){


digitalWrite(RMP, LOW);


digitalWrite(RMN, LOW);


digitalWrite(LMP, HIGH);


digitalWrite(LMN, LOW);



}

vhfoj2x4g7.jpg

the logic:


When the ultrasonic sensor detect a certain object/obstacle it will stop go backward and turn around to other way

istockphoto-1199025903-612x612.jpg

congrats now you learn how to make obstacle robot