赤外線リモコンの受信が出来るようになりました。 受光モジュールは PL-IRM1261-C438 で、赤外線を受光している間出力がLowになります。 Vout のプルアップ抵抗は20kΩにしました。 ターゲットPICデバイスは18F1320です。

下図のようにリモコン信号を受信するとLCDの4行目に受信データを表示します。 最後の「 N 」はNECフォーマットを示します。 NECフォーマット以外の場合はアルファベット小文字の「 o 」を表示します。

DSC00077

LCDの右上に見える赤外線リモコン受光モジュールの出力を INT1 に接続しています。 INT1 入力の立ち下がりエッジで割り込みを発生させ、割り込みの間隔(時間)を測定して一定の値を超えていればマーク ( 1 ) そうでなければアンマーク ( 0 ) と判定する簡単な方法です。

リーダーと呼ばれる同期信号の幅(時間)が 4msec を超える場合にNECフォーマットと判定しています。 従ってSONYフォーマットの他、データ信号を最初に受けた場合にも「 o 」を表示してNECフォーマットと区別します。

表示するデータはリーダー信号を除く32bitまでのデータ信号で、受信順に右から左に並べています。 32bit 未満受信時には右詰めで並び、受信していない bit は 0 として表示します。

32bitを受信し終えると INT1 割り込みを禁止してノイズを防止し、リーダー受信から150~200msec後にLCD用仮想V-RAMにデータ転送した上でワークを初期化して INT1 の割り込みを許可すると言う一連の動作を繰り返しています。

詳細は幾つかの記事に分けて紹介する予定です。

以下は赤外線リモコン受信関連記事のインデックスにします。

赤外線リモコン受信2 
 TIMER0 の一部と INT1 割り込みを使って赤外線リモコンの受信を行い、データ信号を読み出せると考えてコーディングに取り掛かりました。

赤外線リモコン受信3 
 最初に INT1 の割り込み設定をしますが、リセット直後で不定になっているワークの初期化を一緒に行っています。

赤外線リモコン受信4 
 リモコン信号の最初の割り込みを受けてリーダー信号の受信に備え測定開始時間を設定する部分を説明します。

赤外線リモコン受信5 
 リーダー信号の後端で発生する INT1 の低位割り込み処理について説明します。

赤外線リモコン受信6 
 データ信号を受信し、次の INT1 割込みに備え測定開始時刻を更新する部分を説明します。

赤外線リモコン受信7 
 TIME0で行っている受信終了のタイマー処理と、メイン処理で行っているLCD用仮想V-RAMへの転送(表示)、受信再開処理について説明します。 一連の記事で紹介したソース・ファイル(プロジェクト)をダウンロード出来ます。

RRP1320-1-02 概要 
  RRP1320-1-01 に赤外線リモコン受信機能を追加して、RRP1320-1-02 を紹介しています。 リモコンのボタンに応じて16個のサブルーチンを CALL します。 サブルーチンの中を書き換えて自由にご利用下さい。 ブレッドボードで作るドキュメントとプロジェクト一式をダウンロード販売しています。

赤外線リモコン受信動作確認 
 赤外線リモコンの受信動作を確認しました。 リモコン2機種を入手して動作確認しました。  (左 ELPA RC-29D 、 右 Victor RM-A215 )

赤外線リモコン・コード調査 
 受信コードを入力して、実際に正しく動作することを確認しました。 今後も動作確認済みDE文テキストを増やして行きたいと思います。

赤外線リモコン受光モジュール 
 以前にRRP-1320-1 シリーズに使った、PL-IRM1261-C438 よりも若干ノイズに弱いようです。 受光モジュールをPL-IRM1261-C438 に変更してドキュメントを作り直します。


楽々PIC」は楽しい道具を作りながら学ぶブログを目指します。