Introduction: Arduino Self-Driving Car

Picture of Arduino Self-Driving Car

This is basically a Self-Driving Car powered by Arduino R-3 Development Board and a L293D Motor Shield.It uses the data given by the HC-SR04 Ultrasonic Sensor which is connected to analog pins of the arduino board. As an additional feature, I have added a Micro 90g servo which the ultrasonic sensor is fixed to. Basically what the servo does is, it makes the ultrasonic sensor to look around and search for different paths. So this was it, now lets get started with the project.

Step 1: The Materials Needed : (Really??)

Picture of The Materials Needed :   (Really??)


1- Arduino UNO R-3 Board Link:

2- L293D Motor Shield Link:

3- BO Motors and Wheels (x4) Link:

4- HC-SR04 Ultrasonic Sensor Link:

5- Ultrasonic Sensor Bracket Link:

6- 90g Micro Servo Link:

7- 9 Volt Battery (x1) Link:

8- 9 Volt Battery Clip Link:

9- Male to Female Jumper Wires (x4) Link:

10- Plastic Box Link: (Come on, u can find that in ur home)

11- Wires Link: (You might find some in ur nearest hardware shop)


1- Soldering Iron Link: good iron for beginners)

2- Soldering Wire Link: inside the wire)

3- Hot Glue Gun Link: personally like it)

4- Hot Glue Sticks Link:

5- Screwdriver Link:

6- Screws Link: (Included with the servo)

7- Pliers Link: good one)

Step 2: About the Motors (ooohh)

Picture of About the Motors (ooohh)

Solder the wires on each of the motor terminals and check them using the battery. Solder the negative or black wires on the left terminalsof the motor while the positive or red wires on the right terminals. Now glue the motors to the box.

Step 3: About the Motor Shield (: I )

Picture of About the Motor Shield (: I )

Now plug the L293D Motor Shield on the Arduino UNO. Put the shield in this way that the reset button on the shield is facing towards the usb port and the power input of the arduino. Now connect the top-left motor to the M1 on the shield, down-left to the M2, top-right to the M3, down-right to the M4. Connect the positive and negative wires in the way as shown in the picture.

Step 4: Servo!! (: ) )

Picture of Servo!! (: ) )

Connect the servo on the L293D Motor Shield as shown in the image. Now glue it to the box as shown.

Step 5: The Ultrasonic Sensor (???)

Picture of The Ultrasonic Sensor (???)

Now attach the ultrasonic sensor to the bracket and attach the wires corresponding to (VCC- Brown), (Trig-Yellow), (Echo- Green), (Gnd- Black). Now attach the the sensor to the motor shield as(VCC- 5v), (Gnd- Gnd), (Trig- Analog 0), (Echo- Analog 1).

Step 6: Batteries (Yes!!!, Some Juice!!!)

Picture of Batteries (Yes!!!, Some Juice!!!)

Note: First things first, you can use an external power supply if the battery is not working for you.

Now connect the positive battery clip wire to the M+ of the motor sheild and negative wire to the gnd.

Step 7: Libraries (Uhh, No Juice : ( )

Picture of Libraries (Uhh, No Juice : ( )

Now first download the libraries.

1- Adafruit-Motor-Shield-library Link:

2- Arduino New Ping Link:

Now extract these libraries into: This PC> Documents> Arduino> libraries.

Don't forget to Rename these libraries to AFMotor and NewPing respectively.

If you dont have the Arduino IDE Link:

Step 8: Coding (Get Serious : I )

The Code is in the text file given.

Step 9: Batteries (Finally SOME JUICE!!!)

Picture of Batteries (Finally SOME JUICE!!!)

Now Plug-In The Battery.

Step 10: ENJOY!!!!!!!!!!!!!!!!!

Picture of ENJOY!!!!!!!!!!!!!!!!!



rousseau210 (author)2017-08-18

I got an error when compiling; AF_DCMotor does not name a type and the highlignted line is:

AF_DCMotor rightMotor2(4, MOTOR34_1KHZ);// create motor #4, using M4 output, set to 1kHz PWM frequency.

I have downloaded the verson 2 of Adafruit library.

Can you help me please?

DIY Hacks and How Tos (author)2017-08-13

Cool robot.