赤外線リモコンのデータ構造は、メーカー各社に依って異なりますが、基本的な構造は、数種類しかありません。
その数種類のリモコンを見分けるのは、リモコンのチャンネル・コードとリモコン特有のカスタム・コードです。
そこで、自分で作製した電子機器等をコントロールする為に、赤外線リモコンを利用する事を考えて見ます。
テレビ等のリモコンとバッティングしない為に、カスタム・コードを自分独自のコードに設定すれば、問題無しです。
独自のリモコンを製作して、テレビ・リモコンと共有して電子機器を操作したい場合、テレビ・リモコンのクローンを製作し、スイッチ等で切り替えて ( カスタム・コードを切り替える )、チャンネル・ボタンを押せば、何台もの機器を一つのリモコンで操作する事が出来ます。
さらに、拡張して考えれば、リモコンからデータを送信する事も出来ます。
これらを、1個の PICマイコンで処理します。
上図の図形は、ELPA 製 RC-17 、RC-29D リモコンの信号です。( SONY タイプ )
この、信号はとてもシンプルな信号形態をしています。( リモコンの押しボタン ”1” です。 )
リモコンのボタンを押すと、
リモコン信号+スペース( 25ms )+リモコン信号+スペース( 25ms )+リモコン信号
リモコン信号が 3 回送出されます。
それでは、プログラムについて考えて見ます。
上図のリモコン信号は、機器の受信信号です。このままPIC マイコンでデータを送信しても機器は反応しません!。
何故?・・・そもそも、信号の送信の仕方が違うからです。
赤外線に依る信号をを送信する時、外界の赤外線や、日光の赤外線等などが、雑音として受信して正しく信号を判別できないからです。
そこで、外部からの雑音に左右されない為に、 38kHz と言う信号でスイチッング( 変調 )して信号を送信します。
受光素子は、受信した信号にフィルター( 38kHz )を掛けて信号を復元( 復調と言う )します。
この様にする事で、雑音に左右されない信号を受信する事が出来るのです。
これを、プログラムで実行する為に、PIC 16F648A のCCP( PWM ) を利用して信号データを変調します。
原理が理解できれば、後は、プログラムを作成するだけです。
下の写真は、試作したリモコン送信機です。
カスタム・コードに依る機器を制御するので、これを、「 カスタム・チャンネル 」と勝手に呼ぶ事にします。
黄色の押し釦は、テレビの” 電源 ” ボタン
緑色の押し釦は、テレビのチャンネルボタン
左から ” 1 ” 、” 2 ” 、” 3 ” 、” 4 ” です。
赤色の押し釦は、テレビのチャンネルボタン
左から ” 5 ” 、” 6 ” 、” 7 ” 、” 8 ” です。
黒色の押し釦は、カスタム・チャンネル” 1 ”
白色の押し釦は、カスタム・チャンネル” 2 ”
橙色の押し釦は、カスタム・チャンネル” 4 ”
青色の押し釦は、カスタム・チャンネル” 8 ”
テレビ・チャンネル・ボタンは、トグル操作です。
使い方は、カスタム・チャンネル・ボタンを押しながら、チャンネル・ボタンを押します。カスタム・チャンネル・ボタンを押さなければ、カスタム・チャンネル” 0 ” です。カスタム・チャンネルは、[ 0 ] ~ [ 15 ] です。
カスタム・チャンネルは、 ” OR ” 型なので、
カスタム・チャンネル” 1 ” + カスタム・チャンネル” 2 ” = カスタム・チャンネル” 3 ”
と、言う具合にカスタム・チャンネル・データを含んだ信号を送信します。
このリモコン送信機では、16台の機器、( 16 × 8 = 128 )の項目を操作出来ます。
この送信機に対応した受信機を試作しました。
[ PIC 16F84A ]
ショート・ピンに依って、カスタム・チャンネルを設定します。この基板では、カスタム・チャンネル[ 0 ]~ [ 7 ] です。