Perancangan Tensimeter Digital Berbasis Atmega 8535

(1)

“PERANCANGAN TENSIMETER DIGITAL BERBASIS ATMEGA 8535”

PROJEK AKHIR II

Firman Utama Kacaribu

112411013

PROGRAM STUDI DIPLOMA III METROLOGI DAN INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2014


(2)

PERSETUJUAN

Yang bertanda tangan di bawah ini, menyatakan bahwa Projek Akhir II dari:

FIRMAN UTAMA KACARIBU NIM: 112411013

Dengan judul:

“PERANCANGAN TENSIMETER DIGITAL BERBASIS ATMEGA 8535”

telah selesai diperiksa dan dinyatakan selesai, serta dapat diajukan dalam sidang pertanggungjawaban laporan Projek Akhir II.

Diluluskan di Medan, Juli 2014

Ketua Program Studi Dosen Pembimbing

D3 Metrologi dan Instrumentasi Projek Akhir II

Dr. Diana Alemin Barus M,Sc_

19660729 199203 2 002 19570503 198303 1 003


(3)

PERNYATAAN

“PERANCANGAN TENSIMETER DIGITAL BERBASIS ATMEGA 8535”

TUGAS AKHIR

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

Medan, Juli 2014

FIRMAN UTAMA KACARIBU

112411013


(4)

ABSTRAK

Telah dibuat suatu peralatan Projek Akhir II dengan berjudul “ Perancangan Tensimeter Digital Berbasis ATMega8535”. Alat ini berfungsi mengukur mengukur tekanan darah secara digital dengan menggunakan sensor px005gd .Prinsip kerjanya sensor tekanan dari alat pompa udara nanti akan menekan lempeng bagian dalam sensor yang akan merubah resistansi dalam sensor jika diberikan tegangan maka vout akan berubah sesuai dengan nilai resistansi sensor serta pembacaan hasil pengukuran yang diolah dengan menggunakan mikrokontroler ATMega8535 sebagai unit pemproses utama. Alat ini sangat portable serta tampilan secara langsung melalui LCD.


(5)

PENGHARGAAN

Alhamdulillahirobbil’alamin,

Segala puji dan syukur bagi Allah Subhanahuwata’ala yang telah melimpahkan barokah, rahmat, hidayah-Nya dan menganugerahkan kemudahan serta kelancaran sehingga penulis dapat menyelesaikan penulisan tugas proyek ini sesuai waktu yang telah ditetapkan. Sholawat dan salam semoga senantiasa tercurahkan kepada Rasulullah Sallallahu’alaihiwassalam sang pembawa petunjuk dan selalu menjadi inspirasi dan teladan bagi penulis

Tugas Akhir ini disusun untuk melengkapi persyaratan dalam mencapai gelar Ahli Madya pada Program Studi Diploma Tiga (III) Metrologi dan Instrumentasi Departemen Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

Adapun judul Projek Akhir II ini adalah

“PERANCANGAN TENSIMETER DIGITAL BERBASIS ATMEGA 8535”

Penulis menyadari bahwa tersusunnya Tugas Akhir ini dari Do’a, perhatian, bimbingan, motivasi dan dukungan berbagai pihak, sehingga dengan keikhlasan dan kerendahan hati pada kesempatan ini penulis mengucapkan terima kasih yang sebesar-besarnya kepada :

1. Kedua orang tua penulis dan serta saudara kandung yang telah memberikan bantuan moril maupun materil, semangat dan do’a yang begitu besar kepada penulis.

2. Bapak Dr. Sutarman, M.Sc, selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

3. Ibu Dr. Diana Alemin Barus M.Sc selaku Ketua Program Studi D3 Metrologi dan Instrumentasi Fakultas Matematika Dan Ilmu Pengetahuan Alam .

4. Bapak Drs. Aditia Warman,M.Si selaku pembimbing Projek Akhir II Program Studi D3 Metrologi dan Instrumentasi Fakultas Matematika Dan Ilmu Pengetahuan Alam.


(6)

5. Teman-teman mahasiswa/i Program Studi D-III Metrologi dan Instrumentasi FMIPA USU Angkatan 2011 khususnya Pratiwi Indayani, Septia Mega Rasinta Br.Ginting, Raihan Jannah, Wirda Harisa Hasibuan dan Hamdan Asmi yang telah memberi semangat dan bantuan kepada penulis selama perkuliahan ini.

6. Seluruh Dosen dan Karyawan Program Studi Diploma Tiga (III) Metrologi dan Instrumentasi Departemen Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

Penulis menyadari sepenuhnya bahwa dalam pembuatan Tugas Akhir ini masih jauh dari kesempurnaan, untuk itu penulis mengharapkan kritik dan saran dari pembaca yang bersifat ny membangun dalam penyempurnaan Tugas Proyek ini.

Semoga laporan ini menjadi ibadah yang baik bagi penulis dan menjadi ilmu yang bermanfaat bagi pembaca.

Amin Yaa Rabbal’alamin

Medan, Juli 2014


(7)

ABSTRAK

Telah dibuat suatu peralatan Projek Akhir II dengan berjudul “ Perancangan Tensimeter Digital Berbasis ATMega8535”. Alat ini berfungsi mengukur mengukur tekanan darah secara digital dengan menggunakan sensor px005gd .Prinsip kerjanya sensor tekanan dari alat pompa udara nanti akan menekan lempeng bagian dalam sensor yang akan merubah resistansi dalam sensor jika diberikan tegangan maka vout akan berubah sesuai dengan nilai resistansi sensor serta pembacaan hasil pengukuran yang diolah dengan menggunakan mikrokontroler ATMega8535 sebagai unit pemproses utama. Alat ini sangat portable serta tampilan secara langsung melalui LCD.


(8)

BAB I PENDAHULUAN

1.1 Latar Belakang

Metrologi merupakan ilmu ukur mengukur secara luas.Subyek pokok metrologi pada dasarnya adalah satuan ukuran, standar ukuran, alat ukur dan metode pengukuran. Metrologi juga mencakup pada bidang kesehatan salah satunya yaitu tensimeter. Tensimeter adalah alatpengukuran tekanan darah sering juga disebut sphygmomanometer.Sejak itu, sphygmomanometer air raksa telah digunakan sebagai standar emas pengukuran tekanan daraholeh para dokter. Tensimeter atau sphygmomanometer pada awalnya menggunakan raksa sebagai pengisi alat ukur ini. Sekarang, kesadaran akan masalah konservasi lingkungan meningkat dan penggunaan dari air raksa telah menjadi perhatian seluruh dunia. Sejak itu,sphygmomanometer air raksa telah digunakan sebagai standar emas pengukuran tekanan darah oleh para dokter. Tensimeter atau sphygmomanometer pada awalnya menggunakan raksa sebagai pengisi alat ukur ini. Sekarang, kesadaran akan masalah konservasi lingkungan meningkat dan penggunaan dari air raksa telah menjadi perhatian seluruh dunia.

Tensimeter terbagi dua yaitu tensimeter analog dan tensimeter digital. Tensimeter analog adalah tensimeter yang cara penggunaannya dengan metode manual. Jenis tensimeter ini lebih umum digunakan oleh tenaga medis. Tensimeter analog berdasarkan bahan indikatornya, ada dua jenis yaitu tensimeter raksa dan tensimeter non raksa. Tensimeter digital adalahalat ukur kesehatan yang berfugsi untuk mengukur tekanan darah yang bekerja secara digital (otomatis). Tensimeter digital memiliki beberapa keunggulan, yaitu : hasil pengukuran langsung ditampilkan pada layar digital, alat ini biasanya dilengkapi juga dengan beragam fitur lain yang bermanfaat seperti grafik tekanan darah, tidak perlu pelatihan khusus untuk menggunakannya karena cara penggunaan tidak jauh beda dengan tensimeter analog, dan tensimeter digital aman bagi kesehatan karena tidak menggunakan air raksa yang berisiko radiasi logam berat. Namun demikian, tesimeter digital juga memiliki kelemahan yaitu tingkat akurasi pengukuran lebih redah dari pada tensimeter raksa. Akurasi pengukuran pada tensimeter digital ini dipengaruhi oleh banyak faktor diantaranya usia pemakaian (semakin lama pemakaian semakin menurun tingkat akurasi) dan teknologi produk. Oleh karena itu


