Aplikasi HSM-20G Sebagai Sensor Suhu Pada Penetas Telur Otomatis Berbasis Mikrokontroler ATMEGA 8535

(1)

APLIKASI HSM-20G SEBAGAI SENSOR SUHU PADA

PENETAS TELUR OTOMATIS BERBASIS

MIKROKONTROLER ATMEGA 8535

T U G A S A K H I R

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Ahli Madya

MISSRIANTO

082408035

PROGRAM STUDI D3 FISIKA INSTRUMENTASI

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2011


(2)

PERSETUJUAN

Judul : APLIKASI HSM-20G SEBAGAI SENSOR SUHU PADA

PENETAS TELUR OTOMATIS BERBASIS MIKROKONTROLER ATMEGA8535

Kategori : LAPORAN PROYEK

Nama : MISSRIANTO

No Induk Mahasiswa : 082408035

Program Studi : DIPLOMA III (D3) FISIKA INSTRUMENTASI

Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Juni 2011

Disetujui oleh :

Program Studi Fisika Instrumentasi

Ketua, Pembimbing,

Dr. Susilawati, M.Si. (Drs. Kurnia Brahmana, M.Si ) NIP. 197412072000122001 NIP. 196009201986011001


(3)

PERNYATAAN

APLIKASI HSM-20G SEBAGAI SENSOR SUHU PADA PENETAS TELUR OTOMATIS BERBASIS MIKROKONTROLER ATMEGA8535

TUGAS AKHIR

Saya mengakui bahwa Laporan Tugas Akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya

Medan, 10 Juni 2011

MISSRIANTO 082408035


(4)

PENGHARGAAN

Puji dan Syukur Penulis panjatkan kepada Tuhan Yang Maha Pemurah dan Maha Penyayang dengan limpah karunia-NYA, sehingga penulis dapat menyelesaikan Laporan Tugas Akhir dalam waktu yang telah ditetapkan.

Penulis mengucapkan terima kasih kepada Bapak Drs. Kurnia Brahmana,M.Si. Selaku dosen pembimbing pada penyelesaian Laporan Tugas Akhir ini, yang telah memberikan panduan dan perhatian kepada penulis untuk menyempurnakan laporan tugas akhir ini. Ucapan terima kasih juga ditujukan kepada ketua program studi D3 Fisika Instrumentasi yaitu Ibu Dr. Susilawati, M.Si dan Bapak Dr. Sutarman, M.Sc selaku Dekan FMIPA Universitas Sumatera Utara, dan kepada semua dosen pengajar dan staf pegawai di Departemen Fisika FMIPA USU. Terimakasih juga penulis ucapkan teristimewa kepada Kedua orang tua penulis yang telah banyak memberikan dukungan baik moril maupun materil kepada penulis dalam menyelesaikan laporan tugas akhir ini. Terimakasih juga penulis ucapkan kepada teman penulis yang selalu memberikan doa dan membantu saya, Hazli. Dan kawan-kawan mahasiswa Fisika Instrumentasi khususnya stambuk 2008 sehingga penulis dapat menyelesaikan laporan ini dengan baik, Semoga kita semua tetap kompak dibawah balutan Ikatan Mahasiswa Instrumentasi (IMI). Semoga Tuhan Yang Maha Esa akan membalasnya


(5)

ABSTRAK

Pada tugas akhir ini penulis membahas masalah yang berjudul “Aplikasi HSM-20G sebagai sensor suhu pada penetas telur otomatis berbasis mikrokontroler ATMEGA8535. Alat ini berfungsi menjaga temperature telur yang berada di dalamnya tetap hangat. Dalam hal ini digunakan suhu ruang mesin penetas telur sebagai objek yang diatur Simulasi inkubator telur ini menggunakan Mikrokontroler ATMega 8535, sensor suhu HSM-20G, PSA, Trafo, Relay, LCD, kipas. Mikrokontroler ATMEGA 8535 mempunyai input berbentuk sensor suhu, sensor ini akan mendeteksi suhu yang berada dalam mesin penetas telur dan menampilkannya pada LCD. Mesin penetas telur menggunakan sebuah kipas yang berfungsi sebaga pendingin dengan cara kerja mengeluarkan panas berlebih pada incubator dan menggunakan elemen sebagai pemanas sehingga mesin tetas bekerja secara otomatis. Alat ini bekerja secara otomatis dengan merespon berapa besar suhu yang dideteksi oleh sensor suhu, Mikrokontroler kemudian memproses suhu tersebut dan memberikan output yang telah diprogram sebelumnya. Suhu ini kemudian ditampilkan pada LCD. Kipas dan heater akan menyala secara otomatis apabila ada perubahan suhu yang disesuaikan dengan programnya.


