Motor Stepper Berbasis Mikrokontroller ATMega 8535 Pada Perancangan Sistem Kendali Otomatis Tetesan Cairan Infus Pada Pasien.

(1)

OPTOCOUPLER BERBASIS MIKROKONTROLLER ATMega

8535 PADA PERANCANGAN SISTEM KENDALI OTOMATIS

TETESAN CAIRAN INFUS PADA PASIEN

TUGAS AKHIR

ARIE YUDHA NUGRAHA

072408022

PROGRAM STUDI DIPLOMA III FISIKA INSTRUMENTASI

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2011


(2)

OPTOCOUPLER BERBASIS MIKROKONTROLLER ATMega 8535 PADA PERANCANGAN SISTEM KENDALI OTOMATIS TETESAN CAIRAN

INFUS PADA PASIEN

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Ahli Madya

ARIE YUDHA NUGRAHA 072408022

PROGRAM STUDI DIPLOMA III FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2011


(3)

PERSETUJUAN

Judul : MOTOR STEPPER BERBASIS

MIKROKONTROLLER ATMega 8535 PADA PERANCANGAN SISTEM KENDALI OTOMATIS TETESAN CAIRAN INFUS PADA PASIEN

Kategori : TUGAS AKHIR

Nama : ARIE YUDHA NUGRAHA

Nomor Induk Mahasiswa : 072408022

Program Studi : DIPLOMA III FISIKA INSTRUMENTASI Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM ( FMIPA ) UNIVERSITAS SUMATERA UTARA

Di luluskan di

Medan, Agustus 2011

Diketahui/Disetujui oleh Ketua Program Studi ,

D3 Fisika Instrumentasi FMIPA USU

Ketua, Pembimbing

Dr. Susilawati, M.Si Drs. Syahrul Humaidi.M.sc NIP. 19741207200012 2 001 NIP. 19650517199303 1 009


(4)

PERNYATAAN

OPTOCOUPLER BERBASIS MIKROKONTROLLER ATMega 8535 PADA PERANCANGAN SISTEM KENDALI OTOMATIS TETESAN CAIRAN

INFUS PADA PASIEN

TUGAS AKHIR

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

Medan, Agustus 2011

ARIE YUDHA NUGRAHA 072408022


(5)

iii PENGHARGAAN

Alhamdulillah puji dan syukur penulis ucapkan kepada Allah Subhanahuwata’ala, atas segala karunia Nya yang telah diberikan kepada penulis seingga penulis di berikan begitu banyak kemudahan dan kelancaran dalam menyelesaikan kajian dalam Tugas Akhir ini sesuai degan waktu yang direncanakan.

Ucapan terima kasih saya sampaikan kepada Bapak Dr. Sutarman M.Sc, selaku Dekan FMIPA USU dan Ibu Dr. Susilawati S.Si, M.Si, selaku Ketua Jurusan Program Studi Fisika lalu kepada Bapak Syahrul Humaidi M.Sc sebagai dosen pembimbing dalam penyelesaian tugas akhir ini, yang telah memberikan panduan dan penuh kepercayaan kepada saya untuk menyempurnakan kajian dalam tugas akhir ini. Ucapan terima kasih juga ditujukan kepada Bapak Dr. Marhaposan Situmorang selaku ketua departemen Fisika, lalu Ibu Dra. Justinon, M.Si sebagai sekertaris jurusan program studi Fisika Instrumentasi FMIPA USU, seluruh Dosen dan pegawai pada Departemen Fisika khususnya Program Studi Fisika Instrumentasi FMIPA USU.

Allah mengajarkan kita untuk bersyukur satu kata yang lebih luas maknanya dari pada Terima Kasih, maka pada nikmat Allah yang menyambangi saya tak cukup rasanya berucap Syukran ! kecuali kita menghayati doa Jazaakumullahu Khairan Katsiiran.” Syukur Kami kepada Ayahanda dan Ibunda serta Abang dan Kakak saya tercinta semoga Allah terus menguatkan kami untuk berbakti “ Rabbighfirlii wa li walidayya.”

Jazakumullah khairan katsiran sebuah doa yang saya tujukan untuk para

pendahulu dakwah Bang Andi, Bang Yopi, Bang Emil, Bang Wahyudhi, Bang Fadhlan, yang terus menginspirasi dan tempat saya banyak belajar, lalu Bang Faisal Akbar yang membuka wawasan saya, jazakallah bang buku- buku nya luar biasa. Untuk kak Nana, kak Chinta, kak Sarah, kak Dila, kak Lailan yang terus percaya kepada adik mu ini walau terkadang sulit dimengerti .

Jazakumullah khairan katsiran Doa itu saya lirihkan juga untuk, Saudara –

Saudara ku satu seperguruan ada akh Dedy yang uda di Bogor, akh Agus si Presiden SGC , akh Hadi yang uda lulus PNS, akh Oki pakar IT, akh Riko sang Politisi, akh Maulana si Kalem yang baik hati, akh Ikhsan si Fotografer, akh Aslam Mapres Usu semoga Allah memepertemukan kita di Akhirat ya akhi dan terkhusus Murabbi saya yang terus membimbing saya, Jazakallah untuk semuanya.

Jazakumullah Khairan katsiraan juga untuk seluruh rekan - rekan yang di UKMI


(6)

iv kuliah yang lucu-lucu.yang nama- namanya tak mampu saya tuliskan satu persatu,

Barakah ya akh dan yang pasti kepada kalian semua saya hanya ingin mengatakan ini

sebuah pertemuan yang luar biasa dan tidak akan terlupa sampai kapanpun. Terima kasih


(7)

v ABSTRAK

Infuse berfungsi untuk memberikan cairan kepada pasien secara berkala. Kesalahan dalam pemberian cairan infuse dapat berakibat buruk kepada pasien, juga apabila terjadi masalah penyumbatan atau kehabisan cairan jika tidak segera ditangani akan berbahaya bagi pasien. Infuse yang ada saat ini penggunaannya masih secara manual dimana kesalahan – kesalahan seperti tersebut masih sering terjadi, oleh karena itu kita membuat sebuah perancangan alat pengendali Infuse yang dapat bekerja secara otomatis dan monitoring secara digital. Pada proyek akhir ini akan dirancang sebuah system kendali dan monitoring infuse secara berkala dan dokter atau suster hanya perlu memasukan jumlah tetesan yang diinginkan dari keypad. Sensor yang digunakan pada alat ini yaitu Optocoupler. Sedangkan sebagai pengganti penekan selang digunakan motor steper . Pada Tugas akhir ini digunakan mikrokontroller ATMega8535 sebagai pembangkit pulsa untuk mengontrol motor stepper serta rangkaian Buzzer Alarm sebagai Indikator kondisi tetesan, LCD dan keypad sebagai interface yang memudahkan dokter untuk mengontrol dan memudahkan dalam menggunakan alat ini. Hasil pengujian untuk menhitung jumlah tetesan infuse tiap detik memliki keakurasian rata-rata 80 %.


(8)

vi ABSTRACT

The function infuse which is to give intravenous fluids to patients on a regular basis Mistakes in giving intra venous fluids may be detrimental to the patient, also if there are problems with blockage or running out of liquids if not immediately addressed would be dangerous for patients. Infuse the current user is still manually where mistakes – mistakes such as these are still common, there fore we make an infusion control device design that can work automatically and digitally monitoring. In this final project will be designed a control system and periodic monitoring of infusion and the physician or nurse need only enter the desired number of droplets from the keypad. Sensor used in this tool is an optoucoupler While the pressure hose is used instead of motor stepper At the end of the project is used as microcontroller ATmega8535 pulse generator to control the stepper motor and circuit condition Buzzer Alarm as droplets LCD and keypad as an interface that allows the physician to control and ease in usingthis tool. The test results for calculates number of droplets a second infusion posses an average accuracy of 80 %


(9)

DAFTAR ISI

LEMBAR PERSETUJUAN-1 ... i

LEMBAR PERNYATAAN ... ii

LEMBAR PENGHARGAAN... iii

ABSTRAK ... v

ABSTRACT ... . vi

DAFTAR ISI ... vii

DAFTAR GAMBAR ... x

DAFTAR TABEL ... xii

LEMBAR PERSEMBAHAN ... xiv

BAB I PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Batasan Masalah ... 2

1.3. Maksud dan Tujuan Penulisan ... 2

1.4. Metode Pengumpulan Data ... 2

1.5. Sistematika Penulisan ... 3

BAB II TINJAUAN TEORITIS ... 5

2.1. Sensor Optocoupler ... 5

2.2. Motor ... 8

2.3. Motor Stepper ... 9

2.3.1. Tipe Motor Stepper ... 9

2.3.2. Variabel Relukstansi Motor ... 11

2.4. Microkontroler AVR ATmega8535 ... 12

2.4.1. Fitur ATmega8535 ... 14


(10)

2.4.3. Arsitektur ATmega8535 ... 16

2.4.4. Program Memori ... 18

2.4.5. Memori Data (SRAM) ... 18

2.4.6. EEPROM ... 19

2.5. Perangkat Lunak ( software ) ... 19

2.5.1. Dasar Pemrograman ATmega8535 dengan Bahasa C ... 19

2.5.1.1. Pengenalan pada Bahasa C ... 20

2.5.1.2. Tipe Data ... 20

2.5.1.3. Header ... 22

2.5.1.4 Operator Aritmatika ... 23

2.5.1.5 Operator Pembanding ... 24

2.5.1.6 Operator Logika ... 25

2.5.1.7 Operator Bitwise ... 26

2.5.1.8 Operator Penugasan dan Operator Majemuk ... 27

2.5.1.9. Operator Penambahan dan Pengurangan ... 28

2.5.1.10 Pernyataan If dan If Bersarang ... 29

2.5.1.11 Pernyataan Switch ... 31

2.5.1.12 Pernyataan While ... 32

2.5.2. Software Code Vision AVR ... 33

BAB III RANGKAIAN PADA SISTEM PENGENDALIAN TETESAN CAIRAN INFUSE PADA PASIEN ... 36

3.1.Rangkaian Power Supply ... 36

3.1.1. Cara Kerja Rangkaian ... 36

3.1.2. Fungsi Kerja Rangkaian... 36

3.1.3. Pengujian Rangkaian ... 37

3.2.Rangkaian Microkontroler ATmega 8535 ... 38

3.2.1. Cara kerja Rangkaian ... 38

3.2.2. Fungsi Kerja Rangkaian... 38

3.2.3. Pengujian Rangkaian ... 39

3.3.Rangkaian Display LCD ... 41

3.3.1. Cara kerja Rangkaian ... 41


(11)

3.3.3. Pengujian Rangkaian ... 46

3.4.Rangkaian Sensor Optic ... 48

3.4.1. Cara kerja Rangkaian…. ... 48

3.4.2. Fungsi Kerja Rangkaian... 49

3.4.3. Pengujian Rangkaian ... 49

3.5.Rangkaian Keypad ... 51

3.5.1. Cara Kerja Rangkaian ... 51

3.5.2. Fungsi Kerja Rangkaian... 51

3.5.3. Pengujian Kerja Rangkaian ... 52

3.6.Rangkaian Driver Motor Stepper ... 54

3.6.1. Cara kerja Rangkaian ... 54

3.6.2. Fungsi Kerja Rangkaian... 55

3.6.3. Pengujian Kerja Rangkaian ... 56

3.7.Rangkaian Buzzer ... 57

3.7.1. Cara kerja Rangkaian ... 57

3.7.2. Fungsi Kerja Rangkaian... 58

3.7.3. Pengujian Rangkaian ... 58

BAB IV ANALISA RANGKAIAN SISTEM PENGENDALIAN TETESAN CAIRAN INFUSE PADA PASIEN ... 59

4.1 Diagram Block dan Cara Kerja Sistem Pengendali Tetesan Infuse ... 59

4.2 Diagram Alir ( Flowchart ) ... 60

4.3 Program ... 62

BAB V KESIMPULAN DAN SARAN... 67

5.1. Kesimpulan ... 67

5.2. Saran ... 67

DAFTAR PUSTAKA ... 69

Lampiran-1 ... 70


(12)

DAFTAR GAMBAR

Gambar 2.1. Optocoupler ... 7

Gambar 2.2. Motor Stepper Unipolar ... 10

Gambar 2.3. Motor Stepper Bipolar ... 10

Gambar 2.4. Variabel Relukstansi ... 11

Gambar 2.5. Urutan Data Motor Stepper Dengan Tipe Variabel Reluktansi ... 11

Gambar 2.6. Arsitek ATmega8535 ... 17

Gambar 2.7. Program Memori ... 18

Gambar 3.1. Rangkaian Power Supplay (PSA) ... 37

Gambar 3.2. Rangkaian IC Regulator ... 37

Gambar 3.3. Rangkaian Mikrokontroler ATmega 8535 ... 39

Gambar 3.4 Tampilan Create New file ... 39

Gambar 3.5. Tampilan Confirm ... 40

Gambar 3.6. Tampilan Setting Clock Mikrokontroler ... 40

Gambar 3.7. Tampilan Settng PORT ... 41

Gambar 3.8. Menu File Code Vision AVR ... 41

Gambar 3.9. Rangkaian Display LCD ... 44

Gambar 3.10. Rangkaian Memori LCD ... 44

Gambar 3.11. Tampilan Settingan LCD ... 46

Gambar 3.12. Rangkaian Sistem Sensor ... 48


(13)

Gambar 3.15. Rangkaian Driver Motor Stepper ... 55

Gambar 3.16. Rangkaian Buzzer ... 57

Gambar 4.1. Block Diagram Sistem ... 59


(14)

DAFTAR TABEL

Tabel 2.1. Jenis-Jenis AVR ... 13

Tabel 2.2. PORTA ... 15

Tabel 2.3 PORTB ... 15

Tabel 2.4. PORTC ... 16

Tabel 2.5. PORTD ... 16

Tabel 2.6. Tipe Data ... 21

Tabel 2.7. Operasi Aritmatika ... 23

Tabel 2.8. Operator Pembanding ... 24

Tabel 2.9. Operator Logika ... 25