(9)

kalibrasi secara berkala perlu dilakukan dan untuk proses kalibrasi digunakan tensimeter air raksa.

1.2 Maksud dan Tujuan

Maksud dari penulisan projek akhir II ini antara lain untuk mempermudah dan mengetahui hasil dari pengukuran tensimeter digital yang dilakukan secara otomatis. Tujuandaripenelitianiniadalahmerancangdanmembuatsuatuinstrumentasiyaitu:

1. Mengetahui cara kerja ATMEGA 8535 serta pemrogramannya. 2. Mengetahui sistem kerja dari sensor pressure gauge (tekanan udara)

3. Memenuhi syarat untuk menyelesaikan mata kuliah Projek Akhir dan menyelesaikan pendidikan di program studi D-III Metrologi dan Instrumentasi FMIPA USU.

1.3 Identifikasi Masalah

Berdasarkan latar belakang tersebut maka dapat dirumuskan permasalahan sebagai berikut:

1. Bagaimana sistem kerja dari sensor pressure gauge (tekanan udara) 2. Bagaimana merancang dan membuat suatu tesimeter digital

3. Bagaimana karakteristik dari ATMEGA 8535

1.4 Batasan Masalah

Batasan masalah dari projek akhir ini memiliki cakupan yang luas antar lain, membahas sistem kerja karakteristik sensor pressure gauge (tekanan udara)

1.6 Metodologi Penelitian

Metodologi yang digunakan dalam penulisan tugas akhir ini adalah sebagai berikut: a. Metode pustaka

Mencari data-data yang berkaitan dengan alat yang akan dibuat, dari literatur buku-buku, jurnal-jurnal, majalah-majalah elektronika dan situs-situs internet untuk mempelajari hal-hal sebagai berikut:

1. Karakterisitik ATMEGA8535 termasuk cara pemrogramannya. 2. Karakterisitik sensor pressure gauge (tekanan udara)

b. Metode perencanaan dan pembuatan alat


(10)

1. Mencoba-coba alat atau rangkaian sesuai dengan data-data yang telah diperoleh sesuai spesifikasi alat yang diinginkan.

2. Melaksanakan perencanaan tiap-tiap blok diagram dari hasil coba-coba yang dianggap rangkaian paling efektif yang kemudian digabungkan sehingga menjadi satu sistem.

c. Mempersiapkan komponen yang diperlukan antara lain sebagai berikut:

1. ATMEGA 8535 sebagai pengendali sistem. Komponen ini dipakai karena mudah diperoleh dipasaran dengan harga yang relatif murah.

2. Sensor Pressure Gauge (tekanan udara)

3. LCD sebagai penampil data yang telah dihasilkan

d. Pembuatan Alat

Perakitan tiap-tiap blok dan penggabungan tiap-tiap blok menjadi satu sistem.

e. Pengujian Alat

pengujian alat dilakukan untuk mengetahui apakah sistem yang dibuat telah bekerja dengan baik. Pengujian dilakukan pada tiap-tiap blok, kemudian dilakukan pengujian sistem secara keseluruhan.

f. Kalibrasi alat

Membandingkan hasil pengukuran dengan alat ukur standar melalui beberapa tahap.

g. Konsultasi dengan dosen pembimbing serta mencari sumber informasi yang berhubungan dengan pembuatan tugas akhir.

1.7 Tinjauan Pustaka

Studi pustaka dimaksudkan untuk mendapatkan landasan teori, data-data atau informasi sebagai bahan acuan dalam melakukan perencanaan, percobaan, pembuatan dan penyusunan tugas akhir.

1.8 Sistematika Penulisan


(11)

BAB 1 : PENDAHULUAN

Bab iniakanmembahaslatar belakang projek akhir, identifikasi masalah, batasan masalah, maksud dan tujuan, metode penelitian, tinjauan pustaka, dan sistematika penulisan.

BAB 2 : LANDASAN TEORI

Berisi penjelasan dasar teori mengenai konsep yang digunakan dalam pembuatan tensimeter digital.

BAB 3 : ANALISIS DAN PERANCANGAN SISTEM

Akan dibahas secara detail tentang perancangan konstruksi alat, serta program untuk mengolah data dari masukan sensor pressure gauge (tekanan udara) , dan penampilannya ke LCD.

BAB 4 : : PENGUJIAN SISTEM DAN PROGRAM

Padababini berisi uraian pengertian implementasi sistem,komponendalam implementasi sistem, dan instalasi pada sistem projek.

BAB 5 : KESIMPULAN DAN SARAN

Sebagai bab terakhir penulis akan menguraikan beberapa kesimpulan dari uraian bab-bab sebelumnya, dan penulis akan berusaha memberikan saran yang mungkin bermanfaat.


(12)

BAB II

LANDASAN TEORI

2.1 Sensor Pressure Gauge

Sensor Tekanan adalah sensor untuk mengukur tekanan suatu zat. Tekanan (p) adalah satuan fisika untuk menyatakan gaya (F) per satuan luas (A). Satuan tekanan sering digunakan untuk mengukur kekuatan dari suatu cairan atau gas.

Satuan tekanan dapat dihubungkan dengan satuan volume (isi) dan suhu. Semakin tinggi tekanan di dalam suatu tempat dengan isi yang sama, maka suhu akan semakin tinggi. Hal ini dapat digunakan untuk menjelaskan mengapa suhu di pegunungan lebih rendah dari pada di dataran rendah, karena di dataran rendah tekanan lebih tinggi.Sensor tekanan sebenarnya adalah untuk mengubah tekanan menjadi induktasi.

tekanan pada kantung menyebabkan perubahan posisi inti kumparan sehingga menyebabkan perubahan induksi magnetic pada kumparan. Kumparan yang digunakan adalah kumparan CT ( center tap). Dengan demikian, apabila inti mengalami pergeseran, maka induktasi pada salah satu kumparan bertambah, namun menyebabkan kumparan yang lain berkurang. Untuk mengukur tekanan statis atau tinggi suatu cairan dapat ditentukan dengan rumus (P = d.g.h). Untuk keterangannya, (p) adalah tekanan statis (pascal) sementara (D) adalah kepadatan cairan (km/m3), lalu (G) adalah konstanta gravitasi ( 9,81 m/s2) dan (H) adalah tinggi cairan (M).

Prinsip kerja dari sensor tekanan adalah mengubah tegangan mekanik menjadi listrik. Kurang ketegangan didasarkan pada prinsip bahwa tahanan pengantar berubah dengan panjang dan luas penampang. Daya yang diberikan pada kawat itu sendiri menyebabkan kawat menjadi bengkok. Sehingga menyebabkan ukuran kawat berubah dan mengubah ketahananya. Ada beberapa fungsi lain dari sensor tekanan. Applikasi sensor tekanan adalah sebagai pemantau cuaca yang sering berubah-ubah. Digunakan dipesawat terbang untuk mengukur tekanan angina yang berada didalam band pesawat terbang, lalu yang terakhir adalah pengukur tekanan udara pada ruangan tertutup. Tiga fungsi ini adalah fungsi umum dari sendor tekanan yang sering ditemui oleh masyarakat namun masyarakat belum mengetahui cara kerja dari pengukur tekanan tersebut.


