2013年6月29日土曜日

赤外線リモコン送信データの解析


<概要>

mbedのライブラリに、赤外線リモコンからのデータを解析するライブラリ(RremoteIR)があります。このライブラリは、一般的なフォーマットである、“NECフォーマット”、“SONYフォーマット”、“AEHAフォーマット”に対応しています。

これ以外のフォーマットの場合は、波形を解析して、プログラムを作る必要があります。
今回、波形のHi,Lo時間を1[us]単位で測定して出力する処理を”RemoteIR”ライブラリに追加して、”Propo_RemotoIR”ライブラリとして公開しました。
この解析方法を説明します。


<サンプルプログラムで動作確認>


mbedのWebから”irRawDataDisplay”のProgramをダウンロードします。(図1)
http://mbed.org/users/suupen/code/irRawDataDisplay/




図1 irRawDataDisplay  Program Web

このプログラムに入っている、”Propo_RemotoIR”ライブラリフォルダの”ReceiverIR.h”の23行目の”IR_RAW_DATA_ANALYSIS”マクロ定義を有効にして、コンパイルをしてください。このマクロ定義で条件コンパイルして、赤外線データの波形測定処理を有効にします。(図2)



図2 Propo_RemotoIRライブラリ - ReceiverIR.h 変更箇所




 main.cpp 側では、USB-COMの通信速度の設定と、赤外線受信モジュールのポート設定がありますが、main側ではそれ以外の処理はありません。赤外線データの解析とパソコンへの送信処理はすべて、ReceiverIR.cpp/.h で行っています。


mbed側での赤外線受信モジュールの接続方法は図3のようにします。


図3 mbedの接続図

パソコンには、ターミナルソフト(TeraTarmなど)を起動して、COM設定を図4のようにします。


図4 パソコンのターミナルソフトのCOM通信設定


mbedとパソコンとは、USBで接続して、パソコン側はUSB-COMとして認識させます。

赤外線データ(IRC Helicopter “SWIFT”のPropo)の受信データを表示させたところが、図5になります。


図5 赤外線通信波形の解析表示


この解析結果から、通信波形のHi,Loの時間を確認して、信号先頭のリーダーや、データビットの時間幅を推定します。


0 件のコメント:

コメントを投稿