Deprecated: Assigning the return value of new by reference is deprecated in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 25

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 30

Warning: Cannot modify header information - headers already sent by (output started at /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php:25) in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 81
科学好き者の日々::赤外線リモコンでのコントロール その2

赤外線リモコンでのコントロール その2

基板

リモコンボタンを押すとスイッチが入り、再度押すとスイッチが切れるようなコントローラを作ります。

ADコンバータが不要なので、コントローラとして、PICの12F629を使います。赤外線受光モジュールからの信号で割り込みをかけるため、赤外線受光モジュールからの信号をGP2割込みPIN5に結線します。

出力としてPICの出力でリレーを駆動します。手持ちのリレーではPICで直接駆動できないので、トランジスタを介して駆動します。

最初は、簡単にリモコンからのパルスを数えて、一定以上数のパルスがきたら(リモコンが押されていれば)PICの出力をOFF→ON(またはON→OFF)として、交互に状態を変える。
ノイズで誤動作しないように、タイマー1割込みで一定時間500mSをつくり、500mS毎にパルス数のカウントをリセットする。

としてみました。蛍光灯のノイズがすくなければ、これでも動作しますが、多くのノイズが入ると勝手にON、OFFを繰り返してしまいました。

これじゃ駄目だね。。。

ノイズと弁別するため、長いリーダ部を検出することにしました。

NECフォーマットの場合、割り込みが入ってから3mS後、6mS後、信号がLOWか?11mS後HIGHか?と調べ全てが満足されたら、リーダ部すなわちリモコン信号と判定することにしました。
一応誤動作せずに動きます。誤動作の確率、ちょっと不安もありますね。

また、この定数では家電協会フォーマットでは動きませんね。
NECフォーマット、家電協会フォーマットの両用とするにはもうすこし工夫が必要ですね。



Calendar
<< May 2024 >>
SunMonTueWedThuFriSat
   1234
567891011
12131415161718
19202122232425
262728293031
search this site.
tags
archives
recent comment
recent trackback
others
admin