(13)

Gambar 2.1 Sensor Presserure Gauge tipe px005gd Tabel 2.1 Pin pada Sensor Presseure Gauge

Fitur pada SensorPresserure Gauge tipe px005gd yaitu : a. Elemensolid state, keandalan yang tinggi.

b. Ukurankompak, mudah untuk membentuksatu set lengkapketikasedang diinstal. c. sensitivitas tinggi.

d. Standardkisaran tekanan: 0-40kPa.


(14)

Tabel 2.1 parameter yangdiukur dalampower supply5V

Catatan:

a. Data ujiberdasarkan1,0mAsumber konstan-saat ini. Pengujian suhu lingkunganadalah 5~40℃. Kelembabanlingkunganpengujianadalah ≤90%. b. Yangmengujisuhu lingkunganadalah5~40℃. Thepengujianlingkungan

kelembaban≤90%.

c. Perhitungantergantung padalinearendpoint.

2.2 Mikrokontroler Atmega8535

Beberapa tahun terakhir, mikrokontroler sangat banyak digunakan terutama dalam pengontrolan robot. Seiring perkembangan elektronika, mikrokontroler dibuat semakin kompak dengan bahasa pemrograman yang juga ikut berubah. Salah satunya adalah mikrokontroler AVR (Alf and Vegard’s Risc processor) ATmega8535 yang menggunakan teknologi RISC (Reduce Instruction Set Computing) dimana program berjalan lebih cepat karena hanya membutuhkan satu siklus clock untuk mengeksekusi satu instruksi program. Secara umum, AVR dapat dikelompokkan menjadi 4 kelas, yaitu kelas ATtiny, keluarga AT90Sxx, keluarga ATmega, dan AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama.

Mikrokontroler AVR ATmega8535 memiliki fitur yang cukup lengkap. Mikrokontroler AVR ATmega8535 telah dilengkapi dengan ADC internal, EEPROM internal,


(15)

Timer/Counter, PWM, analog comparator, dll (M.Ary Heryanto, 2008). Sehingga dengan fasilitas yang lengkap ini memungkinkan kita belajar mikrokontroler keluarga AVR dengan lebih mudah dan efisien, serta dapat mengembangkan kreativitas penggunaan mikrokontroler ATmega8535. Fitur-fitur yang dimiliki oleh mikrokontroler ATmega8535 adalah sebagai berikut:

1. Saluran I/O sebanyak 32 buah, yaitu port A, port B, port C, dan port D. 2. ADC internal sebanyak 8 saluran.

3. Tiga buah Timer/Counter dengan kemampuan pembandingan. 4. CPU yang terdiri atas 32 buah register.

5. SRAM sebesar 512 byte.

6. Memori Flash sebesar 8 kb dengan kemampuan Read While Write. 7. Port antarmuka SPI

8. EEPROM sebesar 512 byte yang dapat diprogram saat operasi. 9. Antarmuka komparator analog.

10. Port USART untuk komunikasi serial.

11. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz. 12. Dan lain-lainnya.

2.2.1 Konstruksi ATmega8535

Mikrokontroler ATmega8535 memiliki 3 jenis memori, yaitu memori program, memori data dan memori EEPROM. Ketiganya memiliki ruang sendiri dan terpisah.

a. Memori program

ATmega8535 memiliki kapasitas memori progam sebesar 8 Kbyte yang terpetakan dari alamat 0000h – 0FFFh dimana masing-masing alamat memiliki lebar data 16 bit. Memori program ini terbagi menjadi 2 bagian yaitu bagian program boot dan bagian program aplikasi.

b. Memori data

ATmega8535 memiliki kapasitas memori data sebesar 608 byte yang terbagi menjadi 3 bagian yaitu register serba guna, register I/O dan SRAM. ATmega8535 memiliki 32 byte register serba guna, 64 byte register I/O yang dapat diakses sebagai bagian dari memori RAM (menggunakan instuksi LD atau ST) atau dapat juga diakses sebagai I/O (menggunakan instruksi IN atau OUT), dan 512 byte digunakan untuk memori data SRAM.


(16)

ATmega8535 memiliki memori EEPROM sebesar 512 byte yang terpisah dari memori program maupun memori data. Memori EEPROM ini hanya dapat diakses dengan menggunakan register-register I/O yaitu register EEPROM Address, register EEPROM Data, dan register EEPROM Control. Untuk mengakses memori EEPROM ini diperlakukan seperti mengakses data eksternal, sehingga waktu eksekusinya relatif lebih lama bila dibandingkan dengan mengakses data dari SRAM.

ATmega8535 merupakan tipe AVR yang telah dilengkapi dengan 8 saluran ADC internal dengan fidelitas 10 bit. Dalam mode operasinya, ADC ATmega8535 dapat dikonfigurasi, baik secara single ended input maupun differential input. Selain itu, ADC ATmega8535 memiliki konfigurasi pewaktuan, tegangan referensi, mode operasi, dan kemampuan filter derau yang amat fleksibel, sehingga dengan mudah disesuaikan dengan kebutuhan ADC itu sendiri.

ATmega8535 memiliki 3 modul timer yang terdiri dari 2 buah timer/counter 8 bit dan 1 buah timer/counter 16 bit. Ketiga modul timer/counter ini dapat diatur dalam mode yang berbeda secara individu dan tidak saling mempengaruhi satu sama lain. Selain itu, semua timer/counter juga dapat difungsikan sebagai sumber interupsi. Masing-masing timer/counter ini memiliki register tertentu yang digunakan untuk mengatur mode dan cara kerjanya.

Serial Peripheral Interface (SPI) merupakan salah satu mode komunikasi serial syncrhronous kecepatan tinggi yang dimiliki oleh ATmega8535. Universal Syncrhronous and Asyncrhronous Serial Receiver and Transmitter (USART) juga merupakan salah satu mode komunikasi serial yang dimiliki oleh ATmega8535. USART merupakan komunikasi yang memiliki fleksibilitas tinggi, yang dapat digunakan untuk melakukan transfer data baik antar mikrokontroler maupun dengan modul-modul eksternal termasuk PC yang memiliki fitur UART.

USART memungkinkan transmisi data baik secara syncrhronous maupun asyncrhronous, sehingga dengan memiliki USART pasti kompatibel dengan UART. Pada ATmega8535, secara umum pengaturan mode syncrhronous maupun asyncrhronous adalah sama. Perbedaannya hanyalah terletak pada sumber clock saja.Jika pada mode asyncrhronous

masing-masing peripheral memiliki sumber clock sendiri, maka pada mode syncrhronous hanya ada satu sumber clock yang digunakan secara bersama-sama. Dengan demikian, secara hardware untuk mode asyncrhronous hanya membutuhkan 2 pin yaitu TXD dan RXD, sedangkan untuk mode syncrhronous harus 3 pin yaitu TXD, RXD dan XCK.


(17)

2.2.2 Pin-pin pada Mikrokontroler ATmega8535

Gambar 2.3 Konfigurasi pin ATmega8535 (Data Sheet AVR)

Konfigurasi pin ATmega8535 dengan kemasan 40 pin DIP (Dual Inline Package) dapat dilihat pada gambar 2.1. Dari gambar di atas dapat dijelaskan fungsi dari masing-masing pin Atmega8535 sebagai berikut:

1. VCC merupakan pin yang berfungsi sebagai masukan catu daya. 2. GND merukan pin Ground.

3. Port A (PortA0…PortA7) merupakan pin input/output dua arah dan pin masukan ADC. 4. Port B (PortB0…PortB7) merupakan pin input/output dua arah dan dan pin fungsi khusus,


(18)

Tabel 2.2 Fungsi Khusus Port B

4. Port C (PortC0…PortC7) merupakan pin input/output dua arah dan pin fungsi khusus, seperti dapat dilihat pada tabel dibawah ini.