(6)

DAFTAR ISI

Halaman Judul ... i

Persetujuan ... ii

Pernyataan………..iii

Kata pengantar ... iv

Abstrak………v

Daftar isi... vi

Daftar Gambar ... vii

Daftar Tabel... viii

Bab 1 Pendahuluan 1.1. Latar Belakang ... 1

1.2. Rumusan Masalah ... 2

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 ... 10

2.2.4. Status Register (SREG)... 11

2.2.5. Program Code-Vision AVR ... 14

2.2.6. Perancangan Rangkaian LCD (Liquid Crystal Display)...16

Bab 3 Rancangan Sistem 3.1. Diagram Blok Sistem ... 17


(7)

3.3. Rangkaian Power Supply... 19

3.4. Rangkaian Driver Kipas ... 20

3.5. Perancangan Sensor Suhu HSM-20G... 21

3.6. Relay... 22

3.7. Pengaplikasian LCD ... 23

3.9. Flowchart Program ... 24

Bab 4 Pengujian Rangkaian 4.1. Pengujian Sensor HSM-20G... 25

4.2. Pengujian Sistem Minimum ATMega 8535 ... 25

4.3. Pengujian Rangkaian Driver Kipas ... 25

4.4. Pengujian LCD... 25

4.5. Pengujian Rangkaian Power Supply ... 25

4.6. Pengujian Rangkaian secara keseluruhan ... 26

4.7. Program Code-Vision AVR... 26

Bab 5 Kesimpulan dan Saran 5.1 Kesimpulan ... 39

5.2 Saran... 39


(8)

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


(9)

DAFTAR TABEL

Tabel 2.1. Konfigurasi Pin Port B ATMega 8535... 8 Tabel 2.2. Konfigurasi Pin Port D ATMega 8535... 9 Tabel 2.3. Pin Sensor Humidity ... 21


(10)

PENGHARGAAN

Puji dan Syukur Penulis panjatkan kepada Tuhan Yang Maha Pemurah dan Maha Penyayang dengan limpah karunia-NYA, sehingga penulis dapat menyelesaikan Laporan Tugas Akhir dalam waktu yang telah ditetapkan.

Penulis mengucapkan terima kasih kepada Bapak Drs. Kurnia Brahmana,M.Si. Selaku dosen pembimbing pada penyelesaian Laporan Tugas Akhir ini, yang telah memberikan panduan dan perhatian kepada penulis untuk menyempurnakan laporan tugas akhir ini. Ucapan terima kasih juga ditujukan kepada ketua program studi D3 Fisika Instrumentasi yaitu Ibu Dr. Susilawati, M.Si dan Bapak Dr. Sutarman, M.Sc selaku Dekan FMIPA Universitas Sumatera Utara, dan kepada semua dosen pengajar dan staf pegawai di Departemen Fisika FMIPA USU. Terimakasih juga penulis ucapkan teristimewa kepada Kedua orang tua penulis yang telah banyak memberikan dukungan baik moril maupun materil kepada penulis dalam menyelesaikan laporan tugas akhir ini. Terimakasih juga penulis ucapkan kepada teman penulis yang selalu memberikan doa dan membantu saya, Hazli. Dan kawan-kawan mahasiswa Fisika Instrumentasi khususnya stambuk 2008 sehingga penulis dapat menyelesaikan laporan ini dengan baik, Semoga kita semua tetap kompak dibawah balutan Ikatan Mahasiswa Instrumentasi (IMI). Semoga Tuhan Yang Maha Esa akan membalasnya


