Perancangan Pendeteksi Jarak dengan Tampilan LCD Berbasis Mikrokontroller ATmega8535

(1)

PERANCANGAN ALAT UKUR JARAK DENGAN

MENGGUNAKAN MIKROKONTROLLER ATMEGA 8535

DENGAN TAMPILAN LCD

TUGAS AKHIR

DiajukanUntukMelengkapiTugas Dan MemenuhiSyaratMemperolehAhliMadya

NIM. 112408011

SUENG RUT CAHAYA NAIBAHO

PROGRAM STUDI D-III FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN

ALAM

UNIVERSITAS SUMATRA UTARA

MEDAN


(2)

LEMBAR PERSETUJUAN

Judul :PerancanganPendeteksiJarakDenganTampilan LCD BerbasisMikrokontroller ATmega8535

Kategori : Tugas Akhir

Nama / NIM : Sueng Rut C Naibaho / 112408011 Program Studi : Fisika D-III

Departemen : Fisika

Fakultas : Matematika Dan IlmuPengetahuanAlam Universitas Sumatra Utara

Disetujui di Medan, Juni 2014

DisetujuiOleh

Ketua Program StudiPembimbing,

NIP.197412072000122001NIP. 195609181985031002


(3)

LEMBAR PERNYATAAN

PERANCANGAN PENDETEKSI JARAK DENGAN TAMPILAN LCD BERBASIS MIKROKONTROLER ATMEGA 8535

TUGAS PROYEK

Saya $mengakui bahwa tugas proyek ini adalah hasil karya sendiri.Kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan,Juni 2014

S

NIM. 112408011 ueng Rut C Naibaho


(4)

KATA PENGANTAR

Puji syukur penulis ucapkan kehadirat Tuhan yang mahaEsa atas

rahmat-Nyakhirnya TugasAkhir dengan judul

“PerancanganPendeteksiJarakDenganTampilan LCD BerbasisMikrokontrolerATmega 8535” dapat diselesaikan.TugasAkhir ini

merupakan satu persyaratan guna menyelesaikan Pendidikan Diploma D-IIIUntukmeraihgelarAhliMadya di DepartemenFisika Universitas Sumatera Utara.

Atas bantuan serta dorongan yang telah diberikan Saya mengucapkanterima kasih kepadaAyah danBundatersayang yang selalumendukungdanmendoakankuhinggaTugasAkhiriniselesai, Bapak Dr. BismanPerangin-angin,M.Eng.Sc selaku dosen pembimbing yang dengan sabar membimbing dan memberikan arahan hingga terselesainya TugasAkhir ini, dan juga kepada Ibu Dr. Susilawati, M.Si dan Bapak Dr.PerdinanSinuhai, MS. selaku Ketua dan Sekretaris Program Study D-III Fisika, serta kepada seluruh staff pengajar di Departemen Fisika yang telah memberikan bekal pengetahuan kepada penulis hingga akhir studi.

Pada kesempatan ini penulis mengucapkan terima kasih kepada kedua orang tua tercinta atas didikan, nasehat dan doa selama ini kepada penulis, dan juga kepada rekan-rekan yang ada di Departemen Fisika atas bantuannya.

Penulis mengharapkan koreksi dari pembaca yang sifatnya membangun kearah satu penyempurnaan. Akhir kata penulis mengucapkan terima kasih, semoga TugasProyek ini bermanfaat bagi kita semua.

Medan, Juli2014 Penulis,

NIM. 112408011 Sueng Rut C Naibaho


(5)

ABSTRAK

Perkembanganteknologielektronikaterutamadibidangmikrokontrolerterjadisangatp esat.Telahbanyakpenerapandanpemanfaatanmikrokontroleryangbergunadalamkehi dupansehari-harimaupundalampenelitiandilaboratorium.Padatugas Proyek inidigunakanmikrokontrolerATmega

8535produkdariATMELsebagaipengukurjarakdenganmenggunakanUltrasonicDist anceSensoruntukmengetahuijaraksuatubendadengankeakuratanyangtinggi.Sensor

ultrasonic memilikifrekuensisebesar 40 KHz. Sensor initerdiridaripemancardanpenerimagelombang

ultrasonic.Rangkaianpemancarakanmemancarkangelombang ultrasonic dalamwaktu 200 µs. gelombanginimelaluiudaradengankecepatankuranglebih 344

m/det. Jikagelombanginimengenaisuatuobjek, makagelombanginiakandipantulkankembalikepenerimadari sensorultrasonic.

Metodeyangdigunakanialahdenganmemanfaatkan(Timer/Counter)yangsudahadad alammikrokontroler.MikrokontrolerATmega

8535memilikikecepatanpembangkitfrekuensihingga8MHz,kemampuanpencacah

8-bit,sertadenganmenggunakanbahasaCsebagaibahasapemrogramannya.CodeVision AVRmerupakansalahsatuperangkatlunakyangmenggunakanbahasaC.CodeVision

AVRdirancangdenganmempertimbangkansifat-sifatpengkodeanbahasaCsehinggaprogramyangdihasilkan compiler bias sekecilmungkindansecepatmungkin.Hasilperancanganalatiniakandidapatkanpengu kuranjarakbendadarisensorgelombang ultrasonic denganmikrokontrolerAtmega 8535.


(6)

ABSTRACT

The development of electronic technology, especially in the field of microcontrollers occur very rapidly. Has a lot of application and utilization of microcontrollers that are useful in everyday life as well as in the research laboratory. In this project task used ATmega 8535 microcontrollers from Atmel products as a measure of distance by using Ultrasonic Distance sensor to determine the distance of an object with high accuracy. Ultrasonic sensor has a frequency of 40 KHz. The sensor consists of a transmitter and receiver of ultrasonic waves. Transmitter will emit a series of ultrasonic waves in a time of 200 microseconds. This wave through the air at speeds of approximately 344 m / sec.If this wave of an object, then this wave will be reflected back to the receiver of ultrasonic sensors. The method used is to utilize (Timer / Counter) that already exist in the microcontroller. Microcontroller ATmega 8535 has speeds up to 8MHz frequency generator, the ability of 8-bit counter, as well as using the C language as a programming language. Code Vision AVR is one of the software that uses Code Vision AVR C language was designed by considering the encoding properties of the C language compiler generated so that a program can be as small as possible and as quickly as possible. The result of the design of this tool will be obtained from the object distance measurement ultrasonic wave sensor with a microcontroller Atmega 8535.


(7)

DAFTAR ISI Halaman

ABSTRAK ... i

KATA PENGANTAR ... ii

DAFTAR ISI ... iii

DAFTAR TABEL ... vi

DAFTAR GAMBAR ... vii

BAB 1. PENDAHULUAN ... 1

1.1. Latar Belakang ... 2

1.2. RumusanMasalah ... 2

1.3. TujuanPenulisan ... 3

1.4. Batasan Masalah ... 3

1.5. ManfaatPenelitian ... 3

1.6. TeknikPengumpulan Data ... 4

1.7. Sistematika Penulisan ... 5

BAB II. DASAR TEORI ... 5

2.1. BahasaPemrograman C ... 5

2.1.1 StrukturBahasa C ... 7

2.1.2.Pengenal ... 7

2.1.3.Tipe Data ... 8

2.1.4. KonstantadanVariabel ... 9

2.1.5. Komentar ... 10

2.1.6. Operator Aritmatika ... 10

2.1.6. Operator Pembanding ... 11

2.1.7 OperatorLogika. ... 12

2.1.8.FungsiPustaka ... 12

2.2.MikrokontrollerATmega 8535 ... 13

2.2.1.PengertianMikrokontroller ... 13


(8)

2.2.3. Konfigurasi Pin ATmega8535 ... 19

2.2.4.KontruksiATmega 8535 ... 22

2.3. LCD ( Liquid Crystal Display ) ... 25

2.4. Sensor JarakUltrasonik Ping ... 30

BAB III. PERANCANGAN DAN PEMBUATAN ... 33

3.1.RangkaianPerangkatKeras (Hardware) ... 33

3.1.1. Blok Diagram Rangkaian ... 33

3.1.2PerancanganRangkaianMikrokontrolerATmega 8535 ... 34

3.1.3.PerancanganRangkaian Sensor Ping ... 35

3.1.4.PerancanganRangkaian LCD Display ... 38

3.1.5. PerancanganRangkaian Buzzer ... 40

3.2.Perancangan RangkaianAlatUkurPendeteksiJarak ... 41

3.3.RangkaianCatuDaya... 42

3.4.Peancangan Software (PerangkatLunak) ... 43

3.4.1.Langkah – LangkahPembuatan Program ... 43

3.4.2.Perancangan Program KendaliAlatUkur PendeteksiJarak ... 48

3.4.3. Flowchart ProgramPendeteksiJarak ... 51

3.4.4 ProgramKomunikasi ……… …….. 54

3.4.5 Program ke Display LCD…..……….55

3.4.6 Program Ke Buzzer ………..56

3.4.7 Program Pengolahan Data ………... 57

BAB IV. PENGUJIAN DAN ANALISA ... 60

4.1.PengujianAlat ... 60

4.1.1.Pengukuran Pin IC Mikrokontroller AT mega 8535 ... 61


(9)

4.2.PengukuranWaktuPantul Sensor Ultrasonik ... 64

4.2.1.TampilanGrafikPengukuranWaktuPantul Sensor Ultrasonik ... 65

4.2.2. Analisa Data……….68

4.2.3.AnalisaPengujian Sensor Ping Parallax………... .69

4.3. Pengujian Program Bahasa C………..71

BAB V. KESIMPULAN DAN SARAN……….79

5.1.Kesimpulan……… 79

5.2. Saran………79


(10)

DAFTAR TABEL

Tabel Judul Halaman

2.1. Tipe Data ... 9

2.2. OeratorAritmatika ... 10

2.3. Operator Pembanding ... 11

2.4. Operator Logika ... 12

2.5. Deskripsi pin MikrokontrollerATmega 8535 ... 19

2.6. OperasiDasar LCD ... 28

2.7. Konfigurasi Pin LCD ... 29

4.1. HasilPengukuran Pin IC MikrokontrollerATmega 8535 ... 61

4.2. HasilPengukuran Pin LCD ... 63

4.3. HasilPengukuranWaktuPantul Sensor Ultrasonik ... 65


(11)

DAFTAR GAMBAR

Gambar Judul Halaman

2.1. KemasanMikrokontrollerATmega 8535 ... 17

2.2. Blok Diagram MikrokontrollerATmega 8535 ... 18

2.3. Konfigurasi IC MIkrokontrollerATmega 8535 ... 19

2.4. Register I/O Sebagai Memory Data dan Register I/O Sebagai I/O ... 23

2.5. LCD PendeteksiJarak ... 26

2.6. Konfigurasi Pin LCD ... 27

2.7. Sensor Jarak Sensor Ultrasonik ... 30

2.8. Diagram Waktu Sensor Ping ... 31

2.9. JarakUkur Sensor Ping ... 32

3.1. Blok Diagram Rangkaian ... 33

3.2. RangkaianMikrokontrolerATmega 8535 ... 35

3.3. RangkaianSkematik Sensor Ultrasonik Ping ... 36

3.4. PrinsipKerja Sensor JarakUltrasonik ... 37

3.5. Rangkaian LCD ... 38

3.6. Rangkaian Buzzer ... 40

