Merancang Alat Ukur Suhu dan Kelembaban Menggunakan Sensor SHT-11 Berbasis Mikrokontroler Atmega8

(1)

MERANCANG ALAT UKUR SUHU DAN KELEMBABAN

MENGGUNAKAN SENSOR SHT-11

BERBASIS MIKROKONTROLER ATMEGA8

TUGAS AKHIR

JESSY RIMNA TARIGAN

122411024

PROGRAM STUDI D-3 METROLOGI DAN INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2015


(2)

MERANCANG ALAT UKUR SUHU DAN KELEMBABAN

MENGGUNAKAN SENSOR SHT-11

BERBASIS MIKROKONTROLER ATMEGA8

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya

JESSY RIMNA TARIGAN

122411024

PROGRAM STUDI D-3 METROLOGI DAN INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2015


(3)

PERSETUJUAN

Judul : Merancang Alat Ukur Suhu dan Kelembaban Menggunakan Sensor SHT-11 Berbasis Mikrokontroler Atmega8

Kategori : Tugas Akhir

Nama : JESSY RIMNA TARIGAN

Nomor Induk Mahasiswa : 122411024

Program Studi : D3 Metrologi dan Instrumentasi

Departemen : Fisika

Fakultas : Matematika dan Ilmu Pengetahuan Alam (MIPA) Universitas Sumatera Utara

Diluluskan di Medan, Juli 2015

Ketua Program Studi Dosen Pembimbing

D3 Metrologi dan Instrumentasi Tugas Akhir

Dr. Diana Alemin Barus, M.Sc

NIP. 196607291992032002 NIP. 195806231986011001


(4)

PERNYATAAN

MERANCANG ALAT UKUR SUHU DAN KELEMBABAN

MENGGUNAKAN SENSOR SHT-11 BERBASIS MIKROKONTROLER ATMEGA8

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

Medan, Juli 2015

Jessy Rimna Tarigan 122411024


(5)

ABSTRAK

Telah dirancang dan dibuat sebuah alat untuk mengukur suhu dan kelembaban pada daerah tertentu yang sangat sensitif terhadap perubahan suhu dan kelembaban. Daerah yang dimaksud ialah seperti rumah kaca, gudang penyimpanan, ruang server komputer, dan lain sebagainya. Pada laboratorium tertentu yang menyimpan alat ukur standar juga sangat dibutuhkan alat yang dapat mengukur kelembaban dan suhu. Alat ini menggunakan sensor SHT-11 sebagai sensor suhu dan kelembaban serta mikrokontroler sebagai pusat kendalinya, dan penampilnya menggunakan LCD (liquid Crystal Display).

Suhu dan kelembaban yang terukur untuk ruangan laboratorium massa di BSML Medan pada hari dan jam tertentu sebesar 25,40 0C dan 46,1 %RH.


(6)

ABSTRACT

Has designed and created a tool to measure the temperature and humidity in certain areas that are very sensitive to changes in temperature and humidity. The area in question is like a greenhouse, warehouse storage, computer server rooms and so forth. At certain laboratories that store standard measuring devices are also needed a tool that can measure humidity and temperature. This tool uses a sensor SHT - 11 as a temperature and humidity sensor and the microcontroller as the control center , and performers using LCD ( Liquid Crystal Display ) .

Temperature and humidity are measured for mass laboratory room in BSML Medan on certain days and hours of 25.40 and 46.1 % RH 0C .

Keywords : Sensor SHT - 11 , Microcontroller Atmega8


(7)

PENGHARGAAN

Segala hormat dan puji syukur hanya bagi Tuhan yang telah memberikan kekuatan dan berkat bagi penulis, karena kemurahanNya kepada penulis sehingga penulis dapat menyelesaikan laporan tugas akhir ini.

Laporan tugas akhir ini disusun untuk melengkapi persyaratan dalam mencapai gelar Ahli Madya pada Program Studi Diploma-3 Metrologi dan Instrumentasi Departemen Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara. Adapun judul yang diambil penulis pada Tugas Akhir “Merancang Alat Ukur Suhu dan Kelembaban Menggunakan Sensor SHT-11 Berbasis Mikrokontroler Atmega8”

Dalam menyelesaikan tugas akhir ini penulis menyadari bahwa tersusunnya tugas akhir ini tidak lepas dari perhatian, bimbingan dan dukungan dari berbagai pihak baik bantuan moril maupun material. Maka dengan keikhlasan dan kerendahan hati, pada kesempatan ini penulis ingin mengucapkan terima kasih kepada semua pihak yang telah mendukung dan membantu.

Untuk itu, izinkanlah Penulis mengucapkan terima kasih yang sebesar-besarnya kepada: 1. Orang Tua penulis bapak Drs.Alexander Tarigan dan ibu Dra.Daniwaty br Sukatendel

yang sudah membesarkan dan memberikan dukungan serta semangat bagi penulis sehingga bias menyelesaikan tugas akhir ini.

2. Buat adikku terkasih Adrian Liasta Tarigan, terimakasih untuk dukungannya baik lewat doa dan perhatiannya

3. Dr. Kerista Sebayang M.S, selaku Dosen Pembimbing bagi penulis terima kasih karena bapak telah membimbing dan mengarahkan penulis dalam penyelesaian laporan ini 4. Bapak Dr. Sutarman, M.Sc, selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan

Alam Universitas Sumatera Utara

5. Bapak Dr. Marhaposan Situmorang, selaku Ketua Departemen Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara

6. Ibu Dr. Diana Alemin Barus M.Sc, selaku Ketua Program Studi D-III Metrologi dan Instrumentasi Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara

7. Seluruh dosen yang berada di Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, khususnya yang mengajar di jurusan Metrologi dan Instrumentasi, yang tidak dapat disebutkan namanya satu per satu.


(8)

9. Seluruh mahasiswa Metrologi dan Instrumentasi stambuk 2012, terima kasih untuk semua hal selama 3 tahun ini, suka duka sudah banyak kita lalui. Semoga kita semua tetap berteman baik walaupun sudah tamat nanti.

10. Adik-adik stambuk 2013 dan 2014, terima kasih juga buat kalian karena selalu memberikan perhatian, dukungan dan memberikan penulis semangat.

Penulis menyadari dengan bahwa dengan keterbatasan ilmu dan kemampuan yang penulis miliki, penyusunan laporan ini masih jauh dari kata sempurna. Untuk itu penulis menerima segala saran dan kritik yang bersifat membangun dari semua pihak yang dapat menjadi bahan masukan bagi penulis.

Akhir kata penulis mengucapkan banyak terima kasih. Semoga karya ini dapat bermanfaat bagi pembaca dan semoga kita bisa menjadi insane pendidikan yang cerdas seutuhnya. Kiranya Tuhan senantiasa melimpahkan kasih dan anugerahNya bagi kita semua.

Medan, Juli 2015 Penulis

(JESSY RIMNA TARIGAN)


(9)

DAFTAR ISI

PERSETUJUAN PERNYATAAN ABSTRAK

PENGHARGAAN DAFTAR ISI

DAFTAR GAMBAR DAFTAR TABEL

BAB 1 PENDAHULUAN 1.1 Latar Belakang

1.2 Tujuan Penulisan 1.3 Batasan Masalah 1.4 Sistematika Penulisan

BAB 2 DASAR TEORI 2.1 Perangkat Keras

2.1.1 SHT-11

2.1.2 Rangkaian Sistem Minimum AVR Atmega8 2.1.2.1 Arsitektur Mikrokontroller AVR

2.1.2.2 Penjelasan Fungsi PIN Mikrokontroller AVR 2.1.3 Modul LCD (Liquid Crystal Display) M1632

2.1.3.1 Kaki-kaki Modul M1632 2.1.3.2 Akses ke register

2.1.3.3 Struktur Memori LCD 2.2 Perangkat lunak

