赤外線リモコンの作成
はじめに
PICを使った場所確認キーホルダに赤外線リモコンを組み込んで、TVやVTR、エアコンなどを操作できたら便利だな〜と思い、赤外線リモコンのデータフォーマット調査とリモコンの試作、例のPHS(?)への組み込みを行いました。
データフォーマット
赤外線リモコンの「家電製品協会フォーマット」に関して調べたところ、インプリするメーカーに任された許容範囲があまりに広く、個々のリモコン送信データを解析するためにツールを作ることになってしまいました。
特に、データビット1/0を表現するための発光時間が各社・機器毎にまちまちなので、これが解らないとお手上げです。標準的なデータフォーマット
赤く塗られている部分が赤外線発光です。発光時は38kHzのキャリアで点滅します。
データ部は発光/消灯時間の違いによってビット'0'と'1'を表現します。SH=スタートビットHi時間
SL=スタートビットLo時間
H0='0'のHi時間
L0='0'のLo時間
H1='1'のHi時間
L1='1'のLo時間
ST=ストップビットHi時間上記時間がメーカーや機種毎に異なります。我が家のケーブルTVターミナル(松下製)の場合、およそ
SH=3.4ms, SL=1.6ms, H0=0.5ms, L0=0.4ms, H1=0.5ms, L1=1.2ms, ST=0.5ms
でした(実測値)。また、この機器の電源をON/OFFするためのコマンド(データ部)は
40040160BCDD(hex)
となっていました。このデータの中にメーカコード、機器コード、パリティ等が含まれているようです。
回路図等
試作では赤外線送信のキャリア(38kHz)をPICのプログラムで作りましたが、場所確認キーホルダーでは省電力のため動作クロックが100kHzに設定されていて、これではキャリアの生成ができません。そこで外部に74HC00でマルチバイブレータを組み、ゲートONで赤外線LEDを点灯(38kHz近辺のキャリア)するようにしました。電源電圧の変動で周波数がかなりゆらいでしまいますが、リモコンのキャリアとして使う分にはあまり問題ないようです。
待機電力を極力減らすため、74HC00の電源もPICの出力ポートから供給するようにしています(リモコン動作する時だけこのピンをHiにする)。
赤外線LEDのドライブに47Ωの抵抗を使いましたが、できればもっと電流を流したいところです。Trの定格オーバーが気になりますが、短時間のパルス出力なので大丈夫なのではないかと?。。。★お詫び
私の不注意で、完成版のソース一式を誤って消去してしまいました (T_T)
今更プログラムを作り直すのもどうかと思いますし、その後も学習リモコンなどの制作等を行っているので、申し訳ありませんが、本ページの内容についてはここで凍結とさせて頂きます。