3.7. RangkaianPendeteksiJarak ... 41

3.8. RangkaianCatuDaya ... 42

3.9. Tampilan Awal Code Vision AVR ... 43

3.10. Create New File Window ... 44

3.11. Confirm Window ... 44

3.12. SPI Setting Window ... 44

3.13. Saving Window ... 45

3.14. Programmer Setting Window ... 45

3.15. Programmer Setting ... 46

3.16. Configure Project ... 46

3.17. Cara Kompilasi ... 47


(12)

3.19. Progress Bar Unduh ke Mikrokontroler ATmega 8535 ... 48

3.20. Flowchart ProgramPendeteksiJarak ... 53

4.1. RangkaianSkematikMikrokontrollerATmega 8535 ... 60

4.2. RangkaianSkematik LCD ... 64

4.3. GrafikJarak 10 cm ... 65

4.4. GrafikJarak 30 cm ... 66

4.5. GrafikJarak 60 cm ... 66

4.6. GrafikJarak 90 cm ... 66

4.7. GrafikJarak 120 cm ... 67

4.8. GrafikJarak 150 cm ... 67


(13)

ABSTRAK

Perkembanganteknologielektronikaterutamadibidangmikrokontrolerterjadisangatp esat.Telahbanyakpenerapandanpemanfaatanmikrokontroleryangbergunadalamkehi dupansehari-harimaupundalampenelitiandilaboratorium.Padatugas Proyek inidigunakanmikrokontrolerATmega

8535produkdariATMELsebagaipengukurjarakdenganmenggunakanUltrasonicDist anceSensoruntukmengetahuijaraksuatubendadengankeakuratanyangtinggi.Sensor

ultrasonic memilikifrekuensisebesar 40 KHz. Sensor initerdiridaripemancardanpenerimagelombang

ultrasonic.Rangkaianpemancarakanmemancarkangelombang ultrasonic dalamwaktu 200 µs. gelombanginimelaluiudaradengankecepatankuranglebih 344

m/det. Jikagelombanginimengenaisuatuobjek, makagelombanginiakandipantulkankembalikepenerimadari sensorultrasonic.

Metodeyangdigunakanialahdenganmemanfaatkan(Timer/Counter)yangsudahadad alammikrokontroler.MikrokontrolerATmega

8535memilikikecepatanpembangkitfrekuensihingga8MHz,kemampuanpencacah

8-bit,sertadenganmenggunakanbahasaCsebagaibahasapemrogramannya.CodeVision AVRmerupakansalahsatuperangkatlunakyangmenggunakanbahasaC.CodeVision

AVRdirancangdenganmempertimbangkansifat-sifatpengkodeanbahasaCsehinggaprogramyangdihasilkan compiler bias sekecilmungkindansecepatmungkin.Hasilperancanganalatiniakandidapatkanpengu kuranjarakbendadarisensorgelombang ultrasonic denganmikrokontrolerAtmega 8535.


(14)

ABSTRACT

The development of electronic technology, especially in the field of microcontrollers occur very rapidly. Has a lot of application and utilization of microcontrollers that are useful in everyday life as well as in the research laboratory. In this project task used ATmega 8535 microcontrollers from Atmel products as a measure of distance by using Ultrasonic Distance sensor to determine the distance of an object with high accuracy. Ultrasonic sensor has a frequency of 40 KHz. The sensor consists of a transmitter and receiver of ultrasonic waves. Transmitter will emit a series of ultrasonic waves in a time of 200 microseconds. This wave through the air at speeds of approximately 344 m / sec.If this wave of an object, then this wave will be reflected back to the receiver of ultrasonic sensors. The method used is to utilize (Timer / Counter) that already exist in the microcontroller. Microcontroller ATmega 8535 has speeds up to 8MHz frequency generator, the ability of 8-bit counter, as well as using the C language as a programming language. Code Vision AVR is one of the software that uses Code Vision AVR C language was designed by considering the encoding properties of the C language compiler generated so that a program can be as small as possible and as quickly as possible. The result of the design of this tool will be obtained from the object distance measurement ultrasonic wave sensor with a microcontroller Atmega 8535.


(15)

BAB I PENDAHULUAN

1.1Latar Belakang Masalah

Pengukuran merupakan hal yang penting dalam dunia ilmu pengetahuan. Pengukuran-pengukuran tersebut antara lain : pengukuran jarak dari satu tempat ke tempat lain, pengukuran waktu dari satu kejadian ke kejadian yang lainnya, pengukuran temperatur / suhu suatu daerah dan lain sebagainya. Untuk mengukur jarak dari suatu titik ke titik lainnya dapat digunakan mistar atau meteran. Dengan menggunakan mistar atau meteran, maka dapat ditentukan jarak antara satu titik ke titik lainnya. Seiring dengan perkembangan teknologi yang semakin canggih, khususnyadibidang elektronika analog dan digital, maka untuk mengukur jarak dari satu titik ketitik lainnya dapat digunakan sensor ultrasonik dan alat penghitung.Sensor ultrasonik ini menggunakan kecepatan suara untuk mengukur jarak. Kecepatan suara adalah 331 m/s, dengan demikian jika diketahui waktu antara pengiriman sinyal dan penerimaan sinyal, maka akan dapat dihitung jarak antara pemancar dan penerima.

Untuk menghitung waktu antara pengiriman sinyal dan penerimaan sinyal, maka harus digunakan alat penghitung.Alat penghitung ini dapat dirancang dengan menggunakan sebuah mikrokontroler. Jadi dengan menggabungkan antara sensor ultrasonik dan sebuah mikrokontroler, maka dapat dirancang sebuah alat


(16)

pendeteksi jarak elektronika . Dengan demikian dirancang dan dibuat suatu alat pada tugas proyek ini yang berjudul “ Perancangan Pendeteksi Jarak Dengan Tampilan LCD Berbasis Mikrokontroller ATmega 8535 “ yang merupakan hasil inovasi yang dapat meringankan dan membantu manusia dalam bidang pekerjaan mendeteksi/mengukur jarak. Alat ini akan bekerja secara otomatis mendeteksi/mengukur jarak dengan menggunakan sensor ultrasonic.

1.2 Rumusan Masalah

Permasalahan pada penulisan ini adalah bagaimana membuat suatu software menggunakan bahasa pemrograman C agar dapat mendeteksi jarak dekat, jauh dan sangat jauh pada sensor ultrasonic. Agar sensor dapat bekerja dengan baik maka dilakukan tahapan pengujian berikut ini:

1. Perancangan suatu sistem sensor jarak dengan jenis ultrasonik 2. Pengaktifan sensor ultrasonic menggunakan bahasa pemrograman C.

3. Pengujian sensor ultrasonik yang digunakan pada berbagai kondisi jarak dekat, Jauh dan cukup jauh.

4. Mendapatkan kapasitas memori program yang dihasilkan.

1.3 Tujuan Penulisan

Adapun Tujuan dari penulisan tugas proyek ini sebagai berikut :

1. Membuat suatu alat pendeteksi jarak dengan menggunakan sensor ultrasonic 2. Melakukan pengujian terhadap sensor ultrasonic.


(17)

1.4 Batasan Masalah

Mengacu pada hal diatas, penulis membuat alat pendeteksi jarak dengan menggunakan sensor ultrasonik berbasis mikrokontroler ATmega 8535 dengan batasan-batasan sebagai berikut:

1. Mikrokontroler yang digunakan adalah mikrokontroler ATmega 8535. 2. Sensor yang digunakan untuk mendeteksi jarak adalah sensor ultrasonik. 3. Alat hanya mendeteksi jarak dekat, jauh dan cukup jauh.

1.5 Manfaat Penelitian

Laporan tugas proyek ini diharapkan bermanfaat bagi :

1. Untuk mengetahui aplikasi Sensor ultrasonic dalam pengukur jarak.

2. Untuk mengetahui fungsi Mikrokontroller ATmega 8535 pada alat pengukur jarak.

3. Untuk mengetahui hasil dari program pengolahan data pada alat pengukur jarak.

1.6 Sistematika Penulisan

Untuk memberikan gambaran pada mengenai tugas proyek ini, secara singkat dapat diuraikan sistematika penulisan sebagai berikut :


(18)

Pada bab ini berisi latar belakang masalah, rumusan masalah,Tujuan penulisan, batasan masalah, manfaat penulisan, teknik

Pengumpulan data dan sistematika penulisan.

BAB II DASAR TEORI

Bab ini berisi tentang teori dasar yang digunakan sebagai bahan Acuan proyek tugas akhir, serta komponen yang perlu diketahui Untuk mempermudah dalam memahami sistem kerja alat ini. BAB III PERANCANGAN DAN PEMBUATAN

Pada bagian ini akan dibahas perancangan dari alat, yaitu diagram blok dari rangkaian, skematik dari masing-masing rangkaian dan diagram alir dari program yang akan diisikan ke mikrokontroler ATmega 8535.

BAB IV PENGUJIAN DAN ANALISA

Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja alat, penjelasan mengenai program-program yang digunakan untuk mengaktifkan rangkaian, penjelasan mengenai program yang diisikan ke mikrokontroler ATmega 8535.

BAB V KESIMPULAN DAN SARAN

Bab ini merupakan penutup yang meliputi tentang kesimpulan dari pembahasan yang dilakukan dari tugas akhir ini serta saran apakah rangkaian ini dapat dibuat lebih efisien dan dikembangkan


(19)

perakitannya pada suatu metode lain yang mempunyai sistem kerja yang sama.

BAB II DASAR TEORI

2.1 Bahasa Pemograman C

Bahasa C dikembangkan pada Lab Bell pada tahun 1978, oleh Dennis Ritchi dan Brian W. Kernighan. Pada tahun 1983 dibuat standar C yaitu stnadar ANSI ( American National Standards Institute ), yang digunakan sebagai referensi dari berbagai versi C yang beredar dewasa ini termasuk Turbo C.

Dalam beberapa literature, bahasa C digolongkan bahasa level menenganh karena bahasa C mengkombinasikan elemen bahasa tinggi dan elemen bahasa rendah. Kemudahan dalam level rendah merupakan tujuan diwujudkanya bahasa C. pada tahun 1985 lahirlah pengembangan ANSI C yang dikenal dengan C++ (diciptakan oleh Bjarne Struostrup dari AT % TLab). Bahasa C++ adalah pengembangan dari bahasa C. bahasa C++ mendukung konsep pemrograman berorientasu objek dan pemrograman berbasis windows.

Sampai sekarang bahasa C++ terus brkembang dan hasil perkembangannya muncul bahasa baru pada tahun 1995 (merupakan keluarga C dan C++ yang dinamakan java). Istilah prosedur dan fungsi dianggap sama dan disebut dengan fungsi saja. Hal ini karena di C++ sebuah prosedur pada dasanya adalah sebuah


(20)

fungsi yang tidak memiliki tipe data kembalian (void). Hingga kini bahasa ni masih popular dan penggunaannya tersebar di berbagai platform dari windows samapi linux dan dari PC hingga main frame.

