Prinsip kerja alat ini yaitu
sensor mendeteksi adanya orang di suatu titik, sensor PIR ini mendeteksi orang
melalui sumber panas yang dihasilkan oleh makhluk hidup, jadi selain manusia,
hewan pun bisa terdeteksi, setelah sensor aktif maka akan mengirimkan tegangan
output yang akan ditangkap oleh mikrontroler, oleh mikrokontroler memberikan
perintah kepada buzzer untuk berbunyi. Untuk lebih jelasnya dapat melihat bagan
berikut ini
Alat ini menggunakan ATMega16 sebagai pengendali
dan pengatur perintah, data dari PIR sensor dibaca oleh port ADC
mikrokontroler, jika terdeteksi ada orang yang lewat suatu titik maka pir akan
bernilai >1 maka akan menghidupkan buzzer, jika tidak PIR akan bernilai 0
yang artinya kondisi aman.
PIR (Passive Infra Red) Motion
Detektor adalah sensor yang digunakan untuk mendeteksi suatu makhluk hidup yang
memiliki panas tubuh, sensor ini optimal pada jarak kurang dari 1 meter, namun
tergantung jenis dari sensor PIR itu sendiri, ada yang bisa optimal kurang dari
satu meter, ada yang lebih dari satu meter dan bahkan sampat 3 meter pun ada,
tergantung merk dan kualitas sensor PIR itu. berikut gambarnya
Sensor
PIR ini hanya memiliki tiga buah kaki yaitu kaki VCC, Data Dan GND, sehingga
mudah untuk digunakan untuk komunikasi dengan mikrokontroler melalui port ADC,
untuk tegangan keluaran dari PIR ini dideteksi oleh portA.0, sehingga jika
nilai dari portA.0 lebih dari 1 maka akan menghidupkan rangkaian buzzer.
'==========================================================================
'Programmer: Yanuar Mukhammad
'E-mail : Yanuarm@hotmail.com
'==========================================================================
$regfile =
"m16def.dat"
$crystal =
12000000
Config Lcdpin =
Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2
Config Lcdpin =
Pin , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5
$baud = 9600
$hwstack = 32
$swstack = 10
$framesize = 50
Dim Dummy As Integer
Dim Potvalue As Integer
Deflcdchar 0 , 31 , 31 , 31 , 31 , 31 , 31 ,
31 , 31
Deflcdchar 1 , 31 , 17 , 17 , 17 , 17 , 17 ,
17 , 31
Cls
Cursor Off
Config Pinb.0 = Output
Config Timer1 = Pwm , Prescale = 64 , Pwm = 8
, Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Ddrb.0 = 1
Enable Interrupts
Enable Timer1
Config Adc = Single , Prescaler = 64
Start Adc
Ocr1ah = 0
Ocr1ah = 0
Do
Potvalue = Getadc(0) 'ADC portA.0
Dummy = Potvalue / 2
Dummy = Dummy / 2
Ocr1bl = Dummy
Locate 2 , 2
Lcd "PIR="
Locate 2 , 8
Lcd " "
Locate 2 , 8
Lcd Dummy
'---- Buzzer
If Dummy >= 0 Then
Portb.0 = 1
End If
If Dummy = 0 Then
Portb.0 = 0
End If
Loop
End
No comments:
Post a Comment