Slashdot Mirror


Fitness Racer: PC Control of an RC Car

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."

7 of 111 comments (clear)

  1. Wifi + Webcam by aardwolf204 · · Score: 5, Interesting

    Give it WiFi and a webcam and I'm sure it would be even more fun. ;)

    --
    Im dreaming ofa big bndwdth, That can resist the /.crowd.May ur days b merry & bright & may al
  2. and yet more ways.. by joeldg · · Score: 3, Funny

    and yet more ways to waste time..

    somehow I remember time being at a premium..

    seems a long time ago now..

    time to get me an RC car..

  3. Server getting slow already, heres the text by aardwolf204 · · Score: 4, Informative

    This page explains how to cheaply connect a Dance Dance Revolution pad to an RC car via your PC, for literally minutes of racing enjoyment. Even more fun than the "race tracks" we played with in elementary school, where all you actually did was hold down a button and wait for your car to fall off the track.

    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

    --
    Im dreaming ofa big bndwdth, That can resist the /.crowd.May ur days b merry & bright & may al
  4. or a joystick? by wankledot · · Score: 5, Funny

    OR a joystick?

    Am I the only person that thinks controlling an R/C car with a DDR pad is retarded?

    "You can drive this car with a wheel and pedals... OR you can control it using this jar of peanut butter and a hockey puck, wired to this monkey. "

    --
    My sig is blank, I typed this by hand.
  5. Well it would, but by JemalCole · · Score: 5, Funny

    . . . and another way to pretend that reading Slashdot may eventually lead to body movement.

    Well, it would if the editors would accept more of my Natalie Portman stories, it would.

  6. That's Nothing! by speedfreak_5 · · Score: 3, Funny

    Try playing Gran Turismo 3 with Dance Dance Revolution pads. Against a drunk person, with said DDR pad.

    Fun times, fun times.

    --
    Why yes I am paranoid! Thanks for asking!
  7. Bug Notice- by wo1verin3 · · Score: 5, Funny

    Version Number: V1.0
    Revision Date: 10-21-2003
    Patch(es) Replaced: None
    Caveats: None
    CVE Number(s): CAN-2003-4751

    Tested Software:
    Affected Software:
    * Microsoft Windows 2000, Service Pack 2
    * Microsoft Windows 2000, Service Pack 3, Service Pack 4
    * Microsoft Windows XP Gold, Service Pack 1
    * Microsoft Windows XP 64-bit Edition
    * Microsoft Windows XP 64-bit Edition Version 2003
    * Microsoft Windows Server 2003

    Software Not Affected:
    * Microsoft Windows Millennium Edition
    * Microsoft Windows Server 2003 64-bit Edition
    * Linux - All

    Untested Software:
    * SCO - No One Uses It So We Couldn't Test

    Technical Description:
    A security vulnerability exists in the Remote Control Service that could allow arbitrary code execution on an affected system. The vulnerability results because the Messenger Service does not properly validate the length of a message before passing it to the allocated buffer.

    An attacker who successfully exploited this vulnerability could be easily drive remote controlled cars in to grandmothers or small children. This has been seen in the wild but has been limited to chasing cats.