Hingga kini bahasa ini masih popular dan penggunaannya tersebar di berbagai platform dari windows samapi linux dan dari PC hingga main frame. Mikrokontroler adalah single chip computer yang memiliki kemampuan untuk diprogram dan digunakan untuk tugas-tugas yang berorientasi kontrol. Mikrokontroler datang dengan dua alasan utama, yang pertama adalah kebutuhan pasar (market need) dan yang kedua adalah perkembangan teknologi baru. Yang dimaksud dengan kebutuhan pasar adalah kebutuhan yang luas dari produk-produk elektronik akan perangkat pintar sebagai pengontrol dan pemroses data. Sedangkan yang dimaksud dengan perkembangan teknologi baru adalah perkembangan teknologi semikonduktor yang memungkinkan pembuatan chip dengan kemampuan komputasi yang sangat cepat, bentuk yang semakin mungil, dan harga yang semakin murah.

/* header adalah kumpulan library atau rutin-rutin yang sudah tersedia di program bawaan atau bisa cari di internet, jadi kita tidak perlu membuat sendiri, cukup panggil nama subrutinnya saja, misalnya ms_delay, penundaan, scan keypad, lcd. /*Declare your global variables here – anda bisa mendefisikan variabel global disini, karena setiap variabel harus didefinisikan lebih dahulu untuk reservasi dimemory.Jika dalam asembler berhubungan langsung dengan nama register atau memory, jika dalam C, variabelnya berhubungan dengan memory, contoh yang


(21)

sering digunakan adalah; unsigned char s2=0xFE , contoh variabel s2 untuk bytenilainya 0 sd 255, atau 0×00 sd 0xFF , 0x adalah prefix untuk hexadesimal, saat awal diisi 0xFE, contoh lain; unsigned int s3 integer tidak bertanda dari 0 sd 65535 atau 0×0000 sd 0xFFFF. bit ts=1; bit tb=0 , ini adalah variabel yangmengandle type boolean, 1 atau 0. type variabel lain bisa bilangan bertanda, floating number, double precission dll */.

2.1.1 Struktur Bahasa C

a. Program bahasa C tersusun atas sejumlah blok fungsi.

b. Setiap fungsi terdiri dari satu atau beberapa pernyataan untuk melakukan suatu proses tertentu.

c. Tidak ada perbedaan antara prosedur dan fungsi.

d. Sstiap program bahasa C mempunyai suatu fungsi dengan nama “main” (Program Utama).

e. Fungsi bisa diletakkan diatas atau dibawah fungsin “main”. f. Setiap statemen diakhiri dengan semicolon (titik koma).

2.1.2 Pengenal

Pengenal (identifier) merupakan sebuah nama yang didefenisikan oleh pemrograman untuk menunjukkan indetitas dari sebuah konstanta, variable, fungsi, label atau tipe data khusus. Pemberian nama sebuah pengenal dapat ditentukan bebas sesuai keinginan pemrogram tetapi harus memenuhi atura berikut :

 Karakter pertama tidak boleh menggunakan angka


(22)

 Tidak boleh menggunakan spasi.

 Bersifat Case Sensitive, yaitu huru capital dan huruf kecil dianggap berbeda.

 Tidak boleh mengunakan kata – kata yang merupakan sitaks maupun operator dalam pemrograman C, misalnya : Void, short, const, if, static, bit, long, case, do, switch dll.

2.1.3 Tipe Data

Tipe data merupakan suatu hal yang penting untuk kita ketahui pada saat belajar bahasa pemrograman.Kita harus dapat menentukan tipe data yang tepat untuk menampung sebuah data, baik itu data berupa bilangan numerik ataupun karakter.Hal ini bertujuan agar program yang kita buat tidak membutuhkan pemesanan kapling memori yang berlebihan. Seorang programmer yang handal harus dapat memilih dan menentukan tipe data apa yang seharusnya digunakan dalampembuatan sebuah program. Secara garis besar tipe data pada bahasa C dibagi menjadi beberapa bagian antara lain sebagai Berikut Macam-Macam Tipe Data Pada Bahasa C :

1. Tipe Data Karakter

Sebuah karakter, baik itu berupa huruf atau angka dapat disimpan pada sebuah variabel yang memiliki tipe data char dan unsigned char. Besarnya data yang dapat disimpan pada variabel yang bertipe data char adalah -127 - 127. Sedangkan untuk tipe data unsigned char adalah dari 0 - 255.


(23)

Tabel 2.1 Tipe Data

Tipe Data Ukuran Jangkauan Nilai

Bit 1 byte 0 atau 1

Char 1 byte -128 s/d 127

Unsigned Char 1 byte 0 s/d 255 Signed Char 1 byte -128 s/d 127

Int 2 byte -32.768 s/d 32.767

Short Int 2 byte -32.768 s/d 32.767 Unsigned Int 2 byte 0 s/d 65.535 Signed Int 2 byte -32.768 s/d 32.767

Long Int 4 byte -2.147.483.648 s/d 2.147.483.647 Unsigned Long Int 4 byte 0 s/d 4.294.967.295

Signed Long Int 4 byte -2.147.483.648 s/d 2.147.483.647 Float 4 byte 1.2*10-38 s/d 3.4*10+38

Double 4 byte 1.2*10-38 s/d 3.4*10+38

2.1.4Konstanta Dan Variabel

Konstanta dan variable merupakan sebuah tempat untuk menyimpan data yang berada di dalam memori.Konstanta berisi data yang nilainya tetap dan tidak


(24)

dapat diubah selama program dijalankan, sedangkan variable berisi data yang bisa berubah nilainya pada saat program dijalankan.

2.1.5 Komentar

Komentar adalah tulisan – tulisan yang tidak dianggap sebagai bagian dari tibuh program. Komentar digunakan untuk memberikan penjelasan, informasi ataupun keterangan – keterangan yang dapat membantu mempermudah dalam memahami kode program baik bagi si pembuat program maupun bagi orang lain yang membacanya. Komentar yang hanya satu baris ditulis dengan diawali dengan ‘/ /’ sedangkan komentar yang lebih dari satu baris diawali dengan ‘/*’ dan diakhiri dengan ‘*/’. Selain digunakan untuk memberikan keterangan program, komentar juga dapat dipakai untuk membantu dalam pengujian program yaitu dengan menon-aktifkan dan mengaktifkan kemnbali bagian program tertentu selama proses pengujian. Dengan cara seperti ini tentu kita akan dapat lebih menghemat waktu bila dibandingkan dengan menulis dan menghapus bagian program tertentu berulang –ulang.

2.1.6 Operator Aritmatika

Operator aritmatika adalah beberapa operator yang digunakan untuk melakukan perhitungan aritmatika.

Tabel 2.2 Operator Aritmatika

Operator Keterangan


(25)

- Operator untuk operasi pengurangan * Operator untuk operasi perkalian

/ Operator untuk operasi pembagian % Operator untuk perasi sisa pembagian

Operator *, / dan % memiliki prioritas yang lebih tinggi bila dibandingkan dengan operator + dan –.

2.1.7 Operator Pembanding

Operator pembanding adalah operator yang digunakan untuk membandingkan 2 buah data.Hasil operator pembanding bukan berupa nilai data tetapi hanya bernilai benar (‘1’) atau salah (‘0’) saja. Berikut adalah tabel operator pembanding :

Tabel 2.3 Operator Pembanding

Operator Contoh Arti

== x == y Bernilai benar jika kedua data sama dan bernilai salah jika sebaliknya

!= x != y Bernilai benar jika kedua data tidak sama dan bernilai salah jika sebaliknya

> x > y Bernilai benar jika data x lebih besar dari y dan bernilai salah jika sebaliknya

< x < y Bernilai benar jika data x lebih kecil dari y dan bernilai salah jika sebaliknya

>= x >= y Bernilai benar jika data x ,ebih besar atau sama denga y dan bernilai salah jika


(26)

sebaliknya

<= x <= y Bernilai benar jika data x lebih kecil atau sama dengan y dan bernilai salah jika sebaliknya

2.1.7Operator Logika

Operator logika digunakan untuk membentuk suatu logika atas dua buah kondisi atau lebih. Berikut adalah tabel operator logika :

Tabel 2.4 Operator Logika

Operator Keterangan

&& Operator untuk logika AND

││ Operator untuk logika OR ! Operator untuk NOT

2.1.8Fungsi Pustaka

Bahasa C memiliki sejumlah fungsi pustaka yang berada pada file-file tertentu dan sengaja disediakan untuk menangani berbagai hal dengan cara memanggil fungsi-fungsi yang telah dideklarasikan di dalam file tersebut. Dalam banyak hal, pustaka-pustaka yang tersedia tidak berbentuk kode sumber melainkan dalam bentuk yang telah dikompilasi. Pada saat proses linking kode-kode dari fungsi ini akan dikaitkan dengan kode-kode-kode-kode yang ditulis oleh pemrograman.

Beberapa fungsi pustaka yang telah disediakan oleh CodeVisionAVR antara laian adalah :


(27)

• Fungsi tipe karakter (ctype.h)

• Fungsi standar I/O (stdio.h)

• Fungsi matematika (math.h)

• Fungsi string (string.h)

• Fungsi konversi BCD (bcd.h)

• Fungsi konversi akses memori (mem.h)

• Fungsi tunda (delay.h)

• Fungsi LCD (lcd.h)

2.2 Mikrokontroller ATmega 8535 2.2.1 Pengertian Mikrokontroller

Mikrokontroler adalah sebuah system microprocessor dimana didalamnya sudah terdapat CPU, ROM, RAM, I/O, Clock dan peralatan internal lainnya yang sudah saling terhubung dan terorganisasi (teralamati) dengan baik oleh pabrik pembuatnya dan dikemas dalam satu chip yang siap pakai. Sehingga kita tinggal memprogram isi ROM sesuai aturan penggunaan oleh pabrik yang membuatnya.Teknologi yang digunakan pada mikrokontroler AVR berbeda dengan mikrokontroler seri MCS-51.AVR berteknologi RISC (Reduced Instruction Set Computer), sedangkan seri MCS-51 berteknologi CISC (Complex Instruction Set Computer).

Mikrokontroler AVR dapat dikelompokkan menjadi empat kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATMega, dan keluarga AT89RFxx.Pada dasarnya yang membedakan masing-masing kelas adalah


(28)

memori, kelengkapan periperal dan fungsi-fungsi tambahan yang dimiliki. Berikut ini penjelasan lebih lengkap mengenai Mikrokontroler ATMega8535:

Mikrokontroller ATMega8535 adalah mikrokontroler CMOS 8 bit daya rendah berbasis arsitektur RISC. Instruksi dikerjakan pada satu siklus clock, ATMega8535 mempunyai throughput mendekati 1 MIPS per MHz, hal ini membuat ATMega8535 dapat bekerja dengan kecepatan tinggi walaupun dengan penggunaan daya rendah.Ilustrasi yang mungkin bisa memberikan gambaran yang jelas dalam penggunaan mikrokontroler adalah aplikasi mesin tiket dalam arena permainan yang saat ini terkenal di Indonesia.

Jika kita sudah selesai bermain, maka akan diberikan suatu nilai, nilai inilah yang menentukan berapa jumlah tiket yang bisa diperoleh dan jika dikumpulkan dapat ditukar dengan berbagai macam hadiah. Sistem tiket ini ditangani dengan mikrokontroler, karena tidak mungkin menggunakan computer PC yang harus dipasang disamping (atau di belakang) mesin permainan yang bersangkutan.Selain system tiket, kita juga dapat menjumpai aplikasi mikrokontroler dalam bidang pengukuran jarak jauh atau yang dikenal dengan system telemetri. Misalnya pengukuran disuatu tempat yang membahayakan manusia, maka akan lebih nyaman jika dipasang suatu system pengukuran yang bisa mengirimkan data lewat pemancar dan diterima oleh stasiun pengamatan dari jarak yang cukup aman dari sumbernya.