Tabel 2.10. Operator Bitwise ... 26

Tabel 2.11. Operator Penugasan ... 27

Tabel 2.12. Operator Penugasan ... 28

Tabel 2.13. Operator Penugasan ... 28

Tabel 3.1. Tegangan IC 7805 ... 37

Tabel 3.2. Truth Tabel LED ... 42

Tabel 3.3. Tegangan PIN Mikrokontroler ... 42

Tabel 3.4. Alamat Memori DDRAM ... 45

Tabel 3.5. Tegangan PIN LCD ... 47

Tabel 3.6. Keadaan Sensor ... 49


(15)

v ABSTRAK

Infuse berfungsi untuk memberikan cairan kepada pasien secara berkala. Kesalahan dalam pemberian cairan infuse dapat berakibat buruk kepada pasien, juga apabila terjadi masalah penyumbatan atau kehabisan cairan jika tidak segera ditangani akan berbahaya bagi pasien. Infuse yang ada saat ini penggunaannya masih secara manual dimana kesalahan – kesalahan seperti tersebut masih sering terjadi, oleh karena itu kita membuat sebuah perancangan alat pengendali Infuse yang dapat bekerja secara otomatis dan monitoring secara digital. Pada proyek akhir ini akan dirancang sebuah system kendali dan monitoring infuse secara berkala dan dokter atau suster hanya perlu memasukan jumlah tetesan yang diinginkan dari keypad. Sensor yang digunakan pada alat ini yaitu Optocoupler. Sedangkan sebagai pengganti penekan selang digunakan motor steper . Pada Tugas akhir ini digunakan mikrokontroller ATMega8535 sebagai pembangkit pulsa untuk mengontrol motor stepper serta rangkaian Buzzer Alarm sebagai Indikator kondisi tetesan, LCD dan keypad sebagai interface yang memudahkan dokter untuk mengontrol dan memudahkan dalam menggunakan alat ini. Hasil pengujian untuk menhitung jumlah tetesan infuse tiap detik memliki keakurasian rata-rata 80 %.


(16)

vi ABSTRACT

The function infuse which is to give intravenous fluids to patients on a regular basis Mistakes in giving intra venous fluids may be detrimental to the patient, also if there are problems with blockage or running out of liquids if not immediately addressed would be dangerous for patients. Infuse the current user is still manually where mistakes – mistakes such as these are still common, there fore we make an infusion control device design that can work automatically and digitally monitoring. In this final project will be designed a control system and periodic monitoring of infusion and the physician or nurse need only enter the desired number of droplets from the keypad. Sensor used in this tool is an optoucoupler While the pressure hose is used instead of motor stepper At the end of the project is used as microcontroller ATmega8535 pulse generator to control the stepper motor and circuit condition Buzzer Alarm as droplets LCD and keypad as an interface that allows the physician to control and ease in usingthis tool. The test results for calculates number of droplets a second infusion posses an average accuracy of 80 %


(17)

BAB 1 PENDAHULUAN

1.1 LATAR BELAKANG

Dengan perkembangan ilmu kedokteran dan teknologi yang semakin canggih menyebabkan tuntutan akan kemudahan dan keakuratan. Demikian halnya perkembangan ilmu dan teknologi dibidang alat-alat kesehatan. Salah satu peralatan yang ada dan sering digunakan dirumah sakit salah satunya adalah infuse. Kita mengetahui dalam penggunaan infuse yang dilakukan secara manual untuk mengetahui jumlah tetesan infuse yang akan diberikan kepada pasien, suster harus menghitung tetesannya sambil melihat jam tangan selama satu menit. cara ini tentu masih jauh dari tingkat ketelitiannya.

Sebagai upaya untuk mengatasi hal tersebut maka kami berusaha merancang dan membuat alat pengatur jumlah tetesan infuse pada pasien untuk mencatat banyaknya tetesan infuse dan monitoring secara digital dengan display LCD dan Rangkaian buzzer alarm sebagai indikator bila terjadi bahaya. Alat ini menggunakan mikrokontroller ATmega 8535 sebagai pembangkit PWM untuk kontrol putaran motor stepper . Alat ini dapat mempermudah paramedis dalam mengatur tetesan infuse. Sehingga dalam mengatur jumlah tetesan infuse, dokter atau suster tidak secara manual dan dapat meningkatkan pelayanan kepada pasien.

Dengan alat ini dokter maupun suster dapat dengan mudah melakukan monitoring infuse pada pasien karena di tampilkan dalam bentuk display digital dan selain itu dalam upaya menjaga keselamatan alat in juga menggunakan rangkaian buzzer sebagai indikator infuse setiap 1 detik sekali dan alarm ini akan memberikan peringatan bila terjadi sumbatan atau pada tetesan infuse yang tidak mengalir dengan baik atau tersumbat


(18)

1.2 Batasan Masalah

Melihat banyaknya masalah yang akan muncul dari perancangan ini, maka penulis membatasi masalah yang akan menjadi pembahasan dalam perancangan alat ini yaitu:

a. Pembahasan perangkat keras sistem kontrol otomatis kecepatan tetes infuse sesuai blok diagram sistem.

b. Prinsip kerja Sensor pembaca jumlah tetesan infuse menggunakan sensor Optocoupler

c. Penggunaan Mikrokontroller AVR ATmega 8535. Untuk sistem ini.

1.3 Maksud dan Tujuan Penulisan

Adapun yang menjadi tujuan Proyek Tugas Akhir ini adalah:

a. Untuk membuat tugas akhir sebagai salah satu syarat menyelesaikan program pendidikan Diploma III di FMIPA USU

b. Sebagai Penerapan ilmu yang dipelajari di bangku perkuliahan secara nyata dan aplikatif

c. Untuk memudahkan mengontrol dan memonitoring jumlah tetesan infuse pada pasien. di rumah sakit

d. Untuk memanfaatkan Mikrokontroller sebagai pemerosesan dan pengontrolan sistem kerja dari rangkaian – rangkaian yang digunakan

e. Untuk memberikan sebuah inovasi baru untuk system pengobatan di bidang medis dari pemanfaatan elektronika dalam kehidupan sehari - hari

1.4. Metode Pengumpulan Data

Data- data yang digunakan dalam penulisan tugas akhir ini diperoleh melalui beberapa metode ada pun metode yang digunakan penulis dalam proses pengumpulan data adalah sebagai berikut


(19)

a. Studi keperpustakaan

Penulis mengumpulkan data dan teori yang dibutuhkan dalam penulisan tugas akhir melalui buku-buku dan referensi lainya yang berkaiatan dengan tugas akhir ini

b. Lembar Data ( Datasheet) komponen yang dipakai pada alat

Lembar data ( Datasheet) merupakan data-data yang dikeluarkan oleh produsen komponen elektronika mengenai fungsi, karakteristik dan data- data penting lainnya tentang komponen hasil produksi dari produsen komponen elektronika yang bersangkutan.

c. Pengujian Alat

Data diperoleh setelah alat yang dibuat diuji dan diambil kesimpulan dari hasil pengujian tersebut

d. Berkonsultasi dengan Dosen pembimbing.

Penulisan melakukan konsultasi dengan berdiskusi dan bertanya secara langsung pada Dosen pembimbing penulis mengenai segala sesuatu yang berhubungan dengan penulisan tugas akhir

1.5. Sistematika Penulisan

Adapun sistematika penulisan yang digunakan penulis dalam penulisan laporan Tugas Akhir ini adalah sebagai berikut :

BAB 1. PENDAHULUAN

Dalam bab ini berisikan mengenai latar belakang, tujuan penulisan, batasan masalah tugas akhir, metode pengumpulan data dan untuk penulisan laporan praktek proyek, serta sistematika penulisan.

BAB 2 . TINJAUAN TEORITIS

Tinjauan teoritis dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan meliputi gambar umum, prinsip kerja dari alat maupun komponen yang digunakan, serta penjelasan mengenai mikrokontroller nya.


(20)

BAB 3 . RANGKAIAN PADA SISTEM PENGENDALIAN TETESAN INFUSE PADA PASIEN

Pada bab ini dipaparkan mengenai rangkaian- rangkaian yang digunakan pada sistem Penegendali Tetesan Infuse pada pasien menggunakan optocoupler dan sistem kerja perblok diagram dan juga secara keseluruhan

BAB 4 . ANALISA RANGKAIAN PENGENDALI TETESAN INFUSE PASIEN DAN PEMROGRAMAN

Dalam bab ini dibahas tentang cara pengujian rangkaian baik secara per blok maupun secara keseluruhan

BAB 5 . KESIMPULAN DAN SARAN

Bab ini merupakan penutup yang meliputi tentang kesimpulan dari pembahasan yang dilakukan dari tugas proyek ini serta saran apakah rangkaian ini dibuat lebih efisien dan di kembangkan perakitanya pada suatu metode lain yang mempunyai sistem kerja yang sama.


(21)

BAB 2

TINJAUAN TEORITIS

2.1 Sensor Optocoupler

Optocoupler adalah suatu piranti yang terdiri dari 2 bagian yaitu transmitter dan receiver, yaitu antara bagian cahaya dengan bagian deteksi sumber cahaya terpisah. Biasanya optocoupler digunakan sebagai saklar elektrik, yang bekerja secara otomatis.

Pada dasarnya Optocoupler adalah suatu komponen penghubung (coupling) yang bekerja berdasarkan picu cahaya optic. Optocoupler terdiri dari dua bagian yaitu: 1. Pada transmitter dibangun dari sebuah LED infra merah. Jika dibandingkan

dengan menggunakan LED biasa, LED infra merah memiliki ketahanan yang lebih baik terhadap sinyal tampak. Cahaya yang dipancarkan oleh LED infra merah tidak terlihat oleh mata telanjang.

2. Pada bagian receiver dibangun dengan dasar komponen Photodiode. Photodiode merupakan suatu transistor yang peka terhadap tenaga cahaya. Suatu sumber cahaya menghasilkan energi panas, begitu pula dengan spektrum infra merah. Karena spekrum inframerah mempunyai efek panas yang lebih besar dari cahaya tampak, maka Photodiode lebih peka untuk menangkap radiasi dari sinar infra merah.

Oleh karena itu Optocoupler dapat dikatakan sebagai gabungan dari LED infra merah dengan fototransistor yang terbungkus menjadi satu chips. Cahaya infra


(22)

merah termasuk dalam gelombang elektromagnetik yang tidak tampak oleh mata telanjang. Sinar ini tidak tampak oleh mata karena mempunyai panjang gelombang , berkas cahaya yang terlalu panjang bagi tanggapan mata manusia. Sinar infra merah mempunyai daerah frekuensi 1 x 1012 Hz sampai dengan 1 x 1014 GHz atau daerah frekuensi dengan panjang gelombang 1µm – 1mm.

LED infra merah ini merupakan komponen elektronika yang memancarkan cahaya infra merah dengan konsumsi daya sangat kecil. Jika diberi bias maju, LED infra merah yang terdapat pada optocoupler akan mengeluarkan panjang gelombang sekitar 0,9 mikrometer.

Proses terjadinya pancaran cahaya pada LED infra merah dalam optocoupler adalah sebagai berikut. Saat dioda menghantarkan arus, elektron lepas dari ikatannya karena memerlukan tenaga dari catu daya listrik. Setelah elektron lepas, banyak elektron yang bergabung dengan lubang yang ada di sekitarnya (memasuki lubang lain yang kosong). Pada saat masuk lubang yang lain, elektron melepaskan tenaga yang akan diradiasikan dalam bentuk cahaya, sehingga dioda akan menyala atau memancarkan cahaya pada saat dilewati arus. Cahaya infra merah yang terdapat pada optocoupler tidak perlu lensa untuk memfokuskan cahaya karena dalam satu chip mempunyai jarak yang dekat dengan penerimanya. Pada optocoupler yang bertugas sebagai penerima cahaya infra merah adalah fototransistor. Fototransistor merupakan komponen elektronika yang berfungsi sebagai detektor cahaya infra merah. Detektor cahaya ini mengubah efek cahaya menjadi sinyal listrik, oleh sebab itu fototransistor termasuk dalam golongan detektor optik.

Fototransistor memiliki sambungan kolektor–basis yang besar dengan cahaya infra merah, karena cahaya ini dapat membangkitkan pasangan lubang elektron. Dengan diberi bias maju, cahaya yang masuk akan menimbulkan arus pada kolektor.

Fototransistor memiliki bahan utama yaitu germanium atau silikon yang sama dengan bahan pembuat transistor. Tipe fototransistor juga sama dengan transistor pada umumnya yaitu PNP dan NPN. Perbedaan transistor dengan fototransistor hanya terletak pada dindingnya yang memungkinkan cahaya infra merah


(23)

mengaktifkan daerah basis, sedangkan transistor biasa ditempatkan pada dinding logam yang tertutup.

Ditinjau dari penggunaanya, fisik optocoupler dapat berbentuk bermacam-macam. Bila hanya digunakan untuk mengisolasi level tegangan atau data pada sisi transmitter dan sisi receiver, maka optocoupler ini biasanya dibuat dalam bentuk solid (tidak ada ruang antara LED dan Photodiode). Sehingga sinyal listrik yang ada pada input dan output akan terisolasi. Dengan kata lain optocoupler ini digunakan sebagai optoisolator jenis IC.

Prinsip kerja dari optocoupler adalah :

a. Jika antara Photodiode dan LED terhalang maka Photodiode tersebut akan off sehingga output dari kolektor akan berlogika high.

b. Sebaliknya jika antara Photodiode dan LED tidak terhalang maka Photodiode dan LED tidak terhalang maka Photodiode tersebut akan on sehingga output-nya akan berlogika low.

Sebagai piranti elektronika yang berfungsi sebagai pemisah antara rangkaian power dengan rangkaian control. Komponen ini merupakan salah satu jenis komponen yang memanfaatkan sinar sebagai pemicu on/off-nya. Opto berarti optic dan coupler berarti pemicu. Sehingga bisa diartikan bahwa optocoupler merupakan suatu komponen yang bekerja berdasarkan picu cahaya optic opto-coupler termasuk dalam sensor, dimana terdiri dari dua bagian yaitu transmitter dan receiver. Dasar rangkaian dapat ditunjukkan seperti pada gambar dibawah ini:

Gambar 2.1 Optocoupler

Sebagai pemancar atau transmitter dibangun dari sebuah led infra merah untuk mendapatkan ketahanan yang lebih baik daripada menggunakan led biasa.


(24)

Sensor ini bisa digunakan sebagai isolator dari rangkaian tegangan rendah kerangkaian tegangan tinggi. Selain itu juga bisa dipakai sebagai pendeteksi adanya penghalang antara transmitter dan receiver dengan memberi ruang uji dibagian tengah antara led dengan photo transistor. Penggunaan ini bisa diterapkan untuk mendeteksi putaran motor atau mendeteksi lubang penanda disket pada disk drive computer. Tapi pada alat yang penulis buat optocoupler untuk mendeteksi putaran.

Penggunaan dari optocoupler tergantung dari kebutuhannya. Ada berbagai macam bentuk, jenis, dan type. Seperti MOC 3040 atau 3020, 4N25 atau 4N33dan sebagainya. Pada umumnya semua jenis optocoupler pada lembar datanya mampu dibebani tegangan sampai 7500 Volt tanpa terjadi kerusakan atau kebocoran. Biasanya dipasaran optocoupler tersedianya dengan type 4NXX atau MOC XXXX dengan X adalah angka part valuenya. Untuk type 4N25 ini mempunyai tegangan isolasi sebesar 2500 Volt dengan kemampuan maksimal led dialiri arus fordward sebesar 80 mA. Namun besarnya arus led yang digunakan berkisar antara 15mA - 30 mA dan untuk menghubungkan-nya dengan tegangan +5 Volt diperlukan tahanan sekitar 1K ohm

2.2 Motor

Motor merupakan perangkat elektromagnetik yang dapat mengubah energi listrik menjadi energi mekanik. Perubahan ini dilakukan dengan merubah tenaga listrik menjadi magnet yang disebut sebagai elektromagnit. Sebagaimana kita ketahui bahwa : kutub-kutub dari magnet yang senama akan tolak-menolak dan kutub-kutub tidak senama, tarik-menarik. Maka kita dapat memperoleh gerakan jika kita menempatkan sebuah magnet pada sebuah poros yang dapat berputar, dan magnet yang lain pada suatu kedudukan yang tetap. Dengan cara inilah energi listrik dapat diubah menjadi energi mekanik.

Energi mekanik ini diguanakan untuk, misalnya memutar impeler pompa, fan atau blower, menggerakkan kompresor, mengangkat bahan, dll. Motor listrik digunakan juga dirumah (mixer, bor listrik, afan angin) dan industri. Motor listrik


(25)

kadangkala disebut “kuda kerja” nya industri sebab diperkirakan bahwa motor-motor menggunakan sekitar 70% beban total industri.

Secara umum motor listrik dapat dibagi menjadi motor ac dan motor dc, bembagian ini berdasarkan pada arus listrik yang digunakan untuk menggerakkannya. Namun penulis pada bagian ini kita hanya membahas mengenai motor dc

2. 3 Motor Stepper

Motor stepper dibedakan menjadi dua macam berdasarkan magnet yang digunakan, yaitu tipe permanen magnet dan variabel reluktansi. Pada umumnya motor stepper yang digunakan saat ini adalah motor stepper yang mempunyai variabel reluktansi. Cara yang paling mudah untuk membedakan antara tipe motor stepper di atas adalah dengan cara memutar rotor dengan tangan ketika tidak dihubungkan ke suplay.

Pada motor stepper yang mempunyai permanen magnet maka ketika diputar dengan tangan akan terasa lebih tersendat karena adanya gaya yang ditimbulkan oleh magnet permanen. Tetapi ketika menggunakan motor dengan variabel reluktansi maka ketika diputar akan lebih halus karena sisa reluktansinya cukup kecil.

2.3.1 Tipe Motor Stepper

a. Motor Stepper Unipolar

Motor stepper unipolar terdiri dari dua lilitan yang memiliki center tap. Center tap dari masing masing lilitan ada yang berupa kabel terpisah ada juga yang sudah terhubung didalamnya sehingga center tap yang keluar hanya satu kabel. Untuk motor stepper yang center tapnya ada pada masing – masing lilitan kabel inputnya ada 6 kabel. Namun jika center tapnya sudah terhubung di dalam kabel inputannya hanya 5 kabel. Center tap dari motor stepper dapat dihubungkan ke pentanahan atau ada juga yang


(26)

menghubungkannya ke +VCC hal ini sangat dipengaruhi oleh driver yang digunakan. Sebagai gambaran dapat dilihat konstruksi motor stepper unipolar pada gambar berikut:

Gambar 2. 2 : Motor stepper Unipolar

b. Motor Stepper Bipolar

Motor stepper bipolar memiliki dua lilitan perbedaaan dari tipe unipolar adalah bahwa pada tipe bipolar lilitannya tidak memiliki center tap. Keunggulan tipe bipolar yaitu memiliki torsi yang lebih besar jika dibandingkan dengan tipe unipolar untuk ukuran yang sama. Pada motor stepper tipe ini hanya memiliki empat kabel masukan. Namun ntuk menggerakan motor stepper tipe ini lebih rumit jika dibandingkan dengan menggerakan motor stepper tipe unipolar. Sebagai gambaran dapat dilihat konstruksi motor stepper bipolar pada gambar berikut :


(27)

2.3.2 Variabel Reluktansi Motor

Pada motor stepper yang mempunyai variabel reluktansi maka terdapat 3 buah lilitan yang pada ujungnya dijadikan satu pada sebuah pin common. Untuk dapat menggerakkan motor ini maka aktivasi tiap-tiap lilitan harus sesuai urutannya. Gambar 2.4 merupakan gambar struktur dari motor dengan variabel reluktansi dimana tiap stepnya adalah 30°. Mempunyai 4 buah kutub pada rotor dan 6 buah kutub pada statornya yang terletak saling berseberangan.

Gambar 2.4 Variabel Reluktansi Motor

Jika lilitan 1 dilewati oleh arus, lilitan 2 mati dan lilitan 3 juga mati maka kumparan 1 akan menghasilkan gaya tolakan kepada rotor dan rotor akan berputar sejauh 30° searah jarum jam sehingga kutub rotor dengan label Y sejajar dengan kutub dengan label 2.

Jika kondisi seperti ini berulang terus menerus secara berurutan, lilitan 2 dilewati arus kemudian lilitan 3 maka motor akan berputar secara terus menerus. Agar dapat berputar sebanyak 21 step maka perlu diberikan data dengan urutan seperti pada data berikut :

Gambar 2.5 Urutan Data Motor Stepper Dengan Tipe Variabel Reluktansi

Dari data di atas ‘1’ diartikan bahwa lilitan yang bersangkutan dilewati arus sehingga menghasilkan gaya tolak untuk rotor. Sedangkan ‘0’ diartikan lilitan dalam kondisi off, tidak mendapatkan arus.


(28)

2.4

Microkontroller Jenis AVR (Alf and Vegard RISC)

Mikrokontroller merupakan alat pengolahan data digital dan analog (fitur ADC pada seri AVR) dalam level tegangan maksimum 5V. Keunggulan mikrokontroller dibanding microprocessor yaitu lebih murah dan didukung dengan software compiler yang sangat beragam seperti software compailer C/C++, basic, pascal, bahkan assembler. Sehingga penggunaan dapat memilih program yang sesuai dengan kemampuannya.

Pada mikrokontroller AVR membutuhkan sedikit komponen pendukung, tidak seperti mikrokontroller yang sistem pendukungnya terpisah atau terbentuk secara parsial, seperti RAM, ROM, dan Mikroprocessor sendiri.

Keunggulan AVR dibanding dengan mikrokontroller lain, memiliki kecepatan eksekusi yang lebih cepat karena sebagian besar instruksi dibentuk dalam satu siklus clock, jika dibandingkan dengan mikrokontroller jenis MCS51 yang mengeksekusi satu instruksi dengan 12 siklus clock.

AVR memiliki fitur yang lengkap (ADC internal, EEPROM internal, Timer/counter, Watchdog timer, PWM, Port I/O, komunikasi serial, komperator, TWI, dll), sehingga dengan fasilitas ini programer dan disigner dapat menggunakannya untuk berbagai sistem elektronika seperti robot, automasi industri, peralatan telekomunikasi dan berbagai keperluan lain.

Beberapa produsen mikrokontroller mengeluarkan jenis mikrokontroller yang memiliki fitur-fitur yang sangat beragam seperti AVR jenis ATtiny, ATmega, dan AT90. dari segi jumlah pin dan memori dapat kita lihat perbedaan jenis mikrokontroller jenis AVR ini, seperti tabel dibawah ini.


(29)

Tabel 2.1 Jenis-Jenis AVR

Mikrontroller Memori

Tipe Jumlah Pin Flash EEPROM SRAM

TinyAVR 8 – 32 1 – 2K 64 – 128 0 – 128 AT90XX 20 – 44 1 – 8K 128 – 512 0 – 1K ATmega 32 – 64 8 – 128K 512 – 4K 512 – 4K

Pemrograman mikrokontroller AVR dengan menggunakan bahasa C lebih tangguh bila dibanding dengan jenis pemrograman lainnya. Karena bahasa program C independent terhadap hardware, lain halnya dengan menggunakan bahasa assembler yang mana setiap jenis mikronkontroller berbeda jenis pemrogramannya sehingga orang yang ingin memprogram jenis mikrokontroller yang lainnya harus belajar bahasa assembler nya dulu. Keunggulan lainnya dengan menggunakan bahasa C adalah penyusunan program yang besar dapat dilakukan dengan mudah, dan program yang sudah jadi dapat digunakan ke jenis AVR lain dengan hanya mengubah fungsi-fungsi register dan portnya.

Beberapa faktor pertimbangan penting untuk memilih mikrokontroller jenis AVR antara lain:

a. Harga mikrokontroller yang lebih murah dibanding mikroprocessor;

b. Ukuran memori mikrokontroller yang cukup besar dan untuk menambah memorinya dapat digunakan memori eksternal;

c. Fitur ADC, timer, PWM, USART, dan fasilitas lainnya yang memudahkan Disigner dalam merancang sistem;

d. Kecepatan eksekusi program dimana intruksi dieksekusi dalam 1 siklus clock sementara mikrokontroller jenis MCS51 hanya dapat mengeksekusi intruksi dalam 12 clock.

e. Adanya clock internal sehingga mikrokontroller dapat digunakan tanpa menggunakan crystal;

f. Software pendukung yang sangat beragam dan penggunaanya jauh lebih mudah karena software menyediakan fitur yang memudahkan dalam memprogramnya seperti CodeVisionAVR dan BASCOM AVR yang


(30)

menyediakan fitur design LCD pada BASCOM AVR dan fitur penghasil program pada CodeVisionAVR.

2.4.1 Fitur ATmega8535

Berikut ini adalah fitur – fitur yang dimiliki oleh Atmega 8535

a. 130 macam intruksi yang hampir semuanya dieksekusi dala satu siklus clock b. 32 x 8-bit register serba guna

c. Kecepatan mencapain16 MIPS dengan clock 16 MHz

d. 8 Kbyte Flash Memori, yang memiliki fasilitas In system Programing e. 512 Byte internal EEPROM

f. 512 Byte SRAM

g. Programing Lock, Fasilitas untuk mengamankan kode program h. 2 buah timer/counter 8-bit dan 1 buah timer/ counter 16-bit i. 4 chanel output PWM

j. 8 chanel ADC 10-bit k. Serial USART

l. Master / Slave SPI serial interface m. Serial TWI atau 12C

n. On-Chip Analog Comparator

2.4.2 Fungsi Pin-Pin AVR ATmega8535 yang digunakan a. Fungsi VCC

VCC merupakn pin yang berfungsi sebagai masukan catu daya

b. Fungsi GND

GND merupakan pin ground untuk catu daya digital

c. Fungsi PORTA

PORTA memiliki fungsi input dan juga digunakan sebagai input analog yang akan

dikonfersikan menjadi data-data digital (ADC), seperti yang ditunjukkan pada tabel di bawah. Jika salah satu PORTA dikonfigurasikan sebagai output ketika PORTA difungsikan sebagai ADC maka hasil pengkonversian analog ke digital akan


(31)

menghasilkan data error. Untuk mengaktifkan fungsi ADC pada PORTA dengan CodeVesion AVR akan dibahas di lab selanjutnya tentang teknik pemrograman C pada ATmega8535 dengan menggunakan software CodeVision AVR. Fungsi PORTA dapat dilihat pada tabel.

Tabel 2.2 PORTA

PORT Keterangan Fungsi PORT PA.0 Keypad (Baris ke-1)

PA.1 Keypad (Baris ke-1) PA.2 Keypad (Baris ke-2) PA.3 Keypad (Baris ke-2) PA.4 Keypad (Baris ke-3) PA.5 Keypad (Baris ke-3) PA.6 Keypad (Baris ke-4) PA.7 Keypad (Baris ke-4) d. Fungsi PORTB

PORTB merupakan pin Input dan Output 8 bit dua arah dan memilki pin fungsi

khusus yaitu Timer/ Counter, Komparator analog dan SPI dan Fungsi PORTB yang digumakan pada rangkaian dapat dilihat pada tabel dibawah ini,

Tabel 2.3 PORTB

PORT Keterangan Fungsi PORT

PB.0 Driver Motor Stepper

PB.1 Driver Motor Stepper

PB.2 Driver Motor Stepper

PB.3 Driver Motor Stepper

PB.7 Buzzer e. Fungsi PORTC

PORTC merupakan pin input dan output dua arah dan memiliki pin fungsi khusus

yaitu TWI, Komparator analog dan Timer Oscilator dan Fungsi PORTC yang dugunakan dapat dilihat pada tabel dibawah ini,


(32)

Tabel 2.4 PORTC

PORT Keterangan Fungsi PORT PC.0 D4 (LCD PIN 11)