2.2.1 Bahasa basic menggunakan Code Vision AVR

BAB 3 RANCANGAN SISTEM 3.1 Diagram Blok Rangkaian

3.2 Rangkaian Sistem Minimum Mikrokontroler Atmega8 3.3 Rangkaian LCD (Liquid Crystal Display)

3.4 Rangkaian Sensor SHT-11 3.5 Diagram Alir Pemrograman


(10)

BAB 4 PENGUJIAN RANGKAIAN 4.1 Data Pengukuran

4.2 Perhitungan Nilai Kesalahan Alat (Ralat) 4.3 Pengujian Rangkaian Atmega8

4.4 Pengujian sensor SHT-11 4.5 Pengujian LCD

4.6 Pengujian bahasa pemrograman 4.7 Pengujian secara keseluruhan

BAB 5 KESIMPULAN DAN SARAN 5.1Kesimpulan

5.2Saran

DAFTAR PUSTAKA LAMPIRAN

1. RANGKAIAN LENGKAP ALAT UKUR SUHU DAN KELEMBABAN 2. DATA SHEET SHT-11

3. DATA SHEET ATMEGA8

4. DATA SHEET IC REGULATOR 7805


(11)

DAFTAR GAMBAR

Gambar 2.1 Sensor SHT-11 ... 3

Gambar 2.2 Blok diagram umum sensor ... 4

Gambar 2.3 Akurasi RH dan Temperatur pada berbagai tipe ... 5

Gambar 2.4 Sistem Minimum AVR ATmega8 ... 6

Gambar 2.5 Skematik Blok Sistem Mikrokontroller AVR ... 7

Gambar 2.6 Pin Atmega8 ... 8

Gambar 2.7 Timing penulisan data ke register perintah mode 4 bit interface ... 12

Gambar 2.8 Timing diagram pembacaan register perintah mode 4 bit interface ... 13

Gambar 2.9 Timing diagram penulisan data ke register data mode 4 bit interface ... 13

Gambar 2.10 Timing diagram pembacaan data dari register data mode 4 bit ... 14

Gambar 3.1 Diagram blok sistem ... 16

Gambar 3.2 Rangkaian Skematik Sistem Minimum Mikrokontroler ATmega8 ... 17

Gambar 3.3 Rangkaian Skematik Konektor yang dihubungkan dari LCD ke mikrokontroler ... 18

Gambar 3.4 Pengaplikasian SHT-11 ke mikrokontroler ... 18

Gambar 3.5 Diagram alir program ... 19

Gambar 4.1 Informasi Signature Mikrokontroller ... 21

Gambar 4.2 Gambar SHT-11 kemikrokontroller ... 22


(12)

DAFTAR TABEL

Tabel 2.1 Konfigurasi pin sensor SHT-11 Tabel 2.2.Konfigurasi pin port B Atmega 8 Tabel 2.3.Konfigurasi Pin Port D Atmega8


(13)

ABSTRAK

Telah dirancang dan dibuat sebuah alat untuk mengukur suhu dan kelembaban pada daerah tertentu yang sangat sensitif terhadap perubahan suhu dan kelembaban. Daerah yang dimaksud ialah seperti rumah kaca, gudang penyimpanan, ruang server komputer, dan lain sebagainya. Pada laboratorium tertentu yang menyimpan alat ukur standar juga sangat dibutuhkan alat yang dapat mengukur kelembaban dan suhu. Alat ini menggunakan sensor SHT-11 sebagai sensor suhu dan kelembaban serta mikrokontroler sebagai pusat kendalinya, dan penampilnya menggunakan LCD (liquid Crystal Display).

Suhu dan kelembaban yang terukur untuk ruangan laboratorium massa di BSML Medan pada hari dan jam tertentu sebesar 25,40 0C dan 46,1 %RH.


(14)

ABSTRACT

Has designed and created a tool to measure the temperature and humidity in certain areas that are very sensitive to changes in temperature and humidity. The area in question is like a greenhouse, warehouse storage, computer server rooms and so forth. At certain laboratories that store standard measuring devices are also needed a tool that can measure humidity and temperature. This tool uses a sensor SHT - 11 as a temperature and humidity sensor and the microcontroller as the control center , and performers using LCD ( Liquid Crystal Display ) .

Temperature and humidity are measured for mass laboratory room in BSML Medan on certain days and hours of 25.40 and 46.1 % RH 0C .

Keywords : Sensor SHT - 11 , Microcontroller Atmega8


(15)

BAB 1

PENDAHULUAN

1.1Latar Belakang

Alat pengukur suhu dan kelembaban sangat banyak diperlukan dalam hal-hal tertentu. Contohnya, pada suatu laboratorium yang menyimpan anak timbangan standar, sangat perlu diperhatikan suhu dan kelembaban dari ruangan laboratorium tersebut untuk menyimpan anak timbangan dengan baik, pada ruang server komputer juga dibutuhkan suhu dan kelembaban tertentu agar server tetap dapat bekerja dengan baik, juga masih banyak lagi aplikasi lainnya.

Apabila suhu dan kelembaban tidak stabil akan terjadi perubahan yang dapat menyebabkan kondisi ruangan berubah, yang mengakibatkan terjadinya perubahan secara fisik pada alat yang penyimpanannya perlu dikondisikan.

Dari hal tersebut penulis ingin merancang sebuah perangkat yang dapat mengukur suhu dan kelembaban sekaligus dengan menggunakan sensor SHT-11 sebagai sensor suhu dan kelembaban, mikrokontroler Atmega8 sebagai pusat kendalinya dan LCD sebagai penampilnya. Alat ini bekerja secara otomatis dengan merespon berapa besar kelembaban udara dan suhu yang dideteksi oleh sensor SHT-11, Mikrokontroler kemudian memproses suhu tersebut dan memberikan output yang telah diprogram sebelumnya. Hasil pengukuran ini kemudian ditampilkan pada LCD.

1.2Tujuan Penulisan

Berdasarkan latar belakang diatas, maka tujuan dari pembuatan alat ini untuk : 1) Mengetahui karakteristik sensor SHT-11

2) Mempelajari bagaimana penggunaan sensor SHT-11 3) Mengetahui cara kerja sensor SHT-11

1.3Batasan Masalah

Pembahasan masalah dalam laporan tugas akhir ini mencakup masalah-masalah sebagai berikut :

1. Pembahasan mikrokontroler dan program hanya sebatas penanganan sensor SHT-11 dan penampil LCD.

2. Pengujian alat tidak dilakukan pada kondisi yang ekstrim (mis: lemari pendingin, tungku pemanas, dll).


(16)

1.4Sistematika Penulisan

Untuk mempermudah pembahasan, maka penulis membuat sistematika pembahasan. Adapun urutan sistematika laporan ini dibagi kedalam lima bab yaitu:

BAB 1 PENDAHULUAN

Bab ini berisikan mengenai latar belakang, rumusan masalah, tujuan penulisan, batasan masalah, serta sistematika penulisan.

BAB 2 DASAR TEORI

Bab ini meliputi tentang teori landasan teori, dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian teori pendukung itu antara lain tentang mikrokontroler yang digunakan, bahasa program yang dipergunakan dan komponen pendukung.

BAB 3 RANCANGAN SISTEM

Analisa rangkaian dan sistem kerja, dalam bab ini dibahas tentang sistem kerja perblok diagram.

BAB 4 PENGUJIAN RANGKAIAN

Pembahasan rangkaian dan program yang dijalankan serta pengujian rangkaian.

BAB 5 KESIMPULAN DAN SARAN

Bab ini berisikan penutup yang meliputi tentang kesimpulan dari pembahasan yang dilakukan dari laporan proyek ini serta saran apakah rangkaian ini dapat dibuat lebih efisien dan dikembangkan perakitnya dengan metode lain yang mempunyai sistem kerja yang sama.