(11)

ABSTRAK

Pada tugas akhir ini penulis membahas masalah yang berjudul “Aplikasi HSM-20G sebagai sensor suhu pada penetas telur otomatis berbasis mikrokontroler ATMEGA8535. Alat ini berfungsi menjaga temperature telur yang berada di dalamnya tetap hangat. Dalam hal ini digunakan suhu ruang mesin penetas telur sebagai objek yang diatur Simulasi inkubator telur ini menggunakan Mikrokontroler ATMega 8535, sensor suhu HSM-20G, PSA, Trafo, Relay, LCD, kipas. Mikrokontroler ATMEGA 8535 mempunyai input berbentuk sensor suhu, sensor ini akan mendeteksi suhu yang berada dalam mesin penetas telur dan menampilkannya pada LCD. Mesin penetas telur menggunakan sebuah kipas yang berfungsi sebaga pendingin dengan cara kerja mengeluarkan panas berlebih pada incubator dan menggunakan elemen sebagai pemanas sehingga mesin tetas bekerja secara otomatis. Alat ini bekerja secara otomatis dengan merespon berapa besar suhu yang dideteksi oleh sensor suhu, Mikrokontroler kemudian memproses suhu tersebut dan memberikan output yang telah diprogram sebelumnya. Suhu ini kemudian ditampilkan pada LCD. Kipas dan heater akan menyala secara otomatis apabila ada perubahan suhu yang disesuaikan dengan programnya.


(12)

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 universal, suhu dan kelembabannya harus diperhatikan dan masih banyak lagi aplikasi lainnya.

Berangkat dari hal tersebut penulis ingin membuat aplikasi HSM-20G sebagai sensor suhu pada penetas telur otomatis berbasis ATMEGA 8535 dengan pengaturan suhu dan kelembaban dengan menggunakan mikrokontroller ATMega 8535 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 kelembabanyang 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 diprogram sebelumnya.Suhu dan kelembaban ini kemudian ditampilkan pada LCD. Heater dan lampu akan menyala apabila ada perubahan suhu dan kelembaban yang disesuaikan dengan programnya.


(13)

1.2. Rumusan Masalah

Laporan proyek ini membahas tentang software pemrograman dan hardware pada perakitan penetas telur otomatis yang terdiri dari sensor suhu dan kelembaban HSM-20G, Mikrokontroler ATMega 8535 sebagai pusat kendalinya, 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 penetas telur otomatis 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 penetas telur otomatis Memakai HSM-20G Berbasis Mikrokontroler ATMega 8535.

1.4. Batasan Masalah

Mengacu pada hal diatas Penulis Merancang penetas telur otomatis 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.


(14)

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 mikrokontroler Atmega 8535 dan komponen pendukung.

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 kerja yang sama.


(15)

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.

Sensor ini mempunyai beberapa karekteristik dimana batas input tegangan DC 5±0.2 volt, batas output tegangan adalah sebesar DC 1-3volt, akurasi pengukuran ±5%RH, operasi arus maksimum 2mA, batas storage RH 0-99%RH, batas operasi RH 20-95%(100%RH intermittent), kondensasi transient <3%RH, batas storage temperatur -200C - 700C, batas operasi temperatur 00C-500C, hysteresis (RH@250C) maksimal 2%RH, sangat linier, respon waktu (63% perubahan step) 1 menit. Semua standart alat ini berdasarkan variasi kelembaban di bawah 60%RH pada saat 250C. kelengkapan semua tes-tes yang ada, module ini akan melewati batas bawah nominal lingkungan. Dan juga kelembaban untuk 24 jam.


(16)

Grafik 1. Kurva Respon HSM-20G Pada 250C (3)

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. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.

Mikrokontroler biasanya dilengkapi dengan UART (Universal Asychoronous

Receiver Transmitter) yaiut port serial komunikasi serial asinkron, USART (Universal Asychoronous\Asy choronous Receiver Transmitter) yaitu port yang digunakan untuk


