ページへ戻る

− Links

 印刷 

BTX048 RC-100B のバックアップソース(No.12) :: Besttechnology

knowledge:BTX048 RC-100B のバックアップソース(No.12)

« Prev[4]  Next »[5]
#norelated
#contents
**概要 [#lfb90213]
組み込み用BluetoothモジュールであるZEALをマイコン等のUARTに接続し、Bluetoothによる無線操縦機能を拡張するためのキットです。ZEAL単体モジュールは一般的なUARTを装備した3.3V系のマイコンに直結でき、特に難しい設定をせずとも自動的に無線接続が確立し、即RC-100のボタンの状態を取得する事ができます。~
また、RC-100は用途やプログラムの都合に合わせて複数のプロトコルを選択して送信する事ができます。

**基本仕様 [#t3b64c42]
|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-C01を内蔵
-内蔵されるZEAL-C01の諸設定は変更禁止

****ZEALモジュール [#qabb6082]
#ref(ZEAL.png,40%)
-ZEALモジュールの詳細は[[こちら>BTX047 ZEAL]]。
-出荷時初期設定は以下の通り~
同梱されるRC-100に内蔵されるZEAL-C01へ自動接続~
ボーレートは115.2kbps~
CN1-3から接続状態を出力(HIGH切断, LOW接続)~
DIP1は自動モード(DIP1-1:OFF, DIP1-2:ON)

***通信プロトコル [#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]
図のようにターゲットと配線します。DIP1は自動モード(DIP1-1:OFF, DIP1-2:ON)に設定しておきます。
#ref(RC-100B_2.png,70%)
無線接続の確立状態は3pinをモニタする事で行えます。~

通信速度は115.2kbpsがデフォルトとなっていますが、下記の手順を経て変更する事もできます。
+ZEALモジュールを[[BTX026]]に装着する。
+BTX026のDIPスイッチは全てOFFにする。
+ZEALモジュールのDIP1を設定モード(DIP1-1:ON, DIP1-2:OFF)にする。
+BTX026をPCのシリアルポートに接続し電源を供給する。
+適当なシリアルターミナルクライアントで9600bps,ノンパリティ,データビット8,ストップビット1の設定でシリアルポートを開く。
+使用するボーレートによって以下のコマンドを入力しエンターキーを押す(一例)~
 ボーレート: コマンド
 115200bps:  BTB1152
 57600bps:   BTB576
 38400bps:   BTB384
 9600bps:    BTB96
 4800bps:    BTB48
 2400bps:    BTB24
 2400bps:    BTB12
なお入力したコマンドはターミナルクライアント自身でエコーバックしない限り見ることはできない。成功すると ACKN、失敗すると NG12 が返る。成功すると即時ZEAL-C01のボーレートが変わってしまうので、再度変更する場合はBTX026のリセットボタンを押して再度コマンドを入力する。
+BTX026への電源供給を断ち、ZEALモジュールのDIP1を自動モード(DIP1-1:OFF, DIP1-2:ON)に戻す。

***RC-100の準備 [#q3484d7c]
RC-100の裏面にある電池カバーを外し、単三乾電池2本をRC-100に向きを間違えないよう装着します。なお乾電池は付属しませんので、別途用意して下さい。
#ref(RC-100_BAT.png,40%)

***電源のON/OFF [#hd085996]
コントローラ中央の電源ボタンを押し続けると緑色のLEDが高速でブリンクし、赤色のLEDがフラッシュするまでさらに押し続ける事(その間約3秒)で電源がONになります。その後ワイヤレス接続が確立するまでは赤色のLEDが約0.5秒間隔でフラッシュし続け、ワイヤレス接続が確立すると約2秒間隔でフラッシュするようになり、選択したプロトコルに従って通信を行えるようになります。なお、接続が確立している間に電源ボタン以外を押下している間は緑色のLEDが高速で点滅します。

電源がONの状態で再度電源ボタンを3秒以上長押しすると、全てのLEDのブリンクが停止し電源がOFFになります。また電源がONの状態で2分程度ボタンを押さない場合は、自動的に電源をOFFにします。

***通信プロトコルの切り替え [#zeb90fcd]
5, 6ボタンと1~3ボタンのいずれかを同時に押しながら電源をONにすると、通信プロトコルの切り替えが行われます。~
-プロトコル1~
5, 6, 1ボタンを同時に押しながら電源ON
-プロトコル2~
5, 6, 2ボタンを同時に押しながら電源ON
-プロトコル3~
5, 6, 3ボタンを同時に押しながら電源ON

一度設定すると電源を切っても設定が保持されます。
*注意事項 [#hcb4d913]
**無線の接続状態 [#o7c38c73]
再接続はZEAL-C01自体が自動的に行いますので、無線の接続を励起する目的で電源を意図的にON/OFFさせる必要はありません。~
また、電池の残量は計測していませんので、使用環境に応じて必要と思われる容量の単三型乾電池を利用して下さい。電池の残量が少ない状態で使用していると頻繁に無線接続が切断するようになり、最終的にはRC-100自体が再起動を繰り返す事になります。

**使用環境 [#d0c5a61a]
無線機器の使用を禁じている場所がありますので、そういった場所での使用は行わないで下さい。場合によっては他の機器の動作に支障をきたす恐れがあります。

**保管 [#ca4fa1e7]
不用意にRC-100の電源ボタンが押されて電源が入ってしまうと、気付かないうちに電池が消耗してしまいます。長時間使用しない場合や運搬時は電池の消耗を防ぐためにも電池を取り外しておく事をお勧めします。

« Prev[4]  Next »[5]