(17)

BAB 2

DASAR TEORI

2.1 Perangkat Keras

Perangkat keras merupakan bentuk fisik dari alat pengukur suhu dan kelembaban yang terdiri dari modul SHT-11, sistem minimum Atmega8, LCD display M1632.

2.1.1 SHT-11

SHT-11 Module merupakan modul sensor suhu dan kelembaban relatif yang berbasis sensor SHT-11 dari Sensirion. Modul ini dapat digunakan sebagai alat pengindra suhu dan kelembaban dalam aplikasi pengendali suhu dan kelembaban ruangan maupun aplikasi pemantau suhu dan kelembaban relatif ruangan.

Spesifikasi dari SHT-11 antara lain:

1. Berbasis sensor suhu dan kelembaban relatif Sensirion SHT-11.

2. Mengukur suhu dari -40 oC hingga +123,8 o C, atau dari -40 oF hingga +254,9 o

3. Memiliki ketetapan (akurasi) pengukuran suhu hingga ± 0,5

F dan kelembaban relatif dari 0 % RH hingga 100 % RH.

o

C pada suhu 25 o

4. Memiliki atarmuka serial synchronous 2-wire, bukan 12 C.

C dan ketepatan (akurasi) pengukuran kelembaban relatif hingga ± 3,5 % RH.

5. Jalur antarmuka telah dilengkapi dengan rangkaian pencegah kondisi sensor lock-up

6. Membutuhkan catu daya +5V DC dengan konsumsi daya rendah 30∝ W.

7. Modul ini memiliki faktor bentuk 8 pin DIP 0,6 sehingga memudahkan pemasangannya.

Gambar 2.1 Sensor SHT-11

Untuk menghubungkan sensor 2 wire dengan mikrokontroler, umumnya bentuk rangkaian dapat dilihat seperti Gambar 2.2.


(18)

R

al

at

pa

da

s

ens

or

Gambar 2.2 Blok diagram umum sensor

Tabel 2.1 Konfigurasi pin sensor SHT-11

Pin Name Comment

1 GND Ground

2 DATA Serial Data Bidirectional

3 SCK Serial Clock Input

4 VDD Supply 2.4 – 5.5 V

Adapun cara kerja Sensor SHT-11 tersebut, yaitu; Kaki Serial Clock Input (SCK) digunakan untuk mensinkronkan komunikasi diantara mikrokontroller dan SHT-11. Kaki Serial Data (DATA) yang merupakan tristate digunakan untuk mentransfer data masuk dan keluar dari alat. Proses pengukuran dilakukan dengan memberikan logika ‘00000101’ untuk RH dan ‘00000011’ untuk temperatur, lalu controller harus menunggu agar proses pengukuran selesai. Waktu yang dibutuhkan sekitar 500 ms untuk resolusi 14 bit.

Suhu sebenarnya


(19)

R

al

at

pa

da

s

ens

or

Kelembaban relative

Gambar 2.3 Akurasi RH dan Temperatur pada berbagai tipe

Gambar di atas menampilkan kinerja dari sensor SHT-11, yaitu grafik perbandingan akurasi RH dan Temperatur pada berbagai tipe jenis sensor. Pada sensor SHT-11 terlihat pada grafik akurasi Temperatur untuk suhu yang diukur dari 0 – 50 o C, maka ralat pada sensor sebesar ± 1 o C.Untuk suhu dari -10 – 60 o C, maka ralat pada sensor sebesar 1,4 o C. Dengan demikian dari grafik didapat suhu maksimal sebesar 20,5 o C. Sedangkan pada grafik akurasi RH, besar kelembaban yang diukur dari 20 – 80% RH, ralat pada sensor sebesar ± 5% RH. Dari berbagai tipe sensor pada grafik diatas terlihat hasil yang lebih baik dapat diperoleh jika menggunakan sensor SHT75 dengan resolusi dan kualitas yang lebih baik.

2.1.2 Rangkaian Sistem Minimum AVR ATmega8

Sistem minimum mikrokontroler adalah rangkaian elektronik minimum yang diperlukan untuk beroperasinya IC mikrokontroler. Sistem minimum ini kemudian bisa dihubungkan dengan rangkaian lain untuk menjalankan fungsi tertentu. Di keluarga mikrokontroler AVR, seri 8 adalah salah satu seri yang sangat banyak digunakan. Untuk membuat rangkaian sistem minimum Atmel AVR 8 diperlukan beberapa komponen yaitu:

1. IC mikrokontroler Atmega8 2. Satu XTAL 4 MHz

3. Dua kapasitor yaitu satukapasitor 220µF dan satu kapasitor 100 µF 4. Satu resistor

5. Satu trimpot 6. IC Regulator 7805


(20)

Selain itu tentunya diperlukan power supply (adaptor) yang bisa memberikan tegangan 5V DC. Rangkaian sistem minimum ini sudah siap untuk menerima sinyal analog (fasilitas ADC) di port A. Gambar rangkaiannya adalah sebagai berikut.

Gambar 2.4 Sistem Minimum AVR ATmega8

2.1.2.1Arsitektur Mikrokontroller AVR

Mikrokontroler adalah suatu chip yang dapat digunakan sebagai pengontrol utama sistem elektronika, misalnya sistem pengukur suhu digital, sistem keamanan rumah dan lain sebagainya. Hal ini dikarenakan di dalam chip tersebut sudah ada unit pemroses, memori ROM (Read Only Memori), RAM (Random Access Memory), Input-Output, dan fasilitas pendukung lainnya.

Mikrokontroler AVR memiliki arsitektur RISC 8 bit, di mana semua instruksi dikemas dalam kode 16-bit (16-bit word) dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock, berbeda dengan instruksi MCS51 yang membutuhkan 12 siklus clock. Hal ini terjadi karena kedua jenis mikrokontroler tersebut memiliki arsitektur yang berbeda. AVR berteknologi RISC (Reduced Instruksi Set Computing), sehingga eksekusi instruksi dapat berlangsung sangat cepat dan efisien. Sedangkan seri MCS51 berteknoli CISC (Complex Instruktion Set Computing). Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bias dikatakan hampir sama.


(21)

Mikrokontroler AVR sudah menggunakan konsep arsitektur Harvard yang memisahkan memori dan bus untuk data dan program, serta sudah menerapkan single level pipelining.

Blok sistem mikrokontroler AVR adalah sebagai berikut :

Gambar 2.5 Skematik Blok Sistem Mikrokontroller AVR

Berikut adalah feature-feature mikrokontroler seri Atmega8. 1. Memori Flash 8 Kbytes dalam programmable flash

2. Memori EEPROM 512 bytes untuk data yang dapat diprogram saat operasi 3. Memori SRAM 1 bytes untuk data


(22)

5. Watchdog Timer dengan osilator internal

6. 6 channel ADC, Empat Saluran 10-bit Akurasi dan Dua Saluran 8-bit Akurasi

7. Lima Mode Sleep: Idle, ADC Noise Reduction, Power-save, Power-down, dan Siaga 8. Antar muka komparator analog

9. Saluran I/O sebanyak 23 buah, yaitu Port A, Port B, Port C, dan Port D. 10.Unit interupsi internal dan eksternal

11.Programmable Serial USART 12.Master / Slave SPI Serial Interface

13.Power-on reset dan Deteksi Programmable Brown-out 14.Internal dikalibrasi RC Oscillator

2.1.2.2Penjelasan Fungsi PIN Mikrokontroller AVR

IC mikrokontroler dikemas (packaging) dalam bentuk yang berbeda. Namun pada dasarnya fungsi kaki yang ada pada IC memiliki persamaan. Gambar salah satu bentuk IC seri mikrokontroler AVR Atmega 8 dapat dilihat pada gambar 2.6 dibawah ini.

Gambar 2.6 Pin Atmega 8 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.


