Instructables
Picture of Autonomous Arduino Car
IMG_20130213_084627.jpg
IMG_20130213_091750.jpg
IMG_20130226_095512.jpg
IMG_20130226_095521.jpg
IMG_20130226_095535.jpg
IMG_20130226_195644.jpg
IMG_20130226_195706.jpg
IMG_20130227_084330.jpg
IMG_20130227_084337.jpg
IMG_20130227_084344.jpg
IMG_20130227_084355.jpg
IMG_20130304_083430.jpg
IMG_20130304_083533.jpg
My questions for the Make-to-Learn Youth Contest :)

What did you make?
This goal of this project was to take commonly available electronic equipment and create an inexpensive, self-controlled vehicle. In simpler terms, this is an attempt at basic autonomy. It uses an arduino logic board coupled with a cheap remote control car along with a 9 volt power supply to accomplish this.

How did you make it?
The idea came to me while I was researching infrared sensors and light for a laser synth project I was planning. It seemed to me like a very viable technology for sensing objects, so after a little more research into motors and how I could control them with analog input, this project was born.

Where did you make it?
Without my school classes, I might never have done this. It was an assignment to come up with something cool involving computers, with a fair degree of freedom. I settled with an arduino-based project. Much of the programming and testing was done on the floor of my classroom, and the construction of the car in my bedroom. It took over my life for a week or two, all I was thinking about was bugs in my code and better methods of measuring and processing the infrared.

What did you learn?
Most importantly, the input of others is an invaluable source of ideas and solutions. Whenever I came to a halt in my production, a classmate might chime in and say something I had not previously thought of, like measuring the resistance across the car's motors to see if some object had stopped the car. This is one of the more challenging projects I have completed, and the first to really combine hardware and code, which I feel is a great accomplishment. Looking back, I could have used a bit more planning and done more research (rest in peace, poor LEDs) so that I had less issues. 


This car uses an arduino logic board to process the input from an infrared sensor at an attempt at very basic collision detection/prevention.

This project was only marginally successful. Do not attempt this with high expectations. The low-tech nature of the sensors are very inefficient ways of detecting objects, and in different environments may work better or worse with the code provided. This is only a general guide, modifications will be necessary to make the car work as intended depending on your choice of parts.

That being said, hopefully you're able to make it work a little better than I did!
 
Remove these adsRemove these ads by Signing Up

Oops, I seem to have accidentally made a few copies of my comment. Computers these days, am I right? ;)

computer-kill-flanders.png

This is actually the coolest thing i have ever seen, I quit my job the instant I saw this and dedicated the rest of my life to achieving the euphoria i experienced watching u make this extraordinary work of art. I thank you good sir, you have made my life worth living.

Flanders.jpeg

Would this project work with a ultrasonic sensor?

absolute zero (author)  LightningJimmy1 month ago

Yeah, but you'll have to modify the code, an ultrasonic sensor is going to return different readings than an infrered sensor.

rvanhart1 month ago

Do you possibly have a schematic to follow? I'm having trouble following the pictures.

do I have to use the 9v battery or could I use this 6.7v lithium battery that came with the car

Well you need to have enough power to power the arduino. If you use a regular official Arduino, 6.7V won't work. You could find a microcontroller that functions like the Arduino and you can program, and a few do run on 6.7V.

abencomo8 months ago

Nice article! We built a similar project. However, we installed an Android device onto a RC car and used an IOIO board to control it autonomously. Here is the preliminary result:

qlouis76 abencomo8 months ago

hi, do you mind to share more detail of your work?

abencomo qlouis768 months ago
You can find more details here:

http://www.socsci.uci.edu/~jkrichma/ABR/index.html#SOURCE%20FILES
deqwer1 year ago
you should try to add a few more infrared around the car to increase the accuracy of the length between walls and do more math on the turning part
absolute zero (author)  deqwer1 year ago
I had considered that, unfortunately time and finances were some limiting factors in this project. The turning function has been improved today, but it still contains bugs. It now will read the resistance across the motors to tell if the car has backed into an obstacle. I also added a little function to calculate the distance the car has traveled, and incorporated random numbers from the noise on unused pins to have the car take different paths instead of going in a straight line.

