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.
2019 edit: This was written in 2000
|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.|
|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.)
|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
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.
2019-1-13 Just learned in human this is called the rooting reflex. Until ~3 week a baby would perform this hunting motion of the head toward skin contact on the cheek until she has calibrated the distance of motion needed thru repeated seek toward her food source. This is very neat since nature has the same algorithm, apparently.
Rooting reflex [Wikipedia]