I bought an RC car from Taobao
at the extremely cheap price of 67RMB (shipping included! 10$USD!)!
For that price, you get an RC remote, a rechargeable Ni-Cd 400mAh/6V battery pack, the radio transmitter (27.145Mhz). Wheels have rubber, autonomy and range is decent although the chassis is very very cheap plastic obviously.
The downsides: on wood floor, it tends to spin so any autonomous program would need to constantly adjust based on sensor (distance ranging) input. It also has propulsion motors on a simple shock so the base isn’t totally flat with the ground.
The transmitter needed two AA batteries (not included!) so on Friday I ran out late at night to buy a pair of them (6RMB) and went on an excursion in the cold night to acquire a bunch of precision screwdrivers (25RMB, although really they’re worth 15). Pretty difficult achievement since this is after 9pm on a Friday night!
While charging the battery, I used my new screwdrivers and removed the plastic cover. I also took a look at the electronics for the transmitter. The transmitter is very simple, with 4 contact switches, what I assume is a Pulse Modulation IC, a couple of capacitors and resistances. The way an RC transmitter works is described informatively on “How Stuff Works
As an hack, I hook up the four switches to each emitter pin of a ULN2803APG (a simple IC that is basically 8 NPN transistors) with the base controlled by the Arduino itself. This lets me control the car with a very simple program to test Forward, Backward, Left and Right.
The challenges ahead:
1) finding a distance ranging solutions
The robot needs to know how far walls and various objects are…
The GP2Y0A700 looks like one with the longest range, but it’s also very expensive (around 50$USD). The next one, GP2Y0A02, is about 15$USD with a range of 20cm-150cm. I probably want a bunch (3?) so I this is probably more cost effective.
c) probably a combination of them
2) need to mount the Arduino, a breadboard and the sensors on the car. This will probably require a custom aluminium plate that I can mount using the screwholes that were used for the plastic cover.
3) Figuring out how to control the motors.
a) remove the current control board and substitute my own. This means an H-bridge that would let me control the motors both ways (Texas Instruments L293NE or Texas Instruments SN754410)
b) create my own RC transmitter.
I’m favoring (b) right now and I went out to buy a bunch of 27.145Mhz crystals at electronics town (10RMB for 8!)