Tabel 2.3 Fungsi Khusus Port C

5. Port D (PortD0…PortD7) merupakan pin input/output dua arah dan pin fungsi khusus, seperti yang terlihat pada tabel dibawah ini.

Tabel 2.4 Fungsi Khusus Port D

Pin Fungsi khusus

PD7 OC2 (Timer/Counter Output Compare Match Output) PD6 ICP (Timer/Counter1 Input Capture Pin)

PD5 OC1A (Timer/Counter1 Output Compare A Match Output) PD4 OC1B (Timer/Counter1 Output Compare B Match Output) PD3 INT1 (External Interrupt 1 Input)

PD2 INT0 (External Interrupt 0 Input) PD1 TXD (USART Output Pin) PD0 RXD (USART Input Pin)

6. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler. 7. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.

8. AVCC merupakan pin masukan tegangan untuk ADC. 9. AREFF merupakan pin masukan tegangan referensi ADC.


(19)

2.3 Analog To Digital Converter

AVR ATMega8535 merupakan tipe AVR yang telah dilengkapi dengan 8 saluran ADC internal dengan resolusi 10 bit. Dalam mode operasinya, ADC dapat dikonfigurasi, baik single ended input maupun differential input. Selain itu, ADC ATMega8535 memiliki konfigurasi pewaktuan, tegangan referensi, mode operasi, dan kemampuan filter derau (noise) yang amat fleksibel sehingga dapat dengan mudah disesuaikan dengan kebutuhan dari ADC itu sendiri. ADC pada ATMega8535 memiliki fitur-fitur antara lain :

1. Resolusi mencapai 10-bit 2. Akurasi mencapai 2 LSB 3. Waktu konversi 13-260μs

4. 8 saluran ADC dapat digunakan secara bergantian

5. Jangkauan tegangan input ADC bernilai dari 0 hingga VCC 6. Disediakan 2,56V tegangan referensi internal ADC

7. Mode konversi kontinyu atau mode konversi tunggal 8. Interupsi ADC complete

9. Sleep Mode Noise canceler

Proses inisialisasi ADC meliputi proses penentuan clock, tegangan referensi, formal data keluaran, dan modus pembacaan. Register-register yang perlu diatur adalah sebagai berikut:

1. ADC Control and Status Register A – ADCSRA

Gambar 2.4 ADC Control and Status Register A – ADCSRA

1. ADEN : 1 = adc enable, 0 = adc disable

2. ADCS : 1 = mulai konversi, 0 = konversi belum terjadi

3. ADATE : 1 = auto trigger diaktifkan, trigger berasal dari sinyal yang dipilih (set pada trigger SFIOR bit ADTS). ADC akan start konversi pada edge positif sinyal trigger.

4. ADIF : diset ke 1, jika konversi ADC selesai dan data register ter-update. Namun ADC Conversion Complete Interrupt dieksekusi jika bit

5. ADIE dan bit-I dalam register SREG diset.


(20)

7. ADPS[0..2] : Bit pengatur clock ADC, faktor pembagi 0 … 7 = 2, 4, 8, 16, 32, 64, 128.

Tabel 2.5Konfigurasi Clock ADC

2. ADC Multiplexer-ADMUX

Gambar 2.5ADC Multiplexer

1. REFS 0, 1 : Pemilihan tegangan referensi ADC 2. 00 : Vref = Aref

3. 01 : vref = AVCC dengan eksternal capasitor pada AREF

4. 10 : vref = internal 2.56 volt dengan eksternal kapasitor pada AREF 5. ADLAR : Untuk setting format data hasil konversi ADC, default = 0

3. Special Function IO Register-SFIOR

SFIOR merupakan register 8 bit pengatur sumber picu konversi ADC, apakah dari picu eksternal atau dari picu internal, susunannya seperti yang terlihat pada Gambar 2.7 berikut :

Gambar 2.6Register SFIOR

ADTS (0...2) : Pemilihan trigger (pengatur picu) untuk konversi ADC, bit-bit ini akan berfungsi jika bit ADATE pada register ADCSRA bernilai 1. Konfigurasi bit ADTS (0...2) dapat dilihat pada Tabel 2.2.


(21)

Tabel 2.6Pemilihan sumber picu ADC ADHSM

4. Data Memory

Gambar berikut menunjukkan peta memori SRAM pada ATMEGA 16. Terdapat 608 lokasi address data memori. 96 lokasi address digunakan untuk Register File dan I/O Memory sementara 512 likasi address lainnya digunakan untuk internal data SRAM. Register file terdiri dari 32 general purpose working register, I/O register terdiri dari 64 register.

Gambar 2.7 Peta Memori Data

5. EEPROM Data Memory

ATMEGA 16 memiliki EEPROM 8 bit sebesar 512 byte untuk menyimpan data. Loaksinya terpisah dengan system address register, data register dan control register yang dibuat khusus untuk EEPROM. Alamat EEPROM dimulai dari $000 sampai $1FF.


(22)

6. Status Register (SREG)

Status register adalah register berisi status yang dihasilkan pada setiap operasi yangdilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPUmikrokontroler.

Gambar 2.9 Status Register ATMega 16 a. Bit 7 – I : Global Interrupt Enable

Jika bit Global Interrupt Enable diset, maka fasilitas interupsi dapat dijalankan. Bit ini akan clear ketika ada interrupt yang dipicu dari hardware, setelah program interrupt dieksekusi, maka bit ini harus di set kembali dengan instruksi SEI.

b. Bit 6 – T : Bit Copy Storage

Instruksi bit copy BLD dan BST menggunakan bit T sebagai sumber atau tujuan dalam operasi bit.

c. Bit 5 – H: Half Carry Flag

d. Bit 4 – S : Sign Bit

Bit S merupakan hasil exlusive or dari Negative Flag N dan Two’s Complement Overflow Flag V.

a. Bit 3 – V : Two’s Complement Overflow Flag

Digunakan dalam operasi aritmatika b. Bit 2 – N : Negative Flag

Jika operasi aritmatika menghasilkan bilangan negatif, maka bit ini akan set. c. Bit 1 – Z : Zero Flag

Jika operasi aritmatika menghaslkan bilangan nol, maka bit ini akan set. d. Bit 0 – C : Carry Flag

Jika suatu operasi menghasilkan Carry, maka bit ini akan set.

2.4 LCD (Liquid Crystal Display)

LCD (Liquid Crystal Display) adalah suatu jenis media tampil yang menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan diberbagai bidang misalnya alal– alat elektronik seperti televisi, kalkulator, ataupun layar komputer. Pada bab ini aplikasi LCD


(23)

yang dugunakan ialah LCD dot matrik dengan jumlah karakter 2 x 16. LCD sangat berfungsi sebagai penampil yang nantinya akan digunakan untuk menampilkan status kerja alat. Adapun fitur yang disajikan dalam LCD ini adalah :

a. Terdiri dari 16 karakter dan 2 baris. b. Mempunyai 192 karakter tersimpan. c. Terdapat karakter generator terprogram. d. Dapat dialamati dengan mode 4-bit dan 8-bit. e. Dilengkapi dengan back light.

Gambar 2.10 LCD (Liquid Crystal Display)

Sebelum menggunakan modul LCD ini, power supply 5V DC harus diberikan sebagai sumber arusnya seperti yang ditunjukkan gambar 2.10.

Gambar 2.11 Hubungan Power Supply ke LCD

Tabel 2.7 Deskripsi pin pada LCD

Pin Deskripsi

1 Ground

2 Vcc


(24)

4 “RS” Instruction/Register Select 5 “R/W” Read/Write LCD Registers

6 “EN” Enable

7-14 Data I/O Pins

15 Vcc

16 Ground

