#norelated #contents **概要 [#lfb90213] 組み込み用BluetoothモジュールであるZEALをマイコン等のUARTに接続し、Bluetoothによる無線操縦機能を拡張するためのキットです。ZEAL単体モジュールは一般的なUARTを装備した3.3V系のマイコンに直結でき、特に難しい設定をせずとも自動的に無線接続が確立し、即RC-100のボタンの状態を取得する事ができます。~ また、RC-100は用途やプログラムの都合に合わせて複数のプロトコルを選択して送信する事ができます。 **基本仕様 [#t3b64c42] 無線機器の詳細仕様は[[BTX047 ZEAL]]ページを参照してください。~ |RC-100ボタン数|10個(電源ボタンを除く)| |電源|RC-100:単三乾電池2本&br;ZEAL単体モジュール:DC3.3V±10%| |I/F|ZEAL-C01のUARTに準拠(ハードフロー制御は無効化)| |通信速度|ZEALの出荷時デフォルト値として115200bps| |ZEALの動作モード|RC-100内蔵ZEALモジュール:自動待ち受け&br;ZEAL単体モジュール:自動接続(RC-100内蔵ZEALのMACアドレスを設定)| |内容物|ZEAL内蔵ワイヤレスコントローラ(RC-100)&br;ペアリング済みZEAL単体モジュール(ZEAL-C01)| ***外観 [#y8b05154] ****RC-100 [#z6bfa9e7] |#ref(RC-100_TOP.png,40%)|#ref(RC-100_BOTTOM.png,40%)| -5, 6ボタンの間にある赤外発光LEDは機能しない。 ****ZEAL単体モジュール [#qabb6082] #ref(ZEAL.png,40%) ZEAL単体モジュールの詳細は[[こちら>BTX047 ZEAL]]。 ***通信プロトコル [#b865dff2] ****プロトコル1 [#ldfbd34e] Bioloidのリモートコントローラとコンパチブルな通信プロトコルです。10個のボタンの状態を16bitの値で取得できます。ボタンとビットの割り当ては以下の通りです。 |CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|c |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回送信した後にパケットの送信を停止します。 ****プロトコル2 [#ube52a4b] 3桁の16進数文字列でボタンの出力値を文字列で送信する通信プロトコルです。10個のボタンの状態を12bitの値で取得できます。ボタンとビットの割り当ては以下の通りです。 |CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|c |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文字分) なお、ボタンの状態が変化した時のみパケットが送信されます。 ****プロトコル3 [#hf82d311] ボタンの状態が変化した時にのみ、そのボタンの状態を送信します。~ 1のボタンが押されると"<1>"、離されると"(1)"といった具合に、押されると'<'と'>'で押されたボタン名が囲われ、離されると'('と')'でボタン名が囲われて送信されます。~ 複数のボタンが同時に押された場合は、押されたボタンの数だけ括弧で囲われた文字が送信されます。 例えば[U]と[6]を同時に押してしばらくして同時に離すと以下のようになります。 <U><6>(U)(6) (全て文字) **使用方法 [#y8e3ecc5] ***接続概略 [#i3dfa5d5] #ref(RC-100B_1.png,55%) ZEALモジュールをマイコンボード等を介して自作のロボットや制御装置等に組込み、RC-100でワイヤレスコントロールします。 ***ZEALモジュールの組み込み [#e70b9151] #ref(RC-100B_2.png,70%) 上図のように配線します。ディップスイッチは自動モード(DIP-1:OFF, DIP-2:ON)に設定します。 ***RC-100の準備 [#q3484d7c] RC-100の裏面にある電池カバーを外し、単三乾電池2本をRC-100に向きを間違えないよう装着します。なお乾電池は付属しませんので、別途用意して下さい。 #ref(RC-100_BAT.png,40%) ***電源のON/OFF [#hd085996] コントローラ中央の電源ボタンを押し続けると緑色のLEDが高速でブリンクし、赤色のLEDがフラッシュするまでさらに押し続ける事で電源が入ります(その間約3秒)。その後ワイヤレス接続が確立するまでは赤色のLEDが約0.5秒間隔でフラッシュし続け、ワイヤレス接続が確立すると約2秒間隔でフラッシュするようになり、選択したプロトコルに従って通信を行えるようになります。なお、接続が確立している間に電源ボタン以外を押下している間は緑色のLEDが高速で点滅します。 電源がONの状態で再度電源ボタンを3秒以上長押しすると電源が切れ、いずれのLEDもブリンクが停止します。また電源がONの状態で2分程度ボタンを押さない場合は、自動的に電源をOFFにします。 ***通信プロトコルの切り替え [#zeb90fcd] 5, 6ボタンと1~3ボタンのいずれかを同時に押しながら電源をONにすると、通信プロトコルの切り替えが行われます。~ -プロトコル1~ 5, 6, 1ボタンを同時に押しながら電源ON -プロトコル2~ 5, 6, 2ボタンを同時に押しながら電源ON -プロトコル3~ 5, 6, 3ボタンを同時に押しながら電源ON 一度設定すると電源を切っても設定が保持されます。