(17)

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 yang digunakan, mereka bias dikatakan hampir sama.

2.2.1. Fitur ATMega 8535

Kapabilitas detail dari ATMega8535 adalah sebagai berikut :

1. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16MHz.


(18)

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. 10. AREF merupakan pin masukan tegangan referensi ADC.


(19)

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 terlihat pada tabel berikut.

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


(20)

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 output. Selain itu, pin-pin port D juga memiliki untuk fungsi\fungsi alternatif khusus.

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


(21)

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 memiliki analog ground yang terpisah.

2.2.3. Peta Memori

AVR ATMega8535 memilii ruang pengalamatan memori data dan memori programyang terpisah. Memori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 512 byte SRAM Interanal. Register keperluan umum menempati space data pada alamt terbawah, yaitu $00 sampai $1F. Sementara itu, register khusus untuk menangani I/O dan control terhadapmikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 hingga $5F. Register tersebut merupakan register yang khusus digunakan mengatur fungsi terhadap berbagai peripheral mikrokontroller, 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


(22)

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.

Gambar 2.3. Status Register ATMega 8535

1. 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.

2. Bit 6-T:Bit Copy Storage

Instruksi BLD dan BST menggunakan bit-T sebagai sumber atau tujuan

dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit T menggunakan instruksi BST, dan sebaliknya bit-T dapat disalin kembali

ke suatu bit dalam register GPR menggunakan instruksi BLD. 3. Bit 5-H: Half Carry Flag

4. Bit 4-S: Sign Bit

Bit-S merupakan hasil operasi EOR antara flag-N (negative) dan flag V (komplemen dua overflow).

5. Bit 3-V: Two’s Complement Overflow Flag


(23)

6. Bit 2-N: Negative Flag

Apabila suatu operasi menghasilkan bilangan negatif, maka flag-N akan diset.

7. Bit 1-Z: Zero Flag

Bit akan diset bila hasil operasi yang diperoleh adalah nol. 8. 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. Pengubahan secara byte dilakukan dengan perintah in atau out yang menggunakan 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 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


(24)

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 16. WATCDOG; register: WDTCR

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

- Stack pointer - Program counter - Cycle pointer - X_register - Y_register - Z_register - Frequency - Stop Watch

3. I/O AVR

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.


(25)

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 (penjumlahan, pengurangan, dan perkalian)maupun operasi nalar (AND, OR, dan EOR /eksklusif OR). 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.


(26)

Gambar 2.4. Form pembuatan program micro chip (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.


(27)

2.2.6. Perancangan Rangkaian LCD (Liquid Crystal Display)

Pada alat ini, display yang digunakan adalah LCD (Liquid Crystal Display) 16 x 2. 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 sebesar 5 KΩ untuk mengatur kontras karakter yang tampil.

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 pada LCD display akan dapat dikendalikan oleh Mikrokontroller ATMega8535.


(28)

BAB 3

RANCANGAN SISTEM 3.1. Diagram Blok Sistem

Gambar 3.1. Gambar Blok Sistem

Tombol Setting

µ

C

Relay

Buzzer

Setting

T/RH

Relay

Heater 1

Heater 2

Relay

Kipas

Jam

Display

LCD


(29)

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 mikrokontroler ini.Untuk men-download file heksadesimal ke mikrokontroler, Mosi, Miso, Sck, Reset, Vcc dan Gnd dari kaki mikrokontroler dihubungkan ke RJ45. RJ45 sebagai konektor yang akan dihubungkan ke ISP Programmer. Dari


(30)

Vreg LM7805CT IN OUT TIP32C 100ohm 100uF 330ohm 220V 50Hz 0Deg

TS_PQ4_12 2200uF 1uF 1N5392GP 1N5392GP 12 Volt 5 Volt

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 TIP 32 disini berfungsi sebagai penguat arus apabila terjadi kekurangan arus pada rangkaian, sehingga regulator tegangan(LM7805CT) tidak akan panas ketika rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari keluaran jembatan dioda.


(31)

3.4. 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 mak 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.

Gambar 3.4. Rangkaian Relay Pengendali Kipas

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.


(32)

3.5. 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 kaki yaitu untuk kelembaban, temperatur, ground, dan juga Vcc.

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%


(33)

- Linearitas

- Waktu Respon (63% langkah perubahan) 1 min - Dimensi (L W *) 34mm * 22mm

3.6. 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 mengalir maka, posisi normal relay tergantung pada jenis relay yang termakan. 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.


(34)

3.7. Pengaplikasian LCD

Rangkaian skematik konektor yang dihubungkan dari LCD (liquid crystal display) ke mikrokontroler dapat dilihat pada gambar dibawah ini.


(35)

(36)

BAB 4

PENGUJIAN RANGKAIAN 4.1. Pengujian Sensor HSM-20G

Sensor ini bekerja dengan sangat baik, Sensor humidity HSM-20G dapat mendeteksi suhu dan kelembaban inkubatortersebut. Tetapi dalam pengujian ini, sensor yang ditampilkan pada layar LCD susah 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 dan kipas akan menyala.

4.4. Pengujian LCD

Rangakaian LCD diuji dengan menampilakan karakter dengan perintah sebagai berikut :

Start T8 12:33

T : 26.9 RH : 90.9%

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.


(37)

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).

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

