Students from a local university recently visited my C++ class and taught us the basics of programming Arduinos. They then held a line-following competition and my group of three all won Arduino Unos. I'm very excited to pick up this hobby but I'm completely new to robotics and I have no idea where to start! I just want to begin with programming a wheeled robot to complete basic tasks and overcome simple obstacles, so I need LEDs, some sort of body, motors, and wheels. How do I decide which parts to choose? I don't want to buy the wrong parts by accident, as I'm on a tight budget. Keep in mind we ONLY won the Arduino Uno board and the USB cable for interfacing with the computer.
If you can find an old RC electric car anywhere (yard sale or thrift store) you can probably connect the Arduino in place of the RC receiver and re-use the motor drivers, motors, wheels, etc. I've found that RC cars often sell for $4 at thrift stores like Savers.
Sorry, perhaps I should explain my original post a little more clearly. I was just planning to buy parts from any of the sites, probably Spark Fun, listed on this site, but I just don't know which specific parts to buy. I need to know how to choose sensors, chassis, shield, motors, wheels, etc. and then how to put them all together. Can you recommend any tutorials? Eventually I want my robot to be able to drive around, avoid obstacles, manipulate small objects, switch from an AI to a remote control mode, etc.
So, basically, I don't need to know where to buy parts, I need to know how to choose them and how to put them together.
EDIT: Actually, the Robot Shop link was very useful, thank you! (But I'm still looking for a tutorial on choosing and building.)
I also took your advice about the RC car and found an old RC Jeep under my desk. I've removed the top half of the chassis, ripped out the circuit board, and modified the battery compartment to support the Arduino Uno. I want to connect the two motors (as far as I can tell, the front motor turns the two front wheels left and right and the back motor rotates the two back wheels) to the Arduino, but I don't really know how. I assume I'll need to buy a Motor Shield? Will I need some adapter cables to connect the RC motor cables to the Shield? What type of adapter cables? Or do I just pull the white plug off the cables and attach the wires directly to the Motor Shield? Is there anything else I should know about using this Jeep with the Uno?
JakeTH:
I also took your advice about the RC car and found an old RC Jeep under my desk. I've removed the top half of the chassis, ripped out the circuit board, and modified the battery compartment to support the Arduino Uno. I want to connect the two motors (as far as I can tell, the front motor turns the two front wheels left and right and the back motor rotates the two back wheels) to the Arduino, but I don't really know how.
If you can identify the h-bridge controllers, or the controller IC on the receiver board (in that first picture, I am assuming the board on the right is the receiver?), you might just be able to use that board as the motor controller. Do you have (or can you get) any high-res pictures of that board (or the main IC on it?); if it is an RX2 IC, you might be fully set.
Likely an L298-based motor shield will work fine; you will want to find out what the stall current ratings are for each of the motors in your RC car; if they are each rated at 2 amps or lower when stalled (you can measure the stall current with a multimeter), then a single L298 motor shield will suffice, otherwise you will want one shield for each motor (you may have to modify the shield or wire them up in a "non-stacked" fashion, though - depending on how pin selection and pass-thru is set up for the particular shield you use).
JakeTH:
Will I need some adapter cables to connect the RC motor cables to the Shield? What type of adapter cables? Or do I just pull the white plug off the cables and attach the wires directly to the Motor Shield? Is there anything else I should know about using this Jeep with the Uno?
I would personally look for L298-based driver boards that use screw terminals, like these:
Damn, I was afraid ripping the original board out might not have been a good idea. I don't think it's been damaged, but it won't be able to be powered by the Jeep's original batteries anymore, and it can't even reattach itself to the battery compartment because I filed that down to be nice and flat for the Uno. Anyway, here are the most high-res pictures I could get of the board, front and back. Two questions:
If I use the original board from the Jeep to control the motors, do I not need a Motor Shield anymore?
Will I still be able to power the original board with another type of battery?
And I don't know what an IC is, but on the back of the board it says 'RX-2022B(SMD)'.
The chip labeled "NEW BRIGHT" on it appears to be some kind of microcontroller. It's controlling two H-bridges (the two sets of four, four-pronged things) which I assume the smaller set is for the steering motor and the larger set for the drive motor. If you were really handy with a soldering iron you could remove it and attach wires to the chip side of R12/R13 (the drive pair of inputs) and R16/R17 (the steering pair). This would make sense if you took a Google course in how H-bridges work.
Probably better off buying a bridge like cr0sh suggested.
JakeTH:
Damn, I was afraid ripping the original board out might not have been a good idea. I don't think it's been damaged, but it won't be able to be powered by the Jeep's original batteries anymore, and it can't even reattach itself to the battery compartment because I filed that down to be nice and flat for the Uno. Anyway, here are the most high-res pictures I could get of the board, front and back. Two questions:
If I use the original board from the Jeep to control the motors, do I not need a Motor Shield anymore?
Will I still be able to power the original board with another type of battery?
And I don't know what an IC is, but on the back of the board it says 'RX-2022B(SMD)'.
Yep - that's a standard RX2 half of the TX2/RX2 chipset; it's a very common R/C chipset, and fairly easy to interface to. This is the huge thread on that chipset I had a hand in:
You might still be able to use the board, but you need to first figure out what battery it used, and try to get it hooked up like it originally was if you can; the main reason being that some of these vehicles use 5 volt logic, while others use 3 volt logic (if you use the wrong levels with the wrong board, it either won't work, or you'll burn the board out).
At this point, it would probably be better to just use your multimeter to find out what the stall currents of the motors are, then buy a couple of motor driver boards or shields to handle the loads, and go that route.