IRC Helicopter “SWIFT”プロポ送信データ受信mbed用Test Program
<概要>
SWIFTのプロポから送信される赤外線データを受信、解析するmbed用プログラムを作りました。<テストプログラム>
テストプログラムは、下記のWebにおいてあります。http://mbed.org/users/suupen/code/SwiftPropoIR_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”と、”SWIFT_NORMALIZE”の2つになります。1. Propoデータの機能毎のデータ出力
“PROPO_RAW_DATA”、”SWIFT_NORMALIZE”の両方をコメントアウトしてコンパイルします。(図2)
図2 マクロの設定
Propoからの送信データをmbedで解析して、PC(Treatram)で表示した結果が図3になります。
図3 TreaTramでの受信データ表示
2. Propoデータの出力を正規化
“PROPO_RAW_DATA”はコメントアウト。
“SWIFT_NORMALIZE”は有効。
としてコンパイルします。(図4)。データの表示結果が図5になります。
図4 コンパイル条件
図5 データ表示結果
3. Propoデータの生データ
“PROPO_RAW_DATA”を有効、”SWIFT_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/)
を使用します。
これは、SWIFTのPropoが送信する赤外線通信波形が一般的なものではなく”RemoteIR”ライブラリでは受信解析できなかったためです。今回の改造に合わせて、未知の通信波形を解析するための仕組みも組み込みました。
受信データ解析ライブラリ
“CodecIRPropoSwift”ライブラリを新作しました。”Codec”となっていますが、現状は受信解析(Decode)のみの対応です。
0 件のコメント:
コメントを投稿