(23)

2) PORT B

Merupakan 8 bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up

resistor (dapat diatur perbit). Output buffer Port B dapat member 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 bersesuaian sebagai input, atau diisi 1 jika sebagai output.Pin-pin Port B juga memiliki fungsi alternatif khusus seperti yang dapat dilihat dalam tabel konfigurasi pin Port B Atmega 8 berikut.

Tabel 2.2. Konfigurasi pin port B Atmega8

Port Pin Fungsi Khusus

PB0 T0 = timer/counter 0 external counter input PB1 T1 = timer/counter 0 external counter input PB2 AIN0 = analog comparator positive input PB3 AIN1 = 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 fungsi alternatif sebagai oscillator

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 member 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


(24)

Selain itu, pin-pin port D juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel konfigurasi pin Port D Atmega8 berikut.

Tabel 2.3.Konfigurasi Pin Port D Atmega8

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 OCIB (Timer/Counter1 output compareB match output) PD5 OC1A (Timer/Counter1 output compareA matchoutput) 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 oscillator amplifier dan input ke internal clock operating circuit.

7) XTAL2

XTAL2 adalah output dari inverting oscillator 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 operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus dibeikan ke kaki ini.

10)AGND

AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki anlaog ground yang terpisah.

2.1.3 Modul LCD (Liquid Crystal Display) M1632

M1632 merupakan modul LCD matrix dengan konfigurasi 16 karakter dan 2 baris dengan setiap karakternya dibentuk oleh 8 baris pixel dan 5 kolom pixel (1 baris pixel terakhir adalah


(25)

kursor). HD44780 ini sudah tersedia dalam Modul M1632 yang dikeluarkan oleh Hitachi, Hyundai dan modul-modul M1632 lainnya.

HD44780 sebetulnya merupakan mikrokontroler yang dirancang khusus untuk mengendalikan LCD dan mempunyai kemampuan untuk mengatur proses scanning pada layar LCD yang terbentuk oleh 16 COM dan 40 SEG sehingga mikrokontroler/perangkat yang mengakses modul LCD ini tidak perlu lagi mengatur proses scanning pada layar LCD. Mikrokontroler atau perangkat tersebut hanya mengirimkan data-data yang merupakan karakter yang akan ditampilkan pada LCD atau perintah yang mengatur proses tampilan pada LCD saja.

2.1.3.1Kaki-kaki Modul M1632

Untuk keperluan antarmuka suatu komponen elektronik dengan mikrokontroler, perlu diketahui fungsi dari setiap kaki yang ada pada komponen tersebut.

1) Kaki 1 (GND)

Kaki ini berhubungan dengan tegangan +5 Volt yang merupakan tegangan untuk sumber daya dari HD44780 (khusus untuk modul M1632 keluaran hitachi, kaki ini adalah VCC) 2) Kaki 2 (VCC)

Kaki ini berhubungan dengan tegangan 0 volt (ground) dan modul LCD (khusus untuk modul M1632 keluaran hitachi, kaki ini adalah GND)

3) Kaki 3 (VEE/VLCD)

Tegangan pengatur kontras LCD, kaki ini terhubung pada V5. Kontras mencapai nilai maksimum pada saat kondisi kaki ini pada tegangan 0 volt.

4) Kaki 4 (RS)

Register Select, kaki pemilih register yang akan diakses. Untuk akses ke register data, logika dari kaki ini adalah 1 dan untuk akses ke register perintah, logika dari kaki ini adalah 0.

5) Kaki 5 (R/W)

Logika 1 pada kaki ini menunjukkan bahwa modul LCD sedang pada mode pembacaan dan logika 0 menunjukkan bahwa modul LCD sedang pada mode penulisan. Untuk aplikasi yang tidak memerlukan pembacaan data pada modul LCD, kaki ini dapat dihubungkan langsung ke ground.

6) Kaki 6 (E)

Enable Clock LCD, kaki ini mengaktifkan clock LCD. Logika 1 pada kaki ini diberikan pada saat penulisan atau pembacaan data.


(26)

7) Kaki 7-14 (D0-D7)

Data bus, kedelapan kaki modul LCD ini adalah bagian dimana aliran data sebanyak 4 bit atau 8 bit mengalir saat proses penulisan maupun pembacaan data.

8) Kaki 15 (Anoda)

Berfungsi untuk tegangan positif dari backlight modul LCD sekitar 4,5 volt (hanya terdapat untuk M1632 yang memiliki backlight).

9) Kaki 16 (Katoda)

Tegangna negatif backlight modul LCD sebesar 0 volt (hanya untuk M1632 yang memiliki backlight).

2.1.3.2Akses ke register

Seperti telah dijelaskan sebelumnya, HD44780 yang menjadi pengendali modul M1632 mempunyai dua buah register, yaitu register data dan register perintah.

Berikut ini akan dijelaskan bagaimana proses terjadinya penulisan maupun pembacaan data dari kedua register ini.

1) Penulisan Data ke Register Perintah

Penulisan data ke register perintah digunakan untuk memberikan perintah-perintah pada Modul M1632 sesuai dengan data-data yang dikirimkan ke register tersebut. Gambar 2.7 menunjukkan proses penulisan data ke register perintah menggunakan mode 4 bit interface. Kondisi RS berlogika 0 menunjukkan akses data ke register perintah. RW berlogika 0 menunjukkan proses penulisan data akan dilakukan. Nibble

tinggi (bit7 sampai bit 4) terlebih dahulu dikirimkan dengan diawali pulsa logika 1 pada E Clock, kemudian nibble rendah (bit 3 sampai bit 0) dikirimkan dengan diawalai pulsa logika 1 pada E Clock lagi.

Gambar 2.7 Timing penulisan data ke register perintah mode 4 bit interface


(27)

Built In Routine

Kirim_Perintah EQU 433H ……… Lcall kirim perintah

2) Pembacaan Data dari Register Perintah

Proses pembacaan data dari register perintah ini digunakan untuk membaca status sibuk M1632 dan addres counter saja. RS diatur pada logika 0 untuk akses ke register perintah dan R/W diatur pada logika 1 yang menunjukkan proses pembacaan data. Empat bit

nibble tinggi dibaca dengan diawali pulsa logika 1 pada E Clock dan kemudian 4 bit

nibble rendah dibaca dengan diawali pulsa logika 1 pada E clock.

Gambar 2.8 Timing diagram pembacaan register perintah mode 4 bit interface 3) Penulisan Data ke Register Data

Penulisan data ke register data digunakan dalam proses penulisan data karakter yang akan ditampilkan ke LCD (DDRAM) atau proses penulisan data pola karakter ke CGRAM. Proses diawali dengan adanya logika 1 pada RS yang menunjukkan akses ke register data. Kondisi R/W diatur pada logika 0 yang menunjukkan proses penulisan data. Data 4 bit nibble tinggi (bit 7 hingga bit 4) dikirim dengan diawali dngan pulsa logika 1 pada sinyal E Clock dan kemudian diikuti 4 bit bit nibble rendah (bit 3 hingga bit 0) yang juga diawali pulsa logika 1pada sinyal E Clock.


(28)

4) Pembacaan Data ke Register Data

Pembacaan data dari rd dilakukan untuk membaca kembali data yang tampil pada LCD. Proses dilakukan dengan mengatur RS pada logika 1 yang menunjukkan adanya akses ke rd. Kondisi R/W diatur pada logika tinggi yang menunjukkan adanya proses pembacaan data. Data 4 bit nibble (bit 7 hingga bit 4) dibaca dengan diawali adanya pulsa logika 1 pada E Clock dan dilanjutkan dengan data 4 bit nibble rendah (bit 3 hingga bit 0) yang juga diawali dengan pulsa logika 1 pada E Clock.

Gambar 2.10 Timing diagram pembacaan data dari register data mode 4 bit

