-membuat rangkaian Inkubator menggunakan mikrokontroler ATMega8535 dengan software compiler BASCOM AVR
- Motor DC
- heatter
- Switch
- LCD
- LM35
- Mikrokontroler ATMega8535
- Button
- Crystal
3.1 Pengertian Inkubator
Inkubator bayi adalah alat biomedis yang memberikan kehangatan, kelembaban dan oksigen dimana seluruh lingkungannya terkontrol dan diperlukan oleh bayi yang baru lahir. Akan tetapi tidak semua bayi yang baru lahir memerlukan alat biomedis ini, ada beberapa kriteria bayi yang memerlukan kondisi terkontrol seperti di dalam inkubator ini.
3.2 Prinsip Kerja Inkubator
Inkubator bayi terdiri dari dua bagian yaitu bagian tempat meletakkan bayi dan dibawahnya merupakan bagian tempat meletakkan heatter. Saat inkubator dihidupkan dan bayi dimasukkan ke dalam inkubator, maka sensor suhu yaitu LM35 langsung mendeteksi suhu tubuh bayi. Ketika suhu tubuh bayi dibawah suhu normal (36-370C) heatter aktif dan air pada heatter panas, sehingga uap dari air didalam heatter menghangatkan tubuh bayi dan mencapai suhu normal kembali. Ketika suhu tubuh bayi diatas suhu normal, Kipas angin yang terdapat dalam satu ruangan dengan bayi aktif.
5. Listing Program [kembali] $regfile = "m8535.dat" 'memanggil libarary Atmega 8535
$crystal = 1600000 'menentukan kecepatanvrystal
Config Lcd = 16 * 2 'lcd yang digunakan
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 'deklarasi pin lcd
Config Adc = Single , Prescaler = Auto , Reference = Avcc 'deklarasi ADC
Porta = &B00000000 'keadaan PORTA mati
Portb = &B00000000 'keadaan PORTB mati
Ddrb = &B11111111 'PORTB sebagai output
Ddrd = &B11111111 'PORTD sebagai output
Dim A As Word 'a sebagai variabel
Dim B As Word 'b sebagai variabel
Dim C As Word 'c sebagai variabel
Dim D As Word 'd sebagai variabel
Dim E As Word 'e sebagai variabel
Dim F As Word 'f sebagai variabel
Dim G As Word 'g sebagai variabel
Dim H As Word 'h sebagai variabel
Dim I As Word 'i sebagai variabel
Dim J As Word 'j sebagai variabel
Dim K As Word 'k sebagai variabel
Cursor Off 'cursor lcd off
Cls 'lcd bersih
Do 'fungsi utama
Start Adc 'memulai proses ADC
A = Getadc(0) 'pemanggilan fungsi Adc
B = A * 5 'proses program
C = B / 10 'proses program
D = C 'proses program
Locate 1 , 1 : Lcd "SUHU1" 'kolom 1 baris 1 lcd bertuliskan SUHU1
Waitms 100 'delay 100 ms
Locate 2 , 1 : Lcd D ; " C " 'baris 2 kolom 1 lcd menampilkan harga d
Waitms 100 'delay 100 ms
A = Getadc(1) 'pemanggilan fungsi Adc
B = A * 5 'proses program
C = B / 10 'proses program
E = C 'proses program
Locate 1 , 7 : Lcd "SUHU2" 'kolom 1 baris 7 lcd bertuliskan SUHU2
Waitms 100 'delay 100 ms
Locate 2 , 7 : Lcd E ; " C " 'baris 2 kolom 1 lcd menampilkan harga e
Waitms 100 'delay 100 ms
A = Getadc(2) 'pemanggilan fungsi Adc
B = A * 5 'proses program
C = B / 10 'proses program
F = C 'proses program
Locate 1 , 13 : Lcd "SUHU3" 'kolom 1 baris 13 lcd bertuliskan SUHU3
Waitms 100 'delay 100 ms
Locate 2 , 13 : Lcd F ; " C " 'baris 2 kolom 1 lcd menampilkan harga f
Waitms 100 'delay 100 ms
A = Getadc(3) 'pemanggilan fungsi Adc
B = A * 5 'proses program
C = B / 10 'proses program
G = C 'proses program
Locate 1 , 19 : Lcd "SUHU4" 'kolom 1 baris 19 lcd bertuliskan SUHU4
Waitms 100 'delay 100 ms
Locate 2 , 19 : Lcd G ; " C " 'baris 2 kolom 1 lcd menampilkan harga g
Waitms 100 'delay 100 ms
H = D + E 'proses program
I = H + F 'proses program
J = I + G 'proses program
K = J / 4 'proses program
Locate 1 , 26 : Lcd "AVERAGE" 'kolom 1 baris 26 lcd bertuliskan AVERAGE
Waitms 100 'delay 100 ms
Locate 2 , 26 : Lcd K ; " C " 'baris 2 kolom 1 lcd menampilkan harga k
Waitms 100 'delay 100 ms
If Pina.4 = 1 And K >= 37 Then 'pemilihan kondisi pada pinA dan keadaan yang terjadi
Portb = &B10101010 'keluaran pada PORTB
Waitms 100 'delay 100 ms
Portd = &B100 'keluaran pada PORTD
Waitms 100 'delay 100 ms
Portd = &B000 'keluaran pada PORTD
Waitms 100 'delay 100 ms
Elseif Pina.4 = 1 And K <= 36 Then 'pemilihan kondisi pada pinA dan keadaan yang terjadi
Portb = &B00000000 'keluaran pada PORTB
Waitms 100 'delay 100 ms
Portd = &B111 'keluaran pada PORTD
Waitms 100 'delay 100 ms
Portd = &B011 'keluaran pada PORTD
Waitms 100 'delay 100 ms
Else
Portb = &B00000000 'keluaran pada PORTB
Portd = &B000000000 'keluaran pada PORTD
Waitms 100 'delay 100 ms
End If
Loop
End
$crystal = 1600000 'menentukan kecepatanvrystal
Config Lcd = 16 * 2 'lcd yang digunakan
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 'deklarasi pin lcd
Config Adc = Single , Prescaler = Auto , Reference = Avcc 'deklarasi ADC
Porta = &B00000000 'keadaan PORTA mati
Portb = &B00000000 'keadaan PORTB mati
Ddrb = &B11111111 'PORTB sebagai output
Ddrd = &B11111111 'PORTD sebagai output
Dim A As Word 'a sebagai variabel
Dim B As Word 'b sebagai variabel
Dim C As Word 'c sebagai variabel
Dim D As Word 'd sebagai variabel
Dim E As Word 'e sebagai variabel
Dim F As Word 'f sebagai variabel
Dim G As Word 'g sebagai variabel
Dim H As Word 'h sebagai variabel
Dim I As Word 'i sebagai variabel
Dim J As Word 'j sebagai variabel
Dim K As Word 'k sebagai variabel
Cursor Off 'cursor lcd off
Cls 'lcd bersih
Do 'fungsi utama
Start Adc 'memulai proses ADC
A = Getadc(0) 'pemanggilan fungsi Adc
B = A * 5 'proses program
C = B / 10 'proses program
D = C 'proses program
Locate 1 , 1 : Lcd "SUHU1" 'kolom 1 baris 1 lcd bertuliskan SUHU1
Waitms 100 'delay 100 ms
Locate 2 , 1 : Lcd D ; " C " 'baris 2 kolom 1 lcd menampilkan harga d
Waitms 100 'delay 100 ms
A = Getadc(1) 'pemanggilan fungsi Adc
B = A * 5 'proses program
C = B / 10 'proses program
E = C 'proses program
Locate 1 , 7 : Lcd "SUHU2" 'kolom 1 baris 7 lcd bertuliskan SUHU2
Waitms 100 'delay 100 ms
Locate 2 , 7 : Lcd E ; " C " 'baris 2 kolom 1 lcd menampilkan harga e
Waitms 100 'delay 100 ms
A = Getadc(2) 'pemanggilan fungsi Adc
B = A * 5 'proses program
C = B / 10 'proses program
F = C 'proses program
Locate 1 , 13 : Lcd "SUHU3" 'kolom 1 baris 13 lcd bertuliskan SUHU3
Waitms 100 'delay 100 ms
Locate 2 , 13 : Lcd F ; " C " 'baris 2 kolom 1 lcd menampilkan harga f
Waitms 100 'delay 100 ms
A = Getadc(3) 'pemanggilan fungsi Adc
B = A * 5 'proses program
C = B / 10 'proses program
G = C 'proses program
Locate 1 , 19 : Lcd "SUHU4" 'kolom 1 baris 19 lcd bertuliskan SUHU4
Waitms 100 'delay 100 ms
Locate 2 , 19 : Lcd G ; " C " 'baris 2 kolom 1 lcd menampilkan harga g
Waitms 100 'delay 100 ms
H = D + E 'proses program
I = H + F 'proses program
J = I + G 'proses program
K = J / 4 'proses program
Locate 1 , 26 : Lcd "AVERAGE" 'kolom 1 baris 26 lcd bertuliskan AVERAGE
Waitms 100 'delay 100 ms
Locate 2 , 26 : Lcd K ; " C " 'baris 2 kolom 1 lcd menampilkan harga k
Waitms 100 'delay 100 ms
If Pina.4 = 1 And K >= 37 Then 'pemilihan kondisi pada pinA dan keadaan yang terjadi
Portb = &B10101010 'keluaran pada PORTB
Waitms 100 'delay 100 ms
Portd = &B100 'keluaran pada PORTD
Waitms 100 'delay 100 ms
Portd = &B000 'keluaran pada PORTD
Waitms 100 'delay 100 ms
Elseif Pina.4 = 1 And K <= 36 Then 'pemilihan kondisi pada pinA dan keadaan yang terjadi
Portb = &B00000000 'keluaran pada PORTB
Waitms 100 'delay 100 ms
Portd = &B111 'keluaran pada PORTD
Waitms 100 'delay 100 ms
Portd = &B011 'keluaran pada PORTD
Waitms 100 'delay 100 ms
Else
Portb = &B00000000 'keluaran pada PORTB
Portd = &B000000000 'keluaran pada PORTD
Waitms 100 'delay 100 ms
End If
Loop
End
File simulasi rangkaian =>>DOWNLOAD
File video rangkaian =>>DOWNLOADFile Listing program =>>DOWNLOAD
File HTML =>>DOWNLOAD
Tidak ada komentar:
Posting Komentar