赤外線リモコン送信データの解析
<概要>
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の時間を確認して、信号先頭のリーダーや、データビットの時間幅を推定します。