2.1.3.3Struktur Memori LCD

Modul LCD M1632 memiliki beberapa jenis memori yang digunakan untuk menyimpan atau memproses data-data yang akan ditampilkan pada layar LCD. Setiap jenis memori mempunyai fingsi-fungsi tersendiri.

1. DDRAM

DDRAM merupakan memori tempat karakter yang ditampilkan berada. Contohnya, karakter “A” atau 41h yang ditulis pada alamat 00 akan tampil pada baris pertama dan kolom pertama dari LCD. Apabila karakter tersebut ditulis di alamat 40h, karakter tersebut akan tampil pada baris kedua kolom pertama dari LCD.

2. CGRAM

CGRAM adalah memori untuk menggambarkan pola sebuah karakter dan bentuk karakter dapat diubah-ubah sesuai keinginan. Akan tetapi isi memori akan hilang saat power supply tidak aktif sehingga pola karaktr akan hilang.

3. CGROM

CGROM adalah memori untuk menggambarkan pola sebuah karakter dan pola tersebut sudah dientukan secara permanen dari HD44780 sehingga pengguna tidak dapat mengubah lagi. Oleh karena ROM bersifat permanen, pola karakter tersebut tidak akan hilang walaupun power suplly tidak aktif.


(29)

2.2Perangkat Lunak

Perangkat lunak merupakan program yang meliputi bahasa pemrograman CodeVisionAVR Evaluation (CVAVR) untuk pemrograman mikrokontroler Atmega8.

2.2.1 Bahasa basic Menggunakan Code Vision AVR (CVAVR)

CodeVisionAVR merupakan sebuah cross-compiler C,Integrated Development Environtment (IDE), dan Automatic Program Generator yang didesain untuk mikrokontroler buatan Atmel seri AVR. CodeVisionAVR dapat dijalankan pada sistem operasi Windows 95, 98, Me, NT4, 2000, dan XP. Cross-compiler C mampu menerjemahkan hampir semua perintah dari bahasa ANSI C, sejauh yang diijinkan oleh arsitektur dari AVR, dengan tambahan beberapa fitur untuk mengambil kelebihan khusus dari arsitektur AVR dan kebutuhan pada sistem embedded.

File object COFF hasil kompilasi dapat digunakan untuk keperluan debugging pada tingkatan C, dengan pengamatan variabel, menggunakan debugger Atmel AVR Studio. IDE mempunyai fasilitas internal berupa software AVR Chip In-System Programmer yang memungkinkan Anda untuk melakukan transfer program kedalam chip mikrokontroler setelah sukses melakukan kompilasi/asembli secara otomatis. Software In-System Programmer didesain untuk bekerja dengan Atmel STK500/AVRISP/AVRProg, Kanda Systems STK200+/300, Dontronics DT006, Vogel Elektronik VTEC-ISP, Futurlec JRAVR dan MicroTronics ATCPU/Mega2000 programmers/development boards.


(30)

BAB 3

RANCANGAN SISTEM

3.1 Diagram Blok Rangkaian

Adapun diagram blok dari sistem yang dirancang adalah seperti yang diperlihatkan pada gambar dibawah ini.

SENSOR

SHT-11 diproses MICROCONTROLLER

DISPLAY LCD ditampilkan

Gambar 3.1 Diagram Blok Sistem Fungsi Tiap Blok :

1. Blok Sensor SHT-11 : Sebagai penerima suhu dan kelembaban

2. Blok Microcontroller : Sebagai tempat untuk menghitung perubahan logika yang diproses berupa hitungan dari suhu dan kelembaban 3. Blok Display LCD : Sebagai tampilan data yang telah diproses

Pada sistem ini SHT-11 akan mendeteksi suhu dan kelembaban berdasarkan perintah dari mikrokontroler, setelah mikrokontroler mengirimkan perintah kepada SHT-11 maka mikrokontroler menunggu beberapa saat untuk menerima balasan dari SHT-11. Setelah data diterima oleh mikrokontroler Atmega8 maka data akan diproses di mikrokontroler untuk dikonversikan menjadi derajat celcius untuk suhu dan %RH (Relative Humidity) untuk kelembaban.

Setelah data dikonversikan oleh mikrokontroler ATmega8 maka mikrokontroler melakukan rutin untuk mengaktifkan LCD sebagai display. Setelah display aktif dan siap menerima data baru setelah itu mikrokontroler mengirimkan data hasil konversi ke LCD.

3.2 Rangkaian Sistem Minimum Mikrokontroler ATmega8

Rangkaian skematik dan layout PCB sistem minimum mikrokontroler Atmega8 dapat dilihat pada gambar 3.2 di bawah ini.


(31)

Gambar 3.2 Rangkaian Skematik Sistem Minimum Mikrokontroler Atmega8

Pin 12 dan 13 dihubungkan ke XTAL 8 MHz dan dua buah kapasitor 30 pF. XTAL ini akan mempengaruhi kecepatan mikrokontroler Atmega8 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 heksa desimal 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 ISP Programmer inilah dihubungkan ke komputer melalui port paralel. Kaki Mosi, Miso, Sck, Reset, Vcc dan Gnd pada mikrokontroler terletak padakaki 6, 7, 8, 9, 10 dan 11.

Apabila terjadi keterbalikan pemasangan jalur ke ISPProgrammer, maka pemograman mikrokontroler tidak dapat dilakukan karena mikrokontroler tidak akan bisa merespon.

3.3 Rangkaian LCD (Liquid Crystal Display)

Rangkaian skematik konektor yang dihubungkan dari LCD (liquid crystal display) kemikrokontroler dapat dilihat pada gambar 3.3 dibawah ini


(32)

Gambar 3.3 Rangkaian Skematik Konektor yang dihubungkan dari LCD ke mikrokontroler

Pada gambar rangkaian konektor LCD seperti di atas konektor (JP1) yang terdiri dari konektor Gnd (Ground), Vcc (5V), Contrast, Reset, R/W (Read/Write), Enable, DB4-DB7 dan dihubungkan langsung dengan konektor pada LCD yang kompatibel dengan driver HD 44780. Sedangkan pada konektor (JP2) yang terdiri dari konektor Reset, Enable dan DB4-DB7 dihubungkan ke mikrokontroler Atmega8.

3.4 Rangkaian Sensor SHT-11

Rangkaian skematik sensor SHT-11 yang dihubungkan ke mikrokontroller dapat dilihat pada gambar dibawah ini.

Gambar 3.4 Pengaplikasian SHT-11 ke mikrokontroler

Kaki Serial Clock Input (SCK) digunakan untuk mensinkronkan komunikasi diantara mikrokontroler dan SHT-11. Kaki Serial Data (DATA) yang merupakan tristate digunakan untuk mentransfer data masuk dan keluar dari alat.

Proses pengukuran dilakukan dengan memberikan logika “00000101’ untuk RH dan ‘00000011’ untuk temperatur, lalu controller harus menunggu agar proses pengukuran selesai. Waktu yang dibutuhkan sekitar 500 ms untuk resolusi 14 bit.


(33)

3.5 Diagram Alir Pemrograman

Start

Inisialisasi Port

Reset Komunikasi Serial ke SHT-11

Set Komunikasi Serial ke SHT-11

Kirim Perintah untuk Membaca Suhu dan

Kelembaban

Baca Data SHT-11

Tampilkan ke Display

Sistem di Non-aktifkan

Stop ya

Tidak

Gambar 3.5 Diagram alir program Keterangan flowchart :

1. Pertama-tama program dirancang untuk inisialisasi port, inisilaisasi port berfungsi untuk mendefinisikan pin-pin I/O mikrokontroler yang akan digunakan dalam rangkaian.

2. Reset komunikasi serial 2 wire ke SHT-11. 3. Set komunikasi serial 2 Wire ke SHT-11.