Untuk mengirim data ke LCD jalur ini harus low (0) dan kedua jalur lainnya diset dan data diletakkan pada data bus. Ketika kedua jalur lainnya benar sudah siap, EN dibuat high (1) dan ditunggu untuk beberapa saat dan kemudian dikembalikan ke low (0).Jalur RS (Register Geser) digunakan untuk menyatakan bahwa data dianggap sebagai perintah bila RS low (0).Ketika RS high (1) kondisi ini menyatakan bahwa data yang sedang dikirim adalah data text yang hendak ditampilkan pada layar LCD.Jadi untuk menampilkan huruf “T” pada layar, RS harus diset high (1).Jalur RW (Read/Write) adalah jalur control yang keadaannya low (0) memberi informasi bahwa bus data sedang ditulis ke LCD.Bila RS high (1) menyatakan bahwa data sedang dibaca dari LCD. Pada data bus delapan data dinyatakan dengan DB0, DB1, DB2, DB3, DB4, DB6 dan DB7. Cara menyambungkan mikrokontroler 8051 dengan LCD yang dalam ini diambil model HD 44780U ditunjukan pada gambar Gambar 2.12

Gambar 2. 12 Penyambungan mikrokontroler dengan LCD

2.3.1 Cara kerja LCD (Liquid Crystal Display)

Pada aplikasi umumnya RW diberi logika rendah “0”.Bus data terdiri dari 4-bit atau 8-bit.Jika jalur data 4-bit maka yang digunakan ialah DB4 sampai dengan DB7. Sebagaimana terlihat pada table diskripsi, interface LCD merupakan sebuah parallel bus, dimana hal ini


(25)

sangat memudahkan dan sangat cepat dalam pembacaan dan penulisan data dari atau ke LCD. Kode ASCII yang ditampilkan sepanjang 8-bit dikirim ke LCD secara 4-bit atau 8 bit pada satu waktu.

Jika mode 4-bit yang digunakan, maka 2 nibble data dikirim untuk membuat sepenuhnya 8-bit (pertama dikirim 4-bit MSB lalu 4-bit LSB dengan pulsa clock EN setiap nibblenya). Jalur kontrol EN digunakan untuk memberitahu LCD bahwa mikrokontroller mengirimkan data ke LCD.Untuk mengirim data ke LCD program harus menset EN ke kondisi high “1” dan kemudian menset dua jalur kontrol lainnya (RS dan R/W) atau juga mengirimkan data ke jalur data bus.

Saat jalur lainnya sudah siap, EN harus diset ke “0” dan tunggu beberapa saat (tergantung pada datasheet LCD), dan set EN kembali ke high “1”. Ketika jalur RS berada dalam kondisi low “0”, data yang dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi khusus (seperti bersihkan layar, posisi kursor dan lain-lain). Ketika RS dalam kondisi high atau “1”, data yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar. Misal, untuk menampilkan huruf “A” pada layar maka RS harus diset ke “1”. Jalur kontrol R/W harus berada dalam kondisi low (0) saat informasi pada data bus akan dituliskan ke LCD. Apabila R/W berada dalam kondisi high “1”, maka program akan melakukan query (pembacaan) data dari LCD.

Instruksi pembacaan hanya satu, yaitu Get LCD status (membaca status LCD), lainnya merupakan instruksi penulisan.Jadi hampir setiap aplikasi yang menggunakan LCD, R/W selalu diset ke “0”.Jalur data dapat terdiri 4 atau 8 jalur (tergantung mode yang dipilih pengguna), DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7.Mengirim data secara parallel baik 4-bit atau 8-bit merupakan 2 mode operasi primer. Untuk membuat sebuah aplikasi interface LCD, menentukan mode operasi merupakan hal yang paling penting.

Mode 8-bit sangat baik digunakan ketika kecepatan menjadi keutamaan dalam sebuah aplikasi dan setidaknya minimal tersedia 11 pin I/O (3 pin untuk kontrol, 8 pin untuk data).Sedangkan mode 4 bit minimal hanya membutuhkan 7-bit (3 pin untuk kontrol, 4 pin untuk data). Bit RS digunakan untuk memilih apakah data atau instruksi yang akan ditransfer antara mikrokontroller dan LCD. Jika bit ini di set (RS = 1), maka byte pada posisi kursor LCD saat itu dapat dibaca atau ditulis. Jika bit ini di reset (RS = 0), merupakan instruksi yang dikirim ke LCD atau status eksekusi dari instruksi terakhir yang dibaca. Untuk menampilkan karakter pada LCD ada beberapa algoritma yang harus dijalankan. Algoritma ini dilakukan dengan memberikan nilai logika 0 atau 1 pada pin yang bersangkutan. Algoritma untuk penampilan karakter ini antara lain:


(26)

Tabel 2.8 Pengaturan Display LCD

E R

S R/ W D B7 D B6 D B5 D B4 D B3 D B2 D B1 D B0 1 →0

0 0 0 0 0 0 1 D C B

Keterangan:

D: D=0 display mati dan D=1 display hidup C: C=0 cursor mati dan C=1 cursor hidup B: B=0 blink mati dan B=1 blink hidup 2. Mengatur karakter yang akan ditampilkan

Tabel 2.9 Pengaturan Display LCD

E R

S R/ W D B7 D B6 D B5 D B4 D B3 D B2 D B1 D B0 1 →0

0 0 Nilai berdasarkan CGROM

Keterangan: Nilai dari DB0 sampai DB7 yang dimasukkan nantinya akan mengatur tampilan karakter yang berkorespondensi dengan kode karakter CGROM pada chip LCD. Kode karakter CGROM diberikan pada gambar 8.10 yang terdiri dari kolom yang menunjukkan DB6 – DB7 dan baris yang menunjukkan DB0 – DB3.

Instruksi pembacaan hanya satu, yaitu Get LCD status (membaca status LCD), lainnya merupakan instruksi penulisan.Jadi hampir setiap aplikasi yang menggunakan LCD, R/W selalu diset ke “0”.Jalur data dapat terdiri 4 atau 8 jalur (tergantung mode yang dipilih pengguna), DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7.Mengirim data secara parallel baik 4-bit atau 8-bit merupakan 2 mode operasi primer. Untuk membuat sebuah aplikasi interface LCD, menentukan mode operasi merupakan hal yang paling penting.

Mode 8-bit sangat baik digunakan ketika kecepatan menjadi keutamaan dalam sebuah aplikasi dan setidaknya minimal tersedia 11 pin I/O (3 pin untuk kontrol, 8 pin untuk data).Sedangkan mode 4 bit minimal hanya membutuhkan 7-bit (3 pin untuk kontrol, 4 pin untuk data). Bit RS digunakan untuk memilih apakah data atau instruksi yang akan ditransfer antara mikrokontroller dan LCD. Jika bit ini di set (RS = 1), maka byte pada posisi kursor


(27)

LCD saat itu dapat dibaca atau ditulis. Jika bit ini di reset (RS = 0), merupakan instruksi yang dikirim ke LCD atau status eksekusi dari instruksi terakhir yang dibaca.

2.4 Software Desain PCB (Printed Circuit Board)

Papan sirkuit cetak papan yang penuh dengan sirkuit dari logam yang menghubungkan kompone sama lain tanpa ka bel. Untuk mendesain PCB dapat digunakan software yang dapat di-download di internet secara gratis . Tampilan software dapat dilihat pada gambar 2.15 dibawah ini :

Gambar 2.13 Tampilan software

Cara menggunakan software ini terlebih dahulu yang dikerjakan adalah mendesain skematik rangkaian, setelah itu memindahkannya ke dalam bentuk board dan mendesain tata letak komponen sesuai keinginan tetapi harus sesuai jalur rangkaian nya agar rangkaian dapat berfungsi sesuai dengan skematiknya. Setelah itu didesain layout PCB nya , barulah siap di-print dan di-transfer ke PCB. Pada proses pentransferan layout ke PCB dapat digunakan kertas Transfer Paper.

