KC's notebook

赤外線受信モジュール(NEC)

きっかけ

そこら辺に置いてあるテレビのリモコンで色々な機械を操作できたら面白そうだなあと漠然に思い製作を開始。まあ、明確な理由なんてないんです(笑)。

動作説明

実はこの赤外線受信モジュール(NEC)は2代目。初代の赤外線受信モジュールは、赤外線のデータをすべてポーリングで受信するという無駄極まりない処理で動作していました。ただ受信するだけならそれでもいいのですが、赤外線のデータを受信したらそれを使って何かするのが普通ですよね。ですが、ポーリングをしているため受信処理以外のことが出来ないという事態に……。また、初代のモジュールはノイズが良くのっていしまい、あまり実用的ではありませんでした。

2代目は初代の問題点を改良するべく、外部割り込みとタイマー割り込みを使用して、バックグラウンドで実行するようにしました。また、タイムアウト処理を細かく入れたため、赤外線データ通信が途中で遮断されてしまってもすぐスタートルーチンに戻るので、データの読み違えが起こることもなくなりました。2代目では今のところバグデータを吐きだしたことはありません。まあ、NECフォーマットなので当然と言えば当然なのですが……。

機器説明

赤外線受信モジュール(NEC)はTiny2313を使用しており、NECフォーマットに対応しています。カスタムコードは書き換えること可能で、UARTでデータの送受信を行います。バックグラウンドで受信処理をしているため、UARTでのデータ送受が滞ることはありません。詳しい解説は、hexファイルと一緒に「赤外線受信モジュールの使い方.txt」に書いてありますので、ダウンロードしてお読みください。

図1:回路図例

配線やポートの場所は図1を参考にして下さい。図1に示す回路の場合パイロットランプの他にRECV_LEDとUART_LEDの2つのLEDが接続されています。赤外線のデータを保持している間はRECV_LEDが点灯し、UARTのデータを受信している間はUART_LEDが点灯します。この2つのLEDは付けても付けなくてもどちらでも良いです。受信モジュールは、秋月で販売されている赤外線リモコン受信モジュールを使用して頂ければ良いかと思います。それ以外のものでも38kHz変調のものならば、特に問題なく使えると思います。この回路には書いてありませんが、電圧変動を避けるために電源入力部あたりに電界コンデンサを入れたほうが良いかと思います。

ダウンロード

DOWNLOAD←ここからダウンロード(zip:36KB)

AVR C言語 制御 その他
inserted by FC2 system