
リモコンボタンを押すとスイッチが入り、再度押すとスイッチが切れるようなコントローラを作ります。
ADコンバータが不要なので、コントローラとして、PICの12F629を使います。赤外線受光モジュールからの信号で割り込みをかけるため、赤外線受光モジュールからの信号をGP2割込みPIN5に結線します。
出力としてPICの出力でリレーを駆動します。手持ちのリレーではPICで直接駆動できないので、トランジスタを介して駆動します。
最初は、簡単にリモコンからのパルスを数えて、一定以上数のパルスがきたら(リモコンが押されていれば)PICの出力をOFF→ON(またはON→OFF)として、交互に状態を変える。
ノイズで誤動作しないように、タイマー1割込みで一定時間500mSをつくり、500mS毎にパルス数のカウントをリセットする。
としてみました。蛍光灯のノイズがすくなければ、これでも動作しますが、多くのノイズが入ると勝手にON、OFFを繰り返してしまいました。
これじゃ駄目だね。。。
ノイズと弁別するため、長いリーダ部を検出することにしました。
NECフォーマットの場合、割り込みが入ってから3mS後、6mS後、信号がLOWか?11mS後HIGHか?と調べ全てが満足されたら、リーダ部すなわちリモコン信号と判定することにしました。
一応誤動作せずに動きます。誤動作の確率、ちょっと不安もありますね。
また、この定数では家電協会フォーマットでは動きませんね。
NECフォーマット、家電協会フォーマットの両用とするにはもうすこし工夫が必要ですね。