Stage 1: developing communication between a PICmicro and Robosapien
I have started work on my hack by tapping three wires into robosapien’s control board, the first two go to Vcc and Gnd and provide the power supply, the third taps into IR-OUT (or IR on different PCB revisions).
I am working with a PIC16F84A, which may not be the best of the PICs but it is what I have been using for the last 5 years and I have built up a few spares. This is running on a 4MHz clock which gives a command cycle of 1 micro-second (1-millionth of a second, 0.000001 seconds per command). Using the delay generator available from: http://www.piclist.com/techref/piclist/codegen/index.htm I built a program in MPASM (assembly language) to send a command to the Robosapien.
The protocol used on the robosapien’s IR port is documented here:http://www.aibohack.com/robosap/ir_codes.htm.
I wrote some PIC assembly to receive commands from the remote, in order to do this I disconnected the wire running to the PCB from the IR-receiver in the head (white wire) and connected this to the PICmicro (labled IRIN in my code). The files are at the foot of this page under the “Downloads” heading. I can now read the commands from the remote and pass them on to the robosapien’s original PCB, this isn’t exactly useful as-is but is the starting point for further programming.
Robosapien’s PCB with the 3 wires to VCC, GND and IR-OUT.
Robosapien with prototype board taped to back (older, notice only 3 wires from robosapien).