4: 2009-09-03 (木) 19:36:32 eid7gud | 5: 2009-09-05 (土) 01:29:13 eid7gud | ||
---|---|---|---|
Line 2: | Line 2: | ||
#contents | #contents | ||
**概要 [#lfb90213] | **概要 [#lfb90213] | ||
- | 汎用ワイヤレスロボットコントローラです。コントローラに内蔵されたZEALと予めペアリングされたZEAL間で無線通信を行い、10個のボタンとその組み合わせにより多数の指令を送ることが可能です。 | + | 組み込み用BluetoothモジュールであるZEALを任意のUARTに接続する事でBluetoothによる無線操縦機能を拡張するためのコントローラと無線機のキットです。一般的なUARTを装備した3.3V系のマイコンに直結でき、特に難しい設定をせずとも電源を供給すると自動的に無線接続が確立し、即RC-100のボタンの状態を取得する事ができます。~ |
- | 複数のRC-100Bを同時に使用しても混信することはありません。 | + | また、RC-100は用途やプログラムの都合に合わせて複数のプロトコルを選択して送信する事ができます。 |
**基本仕様 [#t3b64c42] | **基本仕様 [#t3b64c42] | ||
Line 9: | Line 9: | ||
|ボタン数|10個| | |ボタン数|10個| | ||
- | |出力数|1023通り| | + | |電源|RC-100:単三電池2本・オートパワーオフ機能&br;ZEAL:DC3.3V±10%| |
- | |電源|単三電池2本(付属していません)、パワーセイバー機能付| | + | |I/F|ZEAL-C01のUARTに準拠(ハードフロー制御は無効化)| |
+ | |通信速度|ZEALの出荷時デフォルト値として115200bps| | ||
**外観 [#y8b05154] | **外観 [#y8b05154] | ||
Line 21: | Line 22: | ||
**通信プロトコル [#b865dff2] | **通信プロトコル [#b865dff2] | ||
***プロトコル1 [#ldfbd34e] | ***プロトコル1 [#ldfbd34e] | ||
- | FREEDOMライブラリを使用してボタンの状態を取得する際のプロトコルです。 | + | Bioloidのリモートコントローラとコンパチブルな通信プロトコルです。10個のボタンの状態を16bitの値で取得できます。ボタンとビットの割り当ては以下の通りです。 |
- | 各ボタンは以下の通り出力値が割り当てられています。 | + | |CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|c |
- | ボタン名:出力値 10進数(16進数) | + | |bit|15~10|9|8|7|6|5|4|3|2|1|0| |
- | [U] : 1 (0x1) | + | |ボタン名|-|6|5|4|3|2|1|R|L|D|U| |
- | [D] : 2 (0x2) | + | ボタンの状態は以下の6byteのパケットに変換されZEALへ送信されます。 |
- | [L] : 4 (0x4) | + | |
- | [R] : 8 (0x8) | + | |
- | [1] : 16 (0x10) | + | |
- | [2] : 32 (0x20) | + | |
- | [3] : 64 (0x40) | + | |
- | [4] : 128 (0x80) | + | |
- | [5] : 256 (0x100) | + | |
- | [6] : 512 (0x200) | + | |
- | 複数のボタンを同時に押すと出力値を足した値となります。~ | + | |
- | ~ | + | |
- | ボタン出力値は6byteのパケットで表されます。~ | + | |
1byte:0xff固定~ | 1byte:0xff固定~ | ||
Line 44: | Line 34: | ||
5byte:ボタン出力値の上位バイト~ | 5byte:ボタン出力値の上位バイト~ | ||
6byte:ボタン出力値の上位バイトの論理反転~ | 6byte:ボタン出力値の上位バイトの論理反転~ | ||
- | ※「0x」は16進数を表しています。~ | ||
- | 例えば[U]と[6]を同時に押した場合、ボタン出力値は10進数で513。~ | + | 例えば[U]と[6]を同時に押した場合、ボタン出力値は0x201、下位バイトは0x01、上位バイトは0x02となり、パケットは以下のようになります。~ |
- | 16進数で表すと0x201、下位バイトは0x01、上位バイトは0x02。~ | + | 0xff 0x55 0x01 0xfe 0x02 0xfd |
- | 2進数で表すと1000000001、下位バイトは00000001、上位バイトは00000010。~ | + | |
- | 論理反転した値は2進数で表すと0が1に、1が0になります。~ | + | |
- | よって論理反転の下位バイトは11111110、上位バイトは11111101。~ | + | |
- | 16進数(10進数)で表すと下位バイトは0xfe(254)、上位バイトは0xfd(253)~ | + | |
- | パケットは以下のようになります。~ | + | |
- | 0xff 0x55 0x01 0xfe 0x02 0xfd (16進数) | + | |
***プロトコル2 [#ube52a4b] | ***プロトコル2 [#ube52a4b] | ||
***プロトコル3 [#hf82d311] | ***プロトコル3 [#hf82d311] |