2.5 Bahasa Pemrograman

Bahasa C diciptakan oleh Dennis Ritchie tahun 1972 di Bell Laboratories. Meskipun C dibuat untuk memprogram sistem dan jaringan komputer namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi. C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa compiler


(28)

yang sangat populer telah tersedia. C secara luar biasa memengaruhi bahasa populer lainnya, terutama C++ yang merupakan extensi dari C.

Penempatan ini hanya menegaskan bahwa C bukan bahasa pemrograman yangberorientasi pada mesin. yang merupakan ciri bahasa tingkat rendah. Melainkanberorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin dengan cepat. Secepat bahasa mesin. inilah salah satu kelebihan C yaitu memiliki kemudahan dalammenyusun programnya semudah bahasa tingkat tinggi dalam mengesekusiprogram secepat bahasa tingkat rendah.

Kelebihan Bahasa C:

a. Bahasa C tersedia hampir di semua jenis computer.

b. Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis computer. c. Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32 kata kunci. d. Proses executable program bahasa C lebih cepat

e. Dukungan pustaka yang banyak. f. C adalah bahasa yang terstruktur

g. Bahasa C termasuk bahasa tingkat menengah Kekurangan Bahasa C:

a. Banyaknya operator serta fleksibilitas penulisan program kadang-kadang bingungkan pemakai.

b. Bagi pemula pada umumnya akan kesulitan menggunakan pointer.

C dan C++ ialah compiler untuk membuat aplikasi yang umum, selain itu merupakan bahasa medium level yang sering digunakan untuk membuat aplikasi interfacing computer maupun mikroprosesor/mikrokontroler.Suatu source program C baru dapat dijalankan setelah melalui tahap kompilasi dan penggabungan. Tahap kompilasi dimaksudkan untuk memeriksa source-program sesuai dengan kaidah-kaidah yang berlaku di dalam bahasa pemrograman C. Tahap kompilasi akan menghasilkan relocatable object file. File-file objek tersebut kemudian digabung dengan perpustakaan-fungsi yang sesuai. untuk menghasilkan suatu executable-program. Shortcut yang digunakan untuk mengkompile.

2.5 Relay

Relay adalah sebuah saklar elekronis yang dapat dikendalikan dari rangkaian elektronik lainnya. Relay adalah komponen listrik yang bekerja berdasarkan prinsip induksi medan elektromagnetis.


(29)

Gambar 2.14Relay

Jika sebuah penghantar dialiri oleh arus listrik, maka di sekitar penghantar tersebut timbul medan magnet. Medan magnet yang dihasilkan oleh arus listrik tersebut selanjutnya diinduksikan ke logam ferromagnetis.Relay terdiri dari 3 bagian utama, yaitu:

a. koil : lilitan dari relay

b. common : bagian yang tersambung dengan NC(dlm keadaan normal) c. kontak : terdiri dari NC dan NO

Relay adalah perangkat elektris atau bisa disebut komponen yang berfungsi sebagai saklar elektris.Cara kerja relay adalah apabila kita memberi tegangan pada kaki 1 dan kaki ground pada kaki 2 relay maka secara otomatis posisi kaki CO (Change Over) pada relay akan berpindah dari kaki NC (Normally close) ke kaki NO (Normally Open). Relay juga dapat disebut komponen elektronika berupa saklar elektronik yang digerakkan oleh arus listrik. Secara prinsip, relay merupakan tuas saklar dengan lilitan kawat pada batang besi (solenoid) di dekatnya. Ketika solenoid dialiri arus listrik, tuas akan tertarik karena adanya gaya magnet yang terjadi pada solenoid sehingga kontak saklar akan menutup.

Pada saat arus dihentikan, gaya magnet akan hilang, tuas akan kembali ke posisi semula dan kontak saklar kembali terbuka. Relay biasanya digunakan untuk menggerakkan arus/tegangan yang besar (misalnya peralatan listrik 4 ampere AC 220 V) dengan memakai arus/tegangan yang kecil (misalnya 0.1 ampere 12 Volt DC). Relay yang paling sederhana ialah relay elektromekanis yang memberikan pergerakan mekanis saat mendapatkan energi listrik.


(30)

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1. Diagram Blok

Sensor PX005GD ATMEGA8535 lcd PSA

3.2. Rangkaian PSA

Tegangan dari trafo yang bekerja menurunkan tegangan yang masuk melalui jala-jala pln dari 220 volt ac menjadi 12 volt ac masuk ke rangkaian , selanjutnya dioda D1, D2, membentuk dioda jembatan untuk mengubah tegangan ac menjadi tegangan dc dan capacitor C1 2200µF bekerja sebagai filter sehingga tegangan dc yang dihasilkan menjadi lebih rata. LED1 akan menyala sebagai indikator bahwa rangkaian power supply sedang dihubungkan ke jala-jala listrik, sementara R2 dengan nilai 330 ohm digunakan untuk membatasi arus yang melewati Led1 sekitar 15mA agar LED tidak terbakar.Tegangan dc pada titik A adalah 12 volt dan tegangan kerja LED adalah 1.5 volt sehingga arus yang mengalir melalui LED1 dan R1 adalah 15 mA.IC LM7805 bekerja sebagai regulator untuk memberikan tegangan output sebesar 5 volt dc.


(31)

Gambar 3.1Rangkaian Power Supply

3.3. Rangkaian Mikrokontroller ATMEGA 8535

ATmega8535 adalah mikrokontroler CMOS 8-bit daya-rendah berbasis arsitektur RISC yang ditingkatkan. Kebanyakan instruksi dikerjakan pada satu siklus clock, ATmega8535 mempunyai throughput mendekati 1 MIPS perMHz membuat disainer sistem untuk mengoptimasi komsumsi daya versus kecepatan proses.

Gambar 3.3 Rangkaian Skematik Minimum Mikrokontroler ATMega 8535

ATMega 8535 dapat dilihat pada gambar di atas. Pin 12 dan 13 dihubungkan ke XTAL 12 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.


(32)

Untuk mendownload file heksadesimal ke mikrokontroler, Mosi, Miso, Sck, Reset, Vcc dan Gnd dari kaki mikrokontroler dihubungkan ke RJ45. RJ45 sebagai konektor yang akan dihubungkan keISP Programmer. Dari ISPProgrammerinilah dihubungkan ke komputer melalui port paralel.

Kaki Mosi, Miso, Sck, Reset, Vcc dan Gnd pada mikrokontroler terletak pada kaki 6, 7, 8, 9, 10 dan 11. Apabila terjadi keterbalikan pemasangan jalurke ISP Programmer, maka pemograman mikrokontroler tidak dapat dilakukan karena mikrokontroler tidak akan bisa merespon.

3.4. Rangkaian Sensor PX005GD

Gambar3.2 sensor PX005GD

Sensor tekanan PX005GD adalah sensor canggih dengan teknologi kemasan TO8 internasional untuk mengukur tekanan 0-40 KPa, cocok digunakan untuk tekanan darah, tekanan udara, Sphygmomanometer, dan aspek lain dari pengukuran tekanan, kinerja yang stabil dan dapat diandalkan. Tekanan yang diterima oelh sensor akan meningkatkan nilai hambatan /resistansi pada sensor yang kemudian akan mempengaruhi nilai tegangan keluaran (Vout) yang keluar. Sensor kemudian akan dihubungkan dengan ADC pada mikrokontroller.


(33)

Gambar 3.3 Perancangan keseluruhan dengan menggunakan ISP (In System Programming)

3.4. Display LCD Character 2x16

