The Programmable Computer Controlled Remote Control Car project (PCCRCC)


It matters not our current state of machine intelligence is no more advanced than the ability of nature's five year old kid, or that beyond expert systems there is little application for a machine that thinks on its own, the fact of the matter is, aside from MIT's COG, most of our machine's available thinking power is locked in a box, with no other channel of influence than to draw pretty pictures on a screen. Without a form, it is extrememly difficult for an intelligence to develop, for it is the need of the body that demands the resourcefulness of the mind.

Hence this project. It is an exercise in allowing a machine to act in/on the physical world. To give limbs, in a sense, to whatever intelligence that is possible within a typical personal computer.
 
The Apple IIe, the computer that started it all Some might question my choice of the computer used in this project, after all, compared with today's machines, this thing is like an amoeba. But, and this is important, because to people who have actually used the thing sometime in their lives, such as myself, we know this is a true hacker's machine. You don't even need a screw driver to open the case! To young people who always wondered what is making the sound inside a radio and longed to pry open the case to have a look-see, this is a dream machine - it not only inspires ones curiosity, it invites you to an exciting journey of self guided exploration called learning. Thanks to Woz, and the hacker ethic. 
The Game I/O port built into the back of the machine Anywho, this is a good place to start because it has a very simple and very hackable I/O in the form of the game port. The code is easy, the language is designed for curious non-programmers, i.e. kids, to play with, and best of all, it is cheap. Purchased for the price of about two lunches. While it would still be a tragic loss should it get destroyed in the experiment, the world will not come to an end and I could easily replace what could have been the single most expensive component in the setup.
Since the software will be controlling a R/C car, the first step would of course involve interfacing the controller with the computer's I/O. This is not that difficult, as long as we are not afraid of a little soldering. (If we are, it's still okay, not only does a little solder burn in the finger non-fatal, it will actually make you stronger with a new knowledge.)
The circuit board of the controller, note the switches right beneath the buttons. Those are simple normally open switches. In the computer interface, we'll activate them with NPN transisters. Right now all we do is turn the board around. . . 
And pick out the normally open switch solder points, and solder wires to them. This will allow us to activate the switches without pressing the buttons.
There should be five wires, Forward, Reverse, Right, Left, and ground. 
The other end is soldered to a sub miniature 9 pin female connector, since the factory gameport inputs on the Apple II is female, when we wire up the homebrewed output port in, we choose to put a male connector, so it will be impossible to connect them wrongly by mistake. (Male output on the Apple II, meaning Female on controller.)
 
