■はじめに 玄箱PROに KURO-RS を組み合わせることで「
リモコンと液晶で音楽を楽しむ」ことを実現しました。このおかげで、筆者のミュージック・サーバは玄箱PROになってしまいました。
ところで KURO-RS は、もともとリモコン信号の送信が主な役目として設計されているため、リモコンのボタンを押してから玄箱PROが反応するまでの遅れが気になります。
それでは自作してしまおうということで、赤外線リモコン信号の送受信機を作ることにしました。

自作回路に使った主要部品
■リモコン信号の処理はマイコンでする KURO-RS の場合は、リモコンの信号の解析は玄箱PRO (PC) 側で行っていました。ところで、リモコン送受信機を自作するなら、赤外線リモコンの発光をとらえ、玄箱PROへ送れる形に加工するために、マイコンを使うのがよさそうです。
せっかくマイコンを使うのなら、マイコン側で信号の解析をすれば、玄箱PRO側のプログラムの負担が減るほかに、リモコン信号にあわせた動作もすることができるようになります。そこで、マイコンで受光したリモコン信号を解析することにします。
■リモコン信号でアンプの電源もコントロールしたい さて、玄箱PROと自作アンプを組み合わせたミュージック・サーバを使っていると、アンプの電源のオン/オフ操作が、mpd の再生・停止動作と連動していないことが気になり始めました。メーカ製のミニコンポだと再生中に電源を切るのは、電源ボタンを押すだけですし、アンプの電源が入っていないのに再生することもありません。
そこでリモコン信号送受信機で、アンプの電源を制御し、玄箱PROに電源の状態を伝えることにします。玄箱PRO上の lcdcompo プログラムで再生中にアンプの電源をリモコンで切ると、mpd に停止を送ります。また再生ボタンを押すと、アンプの電源が自動で入るようにします。そのため、LCDd の kurors ドライバ、 lcdcompo のプログラムを入れ替えます。

リモコンのボタンを押したときの信号の流れ
■回路を構成する部品を決める リモコン受光モジュール、赤外線 LED、PIC マイコン(PIC16F628)、シリアル USB モジュール (FT232)、半導体リレー (SSR) が主な部品です。リモコン受光モジュール、赤外線LED は、多くのものが使えると思います。半導体リレーは 5V 用のものを想定しています。マイコンは手持ちの中から非同期シリアル・モジュール内蔵のものを選びました。

自作赤外線リモコン信号送受信機の回路図
■仕様を決める 赤外線リモコン信号送受信機の仕様は以下のように決めました。
- 送信する赤外線LEDの数は1個
- PIC内で、四つまでのリモコン信号を照合する
- リモコンでの電源の ON/OFF は RA3 (PORTA の 3)
- PIC からの ON/OFF 信号は五つ (RA0 から RA4 (PORTA の 0 から 4))
- 接続は USB (FT232 の USB シリアル機能を使う)
PIC では受信したリモコン信号を解析し、HEX データとしてシリアル・ポートへ出力します。それと同時に、EEPROM 内のデータと照合し、一致していれば、RA3 を H/L 反転するようにしています。これにより、リモコンの電源ボタンを押したら SSR が、100V を ON/OFF します。
PIC 内では 四 つまでのデータと照合処理をしているので、プログラムを改造すれば、ほかのリモコン信号で RA0 から RA4 を H/L 反転するようにすることも容易です。ただし、RA4 はオープン・コレクタ出力なので、H とするにはプルアップ抵抗が必要です。
また、シリアル・ポートからのコマンドに応じて、RA0 から RA4 の H/L の状態を設定したり、赤外線リモコン信号を送信することにします。
■赤外線リモコンの信号 赤外線リモコンの信号は、NEC エレクトロニクスのマイクロコンピュータFAQ内のリモコンについての解説
*1 がわかりやすいと思います。
38 ~ 40kHz ぐらいで、点滅する赤外線LEDさせている期間を ON 時間、LEDを消灯している時間を OFF 時間と呼ぶとします。ON 時間と、OFF 時間の比によって、1ビット (0 または 1) を送受します。データが 1 のときには、ON 時間 T (約 0.56ms) に対して、OFF 時間が 3T とし、データが 0 のときには、ON 時間 T に対して、OFF 時間を T と決められています。リモコン側は、ボタンに対応したデータ(たとえば32ビット)を順に 1 ビットずつ送信します。実際には、さらにデータの前後に、データの開始と終了を示す信号が送られます。
また、リモコン送信機の電池電圧などによって T は変動しますが、ON 時間と OFF 時間の比はあまり変わらないように設計されています。本連載の中で紹介したプログラム
*2, *3 も参考にしてください。
受信側では、38-40kHz の点滅信号のみを受光するように設計された、リモコン受光モジュールを利用します。これによって、赤外線を出す白熱灯などで照明されている環境でも、リモコンの信号を受信しやすくしているのです。受光モジュールからの信号は、ON 期間で L (0V)、OFF 期間で H (5V) となっていますから、マイコンのプログラムを書くときには注意します。
*1 NEC エレクトロニクスのマイクロコンピュータFAQ内のリモコンについて
http://www.necel.com/ja/faq/mi_com/__com_remo.html*2 学習型赤外線リモコン (KURO-RS) を調べる
http://www.eleki-jack.com/Kurobox-pro2/2007/07/-kurors-1.html
*3 秋月グラフィック液晶対応 lcdproc
http://www.eleki-jack.com/Kurobox-pro2/2007/09/-lcdproc-1.html 次回「赤外線リモコン信号送受信機を自作する(製作編)」では、リモコン信号の解析方法の概略などを紹介し、プログラムを公開します。お楽しみに。
<光永 法明>
コメントする