Sistem pengukuran jarak jauh ini jelas membutuhkan suatu system akusisi data sekaligus system pengiriman data secara serial (melalui pemancar), yang semuanya itu bisa diperoleh dari mikrokontroler yang digunakan.Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi


(29)

(misalnya pengolah kata, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja.

Perbedaan lainnya terletak pada perbandingan RAM dan ROM-nya.Pada system computer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relative besar, sedangkan rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang kecil.Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program control disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar.Mikrokontroler ATmega8535 memiliki beberapa fitur atau spesifikasi yang menjadikannya sebuah solusi pengendali yang efektif untuk berbagai keperluan.

Fitur-fitur tersebut antara lain:

1. Saluran I/O sebanyak 32 buah, yang terdiri atas Port A, B, C dan D 2. ADC (Analog to Digital Converter)

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

5. Watchdog Timer dengan osilatorinternal

6. SRAM sebesar 512 byte

7. Memori Flash sebesar 8kb dengan kemampuan read while write

8. Unit Interupsi Internal dan External

9. Port antarmuka SPI untuk men-download program ke flash

10.EEPROM sebesar 512 byte yang dapat diprogram saat operasi 11.Antarmuka komparator analog


(30)

2.2.2 Chip Mikrokontroller ATmega 8535

Mikrokontroler sebagai sebuah “one chip solution” pada dasarnya adalah rangkaian terintregrasi (Integrated Circuit-IC) yang telah mengandung secara lengkap berbagai komponen pembentuk sebuah komputer. Berbeda dengan penggunaan mikroprosesor yang masih memerlukan komponen luar tambahan seperti RAM, ROM, Timer, dan sebagainya untuk sistem mikrokontroler, tambahan komponen diatas secara praktis hampir tidak dibutuhkan lagi.

Hal ini disebabkan semua komponen penting tersebut telah ditanam bersama dengan sistem prosesor ke dalam IC tunggal mikrokontroler bersangkutan. Dengan alasan itu sistem mikrokontroler dikenal juga dengan istilah populer the real Computer On a Chip (komputer utuh dalam keping tunggal), sedangkan sistem mikroprosesor dikenal dengan istilah yang lebih terbatas yaitu Computer On a Chip (computer dalam keeping tunggal).

Mikrokontroler AVR memiliki arsitektur RISC 8 bit, dimana semua instruksi dikemas dalam kode 16-bit (16-bits word) dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock, berbeda dengan instruksi MCS51 yang membutuhkan 12 siklus clock.Tentu saja itu terjadi karena kedua jenis mikrokontroler tersebut memiliki arsitektur yang berbeda.AVR berteknologi RISC (Reduced Instruction Set Computing), sedangkan seri MCS51 berteknologi CISC (Complex Instruction Set Computing).

Secara umum, AVR dapat dikelompokkan menjadi empat kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATMega dan AT86RFxx.Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral dan


(31)

fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama.

Mikrokontroler ATMega8535 merupakan salah satu keluarga dari MCS-51keluaran Atmel. Jenis Mikrokontroler ini pada prinsipnya dapat digunakan untukmengolah data per bit ataupun 8 bit secara bersamaan. Pada prinsipnya program pada Mikrokontroler dijalankan bertahap, jadi pada program itu sendiri terdapat beberapa set instruksi dan tiap instriksi itu dijalankan secara bertahap atau berurutan. Beberapa fasilitas yang dimiliki oleh Mikrokontroler ATMega8535 adalah sebagai berikut :

a. Sebuah Central Processing Unit 8 bit. b. Osilatc : Internal dan rangkaian pewaktu. c. RAM internal 128 byte.

d. Flash Memory 2 Kbyte.

e. Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi internal).

f. Empat buah programmable port I/O yang masing – masing terdiri dari delapan buah jalur I/O.

g. Sebuah port serial dengan control serial full duplex UART.

h. Kemampuan untuk melaksanakan operasi aritmatika dan operasi logika.

Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada frekuensi 1 MH.


(32)

(33)

2.2.3Konfigurasi Pin ATmega8535

Mikrokontroler AVR ATMega memiliki 40 pin dengan 32 pin diantaranya digunakan sebagai port paralel. Satu portparalel terdiri dari 8 pin, sehingga jumlah port pada mikrokontroler adalah 4 port, yaitu port A, port B, port C dan

port D. Sebagai contoh adalah port A memiliki pin antara port A.0 sampai dengan

port A.7, demikian selanjutnya untuk port B, port C, port D.

Gambar 2.3. Konfigurasi IC Mikrokontroller ATmega 8535

Penjelasan mengenai pin yang terdapat pada mikrokontroler ATMega8535:

Tabel 2.5 Deskripsi Pin Mikrokontroler ATmega 8535

Nama Deskripsi


(34)

Gnd Catu daya negatip (Ground)

Port A (PA0-PA7) Port A berfungsi sebagai port Input/Output. Port A juga berfungsi sebagai ADC, jika diperlukan. Pin pada Port dapat diatur untuk memberikan internal pull-up resistors

pada tiap bit. Penyangga data (buffer) pada keluaran Port A mempunyai karakteristik gerak simetris dengan kapabilitas high sink maupun source. Ketika pin PA0 – PA7 digunakan sebagai input dan secara eksternaldikonfigurasi pulled-low, pin-pin tersebut menghasilkan arus apabila internal pull-up resistors

diaktifkan. Pin pada Port A berada dalam kondisi tri-stated

ketika kondisi reset diaktifkan, meskipun clock tidak bekerja.

Port B (PB0-PB7) Port B adalah port Input/Output dwi-arah8-bit dengan

internal pull-up resistors pada tiap bit. Penyangga data pada output Port B mempunyai karakteristik gerak simetris dengan kapabilitas high sink maupun source. Sebagai

input, Port B yang secara eksternal dikonfigurasi pulled-low akan menghasilkan arus jika pull-up resistors

diaktifkan. Pin pada Port B berada dalam kondisi tri-stated

ketika kondisi reset diaktifkan, meskipun clock tidak bekerja. Port B juga memiliki fungsi lain yaitu TO, XCK, T1, AIN0, INT2, AIN1, SS, MOSI, MISO dan SCK. Port C (PC0-PC7) Port C adalah sebuah port Input/Output dwi-arah8-bit


(35)

dengan internal pull-up resistors pada tiap bit. Penyanga data pada output Port C mempunyai karakteristik gerak simetris dengan kapabilitas high sink maupun source. Sebagai input, Port C yang secara eksternal dikonfigurasi

pulled-low akan menghasilkan arus jika pull-up resistors

diaktifkan. Pin pada Port C berada dalam kondisi tri-stated

ketika kondisi reset diaktifkan, meskipun clock tidak bekerja. Port C juga memiliki fungsi lain seperti TOSC2 dan TOSC1.

Port D (PD0-PD7) Port D adalah sebuah port Input/Output dwi-arah 8-bit dengan internal pull-up resistors pada tiap bit. Penyangga data pada output Port D mempunyai karakteristik gerak simetris dengan kapabilitas high sink maupun source. Sebagai input, Port D yang secara eksternal dikonfigurasi

pulled-low akan menghasilkan arus jika pull-up resistors diaktifkan. Pin pada Port D berada dalam kondisi tri-stated ketika kondisi reset diaktifkan, meskipun clock tidak bekerja. Port D juga memiliki fungsi lain seperti RXD

Nama Deskripsi

, TXD, INT0, INT1, OC1B, OC1A, ICP1, OC2, SCL dan SDA.

RESET Input Reset. Kondisi low-level pada pin ini yang lebih lama dibanding panjang pulsa minimum akan menyebabkan kondisi reset, meskipun clock tidak bekerja.


(36)

Pulsa yang lebih pendek tidak dijamin menyebabkan kondisi reset.

XTAL1 Pin untuk eksternal clock. XTAL2 Pin untuk eksternal clock.

AVCC Pin tegangan catu untuk Port A dan ADC. AVcc harus terhubung secara eksternal dengan Vcc, meskipun ADC tidak digunakan. Jika ADC digunakan, AVcc harus terhubung dengan Vcc melalui sebuah low-pass filter. AREF Pin referensi analog bagi ADC

2.2.4 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. Sehingga organisasi memori program seperti ini sering dituliskan dengan 4K x 16 bit.Memori program ini terbagi menjadi 2 bagian yaitu bagian program boot dan bagian program aplikasi. Jika tidak menggunakan fitur

boot Loader Flash maka semua kapasitas memori program di atas dapat digunakan untuk program aplkasi. Tetapi jika kita menggunakan fitur Boot Loader Flash maka pembagian ukuran kedua bagian ini ditentukan oleh BOOTSZ fuse.


(37)

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. Jika register – register I/O di atas diakses seperti mengakses data pada memori menggunakan instruksi LD atau ST maka register I/O di atas menempati alamat 0020 – 005F. tetapi jika register – register I/O di atas diakses seperti mengakses I/O pada umumnya menggunakan instruksi IN atau OUT maka register I/O di atas menempati alamat memori 0000h – 003Fh.

32 Register 64 I/O Register

Internal SRAM (512 x 8)

$0000 - $001F $0020 - $005F

$0060

$025F 64 I/O Register

$0000 $003F

(a)

(b)

Gambar 2.4. (a) Register I/O Sebagai Memori Data (b) Register Register I/O Sebagai I/O


(38)

c. Memori EEPROM

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


(39)

ATmega8535.USART merupakan komunikasi yang memiliki fleksibilitas tinggi, yang dapat digunakan untuk melakukan transfer data baik antarmikrokontroler 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 XC.”

2.3 LCD (Liquid Crystal Display)

LCD merupakan salah satu perangkat penampil yang sekarang ini mulai banyak digunakan.Penampil LCD mulai dirasakan menggantikan fungsi dari penampil CRT (Cathode Ray Tube), yang sudah berpuluh-puluh tahun digunakan manusia sebagai penampil gambar/text baik monokrom (hitam dan putih), maupun yang berwarna.Teknologi LCD memberikan keuntungan dibandingkan dengan teknologi CRT, kaena pada dasarnya, CRT adalah tabung triode yang digunakan sebelum transistor ditemukan. Beberapa keuntungan LCD dibandingkan dengan CRT adalah konsumsi daya yang relative kecil, lebih ringan, tampilan yang lebih bagus, dan ketika berlama-lama di depan monitor, monitor CRT lebih cepat memberikan kejenuhan pada mata dibandingkan dengan LCD.


(40)

Gambar 2.5.LCD Pendeteksi Jarak

LCD memanfaatkan silicon atau gallium dalam bentuk Kristal cair sebagai pemendar cahaya.Pada layar LCD, setiap matrik adalah susunan dua dimensi piksel yang dibagi dalam baris dan kolom.Dengan demikian, setiap pertemuan baris dan kolom adalah sebuah LED terdapat sebuah bidang latar (backplane), yang merupakan lempengan kaca bagian belakang dengan sisi dalam yang ditutupi oleh lapisan elektroda trasparan.Dalam keadaan normal, cairan yang digunakan memiliki warna cerah. Daerah-daerah tertentu pada cairan akan berubah warnanya menjadi hitam ketika tegangan diterapkan antara bidang latar dan pola elektroda yang terdapat pad sisi dalam lempeng kaca bagian depan.