Project : Version :

Date : 4/10/2011 Author :

Company : Comments:

Chip type : ATmega8535 Program type : Application Clock frequency : 7.372800 MHz


(38)

Memory model : Small External RAM size : 0 Data Stack size : 128

*****************************************************/

#include <mega8535.h>

#include <mega8535.h> #include <stdio.h>

#define tombol_exit PIND.5

#define tombol_m PIND.0 #define tombol_j PIND.1 // 2 setting #define tombol_rh PIND.3 #define tombol_t PIND.4

#define relay_kipas PORTC.7 #define relay_heater_1 PORTC.6 #define relay_heater_2 PORTC.5 #define buzzer PORTC.4

unsigned char h,m,s;

unsigned int nilai_adc [4] = {0}; unsigned char idx;

unsigned int eeprom rh_min, t_max; unsigned int rh_set, t_set;


(39)

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>

#include <delay.h>

#define ADC_VREF_TYPE 0x40

// 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;


(40)

// Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0);

ADCSRA|=0x10; return ADCW; }

// External Interrupt 0 service routine

interrupt [EXT_INT0] void ext_int0_isr(void) {

// Place your code here while(1)

{

lcd_gotoxy(0,0); lcd_putsf ("Setting..");

if (tombol_m == 0) {

m++;

if (m > 59) m = 0; rtc_set_time(h,m,s); delay_ms(250); break;

}

if (tombol_j == 0) {

h++;

if (h > 23) h = 0; rtc_set_time(h,m,s); delay_ms(250); break;

}


(41)

{

lcd_gotoxy(0,0); lcd_putsf ("Set RH...");

while(1) {

rh_set = read_adc(2); lcd_gotoxy(0,1);

sprintf(buf,"H min: %02u.%01u%c ",rh_set/10, rh_set%10,37); lcd_puts(buf);

delay_ms(100); if (tombol_exit == 0) {

lcd_gotoxy(0,0);

lcd_putsf ("Running.."); rh_min = rh_set;

break; } } }

if (tombol_t == 0) {

lcd_gotoxy(0,0); lcd_putsf ("Set T...");

while(1) {

t_set = read_adc(3); lcd_gotoxy(0,1);

sprintf(buf,"T max: %02u.%01u C ",t_set/10,t_set%10); lcd_puts(buf);


(42)

if (tombol_exit == 0) {

lcd_gotoxy(0,0);

lcd_putsf ("Running.."); t_max = t_set;

break; } } }

if (tombol_exit == 0) break; }

}

// Timer 0 overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) {

// Place your code here

nilai_adc[idx] = read_adc(idx); idx++;

if (idx > 3) {

idx = 0; }

}

// Timer 1 overflow interrupt service routine interrupt [TIM1_OVF] void timer1_ovf_isr(void) {


(43)

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=In Func6=In Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=T State6=T State5=0 State4=0 State3=0 State2=0 State1=0 State0=0