4. Berikan perintah untuk membaca suhu dan kelembaban ke SHT-11. 5. Di baca penginderaan suhu dan kelembaban yang dikirim oleh SHT-11. 6. Tampilkan hasil pengukuran ke display ADC.


(34)

BAB 4

PENGUJIAN RANGKAIAN

4.1 Data Pengukuran pada laboratorium massa BSML Medan

Jumlah pengukuran

Alat ukur standar

(EXTECH INSTRUMENTS) Alat ukur uji

Suhu () Kelembaban (%) Suhu () Kelembaban (%)

1 20,4 45,9 26,07 44,5

2 20,3 45,6 25,86 46,6

3 20,7 46,8 25,57 47,4

4 20,2 46,5 25,55 46,1

5 20,9 45,3 25,40 46,3

4.2 Perhitungan Nilai Kesalahan Alat (Ralat) a) Pengukuran 1

%Ralat (suhu) = ������ ������� −����� ���

����� ������� �× 100%

=�20,4−26,07

20,4 �× 100%

= 27,79 %

%Ralat (kelembaban) = ������ ������� −����� ���

����� ������� �× 100%

=�45,9−44,5

45,9 �× 100%

= 3,05 %

b) Pengukuran 2

%Ralat (suhu) = ������ ������� −����� ���

����� ������� �× 100%

= �20,3−25,86

20,3 �× 100%

= 27,38 %

%Ralat (kelembaban) = ������ ������� −����� ���

����� ������� �× 100%

= �45,6−46,6

45,6 �× 100%

= 2.19 %

c) Pengukuran 3

%Ralat (suhu) = ������ ������� −����� ���

����� ������� �× 100%


(35)

= �20,7−25,57

20,7 �× 100%

= 23,52 %

%Ralat (kelembaban) = ������ ������� −����� ���

����� ������� �× 100%

= �46,8−47,4

46,8 �× 100%

= 1,28%

d) Pengukuran 4

%Ralat (suhu) = ������ ������� −����� ���

����� ������� �× 100%

=�20,2−25,55

20,2 �× 100%

= 26,41 %

%Ralat (kelembaban) = ������ ������� −����� ���

����� ������� �× 100%

=�46,5−46,1

46,5 �× 100%

= 0,86 %

e) Pengukuran 5

%Ralat (suhu) = ������ ������� −����� ���

��� ��������� �× 100%

=�20,9−25,40

20,9 �× 100%

= 21,53 %

%Ralat (kelembaban) = ������ ������� −����� ���

����� ������� �× 100%

=�45,3−46,3

45,3 �× 100%

= 2,21 %

4.3 Pengujian Rangkaian Atmega8

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


(36)

Gambar 4.1 Informasi Signature Mikrokontroller

Atmega menggunakan kristal dengan frekuensi 4 MHz, apabila ChipSignature sudah dikenali dengan baik dan dalam waktu singkat, bisa dikatakan rangkaian mikrokontroler bekerja dengan baik dengan mode ISP-nya.

4.4 Pengujian sensor SHT-11

Kaki Serial Clock Input (SCK) digunakan untuk mensinkronkan komunikasi diantaramikrokontroler dan SHT-11. Kaki Serial Data (DATA) yang merupakan tristate digunakan untuk mentransfer data masuk dan keluar dari alat. Proses pengukuran dilakukan dengan memberikan logika “00000101’ untuk RH dan ‘00000011’ untuk temperatur, lalu controller harus menunggu agar proses pengukuran selesai. Waktu yang dibutuhkan sekitar 500 ms untuk resolusi 14 bit

Gambar 4.2 Gambar SHT-11 ke mikrokontroller

Pengujian sensor menggunakan komunikasi 2 wire, komuniasi 2 wire ini berbeda dengan komunikasi serial I2C yang sering dijumpai pada modul sensor modern. SCK (serial clock) befungsi untuk clock kerja dari komunikasi, jadi clock komunikasi mikrokontroler harus sama


(37)

dengan SHT-11. Jalur DATA merupakan jalur yang digunakan untuk mengirim data. Data dapat dirubah ketika pulsa clock pada tepi pulsa turun dan data akan tetap valid (latch) pada tepi pulsa naik.

4.5 Pengujian LCD

Rangakaian LCD diuji dengan menampilkan karakter dengan perintah sebagai berikut : Cls

LCD “SUHU” Lowerline LCD “RH”

Perintah di atas menampilkan teks “SUHU” pada baris pertama dan “RH” pada baris kedua. Gambar 4.3 berikut adalah tampilan karakter hasil perintah dari LCD.

Gambar 4.3 Tampilan hasil dari LCD (Liquid Crystal Display)

4.6 Pengujian Bahasa Pemrograman #include <mega8.h> //crystal 8MHz #include <alcd.h>

#include <stdio.h> #include <delay.h> #include <stdlib.h > #include <math.h >

#define ADC_VREF_TYPE 0x00

unsigned int SUHU,Lembab,nilaisuhu,nilailembab,Cal; unsigned char error,checksum;

char inp; typedef union { unsigned int i; float f;

} value;

enum {TEMP,HUMI};

#define DATA_OUT PORTB.0 #define DATA_IN PINB.0 #define SCK PORTB.1 #define noACK 0 #define ACK 1 //adr command r/w


(38)

#define UKUR_SUHU 0x03 //000 0001 1 #define UKUR_HUMI 0x05 //000 0010 1 #define RESET 0x1e //000 1111 0

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

//Untuk menulis data ke SHT11

char tulis_SHT(unsigned char bytte) {

unsigned char i,error=0; DDRB = 0b00000011;

for (i=0x80;i>0;i/=2) //shift bit {

if (i & bytte) DATA_OUT=1; else DATA_OUT=0; SCK=1; //clk

delay_us(5); //delay 5 us SCK=0;

}

DATA_OUT=1;

DDRB = 0b00000010; // DATA Output SCK=1; //clk #9 ack

delay_us(2);

error=DATA_IN; //cek ack (DATA akan di pull down oleh SHT11) delay_us(2);

SCK=0;

return error; //cek jika ada error }

//Untuk membaca data dari SHT11 char baca_SHT(unsigned char ack) {

unsigned char i,val=0;

DDRB = 0b00000010; // DATA Input for (i=0x80;i>0;i/=2) //shift bit { SCK=1; //clk

delay_us(2);

if (DATA_IN) val=(val | i); //baca bit delay_us(2);

SCK=0; }

DDRB = 0b00000011; // DATA Output

DATA_OUT=!ack; //"ack==1" pull down DATA-Line SCK=1; //clk #9 ack

delay_us(5); //delay 5 us SCK=0; DATA_OUT=1; //DATA-line return val; } void start_SHT(void) {

DDRB = 0b00000011; // DATA Output


(39)

DATA_OUT=1; SCK=0; //Inisial state delay_us(2); SCK=1; delay_us(2); DATA_OUT=0; delay_us(2); SCK=0; delay_us(5); SCK=1; delay_us(2); DATA_OUT=1; delay_us(2); SCK=0;

DDRB = 0b00000010; // DATA Input }

void reset_SHT(void) {

unsigned char i;

DDRB = 0b00000011; // DATA output DATA_OUT=1; SCK=0; //Inisial state for(i=0;i<9;i++) //9 SCK cycle { SCK=1;

delay_us(1); SCK=0;

delay_us(1); }

start_SHT(); //start transmisi data DDRB = 0b00000010; // DATA Input }

//Mengecek status register sensor