PC.1 D5 (LCD PIN 12) PC.2 D6 (LCD PIN 13) PC.3 D7 (LCD PIN 14) PC.4 Free

PC.5 RS (LCD PIN 4) PC.6 RW (LCD PIN 5) PC.7 CLK (LCD PIN 6) f. Fungsi PORTD

PORTD merupakan pin input dan output dua arah dan pin fungsi khusus yaitu

komparator analog, interupsi eksternal dan komunikasi serial. Fungsi PORTD dapat dilihat pada tabel dibawah ini,

Tabel 2.5 PORTD

PORTIN Keterangan Fungsi PORT PIND.7 Input sensor Optik

2.4.3 Arsitektur ATmega8535

ATmega8535 adalah mikrokontroler 8-bit CMOS dengan menggunakan daya yang rendah dan menjalankan intruksi dalam satu clock. Mikrokontroler ATmega8535 dikombinasikan dengan 32 register. Semua register terhubung langsung ke Arithmetic Logic Unit (ALU), membiarkan 2 register untuk di akses di dalam satu instruksi dieksekusi dalam satu clock. Status dan kontrol berfungsi untuk menyimpan instruksi aritmatika yang baru saja dieksekusi. Informasi ini berguna untuk mengubah alur program saat mengeksekusi operasi kondisional. Instruksi dijemput dari flash memory. Setiap byte flash memory memiliki alamat masing-masing. Alamat instruksi yang akan dieksekusi senantiasa disimpan Program Counter. Ketika terjadi interupsi atau pemanggilan rutin biasa, alamat di Program Counter disimpan terlabih dahulu di


(33)

stack. Alamat interupsi atau rutin kemudian ditulis ke Program Counter, instruksi kemudian dijemput dan dieksekusi. Ketika CPU telah mengeksekusi rutin interupsi atau rutin biasa, alamat yang ada di stack dibaca dan ditulis kembali ke Program


(34)

2.4.4 Program Memori

ATmega8535 berisi 8K bytes On-Chip di dalam sistem Memori flash Reprogrammable untuk penyimpanan program. Karena semua AVR instruksi adalah 16 atau 32 bits lebar, Flash adalah berbentuk 4K x16. Untuk keamanan perangkat lunak, Flash Ruang program memori adalah dibagi menjadi dua bagian, bagian boot program dan bagian aplikasi program dengan alamat mulai dari $000 sampai $FFF.Flash Memori mempunyai suatu daya tahan sedikitnya 10,000 write/erase Cycles. ATmega8535 Program Counter (PC) adalah 12 bitlebar, alamat ini 4K lokasi program memori.

Gambar 2.7 Program Memori

2.4.5 Memori Data (SRAM)

Memori data terbagi menjadi 3 bagian, yaitu 32 register umum,64 buah register I/O,dan 512 byte SRAM. Dalam data memori terdapat 608 lokasi address data. 96 lokasi address digunakan untuk register file dan I/O memori sementara 512 lokasi


(35)

address lainnya digunakan untuk internal data SRAM. Register file terdiri dari 32 general purpose working register, I/O register terdiri dari 64 register

2.4.6 EEPROM

ATmega8535 memiliki EEPROM sebesar 512 byte untuk menyimpan data. Lokasinya terpisah dengan sistem address register, data register dan control register yang dibuat khusus untuk EEPROM. EEPROM dapat diprogram, dibaca dan dihapus sebanyak 100.000 kali.

Data yang tersimpan di EEPROM akan tetap tersimpan walaupun mikrokontroller ATmega8535 tidak diberi catu daya.

2.5 Perangkat Lunak ( Software )

2.5.1 ATmega8535 dengan Bahasa C

C adalah bahasa pemrograman yang dapat dikatakan berada antara bahasa tingkat rendah (bahasa yang berorientasi pada mesin) dan bahasa tingkat tinggi (bahasa yang berorientasi pada manusia). Seperti yang diketahui, bahasa tingkat tinggi mempunyai kompatibilitas antara platform. Karena itu, amat mudah untuk membuat program pada berbagai mesin. Berbeda halnya dengan menggunakan bahasa mesin, sebab setiap perintahnya sangat bergantung pada jenis mesin

.

Pembuat bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada tahun 1972. C adalah bahasa pemrograman tersetruktur , yang membagi program dalam bentuk block. Tujuannya untuk memudahkan dalam pembuatan dan pengembangan program. Program yang ditulis dengan bahasa C mudah sekali dipindahkan dari satu jenis program ke bahasa program lain. Hal ini karena adanya


(36)

standarisasi bahasa C yaitu berupa standar ANSI (American National Standar Institute) yang dijadikan acuan oleh para pembuat kompiler.

2.5.1.1 Pengenalan pada Bahasa C

Pengenalan meruapakan sebuah nama yang didefenisikan oleh program untuk menunjukkan sebuah konstanta, variabel, fungsi, label, atau tipe data khusus. Pemberian pengenal pada program harus memenuhi syarat-syarat dibawah ini:

a. Karakter pertama tidak menggunakan angka; b. Karakter kedua berupa huruf, angka, garis bawah; c. Tidak menggunakan spasi;

d. Bersifat case sensitive, yaitu huruf kapital dan huruf kecil dianggap berbeda; e. Tidak boleh menggunakan kata-kata yang merupakan sintaks atau operator Contoh menggunakan pengenal yang diperbolehkan:

1. Nama 2. _nama 3. Nama2

4. Nama_pengenal

Contoh penggunaan pengenal yang tidak diperbolehkan: 1. 2nama

2. Nama+2 3. Nama pengenal

2.5.1.2 Tipe Data

Pemberian signed dan unsigned pada tipe data menyebabkan jangkauan dari tipe berubah. Pada unsigned menyebabkan tipe data akan selalu bernilai positif sedangkan signed menyebabkan nilai tipe data bernilai negatif dan memungkinkan data bernilai positif. Perbedaan nilai tipe data dapat kita lihat pada tabel dibawah ini:


(37)

Tabel 2.6 Tipe Data

Pemodifikasi Tipe Persamaan Jangkauan Nilai

Signed char Char -128 s/d 127

Signed int Int -32.768 s/d 32.767

Signed short int Short, signed, short -32.768 s/d 32.767 Signed long int Long, long int, signed long -2.147.483 s/d 2.147.647 Unsigned char Tidak ada 0 s/d 255

Unsigned int Unsigned 0 s/d 65.535

Unsigned short int Unsigned short 0 s/d 65.535

Unsigned lonng int Unsigned long 0 s/d 4.294.967.295

Contoh program yang menunjukkan pengaruh signed dan unsigned pada hasil program,

#include <mega.8535.h> #include <delay.h>

Void main (void) {

Int a, b; //pengenal Unsigned d, c;

a = b0; b = 40;

d = 50; e = 40;

PORTC = 0x00;

DDRC = 0xff //set PORTC sebagai output PORTB = 0x00;


(38)

While(1) {

PORTB = a b; PORTC = d – e; Delay_ms (100); };

}

Program di atas akan memberikan data di PORTIB – 10 (desimal) sedangkan PORTIB = -10 (desimal) karena PORT mikrokontroler tidak dapat mengeluarkan nilai negatif maka PORTIB dan PORTC akan memiliki keluaran 0x0A tapi pada kenyataannya PORTC lebih banyak memakan memori karena tanda negatif tersebut disimpan dalam memori.

Pada program di atas terdapat tulisan //set PORTB sebagai output yang berguna sebagai komentar yang mana komentar ini tidak mempengaruhi hasil dari program. Ada dua cara penulisan komentar pada pemrograman bahasa C, yaitu dengan mengawali komentar dengan tanda “// “ ( untuk komentar yang hanya satu baris) dan mengawali komentar dengan tanda “ /* “ dan mengakhiri komentar dengan tanda “ */ “.

Contoh:

/ / ini adalah komentar

/+ ini adalah komentar

Yang lebih panjang

Dan lebih panjang lagi +/

2.5.1.3 Header

Header digunakan untuk menginstruksikan kompiler untuk menyisipkan file lain. Di dalam file header ini tersimpan deklarasi, fungsi, variabel, dan jenis mikrokontroler


(39)

yang kita gunakan (pada software Code Vision AVR). File-file yang berakhiran .h disebut file header.

File header yang digunakan untuk mendefinisikan jenis mikrokontroler yang digunakan berfungsi sebagai pengarah yang mana pendeklarasian register-register yang terdapat program difungsikan untuk jenis mikrokontroler apa yang digunakan ( pada software Code Vision AVR ).

Contoh:

# include <mega8535. h>

# include <delay. h>

# include <stdio. h>

2.5.1.4 Operator Aritmatika

Operator aritmatika digunakan untuk melakukan proses perhitungan matematika. Fungsi-fungsi matematika yang terdapat pada bahasa C dapat dilihat pada tabel di bawah ini:

Tabel 2.7 Operasi Aritmatika

Operator Keterangan

+ Operator untuk penjumlahan - Operator untuk pengurangan * Operator untuk perkalian

/ Operator untuk pembagian % Operator untuk sisa bagi

Contoh penggunaan operator aritmatika dapat dilihat di bawah ini, # include < mega8535. h>

# include < delay. h>


(40)

{

Unsigned char a, b; a = 0x03 ;

b = 0x05 ;

DDRC 0xFF ; / / PORTC di gunakan sebagai output While ( 1 )

{

PORTC = ( a * b ) ; delay_ms ( 500 ) ; }

}

2.5.1.5 Operator Pembanding

Operator pembanding digunakan untuk membandingkan 2 data atau lebih. Hasil operator akan di jalankan jika pernyataan benar dan tidak di jalankan jika salah. Operator pembanding dapat kita lihat pada tabel di bawah ini:

Tabel 2.8 Operator Pembanding

Operator Contoh Keterangan

= = x = = y Benar jika kedua data bernilai sama ! = x ! = y Bernilai benar jika kedua data tidak sama

> x > y Bernilai benar jika nilai x lebih besar dari pada y < x < y Bernilai jika x lebih kecil dari y

>= x >= y Bernilai jika x lebih besar atau sama dengan y <= x <= y Bernilai benar jika x lebih kecil atau sama dengan y

2.5.1.6 Operator Logika

Operator logika digunakan untuk membentuk logika dari dua pernyataan atau lebih. Operator logika dapat dilihat pada tabel di bawah ini:


(41)

Tabel 2.9 Operator Logika

Operator Keterangan && Logika AND

| | Logika OR | Logika NOT

Contoh program:

# include < mega32 . h> # include < delay . h>

