|
The IR Carrier is 39.2kHz. Data is modulated using a space coded signal with 8 data bits (data clock is 1200Hz, but actual data rate varies depending on the data).
You can skip the IR and IR modulation by wiring directly into the main PCBoard. This can be encoded easily by almost any small microprocessor. For modulating the signals yourself, the signal looks something like this:
Timing based on 1/1200 second clock (~.833ms) Signal is normally high (idle, no IR). Start: signal goes low for 8/1200 sec.
Data bits: for each of 8 data bits, space encoded signal depending on bit value Sends the most significant data bit first
If the data bit is 0: signal goes high for 1/1200 sec, and low for 1/1200 sec. If the data bit is 1: signal goes high for 4/1200 sec, and low for 1/1200 sec.
BTW: The first bit (msb) is always 1 (valid codes are from $80 to $FF) When completed, signal goes high again.
No explicit stop bit. Minimal between signals is not known.
Red Commands: ============= (Page P.7) 81 (129) - Right Arm Up 10000001 84 (132) - Right Arm Down 10000100 85 (133) - Right Arm In 10000101 82 (130) - Right Arm Out 10000010 83 (131) - Tilt Body Right 10000011
89 (137) - Left Arm Up 10001001 8C (140) - Left Arm down 10001100 8D (141) - Left Arm In 10001101 8A (138) - Left Arm Out 10001010 8B (139) - Tilt Body Left 10001011
(Page P.8) 80 (128) - Turn Right 10000000 88 (136) - Turn Left 10001000 86 (134) - Walk Forward 10000110 87 (135) - Walk Backward 10000111 8E (142) - Stop 10001110
92 (146) - Right Sensor Program 10010010 94 (148) - Sonic Sensor Program 10010100 93 (147) - Left Sensor Program 10010011 90 (144) - Master Command Program 10010000 91 (145) - Program Play 10010001
Green Commands: =============== (Page P.9) A1 (161) - Right Hand Thump 10100001 A4 (164) - Right Hand Pickup 10100100 A5 (165) - Lean Backward '10100101 A2 (162) - Right Hand Throw 10100010 A3 (163) - Sleep 10100011
A9 (169) - Left Hand Thump 10100001 AC (172) - Left Hand Pickup 10101100 AD (173) - Lean Forward 10101101 AA (170) - Left Hand Throw 10101010 AB (171) - Listen 10101011
A0 (160) - Right Turn Step 10100000 A8 (168) - Left Turn Step 10101000 A6 (166) - Forward Step 10100110 A7 (167) - Backward Step 10100111 AE (174) - RESET 10101110
B2 (178) - Right Sensor Program Execute 10110010 B4 (180) - Sonic Sensor Program Execute 10110100 B3 (179) - Left Sensor Program Execute 10110011 B0 (176) - Master Command Program Execute 10110000
B1 (177) - Wake Up 10110001
Orange Commands: ================ (Page P.11) C1 (193) - Right Hand Sweep 11000001 C4 (196) - High 511000100 C5 (197) - Right Hand Strike 1 11000101 C2 (194) - Burp11000010 C3 (195) - Right Hand Strike 2 11000011
C9 (201) - Left Hand Sweep1 1001001 CC (204) - Talk Back11001100 CD (205) - Left Hand Strike 1 11001101 CA (202) - Whistle11001010 CB (203) - Left Hand Strike 2 11001011
(Page P.12) C0 (192) - Right Hand Strike 3 11000000 C8 (200) - Left Hand Strike 3 11001000 C6 (198) - Bulldozer 11000110 C7 (199) - Opps! 11000111 CE (206) - Roar 11001110
D2 (210) - Demo 111010010 D4 (212) - Dance 11010100 D3 (211) - Demo 211010011 D0 (208) - All Demo 11010000 D1 (209) - Power Off 11010001
NOTES: add $08 to go from right-side commands to left-side commands. add $20 to command bytes for the GREEN shift (ie. $Ax and $Bx range) add $40 to command bytes for the ORANGE shift (ie. $Cx and $Dx range)
-----------------=============================-------------- Example #1
Sub Roar()'Roar '11001110 (name, command, binary) CE (206) - Roar 11001110 (hex, decimal, Command, binary)
Sub LHandSk1()'Left Hand Strike 1 '11001101 (name, command, binary) CD (205) - Left Hand Strike 1 11001101 (hex, decimal, Command, binary)
-----------------=============================--------------
|