Pada project kali ini adalah sedikit eksperimen menggunakan sensor suhu LM35 dan smoke detektor, rangkaian akan mendeteksi tingkat ketebalan asap dan nilai parameternya akan ditampilkan melalui LCD, dan akan menentukan tingkat bahaya dan adanya api jika terjadi peningkatan suhu.
Monitoring SUHU dan Detector Smoke menggunakan ATmega16 Dengan Bahasa Basic )Bascom AVR)
Berikut daftar Komponen Library nya... :-)
ATMega 16
Led
Button
LCD 20*4
Sensor LM35
Detector Smoke
Berikut Listing Program Basic nya
'Konfigurasi ATmega 16
'==================================
$regfile = "m16def.dat"
$crystal = 1200000
'Konfigurasi LCD
'==================================
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.2 , Rs = Portd.0
Config Lcd = 20 * 4
Cursor Off
'Konfigurasi Input & Out put
'==================================
Config Portd = Output
Config Porta = Input
'Bagian ADC
'==================================
Dim Y As Integer
Deflcdchar 0 , 14 , 10 , 14 , 32 , 32 , 32 , 32 , 32
Config Adc = Single , Prescaler = Auto , Reference = Internal
Dim A As Word , Volt As Word , Volt_d As Byte
Dim Z As Word , I As Word , I_d As Byte
Start Adc
'analisasi Port
'==================================
C Alias Portd.3
'Star Awal Program
'==================================
Cls
Locate 1 , 4
Lcd "ALARM KEBAKARAN"
Locate 3 , 1
Lcd " Suhu & Sensor Asap"
Locate 4 , 1
Lcd " AVR ATmega16"
Wait 1
Cls
Waitms 500
'Mulai Program
'===================================
Do
'Baca Sensor Suhu
'===================================
Locate 1 , 1
Lcd "MONITORING SUHU"
A = Getadc(0)
Volt = A * 5
Volt_d = Volt Mod 10
Volt = Volt / 20
Locate 2 , 1
Lcd Volt ; "," ; Volt_d
Locate 2 , 6
Lcd Chr(0) ; "C"
'Baca Sensor Asap
'==================================
Locate 3 , 1
Lcd "MONITORING ASAP"
Z = Getadc(1)
I = Z * 10
I_d = I Mod 10
I = I / 20
Locate 4 , 1
Lcd I ; "," ; I_d
Locate 4 , 6
Lcd Chr(1) ; "ppm"
'Bagian Suhu Normal
'==================================
Normal:
If Volt < 31 Then
If Volt > 19 Then
Locate 2 , 9
Lcd "SUHU NORMAL "
C = 1
End If
End If
'Bagian Suhu Dingin
'===================================
Dingin:
If Volt < 19 Then
Locate 2 , 8
Lcd " SUHU DINGIN "
C = 1
End If
'Bagian Suhu Siaga
'===================================
Siaga:
If Volt > 30 Then
If Volt < 41 Then
Locate 2 , 9
Lcd "SUHU SIAGA1"
C = 1
End If
End If
If Volt > 40 Then
If Volt < 51 Then
Locate 2 , 9
Lcd "SUHU SIAGA2"
C = 1
End If
End If
If Volt > 50 Then
If Volt < 61
Then Locate 2 , 9
Lcd "SUHU SIAGA3"
C = 1
End If
End If
'Bagian Suhu Bahaya
'===================================
Bahaya:
If Volt > 60 Then
Locate 2 , 9
Lcd "KEBAKARAN "
C = 0
End If
Loop
Skema Rangkaian Menggunakan Proteus 7.7 SP2
Untuk pertanyaan dan kelengkapannya Klick Disini
Inbox ajah
Monitoring SUHU dan Detector Smoke menggunakan ATmega16 Dengan Bahasa Basic (Bascom AVR)
00.15
1 comment
1 komentar:
Gan mohon penjelasannya krn sy belum mengerti ttg hal di bawah ini:
(Deflcdchar 0 , 14 , 10 , 14 , 32 , 32 , 32 , 32 , 32)
( Volt = A * 5
Volt_d = Volt Mod 10
Volt = Volt / 20...........kenapa dikali 5 dan hasilnya dibagi 20 kemudian Mod 10 apa itu gan?)
trus yg sensor asap juga pertanyaannya sama, maslah rumus. mohon penjelasannya.
(I = Z * 10
I_d = I Mod 10
I = I / 20)
Makasih banyak sebelumnya gan.........
Posting Komentar