組み込み用BluetoothモジュールであるZEALをマイコン等のUARTに接続し、Bluetoothによる無線操縦機能を拡張するためのキットです。ZEAL単体モジュールは一般的なUARTを装備した3.3V系のマイコンに直結でき、特に難しい設定をせずとも自動的に無線接続が確立し、即RC-100のボタンの状態を取得する事ができます。
また、RC-100は用途やプログラムの都合に合わせて複数のプロトコルを選択して送信する事ができます。
RC-100ボタン数 | 10個(電源ボタンを除く) |
電源 | RC-100:単三乾電池2本 ZEAL単体モジュール:DC3.3V±10% |
I/F | ZEALのUARTに準拠(ハードフロー制御は無効化) |
通信速度 | ZEALの出荷時デフォルト値として115200bps |
ZEALの動作モード | RC-100側:自動待ち受け ZEALピッチ変換モジュール側:自動接続(RC-100内蔵ZEALのMACアドレスを設定) |
内容物 | ZEAL内蔵RC-100 ZEALピッチ変換モジュール |
Bioloidのリモートコントローラとコンパチブルな通信プロトコルです。10個のボタンの状態を16bitの値で取得できます。ボタンとビットの割り当ては以下の通りです。
bit | 15~10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ボタン名 | - | 6 | 5 | 4 | 3 | 2 | 1 | R | L | D | U |
ボタンの状態は以下の6byteのパケットに変換されZEALへ送信されます。
1byte:0xff固定
2byte:0x55固定
3byte:ボタン出力値の下位バイト
4byte:ボタン出力値の下位バイトの論理反転
5byte:ボタン出力値の上位バイト
6byte:ボタン出力値の上位バイトの論理反転
例えば[U]と[6]を同時に押した場合、ボタン出力値は0x201、下位バイトは0x01、上位バイトは0x02となり、パケットは以下のようになります。
0xff 0x55 0x01 0xfe 0x02 0xfd (バイナリ列で6バイト)
なお、いずれかのボタンが押下されていると一定間隔でパケットを送信し続け、全てのボタンが離されると出力値が0のパケットを1回送信した後にパケットの送信を停止します。
3桁の16進数文字列でボタンの出力値を文字列で送信する通信プロトコルです。10個のボタンの状態を12bitの値で取得できます。ボタンとビットの割り当ては以下の通りです。
bit | 15~10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ボタン名 | - | 6 | 5 | 4 | 3 | 2 | 1 | R | L | D | U |
ボタンの状態は以下の5byteの文字列に変換されZEALへ送信されます。
1byte:'['
3byte:'0'~'3'の文字 (出力値を16進数表記した際の3桁目)
4byte:'0'~'9','A'~'F'の文字 (出力値を16進数表記した際の2桁目)
5byte:'0'~'9','A'~'F'の文字 (出力値を16進数表記した際の1桁目)
6byte:']'
例えば[U]と[6]を同時に押した場合、ボタン出力値は0x201となり、パケットは以下のようになります。
[201] (全て文字で5文字分)
なお、ボタンの状態が変化した時のみパケットが送信されます。
ボタンの状態が変化した時にのみ、そのボタンの状態を送信します。
1のボタンが押されると"<1>"、離されると"(1)"といった具合に、押されると'<'と'>'で押されたボタン名が囲われ、離されると'('と')'でボタン名が囲われて送信されます。
複数のボタンが同時に押された場合は、押されたボタンの数だけ括弧で囲われた文字が送信されます。
例えば[U]と[6]を同時に押してしばらくして同時に離すと以下のようになります。
<U><6>(U)(6) (全て文字)
図のようにターゲットと配線します。DIP1は自動モード(DIP1-1:OFF, DIP1-2:ON)に設定しておきます。
無線接続の確立状態は3pinをモニタする事で行えます。
通信速度は115.2kbpsがデフォルトとなっていますが、下記の手順を経て変更する事もできます。
ボーレート: コマンド 115200bps: BTLB1152 57600bps: BTLB576 38400bps: BTLB384 9600bps: BTLB96 4800bps: BTLB48 2400bps: BTLB24 1200bps: BTLB12
ボーレート: コマンド 115200bps: BTB1152 57600bps: BTB576 38400bps: BTB384 9600bps: BTB96 4800bps: BTB48 2400bps: BTB24 1200bps: BTB12
コントローラ中央の電源ボタンを押し続けると緑色のLEDが高速でブリンクし、赤色のLEDがフラッシュするまでさらに押し続ける事(その間約3秒)で電源がONになります。その後ワイヤレス接続が確立するまでは赤色のLEDが約0.5秒間隔でフラッシュし続け、ワイヤレス接続が確立すると約2秒間隔でフラッシュするようになり、選択したプロトコルに従って通信を行えるようになります。なお、接続が確立している間に電源ボタン以外を押下している間は緑色のLEDが高速で点滅します。
電源がONの状態で再度電源ボタンを3秒以上長押しすると、全てのLEDのブリンクが停止し電源がOFFになります。また電源がONの状態で2分程度ボタンを押さない場合は、自動的に電源をOFFにします。
電源がOFFの状態で5, 6ボタンと1~3ボタンのいずれかを同時に押しながら電源をONにすると、通信プロトコルの切り替えが行われます。
なお、変更されたプロトコルは電源を切っても保持されます。