char StatusReg_SHT(unsigned char *p_value, unsigned char *p_checksum) {

unsigned char error=0;

start_SHT(); //start transmisi data

error=tulis_SHT(STATUS_REG_R); //mengirim command ke sensor *p_value=baca_SHT(ACK); //baca status register (8-bit) *p_checksum=baca_SHT(noACK); //baca checksum (8-bit) return error; //error=1 jika tidak ada respon dari sensor }

//Membaca data hasil pengukuran

char ukur_SHT(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode)

{

unsigned error=0; unsigned int temp=0;

start_SHT(); //start transmisi data

switch(mode){ //mengirim command ke sensor case TEMP : error+=tulis_SHT(UKUR_SUHU); break; case HUMI : error+=tulis_SHT(UKUR_HUMI); break; default : break;

}

DDRB = 0b00000010; // DATA input while (1)

{

if(DATA_IN==0) break;

//tunggu hingga sensor selesai melakukan pengukuran }

if(DATA_IN) error+=1;

// jika sudah timeout (2 detik)

switch(mode){ //mengirim command ke sensor case TEMP : temp=0;


(40)

nilaisuhu=temp; temp=0;

temp=baca_SHT(ACK); nilaisuhu|=temp; break;

case HUMI : temp=0; temp=baca_SHT(ACK); temp<<=8; nilailembab=temp; temp=0; temp=baca_SHT(ACK); nilailembab|=temp; break;

default : break; }

*p_checksum =baca_SHT(noACK); //baca checksum return error; } void main(void) { value humi_val,temp_val; PORTB=0x00; DDRB=0x03; PORTC=0x00; DDRC=0xC0; PORTD=0x00; DDRD=0x00;

// ADC initialization

ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x82; lcd_init(16); lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Pengukuran Suhu"); lcd_gotoxy(0,1);

lcd_putsf(" dan Kelembaban"); delay_ms(1000); lcd_init(16); lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("JESSY R.TARIGAN"); lcd_gotoxy(0,1); lcd_putsf("==============="); delay_ms(1000); lcd_init(16); lcd_clear(); lcd_gotoxy(0,0);

lcd_putsf(" METROLOGY USU"); lcd_gotoxy(0,1); lcd_putsf("================"); delay_ms(1000); reset_SHT(); while (1) { delay_ms(500); error=0;

error+=ukur_SHT((unsigned char*)( &humi_val.i),&checksum,HUMI); //mengukur kelembaban

error+=ukur_SHT((unsigned char*) (&temp_val.i),&checksum,TEMP); //mengukur suhu


(41)

error += StatusReg_SHT(&inp, &checksum); if(error!=0)

{

reset_SHT(); //jika ada error, reset koneksi putsf("Error");

} else {

SUHU = nilaisuhu*100/215; lcd_gotoxy(0,0);

lcd_putsf(" Suhu : \xdfC"); lcd_gotoxy(8,0);

lcd_putchar(SUHU/100 %10 + 0x30); lcd_putchar(SUHU/10 %10 + 0x30); lcd_putchar('.');

lcd_putchar(SUHU %10 + 0x30); Cal = (read_adc(5)/10);

Lembab = nilailembab*10/Cal; lcd_gotoxy(0,1);

lcd_putsf(" RH : % "); lcd_gotoxy(8,1);

lcd_putchar(Lembab/100 %10 + 0x30); lcd_putchar(Lembab/10 %10 + 0x30); lcd_putchar('.');

lcd_putchar(Lembab %10 + 0x30); delay_ms(1000);

delay_ms(1000); }

} }

4.7 Pengujian secara keseluruhan

Setelah seluruh rangkaian dihubungkan menggunakan kabel pelangi sesuai dengan yang telah ditetapkan, lalu diberi arus 12 volt melalui adaptor, keluaran dari adaptor berupa tegangan sebesar 5 volt diteruskan ke rangkaian system minimum dan rangkaian modul SHT-11. Rangkaian system minimum dibuat dalam keadaan ON. Modul SHT-11 dihubungkan ke mikrokontroler Atmega 8 melalui Port B pin 7 untuk data dan Port B pin 6 untuk serial clock. Modul LCD melalui Port D pin 0 sampai 5. Pengujian rangkaian dilalukan dengan cara menghidupkan adaptor untuk seluruh rangakaian dan kemudian display LCD menampilkan suhu dan kelembaban yang telah di ukur oleh SHT-11 dan dikirimkan secara serial.

Pada LCD akan ditampilkan hasil pengukuran suhu dan kelembaban yang telah diukur. Hasil pengukuran suhu diperoleh dalam satuan Derajat Celcius (oC) dan hasil pengukuran kelembaban di peroleh dalam satuan Persen (%). Setelah hasil pengukuran ditampilkan pada LCD berarti alat pengukur suhu dan kelembaban ini telah sukses menjalankan seluruh operasi di atas, dan dapat dinyatakan kalau rangkaian bekerja dengan baik.


(42)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari evaluasi hasil kerja alat dapat diambil beberapa kesimpulan dalam penelitian ini, yaitu : 1) Karakteristik dari sensor SHT-11 yaitu :

o Mengukur suhu dari -40 oC hingga +123,8 o C, atau dari -40 oF hingga +254,9 o

o Memiliki ketetapan (akurasi) pengukuran suhu hingga ± 0,5

F dan kelembaban relatif dari 0 % RH hingga 1 % RH.

o

C pada suhu 25 o

o Memiliki atarmuka serial synchronous 2-wire, bukan 12 C.

C dan ketepatan (akurasi) pengukuran kelembaban relatif hingga ± 3,5 % RH.

o Jalur antarmuka telah dilengkapi dengan rangkaian pencegah kondisi sensor lock-up o Membutuhkan catu daya +5V DC dengan konsumsi daya rendah 30 ∝ W.

2) Penggunaan SHT-11 pada kondisi ekstrim tidak dianjurkan berdasarkan datasheet yang ada, karena error pengukuran semakin besar.

3) Adapun cara kerja Sensor SHT-11 tersebut, yaitu; Kaki Serial Clock Input (SCK) digunakan untuk mensinkronkan komunikasi diantara mikrokontroller dan SHTxx. Kaki Serial Data (DATA) yang merupakan tristate digunakan untuk mentransfer data masuk dan keluar dari alat. Proses pengukuran dilakukan dengan memberikan logika ‘00000101’ untuk RH dan ‘00000011’ untuk temperatur, lalu controller harus menunggu agar proses pengukuran selesai.

5.2Saran

1. Dengan menambah jenis sensor yang lain, dan juga menambah rancangan sistem lainnya maka pengaplikasian alat ukur ini dapat lebih dikembangkan

2. Untuk meningkatkan sistem kehandalan pengukuran suhu dan kelembaban dari kerja alat sensor SHT-11, akan lebih baik apabila melakukan perbandingan hasil pengukuran dengan alat ukur suhu dan kelembaban dengan sensor yang lain.

3. Disarankan untuk membuat rangkaian lebih baik dan program yang lebih spesifik sehingga dapat di aplikasikan ke penggunaan yang lain.


(43)

DAFTAR PUSTAKA

Halliday, Resnick. 1991. Fisika Jilid 1 . Jakarta: Erlangga

diakses pada : 13 Juni 2015

diakses pada : 13 Juni 2015

diakses pada : 14 Juni 2015

diakses pada : 14 Juni 2015

diakses pada : 15 Juni 2015

diakses pada : 15 Juni 2015


(44)

Gambar rangkaian lengkap alat ukur suhu dan kelembaban menggunakan sensor SHT-11.


(1)

DATA_OUT=1; SCK=0; //Inisial state delay_us(2); SCK=1; delay_us(2); DATA_OUT=0; delay_us(2); SCK=0; delay_us(5); SCK=1; delay_us(2); DATA_OUT=1; delay_us(2); SCK=0;

DDRB = 0b00000010; // DATA Input }

void reset_SHT(void) {

unsigned char i;

DDRB = 0b00000011; // DATA output DATA_OUT=1; SCK=0; //Inisial state for(i=0;i<9;i++) //9 SCK cycle { SCK=1;

delay_us(1); SCK=0;

delay_us(1); }

