Home Products Shop Articles Applications Learning Zone About Us

  • Up

  • PC Controlled Car

    Submitted by Gordon M, Birmingham, UK

       In this article I will describe how to take an inexpensive radio controlled model car, commonly available almost everywhere, and turn it into a computer controlled car following pre-programmed sequences of actions. This will include how to modify the car handset to allow it to be "driven" from a standard USB port and the software to run on the PC to create and run the action sequences. Before continuing I have to say that the end result of this small project proved to be a lot more fun than I could have anticipated, leading to challenges as to whose program could get the car round an improvised course on the floor the quickest and who could create the best stunts. If you've ever tried some computer racing games where using the handbrake causes a controlled slide into a fast corner you should try instantly setting the rear wheels into reverse and seeing the effects on the car on a smooth floor...
        Although I will be describing how to modify a particular remote controlled car handset I have found that almost all radio controlled cars of this class have a virtually identical system. (This is from modifying quite a few now for friends and friends of friends). The only type to avoid are the "high end" proportional control racers that use analogue signals to give precise speed control and steering. Cheap and cheerful is best, although make sure the car does have separate steering and forward/reverse controls.
    The first step is to attach some wire connections to the inside of the remote control handset, so we need to open it up. Fortunately there are not too many problems here, just four screws on the base. There were no tiny bits that spring out when you open the case or bits that could be difficult to re-assemble but it is worth taking time to make sure you understand how the bits inside work.

        With the cover off, the controls for forward, reverse and steering need to be removed. These are just held on by two screws on the base of the handset. The levers have an internal spring to make them return to centre when released but otherwise there only function is to move the two slide switches mounted on the base. These simply move a piece of metal over a pair of solder pads on the pcb shorting them together to produce the desired effect.

       The PCB can now be removed. There are four small screws, one on each corner, to be removed. It is not necessary to completely disconnect it from the handset. Just turning it over will give access to the required solder points.
        You can see from the photo that there are small rectangular pads designed to be "shorted" by the slide switches. It is necessary to make a connection to each of these. Although it is possible to solder wires directly onto these pads it is better to find another connection point for the pad somewhere on the pcb. This will allow the pads to be used exactly as before with the handset when not being computer driven. I just traced a pcb track from each pad to a suitable solder point and attached a wire to each. For this purpose you can use almost any small gauge wire but I found a small section of ribbon cable was best and gave a neat finish.
        Although each of the pads will have a different function (forward/ reverse, left/right etc..) it is not absolutely necessary at this point to distinguish which is which. The programming is flexible enough to adapt this later. It is however necessary to identify the "common" or 0v connection to which all of the pads get connected to by the slide switches. In this case it was easy to identify by the black wire coming from the battery compartment. I made this the first wire on the ribbon and noted that it was the brown wire.
      It is not necessary to make separate connections to all of the visible pads since you will notice that all of the "middle ones" are connected together and these are connected to the 0v track going to the battery. In the end I had six wires: five signal connections and one to the 0v. In this particular car the signal connections were forward, reverse, left, right and turbo. The turbo was just a higher speed forward. On some cars I have modified additional connections allowed turning the lights on and of and even a horn.
    With the wires connected I fed the ribbon through a gap in the battery compartment part of the case and re-assembled the pcb taking care not to impede the operation of the levers. I made sure the car still worked ok before continuing to the next phase of connecting the wires to the pc adaptor.

        The USB adaptor that I used was the PC-BEE from PC-User (now replaced by MiniBee, available from this link, Ed). MiniBee
     It is inexpensive and simple to use. One end connects to a free USB port and the other is a set of screw terminals for connecting the wires. It is important to connect the 0v wire, (in this case the brown one) to the common connection on the pc-bee (terminal 8). The others were simply connected in sequence to the first 5 terminals, leaving the software to sort out which output to activate for each function.

    Job done. All that's needed now is to create a control sequence and start some "road trials".....

       Fortunately this part is quite easy since the PC-Bee device comes with a software package (Bee-Step) that allows control sequences to be created, stored and run.  It is basically setting on/off patterns for particular durations executed according to your step sequence.






    PC Control Ltd:  All articles are publish as submitted in good faith but we do not accept any responsibility to the authenticity or content of these articles. Any article breaching copyright will be removed from this website as soon as we are made aware.



    Just Text:
    New Software
    for the MotorBee

    Control by Text

    Security Camera:
    A new article
    by Brian M

    Microscope Control:
    A new article
    by Harald K. A.

     Use our boards with
    Raspberry Pi.

    A new article
    by Ava L (UK)