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行はコメントアウトしてあります。