Fitness Racer: PC Control of an RC Car 111
An anonymous reader writes "This project gives step-by-step instructions + source for connecting a cheap RC car to your parallel port and driving it around with a Dance Dance Revolution pad (or joystick). A fun way to make an old toy fun for another few hours, and another way to pretend that reading Slashdot may eventually lead to body movement."
Server getting slow already, heres the text (Score:5, Informative)
The general approach taken here is to use the parallel port to flip the switches in the RC controller, thereby avoiding all the radio stuff. A few transistors are required to help the 3.3V parallel port pull down some pins on the 9V RC car controller.
Source code is included below... it actually just uses DirectInput to talk to the pad, so if you're burning to drive an RC car around with your PC joystick or keyboard, that works too. If you're using this approach, the software also tries to pulse the pins on the parallel port to give you some crude analog speed control.
What you'll need
A Dance Dance Revolution pad. I recommend buying one of the soft PlayStation pads, which run about $20, and nailing it down to a big piece of plywood, as is illustrated in the image to the left. The soft pads tend to slide around and/or rip apart without support, and the hard pads are expensive.
A cheap-ass RC car... the kind that actually has no analog steering, just four switches for forward, back, left, and right. This includes just about any car you get for $20 or less. I went with the fabulous Nikko Octane.
A few electronic components, namely:
# A DB-25-M connector
# Four resistors, about 500ohms
# Four NPN transistors
# Wire+solder
Total cost ~$6 at Radio Shack. I also used a breadboard to make nicer pictures, although this project is probably appropriate for the solder-in-the-air-and-cover-it-in-duct-tape-or-glu e approach.
Connecting the hardware
First you'll need to open up the controller and take a look at the switches. The buttons shown here each have four terminals on them, but you only need to make one connection to each button. If you're using a different car than I am, you'll need to put a voltmeter on the terminals to find out which ones you care about. What you want is a terminal that is normally sitting at 9V relative to the battery ground, but goes to 0V when you press the button. For this particular controller, there were two terminals on each button that fit this description, and I picked one arbitrarily on each button. If you're looking at the controller as shown in the image to the left, I chose
# The upper-right terminal on the "forward" button
# The lower-right terminal on the "reverse" button
# The lower-left terminal on the "left" button
# The upper-right terminal on the "right" button
Solder about 8 inches of wire to each of these terminals, and about 8" of wire to the battery ground.
Now we connect all the components, according to the schematic show on the left. The important points are
# Battery ground on the controller needs to get connected to ground on the parallel port
# The emitter from each transistor goes to the common ground
# The collector on each transistor goes to one of the terminals in the car controller
# The base on each transistor goes through a resistor to one of the parallel port data pins
The software expects the reverse, right, left, and forward switches to be on the parallel port's data 1, 2, 3, and 4 pins, respectively. Data 0 got left out because it was mean to the other children on the playground.
If you left enough wire between the components and the DB-25 connector, you can plug the whole mess right into the parallel port. I like to use an extension cable so I'm less likely to knock things out of my breadboard in the heat of my excitement about driving an RC car with my feet.
You'll also need to connect your DDR pad to your PC somehow and get it recognized as a game controller, assuming you actually want to use the
Re:What would be even cooler... (Score:2, Informative)
Granted, it's not perfect. He's going to end up with a small (~.2 to
I'd like to see an analog controlled device with proximity sensors at -45, 0 and 45 degrees forward and back.
Did this... (Score:3, Informative)
If you do plan on doing it, you'll be happy to note that the X10 cameras run a long time off of a regular 9-volt battery. You'll be unhappy to note that the viewing angle on an X10 camera is far from perfect for driving.
Remote control plane? That's the ticket - and you can get a cheap RC plane for $60.