Display LCD 2x16 berfungsi sebagai penampil nilai kecapatan refferensi dan kecepatan aktual yang dikirim dari mikrokontroler. LCD yang digunakan pada alat ini mempunyai lebar display 2 baris 16 kolom atau biasa disebut sebagai LCD Character 2x16, dengan 16 pin konektor, yang didifinisikan sebagai berikut:

Tabel 3.1 fungsi pinLCD character 2x16

PIN Nama fungsi

1 VSS Ground voltage

2 VCC +5V

3 VEE Contrast voltage

4 RS

Register Select 0 = Instruction Register 1 = Data Register

5 R/W

Read/ Write, to choose write or read mode

0 = write mode 1 = read mode

6 E

Enable

0 = start to lacht data to LCD character


(34)

1= disable

7 DB0 LSB

8 DB1 -

9 DB2 -

10 DB3 -

11 DB4 -

12 DB5 -

13 DB6 -

14 DB7 MSB

15 BPL Back Plane Light

16 GND Ground voltage

Gambar 3.3 LCD character 2x16

Modul LCD terdiri dari sejumlah memory yang digunakan untuk display. Semua teks yang kita tuliskan ke modul LCD akan disimpan didalam memory ini, dan modul LCD secara berturutan membaca memory ini untuk menampilkan teks ke modul LCD itu sendiri.

Gambar 3.4 Peta memory LCD character 2x16

Pada peta memori diatas, daerah yang berwarna biru ( 00 s/d 0F dan 40 s/d 4F ) adalah display yang tampak. jumlahnya sebanyak 16 karakter per baris dengan dua baris. Angka pada setiap kotak adalah alamat memori yang bersesuaian dengan posisi dari layar. Dengan demikian dapat dilihat karakter pertama yang berada pada posisi baris pertama menempati alamat 00h. dan karakter kedua yang berada pada posisi baris kedua menempati alamat 40h.Agar dapat menampilkan karakter pada display maka posisi kursor harus terlebih dahulu


(35)

diset. Instruksi Set Posisi Kursor adalah 80h. dengan demikian untuk menampilkan karakter, nilai yang terdapat pada memory harus ditambahkan dengan 80h.

Sebagai contoh, jika kita ingin menampilkan huruf “B” pada baris kedua pada posisi kolom kesepuluh.maka sesuai dengan peta memory, posisi karakter pada kolom 10 dari baris kedua mempunyai alamat 4Ah, sehingga sebelum kita menampilkan huruf “B” pada LCD, kita harus mengirim instruksi set posisi kursor, dan perintah untuk instruksi ini adalah 80h ditambah dengan alamat 80h + 4Ah =0Cah. Sehingga dengan mengirim perintah 0Cah ke LCD, akan menempatkan kursor pada baris kedua dan kolom ke 11.

3.5 Regulator

Regulator tregangan adalah bagian power supply yang berfungsi untuk memberikan stabilitas output pada suatu power supply. Output tegangan DC dari penyearah tanpa regulator mempunyai kecenderungan berubah harganya saat dioperasikan.Adanya perubahan pada masukan AC dan variasi beban merupakan penyebab utama terjadinya ketidakstabilan pada power supply. Pada sebagian peralatan elektronika, terjadinya perubahan catu daya akan berakibat cukup serius. Untuk mendapatkan pencatu daya yang stabil diperlukan regulator tegangan.


(36)

Gambar 3.8 Rangkaian keseluruhan IC Regulator 7805

IC LM317 merupakan chip IC regulator tegangan variable untuk tegangan DC positif. Untuk membuat power supply dengan tegangan output variabel dapat dibuat dengan sederhana apabila menggunakan IC regulator LM317. Komponen pendukung regulator tegangan variable LM317 pada dasarnya adalah rangkaian pembagi teganga variabel kombinasi R1 dan R2. Kapsitor Ci dan Co berfungsi sebgai tapis input dan output. nilai tegangan referensi pada regulator tegangan diatas ditentukan berdasarkan posisi tuas R2.


(37)

3.5. Flowchart

START

INISIALIASASI PORT

Mulai pembacaan sensor

Baca ADC Sensor

Tampilkan nilai pada LCD


(38)

BAB IV

PENGUJIAN ALAT DAN PROGRAM

4.1 Pengujian Rangkaian Power Supply

Pengujian rangkaian power supply ini bertujuan untuk mengetahui tegangan yang dikeluarkan oleh rangkaian tersebut, dengan mengukur tegangan keluaran dari power supply menggunakan multimeter digital. Setelah dilakukan pengukuran maka diperoleh besarnya tegangan keluaran sebesar 5 volt. Dengan begitu dapat dipastikan apakah terjadi kesalahan terhadap rangkaian atau tidak. Jika diukur, hasil dari keluaran tegangan tidak murni sebesar +9 Volt dan +12 Volt, tetapi +8.97Volt dan +12.03 Volt. Hasil tersebut dikarenakan beberapa faktor, diantaranya kualitas dari tiap-tiap komponen yang digunakan nilainya tidak murni.Selain itu, tegangan jala-jala listrik yang digunakan tidak stabil.

4.2 Pengujian Rangkaian Mikrokontroler ATMega8535

Karena pemrograman 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.

Gambar 4.1. Informasi Signature Mikrokontroler

ATMega menggunakan kristal dengan frekuensi 8 MHz, apabila Chip Signature sudah dikenali dengan baik dan dalam waktu singkat, bisa dikatakan rangkaian


(39)

mikrokontroler bekerja dengan baik dengan mode ISP-nya.

Gambar 4.2 Pengujian pada Mikrokontroler ATMega8535

4.3 Interfacing LCD 2x16

LCD dot matriks 2 x 16 karekater dapat dihubungkan langsung dengan mikrokontroler AVR, disini fungsi LCD adalah sebagai tampilah hasil pengukuran dan diberi beberapa keterangan. LCD LCD duhubungkan lengsung melalui Port 0 mikrokontroler yang berfungsio sebagai pengirim data dalam bentuk kode ASCII,, dimana data-data tersebut dapat diterjemahkan oleh LCD perkarakter.

Pengiriman data yang dari mikrokontroler diatur oleh pin EN, RS dan RW:, Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberi tahu LCD bahwa ada data yang sedang dikirimkan. Untuk mengirim data ke LCD, maka melaui program EN harus dibuat berlogika “low” dan set (high) pada dua jalur kontrl yang lain (RS dan RW). Jalur RW adalah jalur kontrol Read/write. Ketika RW berlogika low (0), maka informasi pada bus akan dituliskan pada LCD. Ketika RW berlogika high (1), maka program melakukan pembacaan memori dari LCD. Dalam penelitian ini umumnya pin RW selalu diberikan logika low(0). Dengan mengikuti keterangan diatas kita dapat membuat program untuk menampilkan karakter pada LCD. Program yang diisikan ke mikrokontroler untuk menampilkan karakter pada LCD adalah sebagai berikut :

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

// Alphanumeric LCD functions #include <alcd.h>


(40)

