PERANCANGAN INKUBATOR MENGGUNAKAN SENSOR
HSM-20G BERBASIS MIKROKONTROLER ATMEGA 8535
TUGAS AKHIR
ARRY LAMBOK H
082408029
PROGRAM STUDI D3 FISIKA INSTRUMENTASI
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
PERANCANGAN INKUBATOR MENGGUNAKAN SENSOR
HSM-20G BERBASIS MIKROKONTROLER ATMEGA 8535
TUGAS AKHIR
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Ahli Madya
ARRY LAMBOK H
082408029
PROGRAM STUDI D3 FISIKA INSTRUMENTASI
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : PERANCANGAN INKUBATOR MENGGUNAKAN
SENSOR HSM-20G BERBASIS MIKROKONTROLER
ATMEGA 8535
Kategori : TUGAS AKHIR
Nama : ARRYLAMBOK H
No Induk Mahasiswa : 082408029
Program Studi : DIPLOMA III (D3) FISIKA INSTRUMENTASI
Departemen : FISIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA
UTARA
Diluluskan di
Medan, 02 Juli 2011
Disetujui oleh :
Ketua Program Studi D-3 Pembimbing
Fisika Instrumentasi
Dr. Susilawati, M.Si. Dr. Marhaposan Situmorang
PERNYATAAN
PERANCANGAN INKUBATOR MENGGUNAKAN SENSOR
HSM-20G BERBASIS MIKROKONTROLER ATMEGA 8535
TUGAS AKHIR
Saya mengakui bahwa Tugas Akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing – masing disebutkan sumbernya.
Medan, 02 Juli 2011
( ARRY LAMBOK H) 082408029
ABSTRAK
Pada Tugas Akhir ini penulis membahas masalah yang berjudul “Perancangan
Inkubator Menggunakan Sensor HSM-20G Berbasis Mikrokontroler ATMega 8535”. Alat ini berfungsi menjaga suhu dan kelembaban yang berada di dalamnya agar sesuai dengan yang kita inginkan. Dalam hal ini digunakan suhu ruang inkubator sebagai objek yang diatur. Simulasi inkubator ini menggunakan Mikrokontroler ATMega 8535, sensor suhu dan kelembaban HSM-20G, PSA, Trafo, Relay, LCD, Heater dan Kipas. Mikrokontroler ATMega 8535 mempunyai input berbentuk sensor suhu dan kelembaban, sensor ini akan mendeteksi suhu dan kelembaban yang berada dalam Inkubtor dan menampilkannya pada LCD. Inkubator menggunakan sebuah heater yang berfungsi sebagai pemanas dengan cara kerja mengeluarkan panas yang berlebih pada Inkubator dan menggunakan 8 buah tombol setting yang berfungsi sebagai pengatur suhu,pengatur jam, pengatur menit, dan pengaturan kelembaban sehingga Inkubator akan bekerja secara otomatis.
DAFTAR ISI
1.3. Tujuan Penulisan ... 2
1.4. Batasan Masalah ... 2
1.5. Sistematika Penulisan ... 3
Bab 2 Landasan Teori 2.1. Sensor Suhu dan kelembaban HSM-20G ... 4
2.2. Mikrokontroler ATMega 8535... 5
2.2.1. Fitur ATMega 8535 ... 6
2.2.2. Konfigurasi ATMega 8535 ... 7
2.2.3. Peta Memori ... 11
2.2.4. Status Register (SREG)... 11
2.2.5. Program Code-Vision AVR ... 15
2.2.6. Perancangan Rangkaian LCD (Liquid Crystal Display)...16
Bab 3 Rancangan Sistem 3.1. Diagram Blok Sistem ... 18
3.2. Rangkaian Sistem Minimum Mikrokontroler ATMega 8535 ... 19
3.3. Rangkaian Power Supply... 20
3.4. Rangkaian Driver Kipas ... 21
3.5. Perancangan Sensor Suhu HSM-20G... 22
3.6. Relay... 23
3.7. Pengaplikasian LCD ... 24
3.9. Flowchart Program ... 24
Bab 4 Pengujian Rangkaian 4.1. Pengujian Sensor HSM-20G... 26
4.2. Pengujian Sistem Minimum ATMega 8535 ... 26
4.3. Pengujian Rangkaian Driver Kipas ... 26
4.4. Pengujian LCD... 26
4.6. Pengujian Rangkaian secara keseluruhan ... 27
4.7. Program Code-Vision AVR... 28
Bab 5 Kesimpulan dan Saran 5.1 Kesimpulan ... 41
5.2 Saran... 41
Daftar Pustaka ... 42
DAFTAR GAMBAR
Gambar2.1. HSM-20G Sensor Suhu dan Kelembaban... 4
Gambar2.2. Pin ATMega 8535 ... 7
Gambar2.3. Status Register ATMega 8535 ... 11
Gambar2.4. Form pembuatan program micro chip (CodeVisionAVR) ... 15
Gambar2.5. Rangkaian LCD...16
Gambar3.1. Diagram Blok Sistem...17
Gambar3.2. Rangkaian Skematik Sistem Minimum...18
Gambar3.3. Rangkaian Skematik Power Supply...19
Gambar3.4. Rangkaian Relay Pengendali Kipas... 20
Gambar3.5. Rangkaian skematik konektor yang dihubungkan dari LCD ke konektor.. 23
DAFTAR TABEL
ABSTRAK
Pada Tugas Akhir ini penulis membahas masalah yang berjudul “Perancangan
Inkubator Menggunakan Sensor HSM-20G Berbasis Mikrokontroler ATMega 8535”. Alat ini berfungsi menjaga suhu dan kelembaban yang berada di dalamnya agar sesuai dengan yang kita inginkan. Dalam hal ini digunakan suhu ruang inkubator sebagai objek yang diatur. Simulasi inkubator ini menggunakan Mikrokontroler ATMega 8535, sensor suhu dan kelembaban HSM-20G, PSA, Trafo, Relay, LCD, Heater dan Kipas. Mikrokontroler ATMega 8535 mempunyai input berbentuk sensor suhu dan kelembaban, sensor ini akan mendeteksi suhu dan kelembaban yang berada dalam Inkubtor dan menampilkannya pada LCD. Inkubator menggunakan sebuah heater yang berfungsi sebagai pemanas dengan cara kerja mengeluarkan panas yang berlebih pada Inkubator dan menggunakan 8 buah tombol setting yang berfungsi sebagai pengatur suhu,pengatur jam, pengatur menit, dan pengaturan kelembaban sehingga Inkubator akan bekerja secara otomatis.
BAB 1
PENDAHULUAN
1.1. Latar belakang
Berbagai jenis teknologi telah banyak diciptakan oleh manusia untuk dapat
mempermudah manusia dalam melakukan pekerjaannya. Sebagai salah satu teknologi
yang berkembang ialah teknologi di bidang pengukuran suhu dan kelembaban. Alat
pengukur suhu dan kelembaban sangat banyak diperlukan dalam hal-hal tertentu.
Contohnya,pada suatu gudang penyimpanan sangat penting diperhatikan suhu dan
kelembaban dari ruangan gudang tersebut untuk menyimpan barang dengan baik, pada
ruang server komputer juga dibutuhkan suhu tertentu agar server tetap dapat bekerja
dengan baik, begitu juga pada inkubator ini, suhu dan kelembabannya harus diperhatikan
dan masih banyak lagi aplikasi lainnya.
Berangkat dari hal tersebut penulis ingin membuat inkubator ini dengan
pengaturan suhu dan kelembaban dengan menggunakan mikrokontroller ATMega 853
sebagai pusat kendalinya, sensor HSM-20G sebagai sensor suhu dan kelembaban ,LCD
sebagai penampilnya, PSA, Trafo, Relay, Heater dan Kipas. Hasil menunjukkkan
Mikrokontroler ATMega 8535 mempunyai input berbentuk sensor suhu, sensor ini akan
mendeteksi suhu dan kelembaban yang berada dalam Inkubtor dan menampilkannya pada
LCD. Inkubator menggunakan sebuah heater yang berfungsi sebagai pemanas dengan
cara kerja mengeluarkan panas yang berlebih pada Inkubator dan menggunakan 8 buah
lampu yang berfungsi sebagai pengatur suhu,pengatur jam, pengatur menit, dan
pengaturan kelembaban sehingga Inkubator akan bekerja secara otomatis.
Alat ini bekerja secara otomatis dengan merespon berapa besar suhu dan
kelembaban yang dideteksi oleh sensor suhu dan kelembaban, Mikrokontroler
kemudianmemproses suhu dan kelembaban tersebut dan memberikan output yang telah
1.2. Rumusan Masalah
Laporan proyek ini membahas tentang perangkat keras yang meliputi perakitan
inkubator yang terdiri dari sensor suhu dan kelembaban HSM-20G, Mikrokontroler
ATMega 8535 sebagai pusat kendalinya beserta software pemrogramannnya, LCD
sebagai tampilannya, Relay, Heater, Trafo, PSA dan Kipas.
1.3. Tujuan Penulisan
Adapun tujuan penulisan laporan proyek ini adalah untuk:
1. Sebagai salah satu syarat untuk dapat menyelesaikan program Diploma Tiga
(D-III) Fisika Instrumentasi FMIPA Universitas Sumatera Utara.
2. Pengembangan kreatifitas mahasiswa dalam bidang ilmu instrumentasi
pengontrolan dan elektronika sebagai bidang diketahui.
3. Merancang suatu alat pengukuran suhu dan kelembaban pada inkubator untuk
Kemudian ditampilkan pada LCD dengan menggunakan
Mikrokontroler ATMega 8535.
4. Mengetahui cara kerja sensor HSM-20G berbasis Mikrokontroler AtMega 8535.
5. Penulis ingin memberikan penjelasan tentang penggunaan dan cara
kerja Inkubator Menggunakan sensor HSM-20G Berbasis
1.4. Batasan Masalah
Mengacu pada hal diatas Penulis Merancang Inkubator Memakai HSM-20G Berbasis
Mikrokontroler ATMega 8535, dengan batasan-batasan sebagai berikut :
1. Pembahasan mikrokontroler Atmega 8535.
2. Sensor yang digunakan adalah HSM-20G sebagai sensor suhu dan kelembaban.
3. Pembahasan hanya meliputi rangkaian Mikrokontroler ATMega 8535,
HSM-20G, beserta programnya.
4. Pembahasan hanya sebatas pemrograman mikrokontroler dan interfacing
untuk pemrograman dari komputer ke mikrokontroler tidak dibahas.
5. Pengujian alat tidak dilakukan pada kondisi yang ekstrim (mis: lemari
Pendingin, tungku pemanas, dll).
1.5. Sistematika Penulisan
BAB I : PENDAHULUAN
Dalam hal ini berisikan mengenai latar belakang,rumusan
Masalah, tujuan penulisan, batasan masalah, serta sistematika
penulisan.
BAB II : LANDASAN TEORI
Dalam bab ini dijelaskan tentang teori pendukung yang digunakan
untuk pembahasan dan cara kerja dari rangkaian teori pendukung
itu antara lain tentang Mikrokontroler Atmega 8535, HSM-20G ,
bahasa program yang dipergunakan, serta cara kerja dari
BAB III : RANCANGAN SISTEM
Pada bab ini akan dibahas perancangan dari alat , yaitu blok dari
rangkaian, skematik dari masing-masing rangkaian dan diagram
alir dari program yang diisikan ke Mikrokontroler
ATMega 8535.
BAB IV : PENGUJIAN RANGKAIAN
Pada bab ini akan dibahas pengujian rangkaian dan hasil
pengujian dari Masing – masing pada rangkaian serta di isikan
program ke mikrokontroler ATMega 8535.
BAB V : KESIMPULAN DAN SARAN
Bab ini merupakan penutup yang meliputi tentang kesimpulan
dari pembahasan yang dilakukan dari tugas akhir ini serta saran
apakah rangkaian ini dapat dibuat lebih efisien dan dikembangkan
perakitannya pada suatu metode lain yang mempunyai system
BAB II
LANDASAN TEORI
2.1. Sensor Suhu dan Kelembaban HSM-20G
Sensor HSM-20G adalah sensor pengukur kelembaban dan temperatur. Dimana
wujud darihumidity tersebut seperti gambar dibawah ini
Gambar 2.1. Sensor HSM-20G
Sensor humidity HSM-20G dimana kelembaban relatif bisa di konversi ke tegangan
keluaran yang standart. Macam- macam dari jenis aplikasi yang dapat digunakan oleh
sensor ini adalah lembab,dan sangat lembab, untuk AC,data loggers kelembaban,
automotive climate control, dll.
Grafik 1. Kurva Respon HSM-20G Pada 25°C
Pada grafik 1 diatas dapat terlihat jelas bagaimana hubungan antara nilai
kelembaban dan tegangan keluaran yang membentuk garis linier karena kelembaban
berbanding lurus dengan tegangan keluaran. Pada table 1 diatas dapat dilihat range atau
batas untuk nilai kelembaban pada sensor ini sebagaimana terlihat bahwa nilai tengan
keluaran berbanding lurus dengan persentase kelembaban. Nilai yang tertera diatas bahwa
nilai batas kelembaban maksimum 90%RH dan batas minimum 10%RH dengan tegangan
0.74volt dan maksimal 3.19 volt.
2.2. Mikrokontroler ATMega 8535
Mikrokontroler merupakan sebuah single chip yang didalamya telah dilengkapi
dengan CPU (Central Prosessing Unit); RAM ( RandomAcces Memory); ROM ( Read
only Memory), Input, dan Output, Timer\ Counter, Serial com port secara spesifik
digunakan untuk aplikasi –aplikasi control dan buka aplikasi serbaguna. Mikrokontroler
umumnya bekerja pada frekuensi 4MHZ-40MHZ. Perangkat ini sering digunakan untuk
kebutuhan kontrol tertentu seperti pada sebuah penggerak motor. Read only Memory
(ROM) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dengan
keperluannya, sesuai dengan susunan MCS-51. Memory penyimpanan program
dinamakan sebagai memory program.Random Acces Memory (RAM) isinya akan begitu
sirna IC kehilangan catudaya dipakai untuk menyimpan data pada saat program bekerja.
Mikrokontroler biasanya dilengkapi dengan UART (Universal Asychoronous
Receiver Transmitter) yaitu port serial komunikasi serial asinkron, USART (Universal
Asychoronous\Asy choronous Receiver Transmitter) yaitu port yang digunakan untuk
komunikasi serial asinkron dan asinkron yang kecepatannya 16 kali lebih cepat dari Uart,
SPI ( Serial Port Interface), SCI ( Serial Communication Interface ), Bus RC (
Intergrated circuit Bus ) merupakan 2 jalur yang terdapat 8 bit, CAN ( Control Area
Network ) merupakan standard pengkabelan SAE (Society of Automatic Enggineers).
Pada system computer perbandingan RAM dan ROM-nya besar, artinya
program-program pengguna disimpan dalam ruang RAM yang relatif besar,sedangkan rutin-rutin
antar muka pernagkat keras disimpan dalm ruang ROM yang kecil. Sedangkan pada
mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program control
disimpan dalam ROM yang ukurannya relative lebih besar, sedangkan RAM digunakan
sebagai tempat penyimpanan sedrhana sementara, termasuk register-register yang
digunakan pada Microctroller yang bersangkutan.
Mikrokontroler saat ini sudah dikenal dan digunakan secar luas pada dunia
industri. Banyak sekali penelitian atau proyek mahasiswa yang menggunakan berbagai
versi mikrokontroler yang dapat dibeli dengan harga yang relative murah. Hal ini
dikarenakan produksi misal yang dilakukan oleh para produse chip seperti Atmel, Maxim,
dan Microchip. Mikrokontroler saat ini merupakan chip utama pada hampir setiap
peralatan elektronika canggih. Alat-alat canggih pun sekarang ini sangat bergantung pada
kemampuan mikrokontroler tersebut. Mikrikontroler AVR memilki arsitektur RISC 8 bit,
dimana semua instruksi dikemas dalam kode 16-bit (16-bit word) dan sebagian besar
instruksi dieksekusi dalam satu siklus clock, berbeda dengan instruksi CS51 yang
membutuhkan siklus 12 clock. Tentu saja itu terjadi karena kedua jenis mikrokontroler
tersebut memiliki arsitektur yang berbeda. AVRberteknologi RISC (Reduce Instruction
Set Computing), sedangkan seri MCS51 berteknologi CISC (Complex Instruction Set
Computing). Secara umum, AVR dapatdikelompokkan menjadi 4 kelas, yaitu keluarga
AT90Sxx, keluarga ATmega, dan AT86RFxx. Pada dasarnya, yang membedakan
masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsiektur dan instruksi
2.2.1. Fitur ATMega 8535
Kapabilitas detail dari ATMega8535 adalah sebagai berikut :
1. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16MHz.
2. Kapabilitas memori flash 8 KB, SRAM sebesar 512 byte , dan EEPROM
(Electrically Erasable Programmable Read Only Memory) sebesar 512 byte.
3. ADC internal dengan fidelitas 10 bit sebanyak 8 channel.
4. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps.
5. Enam pilihan mode sleep menghemat penggunaan daya listrik.
2.2.2. Konfigurasi ATMega 8535
Konfigurasi pin ATMega 8535 bisa dilihat pada gambar 2.3. di bawah ini. Dari
gambar tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMega 8535 sebagai
berikut:
1. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya.
2. GND merupakan pin ground.
3. Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC.
4. Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus , yaitu
Timer/Counter, komparator analog, dan SPI.
5. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu
TWI, komparator analog, dan Timer Oscilat.
6. Port D (PD0.. PD7 merupakan pin I/O dua arah dan fungsi khusus, yaitu
komparator analog, interupsi eksternal, komunikasi serial.
7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.
8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.
9. AVCC merupakan pin masukan tegangan untuk ADC.
Gambar 2.2.Pin ATMega 8535
Berikut adalah penjelasan fungsi tiap kaki.
1. PORT A
Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up
resistor ( dapat diatur per bit). Output buffer Port A dapat memberi arus 20 mA dan dapat
mengendalikan display LED secara langsung. Data Direction Register port A (DDRA)
harus disetting terlebih dahulu sebelum port A digunakan. Bit-bit DDRA diisi 0 jika ingin
memfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai
output. Selain itu, kedelapan pin port A juga digunakan untuk masukan sinyal analog bagi
A/D coverter.
2. PORT B
Merupakan 8 bit directional port I/O. setiap pinnya dapat menyediakan internal pull-up
resistor ( dapat diatur per bit). Output buffer Port B dapat memberi arus 20 mA dan dapat
mengendalikan display LED secara langsung. Data Direction Register port B (DDRB)
harus disetting terlebih dahulu sebelum port B digunakan. Bit-bit DDRB diisi 0 jika ingin
memfungsikan pin-pin port B yang bersesuaian sebagai input, atau diisi 1 jika sebagai
output. Pin-pin port B juga memiliki untuk fungsi\fungsi alternatif khusus seperti yang
Tabel 2.1. Konfigurasi Pin Port B ATMega 8535
PORT PIN FUNGSI KHUSUS
PB0 T0 = timer/ counter 0 external counterinput
PB1 T1 = timer/counter 0 external counter input
PB2 AINO = analog comparator positive input
PB3 AINI =analog comparator negative input
PB4 SS = SPI slave select input
PB5 MOSI = SPI bus master output/slave input
PB6 MISO = SPI bus master input/slave output
PB7 SCK = SPI bus serial clock
3. PORT C
Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up
resistor ( dapat diatur per bit). Output buffer Port C dapat memberi arus 20 mA dan dapat
mengendalikan display LED secara langsung. Data Direction Register port C (DDRC)
harus disetting terlebih dahulu sebelum port C digunakan. Bit-bit DDRC diisi 0 jika ingin
memfungsikan pin-pin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai
output. Selain itu, DUA pin port C (PC6 dan PC7) juga memiliki fungsi alternatif sebagai
oscilator untuk timer/counter 2.
4. PORT D
Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up
resistor ( dapat diatur per bit). Output buffer Port D dapat memberi arus 20 mA dan dapat
mengendalikan display LED secara langsung. Data Direction Register port D (DDRD)
harus disetting terlebih dahulu sebelum port D digunakan. Bit-bit DDRD diisi 0 jika ingin
memfungsikan pin-pin port D yang bersesuaian sebagai input, atau diisi 1 jika sebagai
Tabel 2.2.Konfigurasi Pin Port D ATmega8535
Port Pin Fungsi Khusus
PD0 RDX (UART input line)
PD1 TDX (UART output line)
PD2 INT0 ( external interrupt 0 input )
PD3 INT1 ( external interrupt 1 input )
PD4 OC1B (Timer/Counter1 output compareB match output)
PD5 OC1A (Timer/Counter1 output compareA match
output)
PD6 ICP (Timer/Counter1 input capture pin)
PD7 OC2 (Timer/Counter2 output compare match output)
5. RESET
RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low
selama minimal 2 machine cycle maka system akan di-reset.
6. XTAL1
XTAL1 adalah masukan ke inverting oscilator amplifier dan input ke internal clock
operating circuit.
7. XTAL2
XTAL2 adalah output dari inverting oscilator amplifier.
8. Avcc
Avcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara eksternal
terhubung ke Vcc melalui lowpass filter.
9. AREF
AREF adalah kaki masukan referensi bagi A/D Converter. Untuk operasional ADC, suatu
level tegangan antara AGND dan Avcc harus diberikan ka kaki ini.
10. AGND
AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board
2.2.3. Peta Memori
AVR ATMega8535 memiliki ruang pengalamatan memori data dan memori
program yang terpisah. Memori data terbagi menjadi 3 bagian, yaitu 32 buah register
umum, 64 buah register I/O, dan 512 byte SRAM Internal. Register keperluan umum
menempati space data pada alamat terbawah, yaitu $00 sampai $1F. Sementara itu,
register khusus untuk menangani I/O dan control terhadap mikrokontroler menempati 64
alamat berikutnya, yaitu mulai dari $20 hingga $5F. Register tersebut merupakan register
yang khusus digunakan mengatur fungsi terhadap berbagai peripheral mikrokontroler,
seperti contoh register, timer/counter, fungsi-fungsi I/O, dan sebagainya. Register khusus
alamat memori secara lengkap dapat dilihat tabel ini. Alamat memori berikutnya
digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan $25F.
Konfigurasi memori dapat kita ketahui dimana, memori program yang terletak dalam
flash PEROM tersususn dalam word atau 2 byte karena setiap instruksi memiliki lebar
16-bit atau 32-bit, AVR ATMega8535 memiliki KByte 12-bit program Counter (PC)
sehingga mampu mengalamati isi flash. Selain itu AVR ATMega8535 juga memiliki
memori data berupa EEPROM 8-bit sebanyak 512 byte. Alamat EEPROM dimulai dari
$000sampai $1FF. Dibawah ini adalah gambar memori program AVR ATMega8535.
2.2.4. Status register (SREG)
Status register adalah register berisi status yang dihasilkan pada setiap operasi
yang dilakukan, ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU
mikrokontroler.
4. Bit 7-I: Global Interrupt Enable
Bit harus diset untuk meng-enable interupsi. Setelah itu, dapat kita aktifkan
interupsi mana yang akan digunakan dengan cara meng-enable bit kontrol register yang
bersangkutan secara individu. Bit akan di-clear apabila terjadi suatu interupsi yang dipicu
oleh hardware, dan bit tidak akan mengizinkan terjadinya interupsi, serta akan diset
kembali oleh instruksi RETI.
5. Bit 6-T:Bit Copy Storage
Instruksi BLD dan BST menggunakan bit-T sebagai sumber atau tujuan dalam operasi
Bit-S merupakan hasil operasi EOR antara flag-N (negative) dan flag V (komplemen dua
overflow).
8. Bit 3-V: Two’s Complement Overflow Flag
Bit berguna untuk mendukung operasi aritmatika.
9. Bit 2-N: Negative Flag
Apabila suatu operasi menghasilkan bilangan negatif, maka flag-N akan diset.
10.Bit 1-Z: Zero Flag
Bit akan diset bila hasil operasi yang diperoleh adalah nol.
11.Bit 0-C: Carry Flag
Apabila suatu operasi menghasilkan carry, maka bit akan diset.
Port I/O pada mikrokontroller ATmega8535 dapat difungsikan sebagai input dan
juga sebagai output dengan keluaran high atau low.Untuk mengatur fungsi portI/O
sebagai input ataupun output, perlu dilakukan setting pada DDR dan port. Logika port I/O
dapat diubah-ubah dalam program secara byte atau hanya bit tertentu. Mengubah sebuah
keluaran bit I/O dapat dilakukan menggunakan perintah cbi (clear bit I/O)untuk
menghasilkan output low atau perintah sbi (set bit I/O)untukmenghasilkan output high.
register bantu. I/O merupakan bagian yang paling menarik dan penting untuk diamati
karena I/O merupakan bagian yang bersangkutan dengan komunikasi mikrokontroller
dengan dunia luar. Selain port I/O, bagian ini juga menyediakan informasi mengenai
berbagai peripheral mikrokontroller yang lain, seperti ADC, EEPROM, UART, dan
Timer.
Komponen-komponen yang tercakup dalam workspace I/O meliputi berbagai
register berikut :
1. AD_CONVERTER; register: ADMUX, ADCSR, ADCH, ADCL
2. ANALOG_COMPARATOR; register: ACSR
3. CPU; register: SREG, SPH, SPL, MCUCR, MCUCSR, OSCCAL, SFIOR,
SPMCR.
4. EEPROM; register: EEARH, EEARL, EEDR, EECR
5. External_Interrupt; register: GICR, GIFR, MCUCR, MCUCSR
6. PORTA; register: PORTA, DDRA, dan PINA
7. PORTB; register: PORTB, DDRB, dan PINB
8. PORTC; register: PORTC, DDRC, dan PINC
9. PORTD; register: PORTD,DDRD, dan PIND
10.SPI; register: SPDR, SPSR, SPCR
11.TIMER_COUNTER_0; register: TCCR0, TCNT0, OCR0, TIMSK, TIFR,
SFIOR
12.TIMER _COUNTER_1; register: TIMSK, TIFR, TCCR1A, TCCR1B,
TCNT1H, TCNT1L, OCR1AH, OCR1AL, OCR1BL, ICR1H, 1CR1L
13.TIMER_COUNTER_2; register: TIMSK, TIFR, TCRR2, TCNT2, OCR2,
ASSR, SFIOR
14.TWI; register: TWBR, TWCR, TWSR, TWDR, TWAR
15.USART; register: UDR, UCSRA, UCSRB, UCSRC, UBRRH, UBRRL
Adapun komponen-komponen yang dapat diamati melalui I/O pada workspace
sebagai berikut :
1. Isi register
- R0 sampai dengan R15
- R16 sampai dengan R13
2. Processor
Adapun Instruksi I/O adalah sebagai berikut :
1. in; membaca data I/O Port atau internal peripheral register {Timers, UART, ke dalam
register}
2. Out; menulis data sebuah register ke I/O Port atau internal peripheral register.
3. Idi (load immediate); untuk menulis konstanta ke register sebelum konstanta itu
dituliskan ke I/O port.
4. Sbi (set bit in I/O); untuk membuat logika high satu bit I/O register.
5. Cbi ( clear bit in I/O); untuk membuat logika low satu bit I/O register.
6. Sbic (skip if bit in I/O is cleared); untuk mengecek apakah bit I/O register clear.Jika ya,
skip satu perintah dibawahnya.
7. Sbis (skip if bit in I/O is set); untuk mengecek apakah bit I/O register set. Jika ya, skip
satu perintah dibawahnya. Data yang dipakai dalam mikrokontroller ATmega8535
dipresentasikan dalam sistem bilangan biner, desimal, dan bilangan heksadesimal. Data
yang terdapat di mikrokontroller dapat diolah dengan berbagai operasi aritmatik
AVR ATmega8535 memiliki tiga buah timer, yaitu:
1. Timer/counter 0 (8 bit)
2. Timer/ counter 1 (16 bit)
3. Timer/counter 2 (8 bit)
Karena ATmega8535 memiliki 8 saluran ADC maka untuk keperluan konversi sinyal
analog menjadi data digital yang berasal dari sensor dapat langsung dilakukan prosesor
utama. Beberapa karakteristik ADC internal ATmega8535 adalah
1. Mudah dalam pengoperasian.
2. Resolusi 10 bit.
3. Memiliki 8 masukan analog.
4. Konversi pada saat CPU sleep.
5. Interrupt waktu konversi selesai.
2.2.5. Program Code-Vision AVR
Untuk mengaktifkan micro sistem akuisisi data, penerima sinyal control dan
sistem transmisi data maka terlebih dahulu mikrokontroller tersebut diberi program
dengan cara mendownload program yang terlebih dahulu kita buat dengan bahasa C pada
CodeVisionAVR.
Software CodeVision AVR merupakan C Compiler untuk mikrokontroler AVR. Pada
CodeVision telah disediakan editor yang berfungsi untuk membuat program dalam bahasa
C, setela melakukan proses kompilasi kita dapat mengisikan program yang telah dibuat ke
dalam memory pada mikrokontroler menggunakan programmer yang telah disediakan
oleh CodeVision AVR. Programmer yang didukung oleh CodeVision Programmer Cable
dapat diintegrasik dengan CodeVision AVR, terlebih dahulu harus dilakukan konfigurasi
sebagai berikut:
-Jalankan Software CodeVision AVR. -Pilih menu Setting . Programmer.
-Pilih tipe programmer
-Lalu klik tombol OK.
Catatan: Proses ini hanya dapat dilakukan pada saat ada project yang telah dibuat atau
dibuka. Tekan Shift+F9, download ke target board dengan cara klik pada tombol
Program.
2.2.6. Perancangan Rangkaian LCD (Liquid Crystal Display)
Pada alat ini, display yang digunakan adalah LCD (Liquid Crystal Display) 16x2.
Untuk blok ini tidak ada komponen tambahan karena mikrokontroler dapat memberi data
langsung ke LCD, pada LCD Hitachi - M1632 sudah terdapat driver untuk mengubah
data ASCII output mikrokontroler menjadi tampilan karakter. Pemasangan potensio
Gambar 2.5. Rangkaian LCD
Rangkaian ini terhubung ke PB.0 .... PB.7, yang merupakan pin I/O dua arah dan
pin fungsi khusus, yaitu sebagai Timer/Counter, komperator analog dan SPI mempunyai
fungsi khusus sebagai pengiriman data secara serial. Sehingga nilai yang akan tampil
T_
RH
Setting
T/RH
Jam
Setting Jam
LCD
Relay
Relay
Relay
Buzzer
Heater 1
Heater 2
Kipas
Mikro
Kontroller
BAB 3
RANCANGAN SISTEM
3.1.Diagram Blok Sistem
3.2.Rangkaian Sistem Minimum Mikrokontroler ATMega 8535
Gambar 3.2. Rangkaian Skematik Sistem Minimum Mikrokontroler ATMega 8535
Rangkaian skematik dan layout PCB sistem minimum Mikrokontroler ATMega 8535
dapat dilihat pada gambar di atas. Pin 12 dan 13 dihubungkan ke XTAL 8 MHz dan dua
buah kapasitor 30 pF. XTAL ini akan mempengaruhi kecepatan mikrokontroler
ATMega8535 dalam mengeksekusi setiap perintah dalam program. Pin 9 merupakan
masukan reset (aktif rendah). Pulsa transisi dari tinggi ke rendah akan me-reset
Vreg
sebagai konektor yang akan dihubungkan ke ISP Programmer. Dari ISP Programmer
inilah dihubungkan ke komputer melalui port paralel. Kaki Mosi, Miso, Sck, Reset, Vcc
dan Gnd pada mikrokontroler terletak pada kaki 6, 7, 8, 9, 10 dan 11. Apabila terjadi
keterbalikan pemasangan jalur ke ISP Programmer, maka pemograman mikrokontroler
tidak dapat dilakukan karena mikrokontroler tidak akan bisa merespon.
3.3 Rangkaian Power Supply
Rangkaian power supply berfungsi mensupplay arus dan tegangan ke
seluruhrangkaian yang ada. Rangkaian power supply ini terdiri dari dua keluaran, yaitu 5
volt dan 12 volt, keluaran 5 volt digunakan untuk mensupplay tegangan ke seluruh
rangkaian atau dengan kata lain enghidupkan seluruh rangkaian, sedangkan keluaran 12
volt digunakan untuk mensupplay tegangan ke relay .
Gambar 3.3. Rangkaian Skematik Power Supply
Rangkaian skematik power supply dapat dilihat pada gambar 3.3 di atas. Trafo stepdown
yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 volt AC.
Kemudian 12 volt AC akan disearahkan dengan menggunakan dua buah dioda,
selanjutnya 12 volt DC akan diratakan oleh kapasitor 2200 μF. Regulator tegangan 5 volt (LM7805CT) digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi
perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA
dinyalakan. Transistor PNP 7812 disini berfungsi sebagai pembagi tegangan sebesar 12V,
sehingga regulator tegangan(LM7805CT) tidak akan panas ketika rangkaian butuh arus
yang cukup besar.
1.6.Rangkaian Driver Kipas
Untuk mengendalikan kipas tidak dapat langsung dikendalikan mikrokontroler
tetapi terlebih dahulu harus melalui driver. Driver ini pengendali dengan menggunakan
relay, sehingga kipas yang dikendalikan dapat menggunakan arus AC atau DC tanpa
perlu khawatir akan merusak mikrokontroler.
Keluran dari mikrokontroler akan masuk ke basis transistor NPN C945, sehingga
jika keluaran mikrokontroler high maka transistor akan satu rasi, sehingga arus akan
mengalir dari Vcc masuk ke kolektor dan diteruskan ke emitter. Ketika relay bekerja
maka tegangan 12V DC akan disalurkan dan kipas akan menyala.
Transistor C945 dalam keadaan saturasi jika I B(sat) =15 mAmp. Keluaran dari DATA
tegangannya sebesar 5V (High). Maka IB = 4,3 mA sehingga IB IB(sat), dan transistor akan
saturasi ketika data bernilai High dan arus akan mengalir pada kumparan relay, dioda
IN4004 berfungsi menahan tegangan balik dari relay ketika keadaan berubah dari aktif
menuju tidak aktif.
1.7.Perancangan Sensor HSM-20G
Tabel 2.3. Pin sensor humidity
Pada gambar diatas terlihat jelas konfigurasi mulai dari gambar hingga tabel pada sensor
kelembaban dan temperatur ini. Dimana pada setiap kaki tentu mempunyai fungsi yang
berbeda-beda untuk dihubungkan antara satu dengan yang lainnya. Pada sensor ini ada 4
Spesifikasi:
- Input Voltage: DC 5.0 + / - 0.2V
- Voltase Output: 1.0 DC - 3.0V
- Pengukuran akurasi + / - 5% RH
- Operasi maksimum saat ini: 2mA
- Penyimpanan RH mulai 0 sampai 99% RH
- Operasi RH kisaran 20-95% RH (100% RH intermiten)
- Kondensasi Transient <3% RH
- Suhu penyimpanan-20C ke 70C
- Suhu operasi 0C untuk 50C
- histeresis (RH @ 25C) RH Max 2%
- jangka panjang stabilitas (drift khas per tahun) + / - 1,5%
- Linearitas
- Waktu Respon (63% langkah perubahan) 1 min
- Dimensi (L W *) 34mm * 22mm
1.8.Relay
Relay adalah suatu rangkaian switch magnetic yang bekerja bila mendapat catu
dan suatu rangkaian trigger. Relay memiliki tegangan dan arus nominal yang harus
dipenuhi output rangkaian pendriver atau pengemudinya. Arus yang digunakan pada
rangkaian adalah arus DC (Direct Curent).
Relay terdiri dari lilitan kawat (coil) yang dililitkan pada inti besi lunak. Jika
kawat mendapatkan medan magnet dan menarik switch kontak. Switch kontak mengalami
gaya listrik magnet sehingga berpindah posisi kekutub lain atau terlepas dari kutub
asalnya. Keadaan ini aka bertahan selama arus mengalir pada kumparan relay. Dan relay
akan kembali keposisi semula yaitu normaly ON atau normaly OFF, bila tiada arus yang
Dan pemakaian jenis relay tergantung pada keadaan yang diinginkan pada suatu
rangkaian. Menurut kerjanya relay dapat dibedakan menjadi:
1. Normaly open (ON), saklar akan terbuka bila dialiri arus.
2. Normaly close (OFF), saklar akan tertutup bila dialiri arus.
3. Change over (CO), relay ini mempunyai saklar tunggal yang normalnya tertutup
lam, bila kumparan satu dialiri arus maka saklar akan terhubung ke terminal A,
sebaliknya bila kumparan dua dialiri arus maka saklar terhubung ke terminal B.
Relay yang digunakan adalah basis transistor yan.g dialiri oleh arus dari kolektor ke
emitter yang mengakibatkan relay terhubung. Fungsi dioda pada rangkaian adalah untuk
melindungi transistor dari tegangan induksi berlebih dimana tegangan ini dapat merusak
transistor.
Jika transistor pada basis tidak ada arus maju maka transistor terbuka sehingga
arus tidak mengalir dari kolektor ke emiter, relay tidak bekerja karena tidak ada arus yang
mengalir pada gulungan kawat.
3.7.Pengaplikasian LCD
Rangkaian skematik konektor yang dihubungkan dari LCD (liquid crystal display)
ke mikrokontroler dapat dilihat pada gambar dibawah ini.
3.8. Flow chart Program
Penjelasan Flowchart :
- Pertama-tama mikrokontroler menginisialisasi port-port yang akan
digunakan untuk keperluan pembacaan sensor dan port untuk menampilkan
ke LCD.
- Setelah selesai inisilisasi maka sensor HSM-20G sudah dapat mengirimkan data
ke mikrokontroler.
- Data output HSM-20G dari inkubator yang berupa tegangan akan dikirimkan
ke ADC internal yang dimiliki oleh mikrokontroler ATMega 8535.
- Data yang telah diterima mikrokontroler melalui ADC dikonversi menjadi satuan
untuk suhu dan kelembaban.
- Akan dilakukan beberapa syarat yang dilakukan berdasarkan suhu dan
kelembaban yang
diperoleh.
- Hasil yang berupa T dan RH ini akan ditampilkan ke LCD
BAB 4
PENGUJIAN RANGKAIAN
4.1. Pengujian Sensor HSM-20G
Sensor ini bekerja dengan cukup baik, Sensor humidity HSM-20G dapat
mendeteksi suhu dan kelembaban incubator tersebut. Tetapi dalam pengujian ini, sensor
yang ditampilkan pada layar LCD berupa data yang tetap yang telah diatur sebelumnya
dari push buttom, tetapi setelah kita hidupkan, kita masih dapat juga mengubahnya
dengan mengatur push buttom tersebut.
4.2. Pengujian Sistem Minimum ATMega 8535
Karena pemrograman robot menggunakan mode ISP (In System Programming)
mikrokontroler harus dapat diprogram langsung pada papan rangkaian dan rangkaian
mikrokontroler harus dapat dikenali oleh program downloader. Pada pengujian ini
berhasil dilakukan dengan dikenalinya jenis mikrokontroler oleh program downloader
yaitu ATMega8535.
4.3. Pengujian Rangkaian Driver Kipas
Keluran dari mikrokontroler akan masuk ke basis transistor NPN C945, sehingga
jika keluaran mikrokontroler high maka transistor akan satu rasi, sehingga arus akan
mengalir dari Vcc masuk ke kolektor dan diteruskan ke emitter. Ketika relay bekerja dan
kelembaban yang dicek minimal dari pengaturan maka tegangan 12V DC akan disalurkan
4.4. Pengujian LCD
Rangakaian LCD diuji dengan menampilakan karakter dengan perintah seperti
gambar berikut :
Gambar 3.7. Gambar Tampilan LCD pada saat pengujian
Setelah kita mulai dengan menekan tombol 8, maka tampilan LCD akan tertulis: Running,
begitu seterusnya. Jika kita menekan push bottonnya, maka pengaturan yang kita buat
semuanya akan ditampilkan pada layar LCD, dimana LCD tersebutdilengkapi juga
dengan Trimpot 10 k yang berfungsi untuk mengatur kontras pada layar LCD.
Fungsi tombol- tombol setting :
Tombol 1 : untuk pengaturan menit pada LCD.
Tombol 2 : untuk pengaturan jam pada LCD.
Tombol 3 : system off.
Tombol 4 : pengaturan setting kesemua tombol.
Tombol 5 : untuk pengaturan kelembaban pada LCD.
Tombol 6 : untuk pengaturan suhu pada LCD.
4.5. Pengujian Rangkaian Power Supply
Pengujian rangkaian ini dengan mengukur tegangan keluaran dari power supply
menggunakan multimeter digital. Setelah dilakukan pengukuran maka diperoleh besarnya
tegangan keluaran sebesar 5 volt. Setelah itu rangkaian power supply dihubungkan ke
sumber arus listrik dan saklar ON/OFF nya diaktifkan ke posisi ON.
4.6. Pengujian Rangkaian Keseluruhan
Secara elektronis rangkaian telah bekerja dengan baik, output dari mikrokontroler
dapat mengirimkan data ke LCD. Tampilan pada LCD dapat menampilkan suhu dan
kelembaban inkubator yang dikirimkan oleh sensor (dalam hal ini HSM-20G).
Dan pada saat pengujian keseluruhan maka diperoleh data yang ditampilkan LCD sebagai
berikut:
1. Ketika kita hidupkan alat maka pada LCD akan tampil
Start T8 12:33
T : 26.9 RH : 90.9%
2. Kemudian kita tekan tombol 8, maka program akan running ( berjalan).
3. Ditekan tobol 4 dan 6 untuk cek suhu, kemudian akan tampil suhu maksimal
30°C.
Jika suhu lebih dari 30° maka buzzer akan hidup, tetapi sebaliknya. Jika tidak
mencapai suhu tersebut, maka pemanas akan hidup untuk menaikkan suhu sesuai
pengaturan kita.
4. Untuk cek kelembabam, maka kita tekan tombol 4 dan 5. Maka akan tampil
kelembaban minimal 60%. Jika kelembabannya minimal 60% maka buzzer akan
hidup dan kipas juga akan hidup, tetapi jika tidak minimal suhu tersebut, maka
Dalam rangkaian ini, kita juga dapat melakukan beberapa perhitungan sebagai berikut :
Menghitung Volume, Luas, dan Keliling Inkubator tersebut : Dik : P = 30 Cm
Untuk mencari hambatan kita gunakan rumus
Jadi : V = I . R
220 =
R =
=
= 806.66 dibulatkan menjadi 807 Ω
Dimana : P = daya (watt)
V = tegangan (volt)
I = arus (ampere)
R = hambatan (ohm)
Data yang diambil pada saat pengujian
Sebelum pengambilan data, ada beberapa langkah yang dilakukan yaitu :
1. Persiapan bahan dan alat seperti gambar dibawah :
Gambar 3.8. Inkubator dan bahan Tambahan Pengujian
Bahan tambahan yang digunakan dalam pengambilan data adalah thermometer untuk
mengukur suhu, air untuk menaikkan kelembaban, es batu untuk menurunkan suhu, gelas
ukur untuk mengukur massa air, dan stopwatch untuk menghitung waktu dalam
pengukuran suhu.
2. Dihidupkan inkubator, kemudian dimasukkan kedalam inkubator air dengan massa
100 gram, dan juga thermometer analog dimasukkan kedalam inkubator.
3. Kemudian diatur suhu mulai dari 25 sampai dengan 45 .
4. Suhu yang telah diatur kemudian dicatat waktunya dengan menggunakan stopwatch.
5. Dicatat semua hasil yang diperoleh melalui pengujian alat.
Dalam pengambilan data, kita dapat melihat seperti gambar berikut.
Gambar 3.9. Pengambilan Data
Pada pengambilan data dengan suhu 25 digunakan es batu untuk menurunkan suhu,
karena sensor HSM-20 G dan juga thermometer mengukur suhu ruangan yaitu 28 ,
tetapi untuk pengukuran suhu 30 s/d 40 es batu tersebut dikeluarkan dari dalam
inkubator.
Jadi data yang diperoleh dengan menggunakan thermometer adalah sebagai berikut :
Suhu ( Waktu ( s )
25 98
30 210
35 639
40 1650
Perbandingan pengukuran suhu dengan menggunakan sensor HSM-20G dan
Thermometer dapat kita lihat dari table berikut :
Suhu ( Waktu ( s )
HSM-20G Thermometer
25 89 98
30 198 210
35 630 639
40 1638 1650
Tabel 2.5. Perbandingan HSM-20G dengan Thermometer
Analisa Data q = m . c .
Dik: m = 100 gram
Air = 1 kal/ gram
= Suhu Akhir – Suhu awal = 40 25
= 15
Jadi : q = m . c .
= 100 gram x 1 kal/ gram x 15
= 1500 kalori
Dimana : q = jumlah kalor (kal)
c = kalor jenis(kal/ gram )
m = massa air yang digunakan (gram)
Grafik antara suhu dengan waktu
Grafik 2. Suhu dengan Waktu
Grafik antara suhu menggunakan sensor HSM-20G dengan waktu
Grafik 3. Suhu dengan waktu pada sensor HSM-20G
Grafik antara suhu menggunakan thermometer dengan waktu
Grafik 4. Suhu dengan waktu pada thermometer
0 200 400 600 800 1000 1200 1400 1600 1800
0 10 20 30 40 50
w
a
k
tu
(
t
)
suhu ( °C )
Grafik °C vs t
4.7. Program Code-Vision AVR
/*****************************************************
This program was produced by the
CodeWizardAVR V2.03.4 Standard
Automatic Program Generator
© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
#define relay_kipas PORTC.5
unsigned int nilai_adc [4] = {0};
unsigned char idx;
unsigned int eeprom rh_min, t_max;
unsigned int rh_set, t_set;
unsigned int rh_get, t_get;
unsigned char buf[33];
// I2C Bus functions
#asm
.equ __i2c_port=0x15 ;PORTC
.equ __sda_bit=1
.equ __scl_bit=0
#endasm
#include <i2c.h>
// DS1307 Real Time Clock functions
#include <ds1307.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.h>
// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
// External Interrupt 0 service routine
t_max = t_set;
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
// Timer 1 overflow interrupt service routine
interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
// Reinitialize Timer 1 value
TCNT1H=0xF0;
TCNT1L=0x00;
// Place your code here
rtc_get_time(&h, &m, &s);
// Declare your global variables here
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;
// Port C initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=In Func1=In
Func0=In
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=T State1=T State0=T
PORTC=0x00;
DDRC=0xF8;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
DDRD=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 7.200 kHz
// Clock source: System Clock
// Clock value: 7.200 kHz
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: On
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// INT0 Mode: Falling Edge
// INT1: On
// INT1 Mode: Falling Edge
// INT2: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
SFIOR=0x00;
// ADC initialization
// ADC Clock frequency: 57.600 kHz
// ADC Voltage Reference: AVCC pin
// ADC High Speed Mode: Off
// ADC Auto Trigger Source: None
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x87;
SFIOR&=0xEF;
// I2C Bus initialization
i2c_init();
// DS1307 Real Time Clock initialization
// Square wave output on pin SQW/OUT: Off
// SQW/OUT pin state: 0
rtc_init(0,0,0);
// LCD module initialization
lcd_init(16);
// Global enable interrupts
#asm("sei")
relay_kipas = 0;
relay_heater_1 = 0;
relay_heater_2 = 0;
//relay_heater_3 = 0;
while (1)
sprintf(buf,"T:%02u.%01u RH:%02u.%01u%c",t_get/10,t_get%10,
relay_heater_1 = 0;
relay_heater_2 = 0;
}
if (t_get > (t_max+3))
{
buzzer = 1;
delay_ms(100);
buzzer = 0;
delay_ms(250);
}
if (rh_get < rh_min)
{
buzzer = 1;
delay_ms(100);
buzzer = 0;
delay_ms(250);
buzzer = 1;
delay_ms(100);
buzzer = 0;
delay_ms(500);
}
}
BAB 5
KESIMPULAN DAN SARAN
5.1.Kesimpulan
Dari evaluasi hasil kerja alat dapat diambil beberapa kesimpulan dalam tugas
proyek ini.
Kesimpulan yang diambil oleh penulis adalah :
1. Penggunaan mikrokontroler dengan ADC internal dapat menyederhanakan
rangkaian yang di rancang.
2. Sensor ini dapat mendeteksi suhu dari -20 s/d 90 °C.
3. Sensor suhu dan kelembaban HSM-20G cukup baik dalam pengukuran suhu.
4. Perpaduan mikrokontroler ATMega8535 dengan sensor suhu HSM-20G
membuat rangkaian lebih sederhana, karena ADC sudah terintegrasi
langsung di dalam mikrokontroler ATMega 8535.
5. Tampilan LCD membuat alat ini lebih menarik dan teks terbaca cukup
jelas.
5.2.Saran
1. Dengan beberapa pengembangan dan penyempurnaan sistem dari alat ini
akan dapat lebih baik lagi hasilnya.
2. Penggunaan sensor yang lebih bagus sehingga dapat mengukur suhu sampai
batas maksimal yang kita inginkan dalam pengujiannya akan lebih menarik.
DAFTAR PUSTAKA
Andi, Nalwan Paulus. 2004. Panduan Praktis Penggunaan dan Antarmuka Modul
LCD M1632. Jakarta: PT. Elex Media Komputindo.
Bejo, Agus. 2005. C & AVR Rahasia Kemudahan Bahasa C dalam Mikrokontroler
ATMega8535. Edisi Pertama. Yogyakarta: Penerbit Gava Media.
Elektur, 1996. 302 Rangkaian Elektronika. Penerjemah P.Pratomo dkk. Jakarta:
Percetakan PT.Gramedia.
Lingga, W. 2006. Belajar sendiri Pemrograman AVR ATMega8535. Yogyakarta:
Andi Offset.
Sultan Setiawan, 2006. Mudah dan Menyenagkan Belajar Mikrokontroler.