Keunggulan LCD adalah hanya menarik arus yang kecil (beberapa microampere), sehingga alat atau sistem menjadi portable karena dapat menggunakan catu daya yang kecil.Keunggulan lainnya adalah tampilan yang diperlihatkan dapat dibaca dengan mudah di bawah terang sinar matahari.Di bawah sinar cahaya yang remang-remang dalam kondisi gelap, sebuah lampu (berupa LED) harus dipasang dibelakang layar tampilan.

LCD yang digunakan adalah jenis LCD yang menampilkan data dengan 2 baris tampilan pada display. Keuntungan dari LCD ini adalah :


(41)

1. Dapat menampilkan karakter ASCII, sehingga dapat memudahkan untuk membuat program tampilan.

2. Mudah dihubungkan dengan port I/O karena hanya mengunakan 8 bit data dan 3 bit control.

3. Ukuran modul yang proporsional.

4. Daya yang digunakan relative sangat kecil.

LCD 16x2 10 11 12 13 11 12 13 14 D0 D1 D2 D3 D4 D5 D6 D7 2 15 +5VDC RS RW EN 4 5 6

1 3 16 VCC V+BL

GND LCD Drv V-BL

Gambar 2.6. Konfigurasi Pin LCD

Operasi dasar pada LCD terdiri dari empat, yaitu instruksi mengakses proses internal, instruksi menulis data, instruksi membaca kondisi sibuk, dan instruksi membaca data. ROM pembangkit sebanyak 192 tipe karakter, tiap karakter dengan huruf 5x7 dot matrik.Kapasitas pembangkit RAM 8 tipe karakter (membaca program), maksimum pembacaan 80x8 bit tampilan data.Perintah utama LCD adalah Display Clear, Cursor Home, Display ON/OFF, Display Character Blink, Cursor Shift, dan Display Shift.Tabel 2.3 menunjukkan operasi dasar LCD.


(42)

Tabel 2.6. Operasi Dasar LCD

RS R/W Operasi

0 0 Input Instruksi ke LCD

0 1 Membaca Status Flag (DB7) dan alamat counter (DB0 ke

DB6)

1 0 Menulis Data 1 1 Membaca Data

Lapisan film yang berisis Kristal cair diletakkan di antara dua lempeng kaca yang telah ditanami elektroda logam transparan. Saat teganga dicatukan pada beberapa pasang elektroda, molekul – molekul Kristal cair akan menyusun diri agar cahaya yang mengenainya akan dipantulkan atau diserap. Dari hasil pemantulan atau penyerapan cahaya tersebut akan terbentuk pola huruf, angka, atau gambar sesuai bagian yang di aktifka.

LCD membutuhkan tegangan dan daya yang kecil sehingga sangat popular untuk aplikasi pada kalkulator, arloji digital, dan instrument elektronika lain seperti Global Positioning System (GPS), baragraph display dan multimeter digital. LCD umumnya dikemas dalam bentuk Dual In Line Package (DIP) dan mempunyai kemampuan untuk menampilkan beberapa kolom dan baris dalam satu panel. Untuk membentuk pola, baik karakter maupun gambar pada kolom dan baris secara bersamaan digunakan metode Screening.


(43)

Metode screening adalah mengaktifkan daerah perpotongan suatu kolo dan suatu baris secara bergantian dan cepat sehingga seolah-olah aktif semua. Penggunaan metode ini dimaksudkan untuk menghemat jalur yang digunakan untuk mengaktifkan panel LCD. Saat ini telah dikembangkan berbagai jenis LCD, mulai jenis LCD biasa, Passive Matrix LCD (PMLCD), hingga Thin-Film Transistor Active Matrix (TFT-AMLCD).

Tabel 2.7. Konfigurasi Pin LCD Pin

No.

Keterangan Konfigurasi Hubung

1 GND Ground

2 VCC Tegangan +5VDC

3 VEE Ground

4 RS Kendali RS

5 RW Ground

6 E Kendali E/Enable

7 D0 Bit 0

8 D1 Bit 1

9 D2 Bit 2

10 D3 Bit 3

11 D4 Bit 4

12 D5 Bit 5

13 D6 Bit 6


(44)

15 A Anoda (+5VDC)

16 K Katoda (Ground)

2.4Sensor Jarak Ultrasonik PING

Sensor jarak ultrasonik ping adalah sensor 40 khz produksi parallax yang banyakdigunakan untuk aplikasi atau kontes robot cerdas. Kelebihan sensor ini adalah hanyamembutuhkan 1 sinyal ( SIG ) selain jalur 5V dan ground. Perhatikan gambardibawah ini :

Gambar 2.7 Sensor jarak ultrasonik ping

Sensor PING mendeteksi jarak objek dengan cara memancarkan gelombang ultrasonik ( 40 KHz ) selama t = 200 us kemudian mendeteksi pantulannya. Sensor PING memancarkan gelombang ultrasonik sesuai dengan kontrol dari mikrokontroller pengendali ( pulsatrigger dengan tout min 2 us ).

Spesifikasi sensor ini :

a. Kisaran pengukuran 3cm-3m.

b. Input trigger –positive TTL pulse, 2uS min., 5uS tipikal. c. Echo hold off 750uS dari fall of trigger pulse.


(45)

d. Delay before next measurement 200uS.

e. Burst indicator LED menampilkan aktifitas sensor.

Gambar 2.8 Diagram Waktu Sensor Ping

Sensor Ping mendeteksi jarak obyek dengan cara memancarkan gelombang ultrasonik (40 kHz) selama tBURST (200 μs) kemudian mendeteksi pantulannya.Sensor Ping memancarkan gelombang ultrasonik sesuai dengan kontrol dari mikrokontroler pengendali (pulsa trigger dengan tOUT min. 2

μs).Gelombang ultrasonik ini melalui udara dengan kecepatan 344 meter per detik, mengenai obyek dan memantul kembali ke sensor. Ping mengeluarkan pulsa output high pada pin SIG setelah memancarkan gelombang ultrasonik dan setelah gelombang pantulan terdeteksi Ping akan membuat output low pada pin


(46)

SIG. Lebar pulsa High (tIN) akan sesuai dengan lama waktu tempuh gelombang ultrasonik untuk 2x jarak ukur dengan obyek. Maka jarak yang diukur adalah S = (tIN x V ) ÷ 2

Dimana :

S = Jarak antara sensor ultrasonik dengan objek yang dideteksi V = Cepat rambat gelombang ultrasonik di udara (344 m/s)

tIN = Selisih waktu pemancaran dan penerimaan pantulan gelombang.

Gambar 2.9 Jarak Ukur Sensor Ping

Sistem minimal mikrokontroller ATMega 8535 dan software basic stamp Editor diperlukan untuk memprogram mikrokontroller dan mencoba sensor ini. Keluaran dari pin SIG ini yang dihubungkan ke salah satu port di kit mikrokontroller. Contoh aplikasi sensor PING pada mikrokontroler BS2, dimana pin SIG terhubung ke pa pin7, dan memberikan catu daya 5V dan ground.fungsiSigout untuk mentrigger ping, sedangkan fungsi Sigin digunakan untuk mengukur pulsa yang sesuai dengan jarak dari objek target.


(47)

BAB III

PERANCANGAN DAN PEMBUATAN

3.1. Rangakain Perangkat Keras (Hardware) 3.1.1. Blok Diagram Rangkaian

Sensor Mikrokontroler

Atmega 8535

Display/ LCD

Buzzer

Bunyi Driver

Gambar 3.1 Blok Diagram Rangkaian

Diagram blok merupakan diagram dasar dari rancangan sistem terdiri dari beberapa bagian yaitu : input, proses dan output, seperti yang digambarkan pada blok diagram diatas. Input sistem dan ranangan ini adalah sebuah sensor jarak yaitu sensor yang mendeteksi jarak suatu objek, Dalam hal ini menggunakan sensor ultrasonik / PING Sensor. Bagian proses adalah bagian yang memproses input menjadi suatu output, dalam hal ini dilakukan oleh sebuah pengendali mikro yaitu mikrokontroler ATmega 8535.

Output sistem adalah hasil yang diberikan oleh sistem, dalam hal ini adalah output buzzer yang berupa suara peringatan dan display LCD yang


(48)

menampilkan pesan atau jarak yang terukur. Secara umum sensor akan memberikan suatu signal hasil pengukuran yaitu jarak dekat, jauh dan cukup jauh. Jarak yang diberikan pada mikrokontroler membuat mikrokontroler melakukan frekuensi bunyi akan berubah cepat sesuai dengan kondisi jarak yang terdeteksi. 3.1.2 Perancangan Rangkaian Mikrokontroller ATmega 8535

Mikrokontroler berfungsi sebagai pengendali utama yaitu membaca sensor dan membunyikan buzzer sesuai dengan jarak yang terdeteksi sekaligus menampilkannya pada display LCD. Rancangan ini menggunakan Mikrokontroler ATmega 8535, sebagai pengendali sistem mikrokontroler diprogram untuk membuat sensor pada PORT D yaitu pin D.0 dan pin D.1. output buzzer diprogram pada PORT B yaitu pin B.0 sedangkan display diprogram pada PORT C. Kristal pada pin 12 dan pin 13 berfungsi sebagai masukan clock, sedangkan resistor pada pin 9 befungsi sebagai reset awal pada saat dihidupkan. Mikrokontroler dengan bahasa C dengan editor CV AVR versi 2,03.Untuk membaca sensor mikrokontroler akan mengaktifkan pin trigger untuk memulai pembacaan, kemudian menunggu pulsa hingga pin signal memberikan pulsa hasil di deteksi. Signal yang diterima adalah lebar pulsa yang diberikan oleh sensor yaitu berupa selang waktu antara dikirimnya gelombang ultrasonic hingga diterima kembali pantulan dari gelombang tersebut. Jarak objek ke sensor dengan asumsi kecepatan suara pada saat itu adalah 320 m/det sehingaa jarak S = V.t. Dimana :

S = Jarak ( cm)

V = Kecepatan ( m/det ) t = Waktu ( sekon )


(49)

ATMEGA 8535 Reset PA.3 PA.2 PC.5 PC.6 PC.3 PC.7 PC.0 PC.2 PC.4 37 38 VCC PB.0 GND 9 10 10 K 22 23 24 25 26 27 28 1 12 13 11 4 MHz

Gambar 3.2 Rangkaian Mikrokontroller ATmega 8535

3.1.3 Perancangan Rangkaian Sensor Ping

Sensor yang digunakan adalah tipe sensor ultrasonic yaitu sensor yang bekerja pada frekuensi ultrasonic sekitar 40 KHz. Prinsip kerja sensor adalah mengirim suatu sinyal ultrasonic dan mendeteksi pantulan sinyal tersebut serta mencari selisih waktu antara pengiriman dengan gelombang pantulan. Tipe sensor yaitu SR04 dengan 4 pin yaitu pin Vcc, ground, pin trigger dan pin signal. Pin trigger dan pin signal diberikan pada masukan mikrokontroler yaitu PORT


(50)