Apple II Adapter
Output Male 9 Pin SubMin
To be hooked up
Female 9 Pin SubMin, dremeled and then bolted to controller
Input Female 9 Pin SubMin
Standard Paddle input
Male 9 Pin SubMin Homebrewed to hook up with photo resistor
With a little work, the controller can still be used normally in monkey-flipping- switch mode when not connected to the Apple. The only difference from the outside is now it has a serial port looking thing in the back. (By the way, I have not tried to use it as a PC serial mouse, and I won't advise it.) The port sents out a little power and is designed to accept input.
Now the Apple II came with a gameport connector on the back, but it also has a socket on the motherboard for soft switching other potential game related accessories. In a nutshell, the original Apple II quite capable of supporting force feedback gaming. . . It is this ability we will take advantage of.
By the way, removing the cover of the apple requires no tool, it does not even use thumb screws, you just lift it up like the hood of a car. Mind boggling easy access to the innards, the way a hacker friendly machine should be. 
The part we are interested in is to the top right as we are facing the keyboard. (How else would one face a computer?)
Right at the corner of the case. . .
There we see a 16 pin DIP connector.
Since one Apple II damaged is one less Apple II in the world, we think it a good idea to transister protect the soft switches. See the male 9 pin we'll connect to the back of the case later on.
With the newly hooked up port at the back of the apple mated with the port we hacked up in the controller, the controller is riding piggy back on the apple.
Looks okay. Works fine.

The 2014 edit of this write-up has the BASIC code.


Unless noted otherwise, graphics and text and designs are all Copyright (c) P A N G Industries.
Trademarks are the properties of their respective owners.
Please Contact us if you claim ownership of content and wish to have them removed.


Post your comments here.
071515 21:44:52
011216 10:03:27
011216 10:09:34
011516 13:34:51 Testing
011516 13:42:20
011516 13:42:28 Testing
021816 23:46:59
021816 23:54:20
030716 20:43:47
030716 20:43:48
032116 13:53:05
032116 14:00:51
041916 18:35:38
041916 18:38:39
051016 23:17:41
051016 23:24:44
061116 13:02:03
061116 13:07:45
061416 19:00:34
061416 19:07:43
070816 17:58:13
070816 18:04:06
091316 17:05:33
091416 18:32:36
091416 18:39:13
101316 1:53:47
101316 2:00:26
110916 23:14:00
110916 23:20:18
121916 23:57:38
122016 0:02:52
010517 3:10:09
010517 3:17:39
031517 17:19:44
040817 1:34:05
051617 2:37:28
051617 2:44:40
062617 15:33:04
071117 16:59:17
071117 18:53:46
071117 19:00:48
071117 20:39:09
071117 20:46:16
071317 23:01:00
071317 23:01:04
072817 14:47:42
081217 3:12:34
082617 15:30:05
091017 3:07:31
091217 20:23:29
091217 20:29:10
092417 20:30:14
092417 20:31:11
092417 20:34:17
092917 17:38:16
100617 21:13:21
100617 21:17:58
100917 18:33:07
100917 18:34:12
100917 18:35:56
101617 11:20:00
102617 13:22:59
102617 13:24:59
102617 13:29:23
103117 12:51:40
110317 21:49:30
111017 17:11:05
111017 17:21:25
111017 17:21:29
111617 14:50:53
112617 13:26:10
112617 13:30:09
112617 13:30:17
112617 13:32:18
120117 17:08:03
120617 21:37:11
120617 21:43:07
121217 4:01:54
121217 4:04:12
121217 4:09:50
121717 1:56:05
122617 23:52:25
122617 23:53:37
122617 23:55:30
010118 1:35:08
010918 23:58:05
011018 0:08:49
011018 23:09:30
011018 23:10:14
011018 23:18:42
011518 23:50:02
012618 4:33:04
012618 4:39:25
012618 4:40:25
013118 2:15:43
021018 4:12:18
021018 4:18:14
021118 1:08:34
021118 1:13:59
021118 1:26:55
021118 7:17:15
021118 7:18:47
021118 7:22:47
021618 12:16:59
030218 17:21:41
030218 17:24:53
030218 17:25:26
030818 4:53:33
031318 9:41:11
031318 9:46:43
050418 21:25:54
050418 21:35:22
050718 13:25:05
050718 13:36:53
050718 13:59:59
050718 14:05:54
050718 14:19:47
050718 14:20:02
050718 14:22:24
051618 9:10:28
051618 9:22:23
051618 9:49:54
051618 10:02:39
051618 10:07:59
051618 10:13:10
051618 10:16:26
061318 0:40:38
061318 0:53:42
061318 1:05:37
061318 10:32:50
061318 10:46:29
061318 10:57:27
061318 11:09:38
061318 11:21:02
061318 11:32:43
061318 13:25:48
061318 13:37:25
061318 13:59:28
061318 14:09:17
061318 14:17:13
061318 14:19:59
061318 14:20:08
061318 16:10:43
061318 16:24:17
061318 16:49:13
061318 16:56:06
061318 17:08:49
061318 17:21:49
061318 17:30:02
061318 17:45:19
061318 18:02:37
061318 18:05:12
070718 13:01:03
070718 13:14:02
070718 13:35:40
070718 13:47:31
070718 13:51:45
070718 13:56:39
070718 14:00:12
080318 1:02:50
080318 1:14:21
080318 2:43:39
080318 3:25:29
080318 3:48:04
080318 3:59:53
080318 4:22:45
080318 4:39:40
080318 4:42:11
080618 10:38:15
080618 10:52:32
080618 11:06:08
080618 11:19:00
080618 12:01:35
080618 12:01:44
080618 12:21:14
080618 12:26:14
080618 12:39:22
080618 13:01:07
080618 13:20:02
080618 13:22:32
091118 11:56:38
091118 12:07:59
091118 12:30:50
091118 12:42:06
091118 12:56:02
091218 16:11:40
091218 16:14:42
091218 16:20:10
091218 16:22:04
091218 16:23:52
091218 16:24:29
091218 16:29:47
091418 11:21:00
091418 11:28:27
091418 11:42:10
091418 11:46:58
091418 11:51:23
091418 11:52:57
091418 12:16:21
091418 12:22:19