Hacking – Robosapien V1 – Comprehensive Robosapien V1 hex codes
Dear All,the Inventors:Force is currently having fun with hacking the Robosapien V1.
Our first objective is to hack the Robosapien V1 in a way that we can use an Arduino and/or a Raspberry Pi to control the Robosapien via program code which should send the Robosapien V1 command hex code to the motherboard.
While doing so we identified the challenge to find a comprehensive Robosapien V1 hex codes list – as we might not be the only one looking for it we decided to share the list below – this is an extract from our working Arduino sketch defining variables with the related hex code and description.
Please select the code below and copy/paste it into your Arduino sketch. We have documented the commands and that’s the reason the code is so wide to the right ;-)
We hope this code is useful to you.
We will share at a later stage the hardware modification instructions and program code for the Robosapien V1 we are doing.
All the best,
Ralf
// Ralf Fickert - Inventors:Force Project "Hack the Robosapien V1 for Arduino"
// Date: June 2015
// Email: rfickert@st3am.com
//
// References/Sources:
// ===================
// http://www.aibohack.com/robosap/ir_codes.htm
// Many thanks to this reference I found the most complete list of
// Robosapien V1 hex Codes
//////////////////////////////////////////////////////////////////////
// Hacking - Robosapien V1 - Comprehensive hex command codes
//////////////////////////////////////////////////////////////////////
// LED RED - Just press buttons without using the SELECT - Basic Movement Commands
//
//Variable HEX-Code Comment
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//
#define RSTurnRight 0x80 // turn right - Send command to turn right on the spot
#define RSRightArmUp 0x81 // right arm up - Send command twice to fully raise arm up
#define RSRightArmOut 0x82 // right arm out - Send command twice to fully turn arm outwards
#define RSTiltBodyRight 0x83 // tilt body right
#define RSRightArmDown 0x84 // right arm down - Send command twice to fully lower arm down
#define RSRightArmIn 0x85 // right arm in - Send command twice to fully turn arm inwards
#define RSWalkForward 0x86 // walk forward - Send command twice to move forward slowly
#define RSWalkBackward 0x87 // walk backward - Send command twice to move backwards slowly
#define RSTurnLeft 0x88 // turn left - Send command to turn left on the spot
#define RSLeftArmUp 0x89 // left arm up - Send command twice to fully raise arm up
#define RSLeftArmOut 0x8A // left arm out - Send command twice to fully turn arm outwards
#define RSTiltBodyLeft 0x8B // tilt body left
#define RSLeftArmDown 0x8C // left arm down - Send command twice to fully lower arm down
#define RSLeftArmIn 0x8D // left arm in - Send command twice to fully turn arm inwards
#define RSStop 0x8E // stop - Send command at any time to end a command
// Programming Commands (no shift)
#define RSMasterCMDPRG 0x90 //P (Master Command Program) - Send command to set Robosapien into program mode - Robosapien beeps - you can now program up to fourteen steps
// when 14 steps reached Robosapien will automatically repeat the programmed sequence. If you have less then 14 steps then you need to close
// the program by sending once the RSProgramPlay command. To clear the program and return to the default program send the command RSMasterCMDPRG
// followed by the command RSProgramPlay. Turning off the Robosapien will clear any previous set program. The seep (RSSleep) mode will
// keep Robosapiens memory for up to 2 hours. Please keep this in mind when writing the code.
#define RSProgramPlay 0x91 //P>> (Program Play, the one on the bottom)
#define RSRightSensorPRG 0x92 //R>> (Right sensor program) - Send command to set Robosapien into program mode - Robosapien beeps - you can now program up to six steps
// when 6 steps reached Robosapien will automatically repeat the programmed sequence. If you have less then 6 steps then you need to close
// the program by sending once the RSProgramPlay command.To trigger the sensor: touch a long finger, or a toe/heel sensor on the right side.
// Alternative send command RSExecuteRightSensorPRG. To clear the program and return to the default program send the command RSLeftSensorPRG
// followed by the command RSExecuteLeftSensorPRG. Turning off the Robosapien will clear any previous set program. The seep (RSSleep) mode will
// keep Robosapiens memory for up to 2 hours. Please keep this in mind when writing the code.
#define RSLeftSensorPRG 0x93 //L>> (Left sensor program) ) - Send command to set Robosapien into program mode - Robosapien beeps - you can now program up to six steps
// when 6 steps reached Robosapien will automatically repeat the programmed sequence. If you have less then 6 steps then you need to close
// the program by sending once the RSProgramPlay command.To trigger the sensor: touch a long finger, or a toe/heel sensor on the left side
// Alternative send command RSExecuteLeftSensorPRG. To clear the program and return to the default program send the command RSRightSensorPRG
// followed by the command RSProgramPlay. Turning off the Robosapien will clear any previous set program. The seep (RSSleep) mode will
// keep Robosapiens memory for up to 2 hours. Please keep this in mind when writing the code.
#define RSSonicSensorPRG 0x94 //S>> (Sonic sensor program) - Send command to set Robosapien into program mode - Robosapien beeps - you can now program up to six steps
// when 6 steps reached Robosapien will automatically repeat the programmed sequence. If you have less then 6 steps then you need to close
// the program by sending once the RSProgramPlay command. To put robosapien into SONIC RESPONSE mode send command RSListen. The Robosapien
// waits now for a sharp sound or tap on his body and then will run through your programmed routine. To clear the program and return to the default
// program send the command RSSonicSensorPRG followed by the command RSProgramPlay . Turning off the Robosapien will clear any previous set program.
// The seep (RSSleep) mode will keep Robosapiens memory for up to 2 hours. Please keep this in mind when writing the code.
//LED GREEN - Press SELECT once - Combination Moves
#define RSRightTurnStep 0xA0 // right turn step - Send command to turn 45 degrees to the right
#define RSRightHandThump 0xA1 // right hand thump - Send command to lift right arm up and press downwards
#define RSRightHandThrow 0xA2 // right hand throw - Send command to throw object which is in Robosapiens right hand
#define RSSleep 0xA3 // sleep - Send command to send Robosapiens to sleep. All sensors are inactive. Send RSStop or RSWakeUp to wake him up. After 2 hours of
// uninterrupted sleep the Robosapien will automatically power off.
#define RSRightHandPickUp 0xA4 // right hand pickup - Send command to let Robosapien pickup object (bucket) next to his right foot.
#define RSLeanBackward 0xA5 // lean backward - Send command to let Robosapien lean backwards and to open his arms
#define RSForwardStep 0xA6 // forward step - Send command to let Robosapien take two steps forward
#define RSBackwardStep 0xA7 // backward step - Send command to let Robosapien take two steps backwards
#define RSLeftTurnStep 0xA8 // left turn step - Send command to turn 45 degrees to the left
#define RSLeftHandThump 0xA9 // left hand thump - Send command to lift left arm up and press downwards
#define RSLeftHandThrow 0xAA // left hand throw - Send command to throw object which is in Robosapiens left hand
#define RSListen 0xAB // listen - Send command to set Robosapien into listen mode - Robosapien responds to a sound or tap on his body with a default grunt, or a Sonnic Sensor Program
// sequent as programmed by you.
#define RSLeftHandPickUp 0xAC // left hand pickup - Send command to let Robosapien pickup object (bucket) next to his left foot.
#define RSLeanForward 0xAD // lean forward - Send command to let Robosapien lean forward and to close his arms
#define RSReset 0xAE // reset - Send command to reset Robosapien to his default positions
#define RSExecuteMasterPRG 0xB0 // execute master command program - Send command to play program routine.
#define RSWakeUp 0xB1 // wakeup - Send command to wakeup Robosapien. Robosapien goes through his wakeup routine.
#define RSExecuteRightSensorPRG 0xB2 // right sensor program execute - Send command to play right sensor routine
#define RSExecuteLeftSensorPRG 0xB3 // left sensor program execute - Send command to play left sensor routine
#define RSExecuteSonicPRG 0xB4 // sonic sensor program execute - Send command to play left sensor routine
// LED ORANGE Press SELECT twice - Combination Move
#define RSRightHandStrike3 0xC0 // right hand strike 3 - Send command to perform an outside strike with the right hand
#define RSRightHandSweep 0xC1 // right hand sweep - Send command to knock things forward with a sweeping right arm and waist action
#define RSBurp 0xC2 // burp - Send command to burp ;-)
#define RSRightHandStrike2 0xC3 // right hand strike 2 - Send command to perform an open right hand strike with a powerful Hoy-hah oOOo
#define RSHigh5 0xC4 // high 5 - Send command to let Robosapien strech up on the right side for a big high 5 and to say Aaay
#define RSRightHandStrike1 0xC5 // right hand strike 1 - Send command to perform an inside strike with the right hand with a Hi-yah
#define RSBulldozer 0xC6 // bulldozer - Send command to push forward 8 steps
#define RSFart 0xC7 // oops - Send command to let Robosapien fart ;-)
#define RSLeftHandStrike3 0xC8 // left hand strike 3 - Send command to perform an outside strike with the left hand
#define RSLeftHandSweep 0xC9 // left hand sweep - Send command to knock things forward with a sweeping left arm and waist action
#define RSWhistle 0xCA // whistle - Send command to let Robosapien do a wolf whistle ;-)
#define RSLeftHandStrike2 0xCB // left hand strike 2 - Send command to perform an open left hand strike with a powerful Hoy-hah oOOo
#define RSTalkBack 0xCC // talkback - Send command to let Robosapien Grunt and gestures ;-)
#define RSLeftHandStrike1 0xCD // left hand strike 1 - Send command to perform an inside strike with the left hand with a Hi-yah
#define RSRoar 0xCE // roar - Send command to let Robosapien lift both arms and roar
#define RSAllDemo 0xD0 // All Demo - Send command to let Robosapien execute all 3 pre-programmed demos (Demo 1, Demo 2 and Dance)
#define RSPowerOff 0xD1 // Power Off - Send command to power off completely the Robosapien.Drop snow-globe and say "Rosebud" - On/Off Button is required to turn him on again.
#define RSDemo1 0xD2 // Demo 1 - Send command to let Robosapien do Karate chopping
#define RSDemo2 0xD3 // Demo 2 - Send command to show off attitudw
#define RSDance 0xD4 // Dance
No comments:
Post a Comment