D.Pendeteksi jarak ini menggunakan sebuah sensor ultrasonic.Interfacing sensor ultrasonik Ping dengan mikrokrontroler ATMega8535, sebagai pengendali sistem mikrokontroler diprogram untuk membuat sensor pada PORT D yaitu pin D.0 dan pin D.1. Rangkaian skematik sensor jarak ultrasonik ditunjukkan pada Gambar 3.3. ATMEGA 8535 Reset PA.3 PA.2 PC.5 PC.6 PC.3 PC.7 PC.0 PC.2 PC.4 37 38 VCC PB.0 GND 9 10 10 K 22 23 24 25 26 27 28 1 12 13 11 4 MHz VCC echo trig GND 5 V 1 2 3 4 Sensor Ultrasonik

Gambar 3.3Rangkaian Skematik Sensor Ultrasonik Ping

Ping adalah modul pengukur jarak dengan ultrasonic buatan Paralax Inc. yang didesain khusus untuk teknologi robotika. Dengan ukurannya yang cukup kecil (2,1cm x 4,5cm), sensor ini dapat mengukur jarak antara 3 cm sampai 300 cm. Keluaran dari Ping berupa pulsa yang lebarnya merepresentasikan jarak. Lebar pulsanya bervariasi dari 115 µs sampai 18,5 ms. Sensor jarak ini digunakan karena hanya memmbutuhkan satu jalur sinyal selain jalur 5 volt dan ground.

Pada dasanya, Ping terdiri dari sebuah chip pembangkit sinyal 40KHz, sebuah speaker ultrasonik dan sebuah mikropon ultrasonik. Speaker ultrasonik mengubah sinyal 40 KHz menjadi suara sementara mikropon ultrasonik berfungsi untuk


(51)

mendeteksi pantulan suaranya. Pada modul Ping terdapat 3 pin yang digunakan untuk jalur power supply (+5V), ground dan signal.

Pin signal dapat langsung dihubungkan dengan mikrokontroler tanpa tambahan komponen apapun. Ping mendeteksi objek dengan cara mengirimkan suara ultrasonic dan kemudian “mendengarkan” pantulan suara tersebut. Ping hanya akan mengirimkan suara ultrasonik ketika ada pulsa trigger dari mikrokontroler (Pulsa high selama 5µs). Suara ultrasonik dengan frekuensi sebesar 40KHz akan dipancarkan selama 200µs. Suara ini akan merambat di udara dengan kecepatan 344.424m/detik (atau 1cm setiap 29.034µs), mengenai objek untuk kemudian terpantul kembali ke Ping.

Selama menunggu pantulan, Pingakan menghasilkan sebuah pulsa. Pulsa ini akan berhenti (low) ketika suara pantulan terdeteksi oleh Ping. Oleh karena itulah lebar pulsa tersebut dapat merepresentasikan jarak antara Ping dengan objek.Sensor jarak ultrasonik ini memiliki kontak jarak 3 cm sampai dengan 3 meter.Ilustrasi dari prinsip kerja sensor jarak ultrasonik Ping ditunjukkan pada Gambar 3.4.


(52)

3.1.4 Perancangan Rangkaian LCD Display

Display atau penampil pada rancangan adalah display LCD yaitu LCD M1632, display berfungsi menampilkan status atau pesan pada tampilan berupa karakter maupun symbol. Display dikendalikan oleh mikrokontroler melalui PORT C. hasil pengukuran jarak ditampilkan deprogram dalam mikrokontroler terdapat 8 pin. Data pada LCD yang berfungsi sebagai masukan data, 3 pin control sebagai mengendalikan LCD yaitu RS sebagai pemilih register, RW sebagai mengatur arah data dan clock sebagai signal sinkronisasi.

11 12 13 14

4 6 5

D4 D5 D6 D7

RS RW CLK

DISPLAY LCD

Gnd 1/3/16

2/15 +5V

Gambar 3.5 Rangkaian LCD

Penguat arus berupa rangkaian penguat yang menggunakan sebuah transistor dan resistor.Fungsi penguat arus adalah menguatkan arus dari mikrokontroler agar dapat mengendalikan beban yang lebih besar dalam hal ini adalah buzzer. Jenis transistor yang digunakan adalah PD1391 yaitu tipe NPN dengan faktor penguatan 100 kali pemberian logika 0 atau 1 akan menyebabkan transistor ON/OF sehingga arus akan mengalir atau terputus. Penguat transistor ini dikendalikan oleh mikrokontroler melalui PORT B yaitu pin B.0,


(53)

3.1.5 Perancangan Rangkaian Buzzer

Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah getaran listrik menjadi getaran suara. Buzzer akan mengeluarkan suara ( bunyi ) dengan frekuensi tertentu jika diberi arus listrik. Pada dasarnya prinsip kerja buzzer hampir sama dengan loud speaker, jadi buzzer juga terdiri dari kumparan yang terpasang pada diafragma dan kemudian kumparan tersebut dialiri arus sehingga menjadi elektromagnet, kumparan tadi akan tertarik ke dalam atau keluar, tergantung dari arah arus dan polaritas magnetnya, karena kumparan dipasang pada diafragma maka setiap gerakan kumparan akan menggerakkan diafragma secara bolak-balik sehingga membuat udara bergetar yang akan menghasilkan suara.

Buzzer biasa digunakan sebagai indikator bahwa proses telah selesai atau terjadi suatu kesalahan pada sebuah alat (alarm).Dalam rancangan mikrokontroler akan membunyikan buzzer sesuai dengan kondisi jarak objek yang terdeteksi, makin pendek jarak kenderaan dengan objek makin cepat frekuensi bunyi buzzer. Berikut gambar rangkaian Buzzer ditunjukka pada gambar 3.6


(54)

ATMEGA 8535 Reset PA.3 PA.2 PC.5 PC.6 PC.3 PC.7 PC.0 PC.2 PC.4 37 38 VCC PB.0 GND 9 10 10 K 22 23 24 25 26 27 28 1 12 13 BZ BUZZER 10K BD 139 12V 11 4 MHz


(55)

3.2 Perancangan rangkaian Alat Ukur Pendeteksi Jarak VCC echo trig GND SR 04 Ultrasonic Ranging 5 V 1 2 3 4 ATMEGA 8535 Reset PA.3 PA.2 PC.5 PC.6 PC.3 PC.7 PC.0 PC.2 PC.4 37 38 VCC PB.0 GND 9 10 10 K +5 V 100UF/50V AN 7805 220UF/50V 12V GND 22 23 24 25 26 27 28 11 12 13 14 D4 D5 D6 D7

4 5 6

RS

RW CLK Gnd

LCD DISPLAY 1/3/16 2/15 +5V 1 12 13 BZ BUZZER 10K BD 139 12V 11 4 MHz


(56)

3.3 Rangkaian Catu Daya

Rancangan catu daya dibuat dengan trafo penurun tegangan yaitu tegangan 220V menjadi tegangan 12V.setelah tegangan diturunkan tegangan tersebut disearahkan oleh diode penyearah dan kemudian difilter oleh kapasitor. Trafo penurun tegangan (stepdown) yang digunakan adalah trafo tegangan 12V CT dan arus 1A, penyearah menggunakan dua diode yang sebagai penyearah gelombang penuh dari trafo CT. nilai kapasitor perata sebesar 220µF/25V untuk tegangan 5V dihasilkan dengan menggunakan sebuah regulator 7805 yaitu sebuah IC yang berfungsi meregulasi tegangan konstan 5V. Setelah diukur tegangan catu daya 12,49V sedangkan tegangan regulatornya 4,98V.Berikut rangakaian catu daya ditunjukkan pada gambar 3.8.

12V

220µF/50V

AN 7805 5V

220µF/50V 12V

220 V

Gambar 3.8 Rangkaian Catu Daya

3.4 Perancangan Software (Perangkat Lunak)

Perancangan software merupakan proses perancangan pembuatan program yang nantinya akan dijalankan oleh mikrokontroler. Program ini nantinya akan menjadi rutin yang akan selalu dijalankan ketika mikrokontroler dinyalakan.


(57)

Program ini akan disimpan pada EEPROM yang ada didalam mikrokontroler, sehingga hanya perlu sekali men-downloadkan program ke mikrokontroler karena walaupun sumber tegangan dimatikan program masih tersimpan pada EEPROM. Bahasa C++ dapat kita terapkan pada berbagai alat elektronika, contohnya dapat kita terapkan di robotik dan mikrokontroler.saya tidak akan membahas lebih detail tentang skematik mikrokontrolerdan Memori dengan kapasitas kecil yang dapat digunakan untuk mengendalikan alat lainya.

3.4.1 Langkah – Langkah Pembuatan Program

1. Perangkat lunak Code Vision AVR dibuka, tampilan awal dari Code Vision AVR seperti terlihat pada Gambar 3.9.

Gambar 3.9. Tampilan Awal Code Vision AVR


(58)

Gambar 3.10. Create New File Window

3.Memilih Project -> OK maka muncul pilihan untuk menggunakan Code Wizard atau tidak. Kemudian dipilih Yes

Gambar 3.11. Confirm Window

4. Memilih chip yang akan digunakan ATmega8535 dengan harga clock 16 Mhz.

Gambar 3.12. SPI Setting Window

5.Untuk menggenerate program dipilih File -> Generate, Save and Exit seperti tampilan pada Gambar 3.13.


(59)

6.Membuat direktori dengan nama full.

7. Menyimpan file CV AVR dengan nama full.cwp pada direktori full. 8. Menyimpan file C dengan nama full.c pada direktori full.

9. Menyimpan file project dengan nama full.prj pada direktori full.

10.Selanjutnya mengatur Setting ->Programmer untuk menentukan jenis program yang digunakan.

Gambar 3.14. Programmer Setting Window

11.Pada AVR Chip Programmer Type dipilih Atmel AVRProg (AVR910), pada Communication Port dipilih COM1 dan Baud Rate dipilih 19200 bps seperti tampilan pada Gambar 3.15.


(60)

• Project Setting

1. Terlihat pada tampilan Code Vision AVR kode yang telah digenerate. Konfigurasi project dengan memilih menu project -> configure.

2. Memilih tab after build, mengaktifkan program the chip. Terlihat tampilan seperti pada Gambar 3.16.

Gambar 3.16. Configure Project

Selanjutnya mengetikkan #include <mega8535.h> dan #include <delay.h> pada tampilan editor. Kemudian program diketik di dalam void main dan diwhilesebuah program Kompilasi dan Unduh ke Mikrokontroler ATmega 8535 1. Untuk mengompilasi diklik project -> Build, atau shift+F9 seperti terlihat

pada Gambar 3.17.


(61)

2.Jika tidak terjadi kesalahan maka akan tampak kotak dialog seperti pada Gambar 3.18.

Gambar 3.18. Dialog Kompilasi

3. Tombol program the chip diklik untuk unduh ke mikrokontroler ATmega 8535 sehingga akan tampak progress bar seperti pada Gambar 3.19.

Gambar 3.19. Progress Bar Unduh ke Mikrokontroler ATmega 8535

3.4.2 Perancangan Program Kendali Alat Ukur Pendeteksi Jarak

Berikut adalah rancangan program yang diprogram dengan bahasa C dengan CV AVR Versi 2.03.

#include <mega8535.h> #include <lcd.h>


(62)

#include <stdio.h> #asm

.equ __lcd_port= 0x15; PORTC #endasm

#define ADC_VREF_TYPE 0X00

Merupakan perintah pengikut sertaan ATmega 8535, LCD, delay, Stdio dan mendefenisikan ADC yang digunakan.

unsigned long Data ; unsigned int Constant, ;

