Comparatorの利用(リモコンに合わせてLEDが光る回路)
実際にComparatorを使った例として,赤外リモコンの光を照射すると赤のLEDが点灯する回路を作ってみました。LEDに赤外LEDを使えば,リモコンのリレーになります。電源に電池を使った場合,長時間使用すると比較対照となる電圧(PB1)が降下するので注意が必要です。
概要:
PortBの0,1をコンパレータ用入力(AIN0,AIN1),PortBの2-7を出力に設定する。
AIN0にフォトダイオードのアノード,AIN1に可変抵抗から取った電圧をつなぐ。
AIN0の電圧は,赤外リモコンOFF時のフォトダイオード電圧よりは高く,赤外リモコンON時のフォトダイオード電圧よりは低く設定する。
コンパレータにより,フォトダイオード電圧がAIN1の電圧を上回った時に,PB2がON(LED点灯)となる。
回路図:
プログラム
.def a1 =R16 rjmp Reset reti reti reti Reset: ldi a1,0b11111100 out 0x17,a1 ;0x17 = DDRB ; ldi a1,0b00000000 ; out 0x18,a1 ;0x18(PortB) = 0x00 (Default) main: sbic 0x08,5 rjmp on off: cbi 0x18,2 rjmp main on: sbi 0x18,2 rjmp main
注意:
コンパレータを使う場合には,AIN0とAIN1は,入力モードでなおかつ非pull-upにする必要があります。
ただしPortBはデフォルトで0x00に設定されています(非pull-upの設定)ので,プログラム中の9,10行はコメントアウトしてあります。