Thanks for your input!
Hello !
I have to build myself a self-driving rc car for a school project and I believe that I will use an apporach rather similar to yours. Sadly I do not have much experience at all with the arduino or how you program it. I know that I am almost a year to late but do you think you could give me some help ?
absolute zero (author)  vgruen9 months ago

Sure. It's not terribly hard, under 50 lines of code if I remember correctly. You'll need an arduino, a motor shield, and the arduino IDE from their website. Let me know when you have that much set up.

Thanks a lot ! Will do !
jordantallent11 months ago
I have been working on a little robot car as well and have found a way to make it stop quick. right before you turn off the motor, run it the opposite direction in the line of code directly before you turn off the motor. this will give you a quick stop.
gpotvin1 year ago
Anybody else notice OMFGDOGS running on the screen?
fenix8k1 year ago
u just say "ir detector" u don t say it a ir led or a real ir detector (like the tv s uses) i read the instructables again, u don t specified what ir detection u use.
absolute zero (author)  fenix8k1 year ago
There is no other type of ir detector, they are all the same (albeit some with different ranges), mine was salvaged from a remote control receiver. Ir emitter, ir led, IRLED, those are all the same thing.
the things he speaks of are the IR sensors like televisions use. if im not mistaken, those have phototransistors in them, triggered by a specific frequency of infrared light. it would eliminate the issue regarding ambient light affecting the sensors.
absolute zero (author)  zack2471 year ago
Ah okay, his grammar had me very confused. Regaurdless, both types will work (albeit the code must be altered for the three pin remote receiver type, I originally had this until I had an oopsie and it caught fire on me).
fenix8k1 year ago
lol, they are not all the same, and ir led give u a analog output, a true ir reciver give u a digital output and have 3 pin ground vcc and output if u use one of that u have to make a diferent code because they are make to recive ir signal and have a horizontal range of 120° x 90° vertical
absolute zero (author)  fenix8k1 year ago
An ir led gives you no input. It is an led. Light emitting diode. It only shines infrared light. Neither of them give you output either, they give you input. Either the two pin or the three pin receiver can be used if the signal pin is connected to the correct analog pin on the arduino.
fenix8k1 year ago
what type of ir sensor u use? you can use 1 ir led to send the light and another ir led to recive the light :p (yes it work) if u connect the ground pin of the ir led to ground and the positive pin to the analog pin on arduino u can sence the light xD test it is a cheap way xD 2 ir led + 1 resistor :P
absolute zero (author)  fenix8k1 year ago
Did you actually read the instructable? The intro and step 3 clearly outline all the parts I used. That is exactly what I did. There is a detector and an emitter mounted on the front of the car.
(removed by author or community request)
Mic1001 year ago
bumpers are micro-ruteurs connectteds by 1,5K resitors one the arduino inputs .
you can use 2 bumbers (left and right) and 2 inputs
or 1 bumper in the midle of front  and 1 input

see picture below.

i've found micro-ruptors on ebay.com

Robot-EP.jpgRobot-EP.jpg
absolute zero (author)  Mic1001 year ago
Ahhh okay. I know those as "reed switches". They aren't necessary though as the motor shield allows me to read the current across the motors which will increase if the car contacts any object. Although this would be a good idea if you planned on using the TX2/RX2 chip already in the car since it won't allow the reading of the current across the motors.
yes to read courant by resistor is good idee to :)
Mic1001 year ago
hi
you can add bumpers mounted on front and rear contact to complete the infrared
detection.
Mic1001 year ago
(removed by author or community request)
absolute zero (author)  Mic1001 year ago
I'm sorry, I fail to see how bumpers have anything to do with infrared detection. Could you explain?

I have a pretty decent ir emitter, it does a good job of projecting the light straight forward so I tried what you suggest with the tape (shrink tubing actually) but it actually made it harder to sense objects because of the displacement between the emitter and detector!