char buff[32]; void main(void) {

PORTA=0x00; DDRA=0x00; PORTB=0x00; DDRB=0x00; PORTC=0x00; DDRC=0x00; PORTD=0x00; DDRD=0x00;

// Alphanumeric LCD initialization // Connections are specified in the

// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: // RS - PORTC Bit 1

// RD - PORTC Bit 2 // EN - PORTC Bit 3 // D4 - PORTC Bit 4 // D5 - PORTC Bit 5 // D6 - PORTC Bit 6 // D7 - PORTC Bit 7 // Characters/line: 16 lcd_init(16);

while (1) {

lcd_gotoxy(0,0);

lcd_putsf("firman system"); }

Program diatas akan menampilkan kata “firman system” di baris pertama dimulai dari kolom pertama pada LCD 2 x 16


(41)

4.4Pengujian Sensor tekanan PX005GD

Pengujian Sensor tekanan dilakukan dengan menggunakan tensimeter sebagai pembanding.

Gambar4.3 tensimeter

NO Pengujian sensor(mmHg)

Pengujian alat(mmHg)

% ralat

1 13 10 20 %

2 16 20 10%

3 33 30 0%

4 44 40 2,5%

5 53 50 2%

6 63 60 3.3%

7 67 70 1,4%

8 80 80 1,2%

9 93 90 1,1%

10 103 100 1%

11 111 110 0,9%

12 124 120 12%

13 135 130 13%

Data hasil pengukuran.Pada data ini terdapat perbedaan antara data yang didapat dari nilai yang tertera dengan data yang dihasilkan oleh alat, dimana data yang dihasilkan oleh alat memiliki % deviasi = hal ini dapat dilihat dari hasil analisis yang diperoleh yaitu :

% ralat/ = ∣ ���� −�����������������������������−���� ���������� ∣× 100%


(42)

Project : Version : Date : Author : user Company : free Comments:

Chip type : ATmega8535 Program type : Application

AVR Core Clock frequency:8,000000 MHz Memory model : Small

External RAM size : 0 Data Stack size : 128

*****************************************************/ #include <mega8535.h>

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

// Alphanumeric LCD functions #include <alcd.h>

#define ADC_VREF_TYPE 0x40 float temp,temp1,psi;

// Read the AD conversion result

unsigned int read_adc(unsigned char adc_input) {

ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);

// Delay needed for the stabilization of the ADC input voltage delay_us(10);

// Start the AD conversion ADCSRA|=0x40;

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

ADCSRA|=0x10; return ADCW; }

// Declare your global variables here char buff[32];

unsigned int intTOTAL, intADC; float flHASIL, flMEAN; int x;

void main(void) {

// Declare your local variables here // Input/Output Ports initialization // Port A initialization


(43)

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

DDRC=0x00;

// 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: Timer 0 Stopped // Mode: Normal top=0xFF // OC0 output: Disconnected TCCR0=0x00;

TCNT0=0x00; OCR0=0x00;

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off

// Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00;


(44)

OCR1BH=0x00; OCR1BL=0x00;

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

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

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

// INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00;

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

// USART initialization // USART disabled UCSRB=0x00;

// Analog Comparator initialization // Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;

SFIOR=0x00; // ADC initialization

// ADC Clock frequency: 125,000 kHz // ADC Voltage Reference: AREF pin // ADC High Speed Mode: Off

// ADC Auto Trigger Source: ADC Stopped ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x87;

SFIOR&=0xEF; // SPI initialization // SPI disabled SPCR=0x00; // TWI initialization // TWI disabled TWCR=0x00;

// Alphanumeric LCD initialization // Connections are specified in the


(45)

// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: // RS - PORTD Bit 7

// RD - PORTC Bit 0 // EN - PORTC Bit 1 // D4 - PORTC Bit 2 // D5 - PORTC Bit 3 // D6 - PORTC Bit 4 // D7 - PORTC Bit 5 // Characters/line: 16 lcd_init(16); lcd_gotoxy(0,0); lcd_putsf("firman system"); lcd_gotoxy(0,1); lcd_putsf("pressure blood"); delay_ms(1000); lcd_clear(); while (1) {

intTOTAL = 0; flHASIL = 0;

for (x=0; x<100; x++) {

intADC = read_adc(0);

intTOTAL = intTOTAL + intADC;

delay_ms(10); // 50 x 10 mS = 500 mS = 0.5 detik }

flMEAN = (float) intTOTAL / 100; // nilai rata-rata temp1=flMEAN;

temp =temp1*4.8825125; temp=temp-200;

sprintf(buff,"n: %.2f mmHg ",temp); lcd_gotoxy(0,1); lcd_puts(buff); delay_ms(200); } } DAFTAR PUSTAKA


(46)

(1)

4.4Pengujian Sensor tekanan PX005GD

Pengujian Sensor tekanan dilakukan dengan menggunakan tensimeter sebagai pembanding.

Gambar4.3 tensimeter

NO Pengujian sensor(mmHg)

Pengujian alat(mmHg)

% ralat

1 13 10 20 %

2 16 20 10%

3 33 30 0%

4 44 40 2,5%

5 53 50 2%

6 63 60 3.3%

7 67 70 1,4%

8 80 80 1,2%

9 93 90 1,1%

10 103 100 1%

11 111 110 0,9%

12 124 120 12%

13 135 130 13%

Data hasil pengukuran.Pada data ini terdapat perbedaan antara data yang didapat dari nilai yang tertera dengan data yang dihasilkan oleh alat, dimana data yang dihasilkan oleh alat memiliki % deviasi = hal ini dapat dilihat dari hasil analisis yang diperoleh yaitu :

% ralat/ = ∣ ���� −���� �������� ������� ���������� − ���� ���������� ∣× 100%


(2)

Project : Version : Date : Author : user Company : free Comments:

Chip type : ATmega8535 Program type : Application

AVR Core Clock frequency:8,000000 MHz Memory model : Small

External RAM size : 0 Data Stack size : 128

*****************************************************/ #include <mega8535.h>

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

// Alphanumeric LCD functions #include <alcd.h>

#define ADC_VREF_TYPE 0x40 float temp,temp1,psi;

// Read the AD conversion result

unsigned int read_adc(unsigned char adc_input) {

ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);

// Delay needed for the stabilization of the ADC input voltage delay_us(10);

// Start the AD conversion ADCSRA|=0x40;

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

ADCSRA|=0x10; return ADCW; }

// Declare your global variables here char buff[32];

unsigned int intTOTAL, intADC; float flHASIL, flMEAN; int x;

void main(void) {

// Declare your local variables here // Input/Output Ports initialization // Port A initialization


(3)

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

DDRC=0x00;

// 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: Timer 0 Stopped // Mode: Normal top=0xFF // OC0 output: Disconnected TCCR0=0x00;

TCNT0=0x00; OCR0=0x00;

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off

// Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00;

TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00;


(4)

OCR1BH=0x00; OCR1BL=0x00;

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

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

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

// INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00;

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

// USART initialization // USART disabled UCSRB=0x00;

// Analog Comparator initialization // Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;

SFIOR=0x00; // ADC initialization

// ADC Clock frequency: 125,000 kHz // ADC Voltage Reference: AREF pin // ADC High Speed Mode: Off

// ADC Auto Trigger Source: ADC Stopped ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x87;

SFIOR&=0xEF; // SPI initialization // SPI disabled SPCR=0x00; // TWI initialization // TWI disabled TWCR=0x00;

// Alphanumeric LCD initialization // Connections are specified in the


(5)

// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: // RS - PORTD Bit 7

// RD - PORTC Bit 0 // EN - PORTC Bit 1 // D4 - PORTC Bit 2 // D5 - PORTC Bit 3 // D6 - PORTC Bit 4 // D7 - PORTC Bit 5 // Characters/line: 16 lcd_init(16);

lcd_gotoxy(0,0);

lcd_putsf("firman system"); lcd_gotoxy(0,1);

lcd_putsf("pressure blood"); delay_ms(1000);

lcd_clear(); while (1) {

intTOTAL = 0; flHASIL = 0;

for (x=0; x<100; x++) {

intADC = read_adc(0);

intTOTAL = intTOTAL + intADC;

delay_ms(10); // 50 x 10 mS = 500 mS = 0.5 detik }

flMEAN = (float) intTOTAL / 100; // nilai rata-rata temp1=flMEAN;

temp =temp1*4.8825125; temp=temp-200;

sprintf(buff,"n: %.2f mmHg ",temp); lcd_gotoxy(0,1);

lcd_puts(buff); delay_ms(200); }

}


(6)