start_SHT(); //start transmisi data DDRB = 0b00000010; // DATA Input }

//Mengecek status register sensor

char StatusReg_SHT(unsigned char *p_value, unsigned char *p_checksum) {

unsigned char error=0;

start_SHT(); //start transmisi data

error=tulis_SHT(STATUS_REG_R); //mengirim command ke sensor *p_value=baca_SHT(ACK); //baca status register (8-bit) *p_checksum=baca_SHT(noACK); //baca checksum (8-bit) return error; //error=1 jika tidak ada respon dari sensor }

//Membaca data hasil pengukuran

char ukur_SHT(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode)

{

unsigned error=0; unsigned int temp=0;

start_SHT(); //start transmisi data

switch(mode){ //mengirim command ke sensor case TEMP : error+=tulis_SHT(UKUR_SUHU); break; case HUMI : error+=tulis_SHT(UKUR_HUMI); break; default : break;

}

DDRB = 0b00000010; // DATA input while (1)

{

if(DATA_IN==0) break;

//tunggu hingga sensor selesai melakukan pengukuran }

if(DATA_IN) error+=1;

// jika sudah timeout (2 detik)

switch(mode){ //mengirim command ke sensor case TEMP : temp=0;

temp=baca_SHT(ACK); temp<<=8;


(2)

nilaisuhu=temp; temp=0;

temp=baca_SHT(ACK); nilaisuhu|=temp; break;

case HUMI : temp=0; temp=baca_SHT(ACK); temp<<=8; nilailembab=temp; temp=0; temp=baca_SHT(ACK); nilailembab|=temp; break;

default : break; }

*p_checksum =baca_SHT(noACK); //baca checksum return error; } void main(void) { value humi_val,temp_val; PORTB=0x00; DDRB=0x03; PORTC=0x00; DDRC=0xC0; PORTD=0x00; DDRD=0x00;

// ADC initialization

ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x82; lcd_init(16); lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Pengukuran Suhu"); lcd_gotoxy(0,1);

lcd_putsf(" dan Kelembaban"); delay_ms(1000); lcd_init(16); lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("JESSY R.TARIGAN"); lcd_gotoxy(0,1); lcd_putsf("==============="); delay_ms(1000); lcd_init(16); lcd_clear(); lcd_gotoxy(0,0);

lcd_putsf(" METROLOGY USU"); lcd_gotoxy(0,1); lcd_putsf("================"); delay_ms(1000); reset_SHT(); while (1) { delay_ms(500); error=0;

error+=ukur_SHT((unsigned char*)( &humi_val.i),&checksum,HUMI); //mengukur kelembaban

error+=ukur_SHT((unsigned char*) (&temp_val.i),&checksum,TEMP); //mengukur suhu


(3)

error += StatusReg_SHT(&inp, &checksum); if(error!=0)

{

reset_SHT(); //jika ada error, reset koneksi putsf("Error");

} else {

SUHU = nilaisuhu*100/215; lcd_gotoxy(0,0);

lcd_putsf(" Suhu : \xdfC"); lcd_gotoxy(8,0);

lcd_putchar(SUHU/100 %10 + 0x30); lcd_putchar(SUHU/10 %10 + 0x30); lcd_putchar('.');

lcd_putchar(SUHU %10 + 0x30); Cal = (read_adc(5)/10);

Lembab = nilailembab*10/Cal; lcd_gotoxy(0,1);

lcd_putsf(" RH : % "); lcd_gotoxy(8,1);

lcd_putchar(Lembab/100 %10 + 0x30); lcd_putchar(Lembab/10 %10 + 0x30); lcd_putchar('.');

lcd_putchar(Lembab %10 + 0x30); delay_ms(1000);

delay_ms(1000); }

} }

4.7

Pengujian secara keseluruhan

Setelah seluruh rangkaian dihubungkan menggunakan kabel pelangi sesuai dengan yang telah

ditetapkan, lalu diberi arus 12 volt melalui adaptor, keluaran dari adaptor berupa tegangan

sebesar 5 volt diteruskan ke rangkaian

system minimum dan rangkaian modul SHT-11.

Rangkaian system minimum dibuat dalam keadaan ON. Modul SHT-11 dihubungkan ke

mikrokontroler Atmega 8 melalui Port B pin 7 untuk data dan Port B pin 6 untuk serial clock.

Modul LCD melalui Port D pin 0 sampai 5. Pengujian rangkaian dilalukan dengan cara

menghidupkan adaptor untuk seluruh rangakaian dan kemudian

display

LCD menampilkan

suhu dan kelembaban yang telah di ukur oleh SHT-11 dan dikirimkan secara serial.

Pada LCD akan ditampilkan hasil pengukuran suhu dan kelembaban yang telah

diukur. Hasil pengukuran suhu diperoleh dalam satuan

Derajat Celcius

(

o

C) dan hasil

pengukuran kelembaban di peroleh dalam satuan Persen (%). Setelah hasil pengukuran

ditampilkan pada LCD berarti alat pengukur suhu dan kelembaban ini telah sukses

menjalankan seluruh operasi di atas, dan dapat dinyatakan kalau rangkaian bekerja dengan

baik.


(4)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari evaluasi hasil kerja alat dapat diambil beberapa kesimpulan dalam penelitian ini, yaitu :

1)

Karakteristik dari sensor SHT-11 yaitu :

o

Mengukur suhu dari -40

o

C hingga +123,8

o

C, atau dari -40

o

F hingga +254,9

o

o

Memiliki ketetapan (akurasi) pengukuran suhu hingga

±

0,5

F dan

kelembaban relatif dari 0 % RH hingga 1 % RH.

o

C pada suhu 25

o

o

Memiliki atarmuka serial

synchronous

2-wire, bukan 12 C.

C dan

ketepatan (akurasi) pengukuran kelembaban relatif hingga

±

3,5 % RH.

o

Jalur antarmuka telah dilengkapi dengan rangkaian pencegah kondisi sensor

lock-up

o

Membutuhkan catu daya +5V DC dengan konsumsi daya rendah 30

W.

2)

Penggunaan SHT-11 pada kondisi ekstrim tidak dianjurkan berdasarkan datasheet yang

ada, karena error pengukuran semakin besar.

3)

Adapun cara kerja Sensor SHT-11 tersebut, yaitu; Kaki Serial Clock Input (SCK)

digunakan untuk mensinkronkan komunikasi diantara mikrokontroller dan SHTxx. Kaki

Serial Data (DATA) yang merupakan tristate digunakan untuk mentransfer data masuk

dan keluar dari alat. Proses pengukuran dilakukan dengan memberikan logika ‘00000101’

untuk RH dan ‘00000011’ untuk temperatur, lalu controller harus menunggu agar proses

pengukuran selesai.

5.2

Saran

1.

Dengan menambah jenis sensor yang lain, dan juga menambah rancangan sistem lainnya

maka pengaplikasian alat ukur ini dapat lebih dikembangkan

2.

Untuk meningkatkan sistem kehandalan pengukuran suhu dan kelembaban dari kerja alat

sensor SHT-11, akan lebih baik apabila melakukan perbandingan hasil pengukuran

dengan alat ukur suhu dan kelembaban dengan sensor yang lain.

3.

Disarankan untuk membuat rangkaian lebih baik dan program yang lebih spesifik

sehingga dapat di aplikasikan ke penggunaan yang lain.


(5)

DAFTAR PUSTAKA

Halliday, Resnick. 1991

. Fisika Jilid 1 .

Jakarta: Erlangga

diakses pada : 13 Juni 2015

diakses pada : 13 Juni 2015

diakses pada : 14 Juni 2015

diakses pada : 14 Juni 2015

diakses pada : 15 Juni 2015

diakses pada : 15 Juni 2015


(6)

Gambar rangkaian lengkap alat ukur suhu dan kelembaban menggunakan sensor

SHT-11.