ページへ戻る

− Links

 印刷 

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

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

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

**基本仕様 [#t3b64c42]
無線機器の詳細仕様は[[BTX047 ZEAL]]ページを参照してください。~

|ボタン数|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アドレスを設定)|

**外観 [#y8b05154]
|#ref(RC-100_TOP.png,40%)|#ref(RC-100_BOTTOM.png,40%)|

**ZEAL使用方法 [#qabb6082]
ZEALはRC-100Bに内蔵されたZEALと予めペアリングされています。~
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|
ボタンの状態は以下の6byteのパケットに変換され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] (全て文字で6文字分)

なお、ボタンの状態が変化した時のみパケットが送信されます。

***プロトコル3 [#hf82d311]
ボタンの状態が変化した時に変化したボタンの状態のみを送信します。~
1のボタンが押されると"<1>"、離されると"(1)"といった具合に、押されると'<'と'>'で押されたボタン名が囲われ、離されると'('と')'でボタン名が囲われて送信されます。~
複数のボタンが同時に押された場合は、押されたボタンの数だけ括弧で囲われた文字が送信されます。

例えば[U]と[6]を同時に押してしばらくして同時に離すと以下のようになります。
 <U><6>(U)(6) (全て文字)

**使用方法 [#y8e3ecc5]
***準備 [#q3484d7c]
-単三電池をRC-100に搭載します。(電池は付属していません。)
#ref(RC-100_BAT.png,40%)
|CENTER:BGCOLOR(red):||c
|&nbsp; :idea:|出荷時にRC-100に内蔵されたZEALと付属のZEALはペアリングされています。他のBluetooth機器との接続はできません。|
***電源ON・OFF [#hd085996]
コントローラ中央の電源ボタンを長押しすると電源が入ります。電源が入っている状態で電源ボタンを長押しすると電源が切れます。
***通信プロトコルの切り替え [#zeb90fcd]
5,6ボタンと1~3ボタンの何れかを同時に押しながら電源を入れると、以下の通り通信プロトコルの切り替えが行われます。~
-5,6,1ボタンを同時に押しながら電源を入れるとプロトコル1に設定
-5,6,2ボタンを同時に押しながら電源を入れるとプロトコル2に設定
-5,6,3ボタンを同時に押しながら電源を入れるとプロトコル3に設定

一度設定すると電源を切っても設定が保持されます。

« Prev[4]  Next »[5]