Pneuman has peddled around the atrium for over a decade but a couple years ago he died and was forgotten.
The pneumatic cylinders on his legs were operated via solenoid valves controlled with a bunch of dumb onboard logic. This communicated over a serial connection to a 486 with the UI written in Pascal. An age-yellowed printout of it was thoughtfully included in the project folder. The parallel port served double duty; watching four pushbuttons for user input and communicating with the robot's logic over a clunky sync'd serial mux.
The PC is long gone and my OCRing of the Pascal was just for kicks. It's past time for an upgrade and in need of repair anyways. After thinking about different platforms I settled on the Arduino. I've played around with it but this will be my first install in a permanent contraption.
My work tonight started with getting a handle on the included documentation. A sizable chunk of the original project docs are missing, including the PC-side interface and power supply. Several modifications to the logic on Pneuman's frame went undocumented but were easy enough once the rest was understood.
In the interest of getting this done with as little time / money spent duplicating existing circuitry the old output section was reused. The final shield will consist of:
-6, 1/2 darlington pairs to go with the heatsink-mounted TIP31c's
-3 optical encoder inputs to locate Pneuman's current crank angle
-2 contact switch inputs to detect when he hits the end of his track
-the extra space needed for a radio module to communicate with a PC interface for guests
Currently I've got the shield populated with some power stuff and half of the output. I'll need to check a few things on his frame before I go ahead and make the encoder input section. The original design calls for op-amps with hysteresis which seems unnecessary.
Another issue has been the rubber tires disintegrating in the track over time. This might be addressed with the addition of a small shopvacpack on another output that people could control.