char buf [16];

Merupakan perintah untuk mendeklarasikan variable yang digunakan dalam program.

PORTA=0X00; DDRA=0X00;

PORTB=0X00; DDRB=0X0F; PORTC=0X00; DDRC=0X00; PORTD=0X00; DDRD=0X04;

Merupakan perintah untuk mengisi nilai awal PORT dan menginisialisasikan PORT – PORT tersebut sebagai input atau output.


(63)

lcd_gotoxy(0,0);

lcd_putsf(" RANCANGAN" ); lcd_gotoxy(0,1);

lcd_putsf(" DETEKSI JARAK"); delay_ms(3000);

lcd_clear(); constant = 74;

Merupakan perintah untuk menampilkan pesan pada display LCD.

PORTD.2 = 1; delay_us(20);

PORRT.D = 0;

Merupakan perintah untuk mengirim pulsa trigger (pemicu) untuk menstart pembacaan sensor ultrasonic.

TCNT=0;

Perintah Meriset hitungan register timer.

while (PIND.3 == 0) {};

Perintah Mendeteksi signal dari sensor yaitu logika 1 sebagai pulsa start.

TCCR1B = 0X02;

while (( PIND.3 == 1) && !(TIFR & 0X80)); TCCR1B=0X00;

Data = TCNT1;

Merupakan perintah untuk memulai menjalankan counter hingga terdeteksi 0 kemudian menghentikan timer dan mengisi timer ke variable data.


(64)

if ( Data >= 1000 ) {Data/Constant)*10;} if ( Data < 3000){

Merupakan perintah untuk mengkalibrasi hitungan timer ke jarak.

lcd_gotoxy (0,0); lcd_putsf( "JARAK : CM"); lcd_gotoxy(8,0);

lcd_putchar (Data/1000 %10 + 0x30); lcd_putchar (Data/100 %10 + 0x30); lcd_putchar (Data/10 %10 + 0x30); lcd_putsf (".");

lcd_putchar (Data %10 +0x30);

Perintah Menampilkan jarak yang terukur ke display LCD.

if (Data < 5000) {t = 50;} if (Data < 3000) {t = 100;} if (Data < 2000) {t = 200;}

if (Data < 1000) {t = 300;} if (Data < 500) {t = 600;}

Merupakan perintah untuk menentukan frekuensi bunyi dari buzzer sesuai dengan jarak yang tertentu.

else { lcd_gotoxy (0,0);

lcd_putsf ("DILUAR JANGKAUAN") delay_ms(1000);


(65)

Merupakan perintah untuk menampilkan pesan diluar jangkauan jika hasil bacaan sensor di atas nilai 3000.

void Alarm (v0id) {

PORTB.0 = 1; delay_ms(t);

PORTB.0 = 0; delay_ms(600-t);

Merupakan perintah untuk membunyikan buzzer dengan frekuensi tertentu sesuai dengan jarak yang terdeteksi.

3.4.3 FlowChart Program Pendeteksi Jarak

Diagram dibawah, merupakan diagram alir / Flowchart system dimana diagram menjelaskan proses dari start hingga selesai satu siklus kerja program. Mulai dari start , program mnenialisasikan Display LCD dan mengisi nilai awal dari port. Kemudian program akan mulai membaca sensor dengan pemberian sinyal untuk jarak kesensor pada ping signal. Setelah itu program akan menunggu respon sensor berupa pulsa akibat pantulan gelombang ultrasonic sehingga dapat ditentuka selisih waktu pantulan tersebut dan dihitung jarak objek. Hasil hitungan akan ditampilkan pada display LCD selain itu program juga akan membunyikan Buzzer sesuai dengan jarak terukur. Berikut FlowChart Pendeteksi jarak.


(66)

Gambar 3.20 Flowchart Program Pendeteksi Jarak Start

Inisidasi LCD Isi Nilai Awal Port

Pemberian Sinyal Picu (Triggar) Pada Sensor

Baca Nilai Pulsa Pantulan Dari Sensor Ultrasonik

Pulsa Ada Atau Pantulan ?

Kalkulasi Jarak Objek

Tampilkan Pada LCD Jarak Yang Terukur

Aktifkan Buzzer Sesuai Jarak Yang Terukur

End Ya


(67)

3.4.4 Program Komunikasi ( Mengambil Data Dengan Sensor Ultrasonik)

PORTD.2 = 1; delay_us(20); PORT.D = 0;

TCNT=0;

while (PIND.3 == 0) {};

TCCR1B = 0X02;

while (( PIND.3 == 1) && !(TIFR & 0X80)); TCCR1B=0X00;

Data = TCNT1;

if ( Data < 1000) {Data*10)/Constant;} if ( Data >= 1000 ) {Data/Constant)*10;} if ( Data < 3000){

Setelah program diunduh ke IC Mikrokontroller dan diajlankan maka hasil yang diperoleh dari program menjalankan PIN dapat dilihat pada tampilan grafik pada osiloskop, dimana dalam grafik akan terlihat objek. Pulsa trigger dan pulsa akibat pantulan objek. Pulsa pantulan objek bervariasi tergantung pada jarak objek.Dari grafk yang ditampilkan dapat disimpulkan program bekerja dengan baik.

Sistem minimal mikrokontroller ATMega 8535 dan software basic stamp Editor diperlukan untuk memprogram mikrokontroller dan mencoba sensor ini. Keluaran dari pin SIG ini yang dihubungkan ke salah satu port di kit


(68)

mikrokontroller. Contoh aplikasi sensor PING pada mikrokontroler BS2, dimana pin SIG terhubung ke pa pin7, dan memberikan catu daya 5V dan ground.fungsiSigout untuk mentrigger ping, sedangkan fungsi Sigin digunakan untuk mengukur pulsa yang sesuai dengan jarak dari objek target.

3.4.5 Program ke Display LCD

lcd_gotoxy (0,0);lcd_putsf( "JARAK : CM"); lcd_gotoxy(8,0);

lcd_putchar (Data/1000 %10 + 0x30); lcd_putchar (Data/100 %10 + 0x30); lcd_putchar (Data/10 %10 + 0x30); lcd_putsf (".");

lcd_putchar (Data %10 +0x30);

if (Data < 5000) {t = 50;} if (Data < 3000) {t = 100;} if (Data < 2000) {t = 200;} if (Data < 1000) {t = 300;} if (Data < 500) {t = 600;} Alarm {};

} else {

lcd_gotoxy (0,0);


(69)

delay_ms(1000); lcd_clear{}; }

delay_ms{200};

Setelah melalui proses pengunduhan program tampilan pada LCD menunjkkan tampilan yang sama dengan program. Dengan data tertentu, dengan demikian pengujian ini dinyatakan berhasil.

3.4.6 Program ke Buzzer

void Alarm (v0id) {

PORTB.0 = 1; delay_ms(t); PORTB.0 = 0; delay_ms(600-t);

Setelah diunduh dan dijalankan, rangkaian kan membunyikan buzzer dengan frekwensi tertentu tergantung pada jarak. Dari pengujian ini dinyatakan berhasil.


(70)

3.4.7 Program Pengolahan Data ( Program Keseluruhan)

PORTD.2 = 1; delay_us(20); PORRT.D = 0;

TCNT=0;

while (PIND.3 == 0) {};

TCCR1B = 0X02;

while (( PIND.3 == 1) && !(TIFR & 0X80)); TCCR1B=0X00;

Data = TCNT1;

if ( Data < 1000) {Data*10)/Constant;} if ( Data >= 1000 ) {Data/Constant)*10;} if ( Data < 3000)

{

lcd_gotoxy (0,0);lcd_putsf( "JARAK : CM"); lcd_gotoxy(8,0);

lcd_putchar (Data/1000 %10 + 0x30); lcd_putchar (Data/100 %10 + 0x30); lcd_putchar (Data/10 %10 + 0x30); lcd_putsf (".");


(71)

if (Data < 5000) {t = 50;} if (Data < 3000) {t = 100;} if (Data < 2000) {t = 200;} if (Data < 1000) {t = 300;} if (Data < 500) {t = 600;}

Alarm {}; }

else {

lcd_gotoxy (0,0);

lcd_putsf ("DILUAR JANGKAUAN") delay_ms(1000);

lcd_clear{}; }