PORTC=0x00; DDRC=0x3F;


(44)

// 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 PORTD=0x00;

DDRD=0x00;

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 7.200 kHz // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x05;

TCNT0=0x00; OCR0=0x00;

// Timer/Counter 1 initialization // 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 TCCR1A=0x00;

TCCR1B=0x05; TCNT1H=0xF0; TCNT1L=0x00; ICR1H=0x00;


(45)

ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;

// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00;

TCCR2=0x00; TCNT2=0x00; OCR2=0x00;

// External Interrupt(s) initialization // INT0: On

// INT0 Mode: Falling Edge // INT1: Off

// INT2: Off GICR|=0x40; MCUCR=0x02; MCUCSR=0x00; GIFR=0x40;

// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x05;

// Analog Comparator initialization // Analog Comparator: Off


(46)

ACSR=0x80; 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; buzzer = 0;


(47)

m = 13; s = 30;

// rtc_set_time(h,m,s);

delay_ms(100); idx = 0;

lcd_gotoxy(0,0); lcd_putsf ("Start T5 ");

if (rh_min == 0xffff) rh_min = 650; if (t_max == 0xffff) t_max = 470;

while(1) {

lcd_gotoxy(11,0);

sprintf(buf,"%02u:%02u ",h,m); lcd_puts(buf);

t_get = (nilai_adc[0]*11)/21; rh_get = (nilai_adc[1] * 8)/9; lcd_gotoxy(0,1);

sprintf(buf,"T:%02u.%01u RH:%02u.%01u%c",t_get/10,t_get%10, rh_get/10,rh_get%10,37);

lcd_puts(buf);

delay_ms(100); if (tombol_exit == 0) break;

}

while (1) {


(48)

// Place your code here

rtc_get_time(&h, &m, &s); lcd_gotoxy(11,0);

sprintf(buf,"%02u:%02u ",h,m); lcd_puts(buf);

lcd_gotoxy(0,0);

lcd_putsf ("Running.."); relay_kipas = 1;

t_get = (nilai_adc[0]*11)/21; rh_get = (nilai_adc[1] * 8)/9; lcd_gotoxy(0,1);

sprintf(buf,"T:%02u.%01u RH:%02u.%01u%c",t_get/10,t_get%10, rh_get/10,rh_get%10,37);

lcd_puts(buf); delay_ms(100); if (t_get < (t_max - 5)) {

relay_heater_1 = 1; relay_heater_2 = 1; }

if (t_get < (t_max - 2)) {

relay_heater_1 = 1; relay_heater_2 = 0; }

if (t_get > (t_max - 1)) {

relay_heater_1 = 0; relay_heater_2 = 0;


(49)

}

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); }

}; }


(50)

BAB 5

KESIMPULAN DAN SARAN 5.1. Kesimpulan

Dari evaluasi hasil kerja alat dapat diambil beberapa kesimpulan dalamtugas proyek ini. Kesimpulan yang diambil oleh penulis adalah :

1. Penggunaan mikrokontroler dengan ADC internal dapat menyederhanakan rangkaian yang di rancang.

2. Sensor suhu dan kelembaban HSM-20G cukup baik dalam pengukuran suhu. 3. Perpaduan mikrokontroler ATMega8535 dengan sensor suhu HSM-20G

membuat rangkaian lebih sederhana, karena ADC sudah terintegrasi langsung di dalam mikrokontroler ATMega 8535.

4. 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. Pembuatan beberapa variasi wadah yang digunakan dalam pengujiannya akan lebih menarik.


(51)

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.

Budiharto, Widodo. 2005. Panduan Lengkap Belajar Mikrokontroler Perancangan

Sistem dan Aplikasi Mikrokontroler. Jakarta: PT Elex media Komputindo.

Elektur, 1996. 302 Rangkaian Elektronika. Penerjemah P.Pratomo dkk. Jakarta: Percetakan PT.Gramedia.

Lingga, W. 2006. Belajar sendiri Pemrograman AVR ATMega8535. Yogyakarta: Andi Offset.


