2013年6月28日金曜日

IRC Helicopter “HonyBee”プロポ送信データ受信mbed用Test Program


<概要>

HonyBeeのプロポから送信される赤外線データを受信、解析するmbed用プログラムを作りました。

<送信データの解析>

こちらのWebにPropoからの送信データの解析記事があります。
http://www.oidenansho.com/pic/26kpic/26k1010tx2_honey/26k1010tx2_honey.htm
送信波形自体は”SONY”フォーマットで1フレーム20bitのデータになります。
(このWebでは、スタートビットを4bitとしていますが、通信フォーマット仕様としては、最初の1bitはヘッダとなり、データは20bitとなります)

通信フォーマットについては、こちらに解説があります。
http://elm-chan.org/docs/ir_format.html


<テストプログラム>

テストプログラムは、下記のWebにおいてあります。
http://mbed.org/users/suupen/code/HonyBeePropoIR_TestProgram/



このプログラムでは、mbedの”p5”端子で赤外線受信信号を受け、解析したデータはUSBでパソコンに送信します。
パソコン側には予めUSBからのデータをCOMデータとして受信するドライバをインストールしておきます。

パソコンでの受信データの表示にはターミナルソフト(TeraTarmなど)を使い、
ボーレート:38400[bps]
データ長:8[bit]
パリティ:なし
ストップビット:1[bit]
の設定で使用します。




mbedの準備
赤外線受信モジュールとmbedは図1のように接続します。電源は、USBから供給します。



図1 mbedと赤外線モジュールの接続

mbedに、プログラム(SwiftPropoIR_TestProgram)をダウンロードします。

main.cpp のファイルヘッダの直下(28,29行目)のマクロ定義で、Propoデータ解析内容を変更することが出来ます。マクロは”PROPO_RAW_DATA”と、”HONYBEE_NORMALIZE”の2つになります。

<プログラムの実行>

1. Propoデータの機能毎のデータ出力
“PROPO_RAW_DATA”、”HONYBEE_NORMALIZE”の両方をコメントアウトしてコンパイルします。(図2)


図2 マクロの設定


Propoからの送信データをmbedで解析して、PC(Treatram)で表示した結果が図3になります。

 図3 TreaTramでの受信データ表示


2. Propoデータの出力を正規化

“PROPO_RAW_DATA”はコメントアウト。
“HONYBEE_NORMALIZE”は有効。
としてコンパイルします。(図4)。データの表示結果が図5になります。



図4 コンパイル条件



図5 データ表示結果




3. Propoデータの生データ
“PROPO_RAW_DATA”を有効、”HONYBEE_NORMALIZE”はコメントアウトしてコンパイルします。(図6)。データの表示結果が図7になります。



図6 コンパイル条件



図7 データ表示結果






<ライブラリについて>

赤外線データ受信ライブラリ
”RemoteIR”ライブラリ(http://mbed.org/users/shintamainjp/notebook/remote_ir_ja/)
を改造した”Propo_RemotoIR”(http://mbed.org/users/suupen/code/Propo_RemotoIR/)
を使用していますが、元のライブラリ”RemoteIR”でも使用できます。
これは、HonyBeeの送信データが”SONY”フォーマットで、”RemoteIR”がこのフォーマットに対応しているためです。
改造した”Propo_RemotoIR”はSWIFTのPropoが送信するデータ受信のための改造と、未知の通信波形を解析するための仕組みも組み込みしてあります。

 <受信データ解析ライブラリ>

“CodecIRPropoHonybee”ライブラリを新作しました。”Codec”となっていますが、現状は受信解析(Decode)のみの対応です。


0 件のコメント:

コメントを投稿