delay_ms{200}; void Alarm (v0id) {

PORTB.0 = 1; delay_ms(t); PORTB.0 = 0; delay_ms(600-t);


(72)

Setelah program khusus diunduh ke dalam IC Mikrokontroller dan dilakukan uji coba, hasil yang diperoleh adalah bahwa system membaca jarak dan menampilkan jarak terukur pada LCD sesuai denagn jarak yang terdeteksi.Selain itu system juga mengeluarkan bunyi dan frekwensi tergantung pada jarak makin deakt jarak objek maka makin cepat frekwensi bunyi.Pengujian dilakukan dengan mengukur jarak yang ditampilkan oleh simpul LCD. Dalam beberapa titik terdapat perbedaan ( Error), Hal ini disebabkan oleh kesalahan pembacaan.


(73)

BAB IV

PENGUJIAN DAN ANALISA

4.1 Pengujian Alat

Pada bab ini akan dibahas mengenai pengujian dan analisa alat ini dilakukan pengujian pada sistem dengan melakukan pengukuran terhadap jarak dan hasilnya akan dibandingkan melalui pengukuran dengan menggunakan alat ukur osiloskop.

Pada pengujian dan analisa alat ini akan melakukan tiga pengujian,

Pertama pengukuran pin IC mikrokontroller, Kedua pengukuran pin LCD, Ketiga

pengukuran waktu pantul sensor ultrasonic.Titik pengujian ditunjukkan pada gambar 4.1. ATMEGA 8535 Reset PA.3 PA.2 PC.5 PC.6 PC.3 PC.7 PC.0 PC.2 PC.4 37 38 VCC PB.0 GND 9 10 10 K 22 23 24 25 26 27 28 1 12 13 11 4 MHz


(74)

4.1.1 Pengukuran Pin IC Mikrokontroller AT mega 8535

Pada tabel dibawah merupakan hasil pengukuran pin IC Mikrokontroller AT mega 8535. Jumlah Pin IC Mikrokontroller ATmega 8535 adalah 40 pin, dengan mengukur Pin IC mikrokontroller dapat diketahui tegangan keluarannya.

Tabel 4.1 Hasil Pengukuran Pin IC Mikrokontroller ATmega 8535 Nomor Pin Tegangan Keluaran

1 0.8

2 0.0

3 0.0

4 0.0

5 1.37

6 1.35

7 1.36

8 1.37

9 4.96

10 4.97

11 0.0

12 0.79

13 0.88

14 1.37

15 1.36

16 1.37


(75)

18 0.01

19 1.38

20 1.39

21 1.21

22 4.96

23 4.96

24 0.01

25 1.26

26 4.96

27 4.96

28 4.96

29 4.96

30 4.97

31 0.0

32 4.97

33 1.37

34 1.36

35 1.38

36 1.37

37 1.40

38 1.40

39 1.42


(76)

4.1.2 Pengukuran Pin LCD

Pada tabel dibawah merupakan hasil pengukuran pin LCD. Jumlah Pin LCD adalah 16 pin, dengan mengukur Pin LCD dapat diketahui tegangan keluarannya dan pin yang tidak digunakan akan bernilai 0.

Tabel 4.2 Hasil Pengukuran Pin LCD

Nomor Pin Tegangan Keluaran

1 0.0

2 4.97

3 0.03

4 4.96

5 4.96

6 0.13

7 4.95

8 4.95

9 4.95

10 4.96

11 4.96

12 4.96

13 0.01

14 4.96

15 4.97


(77)

11 12 13 14

4 6 5 D4

D5 D6 D7

RS RW CLK

DISPLAY LCD

Gnd 1/3/16

2/15 +5V

Gambar 4.2 Rangkaian Skematik LCD

4.2 Pengukuran Waktu Pantul Sensor Ultrasonik

Pada pengujian ini, besarnya jarak yang terukur akan ditampilkan pada LCD. Kemudian hasil dari pengukuran ini dibandingkan dengan hasil pengukuran dengan menggunakan osiloskop. Tabel dibawah merupakan hasil ukur waktu pantul dari sensor Ping dengan ketentuan kecepatan suara = 340 m/det. Dengan demikian dapat dihitung jarak antara sensor dengan objek yaitu dengan rumus : S = V. t/2.

Dari hasil pengujian seperti Table 4.3.terlihat jarak hasil pengujian pada alat tidak sama dengan jarak hasil perhitungan menggunakan rumus. Perbedaan jarak hasil pengujian dengan jarak hasil perhitungan dapat disebabkan oleh adanya noise.Modul sensor PING bekerja berdasarkan prinsip pemantulan gelombang ultrasonik, terkadang pantulan gelombang ultrasonik menjadi tidak periodik dan menyebabkan hasil pengukuran tidak akurat.Selain itu, kesalahan pengukuran juga dapat terjadi karena pembulatan perhitungan pada saat pembuatan program.


(78)

Tabel 4.3 Hasil Pengukuran Waktu Pantul Sensor Ultrasonik

Jarak Waktu Pantul

10 cm 2,4 x 250 µs

30 cm 3,4 x 500 µs

60 cm 3,4 x 100 ms

90 cm 5,2 x 100 ms

120 cm 2,6 x 2,50 ms

150 cm 3,4 x 2,50 ms

180 cm 4 x 2,50 ms

4.2.1 Tampilan Grafik Pengukuran Waktu Pantul Sensor Ultrasonik  Tampilan grafik dengan jarak 10 cm, t = 2,4 x 250 µs

Gambar 4.3 Grafik Jarak 10 cm


(79)

Gambar 4.4 Grafik jarak 30 cm

 Tampilan grafik dengan Jarak 60 cm, t = 3,4 x 100 ms

Gambar 4.5 Grafik Jarak 60 cm

 Tampilan grafik dengan Jarak 90 cm, t = 5,2 x 100 ms

Gambar 4.6 Grafik Jarak 90 cm  Tampilan grafik dengan jarak 120 cm, t = 2,6 x 2,50 ms


(80)

Gambar 4.7 Grafik Jarak 120 cm

 Tampilan grafik dengan jarak 150 cm, t = 3,4 x 2,50 ms

Gambar 4.8 Grafik Jarak 150 cm

 Tampilan grafik dengan jarak 180 cm, t = 4 x 2,50 ms


(81)

4.2.2 Analisa Data

Dari data pengukuran diperoleh waktu pantul, dengan demikian dapat dicari :

Jarak Objek = Kecepatan Suara x ( Waktu /2 )

Tabel 4.4 Hasil Analisa Data Jarak yang

diukur menggunakan

mistar.

Jarak Hasil perhitungan

Kesalahan (%)

10 cm 10,2 cm 0,02 %

30 cm 2,89 cm 0,03 %

60 cm 57,8 cm 0,03 %

90 cm 88,4 cm 0,01 %

120 cm 110,5 cm 0,07 %

150 cm 144,5 cm 0,03 %

180 cm 1,7 cm 0,99 %

I .Ralat rata – rata Jarak yang di ukur menggunakan mistar. 1. ⎸10,2−10

10 ⎸x 100 %

= 0,02 %

2. ⎸28,9−30

30 ⎸x 100 %


(82)

3. ⎸57,8−60

60 ⎸x 100 %

= 0,03 %

4. ⎸88,4

90⎸x 100 %

= 0,01 %

5. ⎸110,5−120

120 ⎸x 100 %

= 0,07 %

6. ⎸144,5−150

150 ⎸x 100 %

= 0,03%

7. ⎸1,7−180

180 ⎸x 100 %

= 0,99 %

 Ralat Rata – Rata = ∑ �����

= 1,18

7

0,16

4.2.3 Analisa Pengujian Sensor Ping Parallax

Sensor Ping ini akan mendeteksi jarak suatu objek yang berada didepannya dengan cara memancarkan gelombang ultrasonik dan setelah gelombang itu dipantukan oleh objek tersebut maka gelombang ultrasonik ini akan diterima oleh unit sensor penerima. Ping hanya akan mengirimkan suara ultrasonik ketika ada pulsa trigger dari mikrokontroler. Selanjutnya pulsa ini akan dikirimkan sensor ping ke mikrokontroler melalui port sig dan akan diproses oleh mikrokontroler untuk ditampilkan melalui LCD. Ping ini tidak dapat mengukur


(83)

objek yang permukaannya dapat menyerap suara, seperti busa. Pengukuran jarak juga akan kacau jika permukaan objek bergerigi dengan sudut tajam. Tegangan keluaran dari sensor digunakan sebagai tegangan input pada komparator. Adapun tegangan yang digunakan sebagai referensi untuk 40 menentukan tegangan output berupa 0 dan 1 adalah tegangan 5 volt. Tegangan tersebut merupakan tegangan standart dari sensor ultrasonic tersebut.

4.3 Pengujian Program Bahasa C

 Pengujian program pembaca sensor ultrasonic

PORTD.2 = 1; delay_us(20); PORRT.D = 0;

TCNT=0;

while (PIND.3 == 0) {};

TCCR1B = 0X02;

while (( PIND.3 == 1) && !(TIFR & 0X80)); TCCR1B=0X00;

Data = TCNT1;

if ( Data < 1000) {Data*10)/Constant;} if ( Data >= 1000 ) {Data/Constant)*10;} if ( Data < 3000){


(84)

ATMEGA 8535 Reset PA.3 PA.2 PC.5 PC.6 PC.3 PC.7 PC.0 PC.2 PC.4 37 38 VCC PB.0 GND 9 10 10 K 22 23 24 25 26 27 28 1 12 13 BZ BUZZER 10K BD 139 12V 11 4 MHz

Setelah program diunduh ke IC Mikrokontroller dan diajlankan maka hasil yang diperoleh dari program menjalankan PIN dapat dilihat pada tampilan grafik pada osiloskop, dimana dalam grafik akan terlihat objek. Pulsa trigger dan pulsa akibat pantulan objek. Pulsa pantulan objek bervariasi tergantung pada jarak


(85)

objek.Dari grafk yang ditampilkan dapat disimpulkan program bekerja denagn baik.

 Pengujian program untuk menampilakn data jarak pada LCD.

lcd_gotoxy (0,0);lcd_putsf( "JARAK : CM"); lcd_gotoxy(8,0);

lcd_putchar (Data/1000 %10 + 0x30); lcd_putchar (Data/100 %10 + 0x30); lcd_putchar (Data/10 %10 + 0x30); lcd_putsf (".");

lcd_putchar (Data %10 +0x30);

if (Data < 5000) {t = 50;} if (Data < 3000) {t = 100;} if (Data < 2000) {t = 200;} if (Data < 1000) {t = 300;} if (Data < 500) {t = 600;}

Alarm {}; }

else {

lcd_gotoxy (0,0);

lcd_putsf ("DILUAR JANGKAUAN") delay_ms(1000);


(86)

lcd_clear{}; }

delay_ms{200};

11 12 13 14

4 6 5

D4 D5 D6 D7

RS RW CLK

DISPLAY LCD

Gnd 1/3/16

2/15 +5V

Setelah melalui proses pengunduhan program tampilan pada LCD menunjkkan tampilan yang sama deangn program. Dengan data tertentu, denagn demikian pengujian ini dinyatakan berhasil.

 Pengujian program untuk membunyikan Alarm.

void Alarm (v0id) {

PORTB.0 = 1; delay_ms(t); PORTB.0 = 0; delay_ms(600-t);


(1)

delay_ms(1000);

lcd_clear{};

}

delay_ms{200};

void Alarm (v0id)

{

PORTB.0 = 1;

delay_ms(t);

PORTB.0 = 0;


(2)

VCC echo trig GND SR 04 Ultrasonic Ranging 5 V 1 2 3 4 ATMEGA 8535 Reset PA.3 PA.2 PC.5 PC.6 PC.3 PC.7 PC.0 PC.2 PC.4 37 38 VCC PB.0 GND 9 10 10 K +5 V 100UF/50V AN 7805 220UF/50V 12V GND 22 23 24 25 26 27 28 11 12 13 14 D4 D5 D6 D7

4 5 6 RS

RW CLK Gnd LCD DISPLAY 1/3/16 2/15 +5V 1 12 13 BZ BUZZER 10K BD 139 12V 11 4 MHz

Setelah program khusus diunduh ke dalam IC Mikrokontroller dan dilakukan uji coba, hasil yang diperoleh adalah bahwa system membaca jarak dan menampilkan jarak terukur pada LCD sesuai denagn jarak yang terdeteksi.


(3)

Selain itu system juga mengeluarkan bunyi dan frekwensi tergantung pada jarak makin dekat jarak objek maka makin cepat frekwensi bunyi.Pengujian dilakukan dengan mengukur jarak yang ditampilkan oleh simpul LCD. Dalam beberapa titik terdapat perbedaan ( Error), Hal ini disebabkan oleh kesalahan pembacaan.


(4)

BAB 5

KESIMPULAN DAN SARAN

5.1.Kesimpulan

1. Telah dibuat alat ukur untuk mengukur jarak dengan menggunakan sensor ultrasonic.

2. Dari hasil uji coba diperoleh hasil pengukuran teori dan praktek mempunyai ralat rata – rata, untuk jarak yang di ukur dengan mistar sebsesar 91,4, untuk Jarak hasil alat sebesar 59,4 dan untuk kesalahan (error) sebesar 2,065.

3. Jarak yang dapat di ukur maksimum dari jarak 10 cm – 180 cm.

5.2 Saran

1. Rancangan hendaknya dapat digunakan mengukur jarak dengan batas yang panjang.

2. Rancangan perlu disempurnakan agar sensor dapat tahan air pada aplikasi sebenarnya.

3. Rancangan kiranya dapat di aplikasikan menggunakan sensor jarak pada kenderaan.


(5)

DAFTAR PUSTAKA

Heryanto, Ary dan Wisnu, Adi. 2008. Pemrograman Bahasa C untuk ` Mikrokontroler ATMEGA8535. Yogyakarta: Andi Offset

Kurniawan, Degi. 2009. Tugas Akhir: Aplikasi Mikrokontroler ATMega8535 Wardhana, Lingga. 2006. Belajar Sendiri Mikrokontroler AVR Seri ATMega8535 ` Simulasi, Hardware, dan Aplikasi. Yogyakarta: Andi Offset.

Bejo, Agus. 2008. C Dan AVR Rahasia Kemudahan Bahasa C Dalam Mikrokontroller ATmega 8535. Edisi Pertama. Cetakan Pertama. Yogyakarta: Graham ilmu.


(6)