(52)

LAMPIRAN

Sensor Kelembaban & Suhu

Sensor HSM-20G adalah sensor pengukur kelembaban dan temperatur. Dimana wujud darihumidity tersebut seperti gambar dibawah ini

Gambar 2.6.1 Sensor Humidity & Temperatur 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.

Sensor ini mempunyai beberapa karekteristik dimana batas input tegangan DC 5±0.2 volt, batas output tegangan adalah sebesar DC 1-3volt, akurasi pengukuran ±5%RH, operasi arus maksimum 2mA, batas storage RH 0-99%RH, batas operasi RH 20-95%(100%RH intermittent), kondensasi transient <3%RH, batas storage temperatur -200C - 700C, batas operasi temperatur 00C-500C, hysteresis (RH@250C) maksimal 2%RH, sangat linier, respon waktu (63%

perubahan step) 1 menit.

Semua standart alat ini berdasarkan variasi kelembaban di bawah 60%RH pada saat 250C. kelengkapan semua tes-tes yang ada, module ini akan melewati batas bawah nominal lingkungan. Dan juga kelembaban untuk 24 jam.


(53)

Grafik 2.6.1 Kurva Respon HSM-20G Pada 250C (3)

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.

Tabel 2.6.1 Pin sensor humidity

Pada gambar 15 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 kaki yaitu untuk kelembaban, temperatur, ground, dan juga Vcc.


(54)

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)

}

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); }

}; }


(2)

BAB 5

KESIMPULAN DAN SARAN 5.1. Kesimpulan

Dari evaluasi hasil kerja alat dapat diambil beberapa kesimpulan dalamtugas proyek ini. Kesimpulan yang diambil oleh penulis adalah :

1. Penggunaan mikrokontroler dengan ADC internal dapat menyederhanakan rangkaian yang di rancang.

2. Sensor suhu dan kelembaban HSM-20G cukup baik dalam pengukuran suhu. 3. Perpaduan mikrokontroler ATMega8535 dengan sensor suhu HSM-20G

membuat rangkaian lebih sederhana, karena ADC sudah terintegrasi langsung di dalam mikrokontroler ATMega 8535.

4. 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. Pembuatan beberapa variasi wadah yang digunakan dalam pengujiannya akan lebih menarik.


(3)

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.

Budiharto, Widodo. 2005. Panduan Lengkap Belajar Mikrokontroler Perancangan Sistem dan Aplikasi Mikrokontroler. Jakarta: PT Elex media Komputindo. Elektur, 1996. 302 Rangkaian Elektronika. Penerjemah P.Pratomo dkk. Jakarta:

Percetakan PT.Gramedia.

Lingga, W. 2006. Belajar sendiri Pemrograman AVR ATMega8535. Yogyakarta: Andi Offset.


(4)

LAMPIRAN

Sensor Kelembaban & Suhu

Sensor HSM-20G adalah sensor pengukur kelembaban dan temperatur. Dimana wujud darihumidity tersebut seperti gambar dibawah ini

Gambar 2.6.1 Sensor Humidity & Temperatur 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.

Sensor ini mempunyai beberapa karekteristik dimana batas input tegangan DC 5±0.2 volt, batas output tegangan adalah sebesar DC 1-3volt, akurasi pengukuran ±5%RH, operasi arus maksimum 2mA, batas storage RH 0-99%RH, batas operasi RH 20-95%(100%RH intermittent), kondensasi transient <3%RH, batas storage temperatur -200C - 700C, batas operasi temperatur 00C-500C, hysteresis (RH@250C) maksimal 2%RH, sangat linier, respon waktu (63%

perubahan step) 1 menit.

Semua standart alat ini berdasarkan variasi kelembaban di bawah 60%RH pada saat 250C. kelengkapan semua tes-tes yang ada, module ini akan melewati batas bawah nominal lingkungan. Dan juga kelembaban untuk 24 jam.


(5)

Grafik 2.6.1 Kurva Respon HSM-20G Pada 250C (3)

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.

Tabel 2.6.1 Pin sensor humidity


(6)

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