void main ( void ) {

DDRC = 0XFF ; // sebagai output DDRA = 0X00 ; // sebagai input

while ((1 ) {

if ( PINA . 0 = 1 ) | | ( PINA. 1 = 1 ) { PORTC = 0XFF ;

delay_ms ( 500 ) ; PORTC – 0X00 ; delay_ms ( 500 ) ; {

else {

PORTC = 0x00 ; delay ms ( 500 ) ; }

} }


(42)

Apabila PINA.0 atau PINA.1 diberi input logika 1 maka PORTC akan mengeluarkan logika 0xff kemudian logika 0x00 secara bergantian dengan selang waktu 0,5 s. dan apabila bukan PINA.1 atau PINA.0 diberi logika 1 maka PORTC akan mengeluarkan logika 0x00

2.5.1.7 Operator Bitwise

Operator logika ini bekerja pada level bit. Perbedaan operator bitwise dengan operator logika adalah pada operator logika akan menghasilkan pernyataan benar atau salah sedangkan pada operator bitwise akan menghasilkan data biner. Operator bitwise dapat dilihat pada tabel di bawah ini:

Tabel 2. 10 Operator Bitwise

Operator Keterangan

& Operator AND level bit ¦ Operator OR level bit

^ Operator XOR level bit ~ Operator NOT level bit >> Operator geser kanan << Operator geser kiri

Contoh program:

# include < mega32 . h> # include < delay . h>

void main ( void )

{

Unsigned char a, b, c;


(43)

DDRA = 0X00 ; // sebagai input

while ((1 )

{

a = 0x12; b = 0x34; c = a & b; PORTC = c; Delay_ms (500);

};

}

Penjelasan program:

a = 0x12 = 0001 0010 b = 0x32 = 0011 0000 --- a & b = 0001 0000

2.5.1.8 Operator penugasan dan operator majemuk

Operator ini digunakan untuk memberikan nilai atau manipulasi data sebuah variabel. Operator penguasa dapat kita lihat pada tabel di bawah ini:

Tabel 2. 11 Operator Penugasan

Operator Keterangan

= Memberikan nilai variable += Menambahkan nilai variable


(44)

-= Mengurangi nilai variable *= Mengalikan nilai variable

/= Membagi nilai variable %= Memperoleh sisa bagi

Contoh :

a +- 2 ; artinya nilai variabel a berubah menjadi a – a + 2 a *= 4 ; artinya nilai varibel b berubah menjadi b = b* 4

selain operator penugasan diatas juga ada operator penugasan yang berkaitan dengan operator bitwise seperti pada tabel dibawah ini:

Tabel 2. 12 Operator Penugasan

Operator Contoh Arti

&= x &= 1 Variabel x di AND kan dengan 1 ¦= x ¦= 1 Variabel x di OR kan dengan 1 ~= x ~= 1 x = ~ (1) ; x = 0xFE

^= x ^= 1 Variabel x di XOR kan dengan 1 <<= x <<= 1 Variabel x digeser kiri 1 kali >>= x >>= 1 Variabel x digeser kanan 1 kali

2.5.1.9 Operator Penambahan dan Pengurangan

Operator ini digunakan untuk menaikkan atau menurunkan nilai suatu variabel dengan selisih 11. operator ini dapat dilihat pada tabel di bawah ini:

Tabel 2. 13 Operator Penugasan

Operator Keterangan

++ Penambahan 1 pada variable - - Pengurangan


(45)

Contoh :

a = 1; b = 2; a ++ ; b --;

Penjelasan:

Maka operator a++ akan mengubah variabel a dari satu menjadi 2, sedangkan operator B akan mengubah variabel b dari 2 menjadi 1.

2.5.1.10 Pernyataan If dan If Bersarang

Pernyataan if digunakan untuk pengambilan keputusan terhadap 2 atau lebih pernyataan dengan menghasilkan pernyataan benar atau salah. Jika pernyataan benar maka akan di jalankan intruksi pada blok nya, sedangkan jika pernyataan tidak benar maka intruksi yang pada blok lain yang di jalankan ( sesuai dengan arah programnya ).

Bentuk pernyataan IF adalah sebagai berikut:

1. Bentuk sederhana

If (kondisi) {

Pernyataan_1; Pernyataan_2; ………..; }

2. Pernyataan else

If (kondisi) {


(46)

Pernyataan_1; ………..; }

Else {

Pernyataan_2; ………..; }

3. If di dalam if

Pernyataan ini sering disebut nested if atau if bersarang. Salah satu bentuknya adalah sebagai berikut:

If (kondisi1)

Pernyataan_1; Else if (kondisi2)

Penyataan_2; Else if (kondisi3)

Pernyataan_3; Else

Pernyataan;

Contoh program

if (dtkey == 0x0a) {

} else

Data = dtkey;

sprintf(buf,"%x ",Data); lcd_puts(buf);


(47)

2.5.1.11 Pernyataan Switch

Penyataan switch di gunakan untuk melakukan pengambilan keputusan terhadap banyak kemungkinan. Bentuk pernyataan switch adalah sebagai berikut:

Switch (ekspresi) {

Case nilai_1 : pernyataan_1;break; Case nilai_2 : pernyataan_2;break; Case nilai_3 : pernyataan_3;break; …

Default : pernyataan_default;break; }

Pada pernyataan switch, masing-masing pernyataan (pernyataan_1 sampai

dengan pernyataan _default) dapat berupa satu atau beberapa perintah dan tidak perlu

berupa blok pernyataan. Pernyataan_1 akan dikerjakan jika ekspresi bernilai sama dengan nilai_1, pernyataan_2 akan dikerjakan jika ekspresi bernilai sama dengan

nilai_2, pernyataan _3 akan dikerjakan jika ekspresi bernilai sama dengan nilai_3 dan

seterusnya. Pernyataan_default bersifat opsional, artinya boleh dikerjakan apabila nilai ekspresi tidak ada yang sama satupun dengan salah satu nilai_1, nilai_2. nilai_3 dan seterusnya. Setiap akhir dari pernyataan harus diakhiri dengan break, karena ini digunakan untuk keluar dari pernyataan switch.

Contoh:

Switch ( PINA )

{

case 1: dtkey=0x1;break; case 2: dtkey=0x4;break; };

Pernyataan di atas berarti membaca port A, kemudian datanya ( PINA ) akan disesuaikan dengan nilai CASE. Jika PINA bernilai 1 maka data 0x00 akan


(48)

dikeluarkan ke port C kemudian program keluar dari pernyataan switch tetapi jika

PINA bernilai 2 maka data 0x4 akan dikeluarkan ke port C kemudian program keluar

dari pernyataan switch.

2.5.1.12 Pernyataan While

Pernyataan while digunakan untuk mengulangi sebuah pernyataan atau blok kenyataan secara terus menerus selama kondisi tertentu masih terpenuhi. Bentuk pernyataan while adalah sebagai berikut:

While (kondisi) {

// sebuah pernyataan atau blok pernyataan }

Jika pernyataan yang akan diulangi hanya sebuah pernyataan saja maka tanda { dan } bisa dihilangkan.

Contoh:

Unsigned char a = 0 …* *

While (a < 10) {

PORT=a; a++; }

Pernyataan di atas akan mengeluarkan data a ke port C secara berulang-ulang. Setiap kali pengulangan nilai a akan bertambah 1 dan setelah nilai a mencapai 10 maka pengulangan selesai.


(49)

2.5.2 Software Code Vision AVR

Code Vision AVR merupakan salah satu software kompiler yang khusus digunakan untuk mikrokontroler keluarga AVR, dan dari beberapa kompiler C yang digunakan , Code Vision AVR merupakan yang terbaik dibandingkan kompiler-kompiler yang lain karena beberapa kelebihan yang dimiliki oleh CodeVision AVR antara lain :

a. Menggunakan IDE ( Integrated Development Environment )

b. Fasilitas yang disediakan lengkap ( mengedit program, mendownload program, mengkompile program )

c. Mampu membangkitkan kode program secara otomatis dengan menggunakan fasilitas CodeWizardAVR

d. Memiliki fasilitas untuk mendownload program langsung dari CodeVisionAVR dengan menggunakan hardware khusus seperti AtmelSTK500, Kanda System STK200+/300 dan beberapa hardware lain yang telah didefinisikan oleh CodeVisionAVR

e. Memiliki fasilitas debugger sehingga dapat menggunakan software compiler lain untuk mengecek kode Assembler nya contoh AVRStudio

f. Memiliki terminal komunikasi serial yang terintegerasi dalam CodeVisionAVR sehingga dapat digunakan untuk membantupengecekan program yang telah dibuat khususnya yang menggunakan fasilitas komunikasi serial UART

Adapun tahap – tahap dalam menggunakan Code Vision AVR

a. Buka program Code Vision AVR dengan cara star menu All Program CodeVision AVRCodeVision AVR C Compiler

b. U ntuk membuat Project Baru gunakan File New maka akan muncul 2 pilihan yaitu source atau project. Karena kita akan membuat project dulu maka

→ pili Project

c. Setelah itu akan muncul konfirmasi apakah kita akan menggunakan fasilitas CodeWizardAVR atau tidak. Pilih Yes jika ingin menggunakan fasilitas CodeWizardAVR atau No jika tidak. Fasilitas CodeWizardAVR digunakan untuk membangkitkan kode program secara otomatis sesuai menu-menu yang


(50)

telah tersedia. Untuk project pertama ini kita akan menuliskan kode program sendiri sehingga kita pilih No

d. Tuliskan dan simpan nama file project Anda. Sebagai contoh kita simpan dengan nam projectku.prj

e. Pilih Tab C Compiler kemudian pilih Chip sesuai dengan IC mikrokontroler yang kita pakai serta atur Clock sesuai dengan frekuensi kristal yang digunakan

f. Sampai disini Anda telah selesai membuat file project baru dengan nama projectku.prj. Langkah selanjutnya adalah Anda membuat file baru untuk menuliskan listing program yaitu dengan cara : File New pilih Source. Setelah itu akan muncul jendela baru yang dapat kita gunakan untk menulis program. Sebagai contoh dalam program pertama ini kita akan tuliskan listing program

#include <mega8535.h> void main ( void ) {

DDRC=0xFF PORTC=0x0F }

Kemudian setelah itu kita simpan dengan cara File Save dan diberi nama Led.c.

g. Selanjutnya kita harus memasukan file program ini( led.c) kedalam file project yang telah kita buat sebelumnya ( projectku.prj ) dengan cara :

Project Configure pilih tab Files Add pilih file led.c Open, sekarang file program led.c yang anda tuliskan telah masuk dalam project. h. Langkah berikutnya adalah proses kompile. Untuk mengkompile program

yang telah kita tuliskan tadi dilakukan dengan cara : Project Make

Informasi diatas akan muncul pada akhir proses kompilasi dari informasi diatas kita dapat mengetahui Apabila dalam proses kompile ini terdapat beberapa eror, maka kita harus mencari sumber error tersebut kemudian membetulkannya dan mengkompilenya lagi sampai tidak terdapat error lagi, jika proses kompile berjalan dengan baik maka akn muncul beberpa file baru antar lain file led.asm, led.obj, led.hex dan file nled.eep. dan dalam project ini


(51)

file dengan eksistensi *hex inilah yang akan didownload kedalam mikrokontroler. Langkah berikut dan seterusnya adalah proses download program ke mikrokontroler

i. Buka Program CodeVisionAVR Chip Programmer, caranya adalah tools I Chip Programmer, jangan lupa pastikan setting programmernya pada modul STK200

j. Buka file program yang akan didownload ke mikrokontroler. Caranya adalah File I Load FLASH kemudian pilih nama file led.hex

k. Download program ke mikrokontroler. Caranya adalah program I All

l. Sekarang Anda bisa amati bagaiman menyalanya lampu LED yang terhubung ke PORTC, jika 4 buah menyala dan 4 buah mati maka project pertama Anda telah berhasil.


(52)

36 BAB 3

RANGKAIAN PADA SISTEM PENGENDALI TETESAN CAIRAN INFUSE PADA PASIEN

3.1. Perancangan Rangkaian Power Supplay (PSA)

3.1.1 Cara Kerja Rangkaian

Trafo step down merupakan Trafo system yang berfungsi untuk menurunkan tegangan dari 220 Volt AC menjadi 12 Volt AC. Kemudian 12 Volt AC akan disearahkan dengan menggunakan rangkaian dijembatan diode, selanjutnya 12 Volt DC akan diratakan oleh Kapasitor 220 µ F. Regulator tegangan 5 Volt ( LM7805CT) digunakan agar keluaran yang dihasilkan tetap 5 Volt walaupun terjadi perubahan pada tegangan masuknya. LED hanya sebagai indicator apabila PSA dinyalakan. Tegangan 12 Volt DC langsung diambil dari keluaran jembatan dioda penyearah.

3.1.2 Fungsi Rangkaian

Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada. Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt. Keluaran 5 volt digunakan untuk mensupplay tegangan ke rangkaian mikrokontroler, rangkaian driver L 293D, sensor optic dan LCD, sedangkan +12 volt digunakan untuk mensuplay tegangan ke driver dan motor stepper. Rangkaian power supplay ditunjukkan pada gambar 3.1 berikut ini :


(53)

37 Gambar 3.1. Rangkaian Power Supplay (PSA)

Input rangkaian ini adalah sebuah adaptor 12 volt. Regulator tegangan 5 volt (7805) digunakan untuk menghasilkan keluaran 5 volt. Tegangan 12 volt DC langsung diambil dari adaptor.

3.1.3 Pengujian Rangkaian

Pengujian pada bagian rangkaian power supplay ini dapat dilakukan dengan mengukur tegangan dari setiap pin pada IC regulator 7805 dengan menggunakan volt meter digital. Titik pengukuran ditunjukkan pada gambar berikut ini:

Gambar 3.2. IC Regulator 7805

Dari hasil pengukuran diperoleh hasil sebagai berikut:

Tabel 3.1. Tabel tegangan IC 7805 Tegangan IC7805

PIN V(Volt) 7805

1

2


(54)

38

1 12

2 0

3 4.89

3.2. Perancangan Rangkaian Mikrokontroler ATmega8535

3.2.1 Cara Kerja Rangkaian

Mikrokontroler ini memiliki 32 port I/O, yaitu port A, port B, port C dan port D. Pin 33 sampai 40 adalah Port A yang merupakan port ADC, dimana port ini dapat menerima data analog. Pin 1 sampai 8 adalah port B. Pin 22 sampai 29 adalah port C. Dan Pin 14 sampai 21 adalah port D. Pin 10 dihubungkan ke sumber tegangan 5 volt. Dan pin 11 dihubungkan ke ground. Rangkaian mikrokontroler ini menggunakan komponen kristal sebagai sumber clocknya. Nilai kristal ini akan mempengaruhi kecepatan mikrokontroler dalam mengeksekusi suatu perintah tertentu.

3.2.2 Fungsi Rangkaian

Rangkaian ini berfungsi untuk mengendalikan seluruh sistem. Komponen utama dari rangkaian ini adalah IC mikrokontroler ATmega8535. Pada IC inilah semua program diisikan, sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki. Rangkaian mikrokontroler ditunjukkan pada gambar berikut ini:


(55)

39 Gambar 3.3. Rangkaian mikrokontroller ATmega8535

3.2.3 Pengujian Rangkaian

Pada pengujian mikrokontroller ATmega8535 ini dilakukan percobaan yang sifatnya sederhana tapi dapat menunjukkan bekerja tidaknya mikrokontroller ATmega8535 tersebut. Percobaan tersebut digunakan untuk menghidupkan beberapa LED secara bergantian. Percobaan ini dilakukan pada I/O port (Port A). Untuk menghidupkan LED tersebut dilakukan langkah sebagai berikut:

a. software CodeVisionAVR (terdapat Shortcut pada Desktop). b. Pilih menu File New dan pilih Project kemudian tekan OK.


(56)

40 c. Kemudian pilih Yes saat ada pilihan menggunakan CodeWizardAVR, seperti

tampak pada gambar berikut.

Gambar 3.5. Tampilan Confirm

d. Pada settingan CodeWizardAVR, atur konfigurasi chip menggunakan ATmega8535 sesuai dengan yang ada pada modul, dengan nilai clock 11,059200 MHz.

Gambar 3.6. Tampilan Setingan Clock Mikrokontroller


(57)

41 Gambar 3.7. Tampilan Settingan PORT

f. Setelah itu, pilih menu File Generate, Sava and Exit, dan simpan file dengan nama sesuai keinginan uji.

Gambar 3.8. Tampilan Menu File CodeVisionAVR

g. Akan muncul file .c yang akan digunakan untuk pemrograman. Selanjutnya dituliskan program sebagai berikut:

while (1) {

// Place your code here PORTA=240


(58)

42 PORTA=15

delay_ms(100); };

}

Jika program tersebut dijalankan, maka LED akan hidup dan mati secara bergantian seperti yang ditunjukkan dalam tabel berikut:

Tabel 3.2. Truth Table LED

LED 1 LED 2 LED 3 LED 4 LED 5 LED 6 LED 7 LED 8

Tahap 1 ON ON ON ON OFF OFF OFF OFF

Tahap 2 OFF OFF OFF OFF ON ON ON ON

f. Untuk compile program, dapat menggunakan tombol F9 atau meng-klik icon

pada toolbar. Jika program telah berjalan sesuai dengan yang dikehendaki, maka system minimum mikrokontroller ATmega8535 telah berjalan dengan baik. Selanjutnya dilakukan pengukuran pada masing masing pin dari mikrokontroller ATmega8535. dari hasil pengukuran didapatkan hasil sebagai berikut:

Tabel 3.3. Tabel Tegangan PIN Mikrokontroller

Tegangan PIN Mikrokontroller PIN V (Volt)

1 0.41

2 0.41

3 0.41

4 0.41

5 0.02

6 0.02


(59)

43

8 0.34

9 4.85

10 4.88

11 0.01

12 0.35

13 0.8

14 4.89

15 0.01

16 0.01

17 0.01

18 0.01

19 0.01

20 4.79

21 4.72

22 4.72

23 4.72

24 4.72

25 4.85

26 4.85

27 4.85

28 4.85

29 4.89

30 0.01

31 4.89

32 3.37

33 1.14

34 1.13

35 0.91


(60)

44

37 1.13

38 3.51

39 1.15

40 0.18

3.3. Rangkaian Display LCD

3.3.1 Cara kerja Rangkaian

Rangkaian display LCD ini berfungsi untuk menampilkan jumlah tetesan dari infuse. Rangkaian display LCD ditunjukkan pada gambar berikut ini :

Gambar 3.9. Rangkaian Display LCD

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


(61)

45 Pada peta memori tersebut, daerah yang berwarna biru ( 00 s/d 0F dan 40 s/d 4F ) adalah display yang tampak. Sebagaimanan yang anda lihat, jumlahnya sebanyak 16 karakter per baris dengan dua baris. Angka pada setiap kotak adalah alamat memori yang bersesuaian dengan posisi dari layar. Demikianlah karakter pertama di sudut kiri atas adalah menempati alamat 00h. Posisi karakter berikutnya adalah alamat 01h dan seterusnya. Akan tetapi, karakter pertama dari baris 2 sebagaimana yang ditunjukkan pada peta memori adalah pada alamat 40h. Dimikianlah kita perlu untuk mengirim sebuah perintah ke LCD untuk mangatur letak posisi kursor pada baris dan kolom tertentu. Instruksi Set Posisi Kursor adalah 80h. Untuk ini kita perlu menambahkan alamat lokasi dimana kita berharap untuk menempatkan kursor. Sebagai contoh, kita ingin menampilkan kata ”World” pada baris ke dua pada posisi kolom ke sepuluh. Sesuai peta memori, posisi karakter pada kolom 11 dari baris ke dua, mempunyai alamat 4Ah, sehingga sebelum kita tulis kata ”World” 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 Cah ke LCD, akan menempatkan kursor pada baris kedua dan kolom ke 11 dari DDRAM.

Tabel 3.4. Alamat Memori DDRAM

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 1 A A A A A A A

Catatan:

A : Alamat RAM yang akan dipilih

Sehingga alamat RAM LCD adalah 000 0000 S/D 111 1111 b atau 00 s/d 7Fh

3.3.2 Fungsi Rangkaian

Rangkaian display LCD ini berfungsi untuk menampilkan jumlah dan kecepatan tetesan dari cairan infuse.


(62)

46 3.3.3 Pengujian Rangkaian

Pada tahap ini dilakukan percobaan untuk mengaktifkan LCD system. Pengaktifan LCD ini dilakukan dengan cara menampilkan beberapa karakter pada LCD. Untuk mengaktifkan LCD yang dihubungkan ke PORT C, maka harus ditentukan LCD melalui CodeWizardAVR, sebagaimana tampak pada gambar berikut ini:

Gambar 3.11. Tampilan Settingan LCD

Untuk menampilkan beberapa karakter tersebut digunakan listing program sebagai berikut:

while (1)

{

// Place your code here lcd_gotoxy(0,0); lcd_putsf("uji LCD"); };


(63)

47

}

Jika program di atas dijalankan maka di layar LCD akan tampil “ uji LCD” pada koordinat x = 0 dan y = 0. Hal ini menunjukkan bahwa minimum system dan LCD dapat berjalan dengan baik. Selanjutnya dilakukan pengukuran pada masing masing pin pada LCD. Dari hasil pengukuran didapatkan hasil sebagai berikut:

Tabel 3.5. Tegangan PIN LCD Tegangan LCD

PIN V (Volt)

1 0.00

2 4.90

3 0.41

4 1.15

5 3.50

6 1.13

7 4.79

8 4.79

9 4.78

10 4.78

11 0.90

12 1.12

13 1.13

14 3.36

15 4.89


(1)

7

ÿ

56

5

!"#ÿ%&'&()ÿ#*+)&#,ÿ-./&'+/)ÿ+/0.,1'&+./ÿ'2.(&ÿ&"#ÿ,#)(3&ÿ.0ÿ&"#ÿ1.)&ÿ,#-#/&34ÿ#5#-(&#6 ',+&"1#&+-ÿ+/)&,(-&+./7ÿ!"+)ÿ+/0.,1'&+./ÿ-'/ÿ2#ÿ()#6ÿ0.,ÿ'3&#,+/*ÿ8,.*,'1ÿ03.9ÿ+/ÿ.,6#,ÿ&. 8#,0.,1ÿ-./6+&+./'3ÿ.8#,'&+./)7ÿ:.&#ÿ&"'&ÿ&"#ÿ%&'&()ÿ#*+)&#,ÿ+)ÿ(86'&#6ÿ'0&#,ÿ'33ÿ;< .8#,'&+./)=ÿ')ÿ)8#-+0+#6ÿ+/ÿ&"#ÿ>/)&,(-&+./ÿ%#&ÿ#0#,#/-#7ÿ!"+)ÿ9+33=ÿ+/ÿ1'/4ÿ-')#)= ,#1.?#ÿ&"#ÿ/##6ÿ0.,ÿ()+/*ÿ&"#ÿ6#6+-'&#6ÿ-.18',#ÿ+/)&,(-&+./)=ÿ,#)(3&+/*ÿ+/ÿ0')&#,ÿ'/6 1.,#ÿ-.18'-&ÿ-.6#7

!"#ÿ%&'&()ÿ#*+)&#,ÿ+)ÿ/.&ÿ'(&.1'&+-'334ÿ)&.,#6ÿ9"#/ÿ#/&#,+/*ÿ'/ÿ+/&#,,(8&ÿ,.(&+/#ÿ'/6 ,#)&.,#6ÿ9"#/ÿ,#&(,/+/*ÿ0,.1ÿ'/ÿ+/&#,,(8&7ÿ!"+)ÿ1()&ÿ2#ÿ"'/63#6ÿ24ÿ).0&9',#7

!"#ÿÿ%&'&()ÿ#*+)&#,ÿÿ%@Aÿÿ+)ÿ6#0+/#6ÿ')B

CDÿEÿFÿGHÿIJKL7JÿGM5 NÿOM7LJ5

!"#ÿA3.2'3ÿ>/&#,,(8&ÿ@/'23#ÿ2+&ÿ1()&ÿ2#ÿ)#&ÿ0.,ÿ&"#ÿ+/&#,,(8&)ÿ&.ÿ2#ÿ#/'23#67ÿ!"#ÿ+/6+?+6P ('3ÿ+/&#,,(8&ÿ#/'23#ÿ-./&,.3ÿ+)ÿ&"#/ÿ8#,0.,1#6ÿ+/ÿ)#8','&#ÿ-./&,.3ÿ,#*+)&#,)7ÿ>0ÿ&"#ÿA3.2'3 >/&#,,(8&ÿ@/'23#ÿ#*+)&#,ÿ+)ÿ-3#',#6=ÿ/./#ÿ.0ÿ&"#ÿ+/&#,,(8&)ÿ',#ÿ#/'23#6ÿ+/6#8#/6#/&ÿ.0 &"#ÿ+/6+?+6('3ÿ+/&#,,(8&ÿ#/'23#ÿ)#&&+/*)7ÿ!"#ÿ>P2+&ÿ+)ÿ-3#',#6ÿ24ÿ"',69',#ÿ'0&#,ÿ'/ÿ+/&#,,(8& "')ÿ.--(,,#6=ÿ'/6ÿ+)ÿ)#&ÿ24ÿ&"#ÿ@!>ÿ+/)&,(-&+./ÿ&.ÿ#/'23#ÿ)(2)#Q(#/&ÿ+/&#,,(8&)7ÿ!"#ÿ>P 2+&ÿ-'/ÿ'3).ÿ2#ÿ)#&ÿ'/6ÿ-3#',#6ÿ24ÿ&"#ÿ'883+-'&+./ÿ9+&"ÿ&"#ÿ%@>ÿ'/6ÿR;>ÿ+/)&,(-&+./)=ÿ') 6#)-,+2#6ÿ+/ÿ&"#ÿ+/)&,(-&+./ÿ)#&ÿ,#0#,#/-#7

CDÿSÿFÿ3HÿDÿTKNUÿK 765

!"#ÿV+&ÿR.84ÿ+/)&,(-&+./)ÿV;WÿXV+&ÿ;.'WYÿ'/6ÿV%!ÿXV+&ÿ%!.,#Yÿ()#ÿ&"#ÿ!P2+&ÿ')ÿ).(,-#ÿ., 6#)&+/'&+./ÿ0.,ÿ&"#ÿ.8#,'&#6ÿ2+&7ÿÿ2+&ÿ0,.1ÿ'ÿ,#*+)&#,ÿ+/ÿ&"#ÿ#*+)&#,ÿ0+3#ÿ-'/ÿ2#ÿ-.8+#6 +/&.ÿ!ÿ24ÿ&"#ÿV%!ÿ+/)&,(-&+./=ÿ'/6ÿ'ÿ2+&ÿ+/ÿ!ÿ-'/ÿ2#ÿ-.8+#6ÿ+/&.ÿ'ÿ2+&ÿ+/ÿ'ÿ,#*+)&#,ÿ+/ÿ&"# #*+)&#,ÿZ+3#ÿ24ÿ&"#ÿV;Wÿ+/)&,(-&+./7

CDÿ9ÿFÿ[Hÿ[7J\ÿT7 Uÿ]J76

!"#ÿ^'30ÿR',,4ÿZ3'*ÿ^ÿ+/6+-'&#)ÿ'ÿ^'30ÿR',,4ÿ+/ÿ).1#ÿ',+&"1#&+-ÿ.8#,'&+./)7ÿ^'30ÿ-',,4ÿ+) ()#0(3ÿ+/ÿVRWÿ',+&"1#&+-7ÿ%##ÿ&"#ÿ_>/)&,(-&+./ÿ%#&ÿW#)-,+8&+./`ÿ0.,ÿ6#&'+3#6ÿ+/0.,1'&+./7 CDÿaÿFÿHÿ6MÿDbÿÿcÿd

ÿ

f

ÿg

!"#ÿ%P2+&ÿ+)ÿ'39'4)ÿ'/ÿ#5-3()+?#ÿ.,ÿ2#&9##/ÿ&"#ÿ:#*'&+?#ÿZ3'*ÿ:ÿ'/6ÿ&"#ÿ!9.h)ÿR.183#P 1#/&ÿi?#,03.9ÿZ3'*ÿ7ÿ%##ÿ&"#ÿ_>/)&,(-&+./ÿ%#&ÿW#)-,+8&+./`ÿ0.,ÿ6#&'+3#6ÿ+/0.,1'&+./7 CDÿÿFÿgHÿ3jKkÿTK4NJ545Mÿlm5 \JKjÿ]J76

!"#ÿ!9.h)ÿR.183#1#/&ÿi?#,03.9ÿZ3'*ÿÿ)(88.,&)ÿ&9.h)ÿ-.183#1#/&ÿ',+&"1#&+-)7ÿ%## &"#ÿ_>/)&,(-&+./ÿ%#&ÿW#)-,+8&+./`ÿ0.,ÿ6#&'+3#6ÿ+/0.,1'&+./7

CDÿnÿFÿdHÿd567m5ÿ]J76

!"#ÿ:#*'&+?#ÿZ3'*ÿ:ÿ+/6+-'&#)ÿ'ÿ/#*'&+?#ÿ,#)(3&ÿ+/ÿ'/ÿ',+&"1#&+-ÿ.,ÿ3.*+-ÿ.8#,'&+./7ÿ%## &"#ÿ_>/)&,(-&+./ÿ%#&ÿW#)-,+8&+./`ÿ0.,ÿ6#&'+3#6ÿ+/0.,1'&+./7

CDÿ0ÿFÿoHÿo5 Kÿ]J76

!"#ÿp#,.ÿZ3'*ÿpÿ+/6+-'&#)ÿ'ÿq#,.ÿ,#)(3&ÿ+/ÿ'/ÿ',+&"1#&+-ÿ.,ÿ3.*+-ÿ.8#,'&+./7ÿ%##ÿ&"# _>/)&,(-&+./ÿ%#&ÿW#)-,+8&+./`ÿ0.,ÿ6#&'+3#6ÿ+/0.,1'&+./7

CDÿ1ÿFÿTHÿT7 Uÿ]J76

!"#ÿR',,4ÿZ3'*ÿRÿ+/6+-'&#)ÿ'ÿ-',,4ÿ+/ÿ'/ÿ',+&"1#&+-ÿ.,ÿ3.*+-ÿ.8#,'&+./7ÿ%##ÿ&"#ÿ_>/)&,(-P &+./ÿ%#&ÿW#)-,+8&+./`ÿ0.,ÿ6#&'+3#6ÿ+/0.,1'&+./7

V+& r s t

G 3 [ g d o T OI

#'6u,+&# u u u u u u u u >/+&+'3ÿ'3(#


(2)

1234567898

446

ÿ

!4ÿ

"45#

!$

4ÿ

%#

4

9:'+&'(ÿ(@(ÿ(*+-'(ÿ,-(..(A>+ÿ/+0(ÿ.(5ÿ+,ÿ12-2(.+3+61.4(5ÿ398:(ÿ61.ÿ985ÿ-'(ÿÿ60(B+C+78'98:(5ÿ0+-DEÿ-'(ÿ6100;1F+<=ÿ8*ÿ+8,-+82>-.>:-1>-+18ÿ2>-,(-ÿ,:'(3(,ÿ?ÿ;8ÿ1.5(.9.ÿ-1( ,>221.-(5ÿCDÿ-'(ÿ(*+,-(.ÿ/+0(G

H I8(ÿJKC+-ÿ1>-2>-ÿ12(.985ÿ985ÿ18(ÿJKC+-ÿ.(,>0-ÿ+ 82>-H &F1ÿJKC+-ÿ1>-2>-ÿ12(.985,ÿ985ÿ18(ÿJKC+-ÿ.(,>0-ÿ+ 82>-H &F1ÿJKC+-ÿ1>-2>-ÿ12(.985,ÿ985ÿ18(ÿKC+-ÿ.(,>0-ÿ+ 82>-H I8(ÿKC+-ÿ1>-2>-ÿ12(.985ÿ985ÿ18(ÿKC+-ÿ.(,>0-ÿ+

82>-/+*>.(ÿLÿ,'1F,ÿ-'(ÿ,-.>:->.(ÿ16ÿ-'(ÿMÿ*(8(.90ÿ2>.21,(ÿF1.N+8*ÿ.(*+,-(.,ÿ+8ÿ-'(ÿ=OP? %#54ÿQRÿÿÿ=OPÿS(8(.90ÿO>.21,(ÿT1.N+8*ÿ(*+,-(.,

U1,-ÿ16ÿ-'(ÿ+8,-.>:-+18,ÿ12(.9-+8*ÿ18ÿ-'(ÿ(*+,-(.ÿ/+0(ÿ'9@(ÿ5+.(:-ÿ9::(,,ÿ-1ÿ900ÿ.(*+,-(.,E 985ÿ31,-ÿ16ÿ-'(3ÿ9.(ÿ,+8*0(ÿ:D:0(ÿ+8,-.>:-+18,?

,ÿ,'1F8ÿ+8ÿ/+*>.(ÿLEÿ(9:'ÿ.(*+,-(.ÿ+,ÿ90,1ÿ9,,+*8(5ÿ9ÿ59-9ÿ3(31.Dÿ955.(,,Eÿ3922+8* -'(3ÿ5+.(:-0Dÿ+8-1ÿ-'(ÿ6+.,-ÿMÿ01:9-+18,ÿ16ÿ-'(ÿ>,(.ÿV9-9ÿ<29:(?ÿ0-'1>*'ÿ81-ÿC(+8*ÿ2'D,K +:900Dÿ+320(3(8-(5ÿ9,ÿ<Uÿ01:9-+18,Eÿ-'+,ÿ3(31.Dÿ1.*98+49-+18ÿ2.1@+5(,ÿ *.(9-60(B+C+0+-Dÿ+8ÿ9::(,,ÿ16ÿ-'(ÿ.(*+,-(.,Eÿ9,ÿ-'(ÿWKEÿXKEÿ985ÿYK21+8-(.ÿ(*+,-(.,ÿ:98ÿC(ÿ,(-ÿ-1 +85(Bÿ98Dÿ.(*+,-(.ÿ+8ÿ-'(ÿ6+0(?

Z 55.?

ÿ B

B

B

[

M BV

S(8(.90 L B7

O>.21,( B/

T1.N+8* B

(*+,-(., Z B

[

B WK.(*+,-(.ÿ\1Fÿ]D-( Z B] WK.(*+,-(.ÿ^+*'ÿ]D-( J B= XK.(*+,-(.ÿ\1Fÿ]D-( _ BV XK.(*+,-(.ÿ^+*'ÿ]D-( M B7 YK.(*+,-(.ÿ\1Fÿ]D-( M B/ YK.(*+,-(.ÿ^+*'ÿ]D-(


(3)

35ÿ565!ÿ"565!ÿ7#$ÿ

%565 &'(-(ÿ&'(ÿ*(+,*(+,-.(*-.-ÿ(*/-ÿ1*(ÿ/0ÿ<=,'12(ÿ.ÿ155*-34(ÿ(--ÿ;3,155(5ÿ8.(*-ÿ66789.3*ÿ,85,,38-ÿ*(9..3ÿÿ155*.'(,(--,*ÿ+(8(*1:8+ÿ36ÿÿ.;7*'(ÿ;3-(ÿ>1.1ÿ?;19(/7-1+(/ &'(ÿ.'*((ÿ,85,*(9.ÿ155*(--ÿ*(+,-.(*-ÿ@AÿBAÿ185ÿCÿ1*(ÿ5(6,8(5ÿ1-ÿ5(-9*,=(5ÿ,8ÿD,+7*(ÿ/ E6F5ÿ9Gÿÿ&'(ÿ@<AÿB<Aÿ185ÿC<*(+,-.(*

-H8ÿ.'(ÿ5,66(*(8.ÿ155*(--,8+ÿ435(-Aÿ.'(-(ÿ155*(--ÿ*(+,-.(*-ÿ'12(ÿ6789.,38-ÿ1-ÿ6,I(5ÿ5,-< ;:19(4(8.Aÿ17.341.,9ÿ,89*(4(8.Aÿ185ÿ17.341.,9ÿ5(9*(4(8.ÿJ-((ÿ.'(ÿ,8-.*79.,38ÿ-(. *(6(*(89(ÿ63*ÿ5(.1,:-K/

L

7MNÿ

OP

#

5

&'(ÿ?.19Qÿ,-ÿ41,8:Rÿ7-(5ÿ63*ÿ-.3*,8+ÿ.(4;3*1*Rÿ51.1Aÿ63*ÿ-.3*,8+ÿ:391:ÿ21*,1=:(-ÿ185ÿ63* -.3*,8+ÿ*(.7*8ÿ155*(--(-ÿ16.(*ÿ,8.(**7;.-ÿ185ÿ-7=*37.,8(ÿ91::-/ÿ&'(ÿ?.19QÿS3,8.(*ÿ(+,-< .(*ÿ1:T1R-ÿ;3,8.-ÿ.3ÿ.'(ÿ.3;ÿ36ÿ.'(ÿ?.19Q/ÿU3.(ÿ.'1.ÿ.'(ÿ?.19Qÿ,-ÿ,4;:(4(8.(5ÿ1-ÿ+*3T,8+ 6*34ÿ',+'(*ÿ4(43*Rÿ:391.,38-ÿ.3ÿ:3T(*ÿ4(43*Rÿ:391.,38-/ÿ&',-ÿ,4;:,(-ÿ.'1.ÿ1ÿ?.19Q SV?Wÿ9344185ÿ5(9*(1-(-ÿ.'(ÿ?.19QÿS3,8.(*/

&'(ÿ?.19QÿS3,8.(*ÿ;3,8.-ÿ.3ÿ.'(ÿ51.1ÿ?Xÿ?.19Qÿ1*(1ÿT'(*(ÿ.'(ÿ?7=*37.,8(ÿ185ÿH8.(*< *7;.ÿ?.19Q-ÿ1*(ÿ:391.(5/ÿ&',-ÿ?.19Qÿ-;19(ÿ,8ÿ.'(ÿ51.1ÿ?Xÿ47-.ÿ=(ÿ5(6,8(5ÿ=Rÿ.'( ;*3+*14ÿ=(63*(ÿ18Rÿ-7=*37.,8(ÿ91::-ÿ1*(ÿ(I(97.(5ÿ3*ÿ,8.(**7;.-ÿ1*(ÿ(81=:(5/ÿ&'(ÿ?.19Q S3,8.(*ÿ47-.ÿ=(ÿ-(.ÿ.3ÿ;3,8.ÿ1=32(ÿI/ÿ&'(ÿ?.19QÿS3,8.(*ÿ,-ÿ5(9*(4(8.(5ÿ=Rÿ38( T'(8ÿ51.1ÿ,-ÿ;7-'(5ÿ38.3ÿ.'(ÿ?.19QÿT,.'ÿ.'(ÿSV?Wÿ,8-.*79.,38Aÿ185ÿ,.ÿ,-ÿ5(9*(4(8.(5ÿ=R .T3ÿT'(8ÿ.'(ÿ*(.7*8ÿ155*(--ÿ,-ÿ;7-'(5ÿ38.3ÿ.'(ÿ?.19QÿT,.'ÿ-7=*37.,8(ÿ91::ÿ3*ÿ,8.(**7;./ &'(ÿ?.19QÿS3,8.(*ÿ,-ÿ,89*(4(8.(5ÿ=Rÿ38(ÿT'(8ÿ51.1ÿ,-ÿ;3;;(5ÿ6*34ÿ.'(ÿ?.19QÿT,.'ÿ.'( SYSÿ,8-.*79.,38Aÿ185ÿ,.ÿ,-ÿ,89*(4(8.(5ÿ=Rÿ.T3ÿT'(8ÿ51.1ÿ,-ÿ;3;;(5ÿ6*34ÿ.'(ÿ?.19QÿT,.' *(.7*8ÿ6*34ÿ-7=*37.,8(ÿZ&ÿ3*ÿ*(.7*8ÿ6*34ÿ,8.(**7;.ÿZ&H/

&'(ÿÿ?.19QÿS3,8.(*ÿ,-ÿ,4;:(4(8.(5ÿ1-ÿ.T3ÿ[<=,.ÿ*(+,-.(*-ÿ,8ÿ.'(ÿHYÿ-;19(/ÿ&'(ÿ874< =(*ÿ36ÿ=,.-ÿ19.71::Rÿ7-(5ÿ,-ÿ,4;:(4(8.1.,38ÿ5(;(85(8./ÿU3.(ÿ.'1.ÿ.'(ÿ51.1ÿ-;19(ÿ,8ÿ-34( ,4;:(4(8.1.,38-ÿ36ÿ.'(ÿÿ1*9',.(9.7*(ÿ,-ÿ-3ÿ-41::ÿ.'1.ÿ38:Rÿ?S\ÿ,-ÿ8((5(5/ÿH8ÿ.', -91-(Aÿ.'(ÿ?SWÿ(+,-.(*ÿT,::ÿ83.ÿ=(ÿ;*(-(8./

@W @\

@<*(+,-.(* ] ]

]ÿJI^K ÿJIK

BW B\

B<*(+,-.(* ] ]

_ÿJI>K [ÿJI`K

CW C\

C<*(+,-.(* ] ] 0ÿJIDK 0ÿJIZK

^,. a 0 _ [

LOb LO8 LOc

LOd LOe LO9 LOf LO LO1 LO0 LOg LO

] a 0

(15h*,.( h h h h h h h h h h h h h h h h H8,.,1:ÿ1:7(


(4)

2345678919

ÿ

"#5

ÿ

3

4

6

ÿ$%&'ÿ')*+:;<ÿ&,-ÿ&'ÿ.)'*/./&=)-ÿ&0)'ÿ0>ÿ++%)ÿ%)ÿ1)-)/:;<ÿ23*3,*?ÿÿ2**)''ÿ*3?:;<+&4&@ÿ.&-1ÿ/)*+*,-*)5+3>ÿ1)-)/'ÿ62+,/).ÿÿ&-'+6//,4ÿ7*+&+,-ÿ%)ÿ)8)*7+')3)*+).ÿ&,-9*3ÿ$%),*? ',7/*)ÿ6,/ÿ+%)ÿ*%&59ÿA,ÿ&-+)/-23ÿ*3,*?ÿ.&=&'&,-ÿ&'ÿ7').9

B&17/)ÿÿ'%,C'ÿ+%)ÿ52/233)3ÿ&-'+/7*+&,-ÿ6)+*%)'ÿ2-.ÿ&-'+/7*+&,-ÿ)8)*7+&,-'ÿ)-203).ÿ0>ÿ+%) D2/=2/.ÿ2/*%&+)*+7/)ÿ2-.ÿ+%)ÿ62'+E2**)''ÿ)1&'+)/ÿB&3)ÿ*,-*)5+9ÿ$%&'ÿ&'ÿ+%)ÿ02'&*ÿ5&5)3&-E &-1ÿ*,-*)5+ÿ+,ÿ,0+2&-ÿ75ÿ+,ÿÿFG;Hÿ5)/ÿFDIÿC&+%ÿ+%)ÿ*,//)'5,-.&-1ÿ7-&J7)ÿ/)'73+'ÿ6,/ 67-*+&,-'ÿ5)/ÿ*,'+@ÿ67-*+&,-'ÿ5)/ÿ*3,*?'@ÿ2-.ÿ67-*+&,-'ÿ5)/ÿ5,C)/E7-&+9

K65ÿLMÿÿ$%)ÿ;2/233)3ÿG-'+/7*+&,-ÿB)+*%)'ÿ2-.ÿG-'+/7*+&,-ÿN8)*7+&,-'

B&17/)ÿOÿ'%,C'ÿ+%)ÿ&-+)/-23ÿ+&4&-1ÿ*,-*)5+ÿ6,/ÿ+%)ÿ)1&'+)/ÿ6&3)9ÿG-ÿ2ÿ'&-13)ÿ*3,*?ÿ*>*3)ÿ 2-P<ÿ,5)/2+&,-ÿ7'&-1ÿ+C,ÿ/)1&'+)/ÿ,5)/2-.'ÿ&'ÿ)8)*7+).@ÿ2-.ÿ+%)ÿ/)'73+ÿ&'ÿ'+,/).ÿ02*?ÿ+, +%)ÿ.)'+&-2+&,-ÿ/)1&'+)/9

K65ÿQMÿÿH&-13)ÿ:>*3)ÿP<ÿR5)/2+&

,-S55

ÿ

7Tÿ

5U

ÿ

V7TW

6

$%)ÿ)')+ÿÿ)*+5/,/,=&ÿ)2*%ÿ.)'ÿ')=)/%2=)ÿ232ÿÿ.&')52/66)/)-+2+)ÿÿ&-+;/)/,1//75+24ÿÿ',7/)*+*)'9,/ÿÿ&$%)')ÿ-ÿ+%)ÿ5/&-+,1/)/24ÿ/75+4)4,/'ÿ2-.ÿ+%)ÿ>ÿ'52*)9')52/2+ÿ3)3 &-+)//75+'ÿ2/)ÿ2''&1-).ÿ&-.&=&.723ÿ)-203)ÿ0&+'ÿC%&*%ÿ47'+ÿ0)ÿC/&++)-ÿ3,1&*ÿ,-)ÿ+,1)+%)/ C&+%ÿ+%)ÿX3,023ÿG-+)//75+ÿN-203)ÿ0&+ÿ&-ÿ+%)ÿH+2+7'ÿ)1&'+)/ÿ&-ÿ,/.)/ÿ+,ÿ)-203)ÿ+%)ÿ&-+)//75+9 Y)5)-.&-1ÿ,-ÿ+%)ÿ;/,1/24ÿ:,7-+)/ÿ=237)@ÿ&-+)//75+'ÿ42>ÿ0)ÿ27+,42+&*233>ÿ.&'203). C%)-ÿZ,,+ÿP,*?ÿ0&+'ÿZPZÿ,/ÿZPZÿ2/)ÿ5/,1/244).9ÿ$%&'ÿ6)2+7/)ÿ&45/,=)'ÿ',6+C2/) ')*7/&+>9ÿH))ÿ+%)ÿ')*+&,-ÿ[F)4,/>ÿ;/,1/244&-1\ÿ,-ÿ521)ÿ]Oÿ6,/ÿ.)+2&3'9

$%)ÿ3,C)'+ÿ2../)'')'ÿ&-ÿ+%)ÿ5/,1/24ÿ4)4,/>ÿ'52*)ÿ2/)@ÿ0>ÿ.)6273+@ÿ.)6&-).ÿ2'ÿ+%) )')+ÿ2-.ÿG-+)//75+ÿ)*+,/'9ÿ$%)ÿ*,453)+)ÿ3&'+ÿ,6ÿ=)*+,/'ÿ&'ÿ'%,C-ÿ&-ÿ[G-+)//75+'\ÿ ,-521)ÿ^9ÿ$%)ÿ3&'+ÿ23',ÿ.)+)/4&-)'ÿ+%)ÿ5/&,/&+>ÿ3)=)3'ÿ,6ÿ+%)ÿ.&66)/)-+ÿ&-+)//75+'9ÿ$%)ÿ3,C)/ +%)ÿ2../)''@ÿ+%)ÿ%&1%)/ÿ+%)ÿ5/&,/&+>ÿ3)=)3ÿ&'9ÿNHN$ÿ%2'ÿ+%)ÿ%&1%)'+ÿ5/&,/&+>@ÿ2-.ÿ-)8+ÿ&'

abc defÿhiefjkaflmiÿnofap defÿhiefjkaflmiÿqroakfo sitÿhiefjkaflmiÿnofap sitÿhiefjkaflmiÿqroakfo ujtÿhiefjkaflmiÿnofap ujtÿhiefjkaflmiÿqroakfo vfpÿhiefjkaflmiÿnofap

wd ws wu wv

xyz

wmf{bÿqroakflmiÿwl|o }o~lefojÿ€oj{iteÿnofap ‚zÿ€oj{flmiÿqroakfo }oekbfÿƒjlfoÿ„{ac

wd ws wu wv


(5)

ÿ ÿ!" #ÿ$ÿ$% ÿ$&$ÿ'ÿ$% ÿ($ÿ)%ÿ *$+,ÿ-ÿ.&/&!!+,/ÿ$% ÿ(00121 )3 4ÿ ÿ5($ÿ6# &ÿ23..&$ÿÿ #78%+ 78&+$ ÿ2 '79&/&!!+,/:ÿ,ÿ./ ÿ;< 8% ,ÿ,ÿ+,$ &&3.$ÿ**3&4ÿ$% ÿ=ÿ>,$ &&3.$ÿ?, ÿ>7+$ÿ+ÿ* & #ÿ,#ÿÿ+,$ &&3.$ & ÿ#+ #<ÿ1% ÿ3 &ÿ'$@& ÿ*,ÿ@&+$ ÿ/+*ÿ, ÿ$ÿ$% ÿ>7+$ÿ$ÿ , ÿ, $ #ÿ+,$ &7 &3.$<ÿÿ , #ÿ+,$ &&3.$ÿ*,ÿ$% ,ÿ+,$ &&3.$ÿ$% ÿ*3&& ,$ÿ+,$ &&3.$ÿ&3$+, <ÿ1% ÿ>7+$ÿ+ 3$!$+*-ÿ $ÿ@% ,ÿÿ $3&,ÿ'&!ÿ>,$ &&3.$ÿ+,$&3*$+,ÿÿ?1>ÿÿ+ÿ A *3$ #<ÿ 1% & ÿ& ÿ+*-ÿ$@ÿ$-. ÿ'ÿ+,$ &&3.$<ÿ1% ÿ'+&$ÿ$-. ÿ+ÿ$&+// & #ÿ-ÿ,ÿ " ,$ÿ$%$ $ÿ$% ÿ+,$ &&3.$ÿ'/<ÿ)&ÿ$% ÿ+,$ &&3.$4ÿ$% ÿ9&/&!ÿB3,$ &ÿ+ÿ" *$& #ÿ$ÿ$% *$3ÿ>,$ &&3.$ÿ *$&ÿ+,ÿ&# &ÿ$ÿ A *3$ ÿ$% ÿ+,$ &&3.$ÿ%,#+,/ÿ&3$+, 4ÿ,#ÿ%&#@& * &ÿ$% ÿ*&& .,#+,/ÿ+,$ &&3.$ÿ'/<ÿ>,$ &&3.$ÿ'/ÿ*,ÿÿ ÿ* & #ÿ-ÿ@&+$+,/ÿ /+*ÿ, ÿ$ÿ$% ÿ'/ÿ+$ÿ.+$+,CDÿ$ÿ ÿ* & #<ÿ>'ÿ,ÿ+,$ &&3.$ÿ*,#+$+,ÿ**3&ÿ@%+ ÿ$% *&& .,#+,/ÿ+,$ &&3.$ÿ , ÿ+$ÿ+ÿ* & #4ÿ$% ÿ+,$ &&3.$ÿ'/ÿ@+ÿ ÿ $ÿ,#ÿ& ! !7 & #ÿ3,$+ÿ$% ÿ+,$ &&3.$ÿ+ÿ , #4ÿ&ÿ$% ÿ'/ÿ+ÿ* & #ÿ-ÿ'$@& <ÿ2+!+&-4ÿ+'ÿ, ÿ& !& ÿ+,$ &&3.$ÿ*,#+$+,ÿ**3&ÿ@%+ ÿ$% ÿ=ÿ>,$ &&3.$ÿ?, ÿ+$ÿ+ÿ* & #4ÿ$% ÿ*&7 & .,#+,/ÿ+,$ &&3.$ÿ'/CDÿ@+ÿ ÿ $ÿ,#ÿ& ! ! & #ÿ3,$+ÿ$% ÿ=ÿ>,$ &&3.$ÿ?, +$ÿ+ÿ $4ÿ,#ÿ@+ÿ$% ,ÿ ÿ A *3$ #ÿ-ÿ&# &ÿ'ÿ.&+&+$-<ÿ

1% ÿ *,#ÿ$-. ÿ'ÿ+,$ &&3.$ÿ@+ÿ$&+// &ÿÿ,/ÿÿ$% ÿ+,$ &&3.$ÿ*,#+$+,ÿ+ÿ.& ,$< 1% ÿ+,$ &&3.$ÿ#ÿ,$ÿ, * &+-ÿ%" ÿ+,$ &&3.$ÿ'/<ÿ>'ÿ$% ÿ+,$ &&3.$ÿ*,#+$+,ÿ#+.7 . &ÿ '& ÿ$% ÿ+,$ &&3.$ÿ+ÿ , #4ÿ$% ÿ+,$ &&3.$ÿ@+ÿ,$ÿ ÿ$&+// & #<

8% ,ÿ$% ÿÿ A+$ÿ'&!ÿ,ÿ+,$ &&3.$4ÿ+$ÿ@+ÿ@-ÿ& $3&,ÿ$ÿ$% ÿ!+,ÿ.&/&!ÿ,#ÿ A 7 *3$ ÿ, ÿ!& ÿ+,$&3*$+,ÿ '& ÿ,-ÿ. ,#+,/ÿ+,$ &&3.$ÿ+ÿ &" #<

E$ ÿ$%$ÿ$% ÿ2$$3ÿ /+$ &ÿ+ÿ,$ÿ3$!$+*-ÿ$& #ÿ@% ,ÿ ,$ &+,/ÿ,ÿ+,$ &&3.$ÿ&37 $+, 4ÿ,&ÿ& $& #ÿ@% ,ÿ& $3&,+,/ÿ'&!ÿ,ÿ+,$ &&3.$ÿ&3$+, <ÿ1%+ÿ!3$ÿ ÿ%,# #ÿ -'$@& <

8% ,ÿ3+,/ÿ$% ÿB6>ÿ+,$&3*$+,ÿ$ÿ#+ ÿ+,$ &&3.$4ÿ$% ÿ+,$ &&3.$ÿ@+ÿ ÿ+!! #+$ -#+ #<ÿEÿ+,$ &&3.$ÿ@+ÿ ÿ A *3$ #ÿ'$ &ÿ$% ÿB6>ÿ+,$&3*$+,4ÿ " ,ÿ+'ÿ+$ÿ**3&ÿ+!3$7 , 3-ÿ@+$%ÿ$% ÿB6>ÿ+,$&3*$+,<ÿ1% ÿ'@+,/ÿ A!. ÿ%@ÿ%@ÿ$%+ÿ*,ÿ ÿ3 #ÿ$ "+#ÿ+,$ &&3.$ÿ#3&+,/ÿ$% ÿ$+! #ÿ??90Fÿ@&+$ ÿ G3 ,* <

!-ÿB# ÿ?A!.

HI &4ÿ2?= JÿLMNOPÿQRSTÿUVWXP

YZHÿ [ÿ#+ ÿ+,$ &&3.$ÿ#3&+,/ÿ$+! #ÿ G3 ,* \]H??B4ÿ??F8? JÿLMVOMÿSS^R_`ÿaObMP

\]H??B4ÿ??8?

cde2?=4ÿ& JÿOPLMNOPÿQRSTÿUVWXPÿfghibMj

BÿB# ÿ?A!.

Yk7lÿ*2?=[

*2?=ÿmÿ2?=[noÿLMNOPÿQRSTÿUVWXPÿon pÿqbLViWPÿbrMPOOXsMLÿqXObrtÿMbuPqÿLPvXPrwPÿon xB6>CD[ÿ

??BÿymÿCzz??F8?D[ÿnoÿLMVOMÿSS^R_`ÿaObMPÿon ??BÿymÿCzz??8?D[


(6)

2345678191

ÿ ÿ!ÿ"#$ÿ!%&!'ÿ!'ÿ()*ÿ!%%+!,ÿ!ÿ!%&!'ÿ-'**'. ÿ"#$ÿ.**ÿ) /&!0ÿ)-'%ÿ(1ÿ+0 ÿ!%%+!,ÿ(ÿ'.ÿÿ!ÿ/(2+*3

456577896ÿ;5<9=5<5ÿ3>45 ?ÿ!%%+!ÿ/&!'ÿ%+'ÿ-'%ÿ(**ÿ!ÿ()*0ÿÿ!%%+!ÿÿ-'%ÿ&*'&@ÿ&1&* 2223ÿ-!%ÿ-'%ÿ&*'&@ÿ&1&*,ÿ!ÿA%' %(2ÿ&!'%ÿ(00%ÿ-'%ÿ!ÿ(&!(*ÿ!%%+! (0* ÿ%'!ÿÿ/&!03ÿB% ÿ!ÿ-'%ÿ&*'&@ÿ&1&*ÿ+%'0,ÿ!ÿA%' %(2ÿC'!%ÿ +0ÿ'!'ÿ!ÿ"!(&@3ÿ?ÿ&!'%ÿÿ'%2(**1ÿ(ÿD2+ÿ!'ÿ!ÿ!%%+!ÿ%'!,ÿ(0ÿ! D2+ÿ!(@ÿ!%ÿ&*'&@ÿ&1&*3ÿ$-ÿ(ÿ!%%+!ÿ'&&%ÿ0% ÿ/&!'ÿ'-ÿ(ÿ2*!E&1&* !%&!',ÿ!ÿ!%&!'ÿÿ&'2+*!0ÿ)-'%ÿ!ÿ!%%+!ÿÿ%F03ÿ$-ÿ(ÿ!%%+! '&&%ÿ.ÿ!ÿGCHÿÿÿ*+ÿ2'0,ÿ!ÿ!%%+!ÿ/&!'ÿ%+'ÿ!2ÿ &%(0ÿ)1ÿ-'%ÿ&*'&@ÿ&1&*3ÿ?ÿ&%(ÿ&'2ÿÿ(00!'ÿ!'ÿ!ÿ!(%!E+ÿ!2ÿ-%'2 !ÿ*&!0ÿ*+ÿ2'03

ÿ%!%ÿ-%'2ÿ(ÿ!%%+!ÿ(0* ÿ%'!ÿ!(@ÿ-'%ÿ&*'&@ÿ&1&*3ÿB% ÿ!ÿ-'% &*'&@ÿ&1&*,ÿ!ÿA%' %(2ÿC'!%ÿI!.'ÿ)1!Jÿÿ+'++0ÿ)(&@ÿ-%'2ÿ!ÿ"!(&@,ÿ!ÿ"!(&@ A'!%ÿÿ&%2!0ÿ)1ÿ!.',ÿ(0ÿ!ÿ$E)!ÿÿ"#Kÿÿ!3

2)*1ÿC'0ÿ#/(2+*

<5> LÿNOPÿQRSTURÿVWPOXXYZPÿOWUTRO <[559LÿOWPOXÿNROOZ\ÿ]UVPVWQÿ^SXÿVWPOXXYZP _ÿ'!`ÿ.**ÿ!%ÿ*+ÿ)-'%ÿ(1ÿ+0 ÿ _ÿ!%%+!IJ

CÿC'0ÿ#/(2+*

a"#$IJ_ÿbcÿNOPÿQRSTURÿVWPOXXYZPÿOWUTROÿcb

a"d##AIJ_ÿbcÿOWPOXÿNROOZ\ÿ]UVPVWQÿ^SXÿVWPOXXYZPÿcb