RANCANG BANGUN ROBOT PENGIKUT GARIS DAN PENDETEKSI HALANG RINTANG BERBASIS MIKROKONTROLER ATMEGA8535.

(1)

RANCANG BANGUN ROBOT PENGIKUT

GARIS DAN PENDETEKSI HALANG RINTANG

BERBASIS MIKROKONTROLER AVR

SKRIPSI

Oleh

Wahyu Adi Nugroho

NPM. 0734210306

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JATIM

SURABAYA


(2)

KATA PENGANTAR

Dengan mengucapkan puji syukur kehadirat Tuhan YME atas rahmat serta hidayahnya yang diberikan sehingga dapat menyelesaikan Tugas Akhir ini dengan baik dan tepat waktu dimana hasilnya disusun dengan bentuk laporan yang berjudul Rancang Bangun Robot Pengikut Garis dan Pendeteksi Halang Rintang Berbasis Mikrokontroler..

Adapun laporan ini disusun yaitu untuk memenuhi syarat mengikuti seminar TA serta untuk memenuhi syarat kelulusan salah satu mata kuliah “Tugas Akhir” di Universitas Pembangunan Nasioanal “Veteran” Jawa Timur.

Penulis menyadari bahwa manusia yang serba kurang sempurna, maka di dalam upaya menyusun Tugas Akhir ini penulis telah banyak memperoleh bantuan dan bimbingan dari berbagai pihak, mengingat keterbatasan pengalaman yang dimiliki oleh penulis, sehingga penulis sangat mengharapkan segala kritik dan saran yang konstruktif dan membangun demi kebaikan maupun sistematika penulisan akan selalu penulis terima dengan senang hati guna kesempurnaan Tugas Akhir ini. Harapan penulis mudah – mudahan apa yang penulis lakukan ini dapat menjadi sumbangan pemikiran dan berguna bagi semuanya, terutama Universitas Pembangunan Nasional “Veteran” Jawa Timur.

Surabaya, 07 Juni 2010


(3)

UCAPAN TERIMA KASIH

Dalam pembuat laporan ini, penulis telah mendapatkan bantuan dan bimbingan dari berbagai pihak yang terkait, baik secara moril maupun materiil oleh karena itu pada kesempatan kali ini penulis ingin menyampaikan ucapan terima kasih kepada:

1. Bapak Ir. Sutiyono, MT selaku Dekan Fakultas Teknologi Industri. 2. Bapak Basuki Rahmat, S.Si, MT, selaku Kepala Jurusan Teknik

Informatika Universitas Pembangunan Nasional ”Veteran” Jawa Timur dan sekaligus sebagai Dosen Pembimbing I yang telah memberikan bimbingan dan petunjuk selama menyusun Tugas Akhir ini.

3. Ibu Fetty Tri Anggraeny, S.Kom, yang juga sebagai Dosen Pembimbing II yang telah meluangkan waktu dan memberikan bimbingan serta petunjuk selama menyusun Tugas Akhir ini.

4. Para Dosen Penguji : Prof.Dr.Ir.H.Akhmad Fauzi, MMT, I Gede Susrma, ST, MT, Bapak Budi Nugroho, S.Kom yang telah membuka wawasan baru bagi penulis.

5. Kedua Orang Tua tercinta serta keluarga yang telah memberikan doa dan semangat kepada penulis.


(4)

DAFTAR ISI

ABSTRAKSI... i

KATA PENGANTAR... ii

UCAPAN TERIMA KASIH... iii

DAFTAR ISI ... iv

DAFTAR GAMBAR ... vii

DAFTAR TABEL ... ix

BAB I PENDAHULUAN 1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 2

1.3 Batasan Masalah ... 2

1.4 Tujuan ... 3

1.5 Manfaat... 3

1.6 Metodologi Penelitian ... 3

1.7 Sistematika Penulisan ... 4

BAB II TINJAUAN PUSTAKA 2.1 Robot... 6

2.1.1 Sejarah dan Pengertian Robot... 6

2.1.2 Teori Kinematika Robot... 8

2.1.2.1 Konsep Kinematika... 8

2.1.2.2 Kinematika Robot Mobil... 9

2.2 Mikrokontroller AVR... 12

2.2.1 Arsitektur AVR....……….. 12

2.2.2 Memori Program………..……….. 13

2.2.3 Memori Data dan Register...……….. 14

2.2.4 EEPROM... ………... 14

2.2.5 Eksekusi Program... ………. 14

2.2.6 Kecepatan...……….. 15

2.3 Mikrokontroler ATMega8535... 15

2.3.1 Pendahuluan...………...……….. 15

2.3.2 Konfigurasi Pin ATMega8535....………... 15

2.3.3 Arsitektur ATMega8535...……... 16

2.3.4 Fitur – Fitur ATMega8535………. 18

2.3.5 Peta Memori ATMega8535……… 19

2.3.6 Status Register (SREG)……….. 21

2.3.7 Spesial Funcion I/O Register (SFIOR)……….. 23

2.3.8 Register Serba Guna……….. 24

2.3.9 Interupsi………. 24

2.4 Rangkaian Mekanika…………... 25

2.5 Rangkaian Elektronika……… 26

2.5.1 PCB (Printed Circuit Board)……….. 26


(5)

2.5.3 Dioda……….. 31

2.5.4 Sensor Proximity……… 31

2.5.4.1 LED Superbright ……….. 32

2.5.4.2 Photodioda ………. 32

2.5.5 Sensor GP2D12……….. 33

2.5.5.1 Konfigursi Pin……… 35

2.5.5.2 Prinsip Kerja Sensor ……….. 35

2.5.5.3 Karakteristik Tegangan Output Terhadap Jarak Sensor ……… 36

2.5.5.4 ADC dari tegangan output sensor ………. 38

2.5.6 Optocoupler……… 39

2.5.7 Transistor……… 39

2.5.8 Kondensator……… 40

2.5.9 Regulator ……… ………. 41

2.5.10 LCD (Liquid Crystal Display)……….. 42

2.5.11 DC Motor……….. 43

2.6 Perangkat Lunak……….. 44

BAB III PERANCANGAN 3.1 Perancangan Robot Mobil...……….. 50

3.2 Algoritma Pergerakan Robot Mobil... 51

3.3 Perancangan Elektronik... 52

3.4 Proses Perancangan Rangkaian... 53

3.4.1 Perancangan Jalur PCB... 54

3.4.2 Perancangan Rangkaian Sensor Garis dan Komparator... 56

3.4.3 Perancangan Sensor Jarak... 63

3.4.4 Perancangan Rangkaian Sensor Driver... 63

3.5 Perancangan Mekanik Mobil... 65

3.6 Proses Perancangan Rute Simulasi...………... 66

3.7 Proses Perancangan Perangkat Lunak...……… 68

BAB IV IMPLEMENTASI PERANGKAT LUNAK 4.1 Kebutuhan Perangkat Sistem... 71

4.2 Implementasi Program... 71

4.3 Prosedur Pemasangan Program pada ATMega8535... 77

BAB V HASIL DAN PEMBAHASAN 5.1 Tujuan Pengujian alat... 79

5.2 Pengukuran Rangkaian Catu Daya... 79

5.2.1 Peralatan... 80

5.2.2 Langkah Pengukuran dan Pengujian... 80

5.2.3 Hasil Pengukuran... 80

5.2.4 Analisa Hasil Pengukuran dan Pengujian... 81

5.3. Pengukuran Rangkaian Sensor... 81

5.3.1 Pengukuran Besar Tegangan Analog Terhadap Panjang Jarak Robot Mobil ke Bidang Pantul... 81


(6)

5.3.1.2 Langkah Pengukuran dan Pengujian... 82

5.3.1.3 Data Hasil Pengukuran... 82

5.3.1.4 Analisa Hasil Pengukuran dan Pengujian... 83

5.3.2 Pengujian Pengaruh Warna Terhadap Pantulan Sinar InfraMerah... 83

5.3.2.1 Peralatan... 84

5.3.2.2 Langkah Pengukuran dan Pengujian... 84

5.3.2.3 Data Hasil Pengukuran... 85

5.3.2.4 Analisa Hasil Pengukuran dan Pengujian... 85

5.3.3 Pengujian Pengaruh Kemiringan Bidang Pantul Terhadap Pantulan Inframerah... 86

5.3.3.1 Peralatan... 86

5.3.3.2 Langkah Pengukuran dan Pengujian... 86

5.3.3.3 Data Hasil Pengukuran... 87

5.3.3.4 Analisa Hasil Pengukuran dan Pengujian... 87

5.4 Pengujian Motor DC... 88

5.5 Studi Kasus... 88

5.6 Kesimpulan Percobaan... 90

BAB VI KESIMPULAN DAN SARAN 6.1Kesimpulan ... 92

6.2Saran ... 92

DAFTAR PUSTAKA ... 94


(7)

DAFTAR GAMBAR

2.1 Blok Diagram Robot Secara Umum...……... 7

2.2 Diagram Sistem Kontrol Robotik... 8

2.3 DDMR pada medan 2D Cartesian...………... 9

2.4 Contoh Manuver DDMR... 11

2.5 Konfigurasi Pin ATMega8535.………... 16

2.6 Blok Diagram Fungsional ATMega8535... ... 17

2.7 Organisasi Memori ATMega8535... ... 19

2.8 Register I/O sebagai I/O...………... 21

2.9 Register Serbaguna……….……….. 24

2.10 Rangkaian Mekanika Robot ………... 26

2.11 Resistor………... 27

2.12 Trimpot... 29

2.13 Potensio.... ………... 30

2.14 Positive Temperature Coefisien.... ………... 30

2.15 Negative Temperature Coefisien... ………... 30

2.16 Sensor Proximity... ………... 31

2.17 LED Superbright...………... 32

2.18 Photodioda...………..………... 33

2.19 Bentuk fisik dari sensor jarak GP2D12... ………... 34

2.20 Pin Out GP2D12 ………...………... 35

2.21 Sensor Jarak GP2D12...………. ... 36

2.22 Blok Diagram Sharp GP2D12...………... 36

2.23 Grafik Karakteristik Tegangan Output Sensor terhadap Jarak... 37

2.24 Optocoupler... 39

2.25 Transistor... 40

2.26 Kapasitor....………... 41

2.27 Regulator...………... 42

2.28 Liquid Crystal Display...………... 43

2.29 Dasar Pengaturan Arah Putar Robot………... 44


(8)

3.2 Disain Rangkaian Sensor Proximity, Motor Driver

dan Komparator LM339... 54

3.3 Mengeceng PCB... 55

3.4 Rangkaian yang sudah terbentuk... 55

3.5 Schematic Sensor Garis dan Comparator... 57

3.6 Flowchart Sensor Proximity...………... 58

3.7 Posisi mobil terhadap garis lintasan...………... 58

3.8 Schematic Sensor Jarak...………... 63

3.9 Schematic Driver Motor... ... 64

3.10 Rancangan Mobil Robot tampak Bawah... 65

3.11 Rancangan Robot Mobil tampak Atas... 66

3.12 Rute Simulasi...67

3.13 Diagram Alir Perangkat Lunak...68

4.1 Folder Tempat Program CodeVision AVR...72

4.2 TahapAwal Pembuatan Robot...72

4.3 Pemilihan Chip dan Clock yang akan digunakan...72

4.4 Konfigurasi Port yang akan digunakan...73

4.5 Konfigurasi timer dan ADC...74

4.6 Hasil Kompilasi Program...77

4.7 Halaman untuk Penanaman Program pada Chip...78

4.8 Blok Diagram Pemasangan Program Pada Chip... 78

5.1 Mobil ditempatkan di atas garis Lurus...88


(9)

DAFTAR TABEL

2.1 Alamat Vektor Interupsi ATMega8535…... 25

2.2 Tabel Kode Warna Resistor... 28

3.1 Pergerakan Mobil...………... 60

3.2 Hasil Perbandingan Vp dan Vres... 62

3.3 Tabel Kebenaran Driver Motor Kiri... 65

5.1 Hasil Pengukuran dan Pengujian Rangkaian Catu Daya... 81

5.2 Hasil Pengukuran Tegangan ADC Sensor GP2D12 Terhadap Jarak... 83

5.3 Hasil Pengujian Sensor GP2D12 Terhadap Warna Benda... 85

5.4 Hasil Pengujian Sensor GP2D12 terhadap Kemiringan Benda... 87


(10)

RANCANG BANGUN ROBOT PENGIKUT GARIS DAN PENDETEKSI HALANG RINTANG BERBASIS MIKROKONTROLER ATMEGA8535 Disusun Oleh :

Wahyu Adi Nugroho

Dosen Pembimbing I : Basuki Rahmat, S.Si, MT Dosen Pembimbing II : Fetty Tri Anggraeny, S.Kom

Abstraksi

Robot pengik ut gar is y ang beber basis m ikr okont r oler ATMega8535 m erupakan suat u bent uk robot berger ak yang sudah t erprogram dari ot ak nya dan t elah dit ent ukan unt uk robot m em baca t r ack gar is hit am . Robot Pengikut Garis ini selain bisa m engikut i garis hit am , j uga m em punyai kelebihan unt uk m endet eksi r int angan y ang ada di depannya.

Robot pengikut garis pendet eksi rint angan ini m enggunakan dua sensor sebagai alat unt uk pendet eksian yang saling berhubungan. Dua sensor t er sebut adalah sensor pr oxim it y y ang ber fungsi unt uk m endet eksi gar is hit am dengan m enggunakan lam pu LED sebagai pem ancar cahaya dan phot odiode sebagai penangk ap cahaya. Sensor yang kedua adalah sensor j arak GP2D12 yang berfungsi unt uk m endet eksi rint angan yang ada di depannya dengan cara m engeluarkan cahaya infram erah dar i r angkaian t ransm it er nya dan m enangkapnya dengan m enggunakan r angkaian receiver nya. Cahaya infram er ah yang sudah dit angkap dik ir im ke m ikr okont roler unt uk di ubah dar i t egangan analog m enj adi t egangan digit al m elalui por t ADC. Hasil konver si dar i k edua sensor t ersebut dikirim kan ke rangk aian k om parat or unt uk kem udian bisa m enggerakkan roda robot .

Pem buat an Robot ini dihar apkan dapat m enj adi pedom an unt uk pengem bangan selanj ut nya. Sehingga r obot t idak hanya bisa m endet eksi r int angan dengan j ar ak t er t ent u t et api j uga bisa m endet eksi halangan dengan j arak yang t idak t erbat as dan m enggunakan banyak sensor.


(11)

BAB I

PENDAHULUAN

Pada bab ini akan lebih banyak membahas tentang mengapa penulis membuat sebuah mobil robot yang bisa mendeteksi garis dan menghindari halang rintang dengan menggunakan sensor jarak GP2D12. Di dalam bab ini juga akan dibahas manfaat dan tujuan dibuatnya mobil robot yang menggunakan mikrokontroller ATMega 8535.

1.1. Latar Belakang

Seiring dengan perkembangan teknologi mikrokontroler yang sangat pesat yang pada akhirnya mengantarkan kita pada suatu era teknologi robotika, telah membuat kualitas kehidupan manusia semakin tinggi. Berbagai robot canggih, sistem keamanan rumah, telekomunikasi, dan sistem komputer banyak menggunakan mikrokontroler sebagai unit pengontrol utama. Tentunya hal ini dimaksudkan untuk lebih mempermudah manusia untuk melakukan pekerjaan atau aktivitasnya sehari-hari.

Saat ini perkembangan teknologi robotika telah mampu meningkatkan kualitas maupun kuantitas produksi berbagai pabrik. Teknologi robotika juga telah menjangkau sisi hiburan dan pendidikan bagi manusia. Salah satu jenis robot yang paling banyak diminati adalah jenis mobil robot.

Mobil robot roda yang dibuat menggunakan mikrokontroler ATMega8535. Selain dapat berjalan mengikuti garis hitam juga diciptakan untuk bisa mendeteksi halangan di depannya. Menggunakan lampu led sebagai pemancar sinar dan


(12)

photodioda sebagai penerima sinar yang mana sensor inilah yang selalu bekerja mendeteksi garis hitam dan Sensor Inframerah sebagai pendeteksi halangan, sehingga jika terdapat suatu halangan di depan robot. Mobil Robot akan mencari jalan lain.

1.2. Rumusan Masalah

Masalah mobil robot dapat dirumuskan sebagai berikut :

a. Bagaimana membuat atau merangkai robot dengan mikrokontroler ATMega8535

b. Bagaimana pengaruh jarak terhadap kuatnya sensor dalam mendeteksi rintangan yang ada di depannya

1.3. Batasan Masalah

Agar nantinya di dalam pembahasan Laporan Akhir ini tidak keluar dari pokok permasalahan, maka ruang lingkup permasalahannya akan dibatasi pada :

a. Mobil yang dibuat hanya akan berjalan di area yang telah dibuat oleh penulis. b. Mobil yang dibuat hanya untuk mengenali jalur dan menghindari halangan

yang ada didepannya.

c. Mobil akan berbelok kanan jika di depannya terdapat perempatan dan akan lurus jika di depannya terdapat pertigaan

d. Bahasa pemrograman yang akan digunakan adalah bahasa C.

1.4. Tujuan


(13)

a. Merancang robot yang bisa bergerak menelusuri jalur hitam sesuai lintasannya dan mampu untuk menghindari halangan yang berada di depannya.

b. Mempelajari dan mengendalikan Mikrokontroller ATMega8535. c. Mengimplementasikan robot dalam bentuk nyata.

1.5. Manfaat

Adapun manfaat yang dapat diambil dari pembuatan mobil robot pengikut garis dan pendeteksi halangan dengan menggunakan ATMega8535 :

a. Mengetahui cara merangkai dan membuat robot yang dapat berjalan mengikuti garis hitam dan menghindari halangan di depannya.

b. Mengetahui cara kerja mikrokontroller ATMega8535 pada pembuatan mobil robot pengikut garis dan pendeteksi halangan

1.6. Metodologi Penelitian

Metodologi yang akan digunakan dalam perancangan mobil robot ini terdiri dari langkah – langkah sebagai berikut :

a. Perancangan rangkaian sensor proximity dan ultrasonik yang di implementasikan pada PCB matrik.

b. Pembuatan Perangkat keras elektronika dan mekanik robot pengikut garis. c. Perancangan perangkat lunak menggunakan bahasa C.

d. Menguji dan mengambil data dari hasil perancangan. Pengujian unjuk kerja robot dilakukan di arena yang telah ditentukan oleh penulis.


(14)

1.7. Sistematika Penulisan

Adapun Sistematika Tugas Akhir ini adalah: BAB I : PENDAHULUAN

Bab ini menjelaskan tentang latar belakang, rumusan masalah, batasan masalah, tujuan, manfaat, metodologi penelitian dan sistematika penulisan.

BAB II : TINJAUAN PUSTAKA

Pada bab ini dijelaskan tentang teori-teori serta penjelasan-penjelasan yang dibutuhkan dalam

pembuatan mobil robot pengikut garis dan pendeteksi rintangan dengan menggunakan ATMega8535 BAB III : PERANCANGAN

Bab ini berisi tentang analisa dan perancangan sistem dalam pembuatan Tugas Akhir mobil robot pengikut garis dan pendeteksi rintangan dengan menggunakan ATMega8535.

BAB IV : HASIL DAN PEMBAHASAN

Bab ini berisi penjelasan hasil Tugas Akhir serta pembahasannya tentang mobil robot pengikut garis dan pendeteksi rintangan dengan menggunakan ATMega8535.


(15)

Bab ini berisi pengujian program Tugas Akhir. BAB VI : KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan saran-saran penulis. DAFTAR PUSTAKA


(16)

BAB II

TINJAUAN PUSTAKA

Pada bab ini akan menjelaskan tentang definisi – definisi yang berkaitan dengan robotika, mikrokontroller dan komponen – komponen yang menyusun sebuah robot. Di dalam bab ini juga dijelaskan tentang beberapa teori yang mendasari penyusunan sebuah robot dan teori mengenai pergerakan robot itu sendiri. Software yang menjadi sumber pergerakan robot dan pembacaan sensor juga akan dibahas di bab ini

Robot

Robot memiliki komponen yang sangat kompleks, oleh karena itu robot bisa melakukan banyak hal sesuai yang kita inginkan dan disini akan dibahas mengenai sejarah, teori dan konsep dalam membuat sebuah robot. Agar lebih mudah memahami bagaimana robot bekerja.

2.1.1 Sejarah dan Pengertian Robot

Istilah ’robot’ dan ’Robotics’ adalah istilah yang baru pada abad ke-20 ini, tetapi idenya didasarkan pada sejarah yang sama. Kata robot pertama kali digunakan oleh suatu grup drama ’Czechoslovakia Dramatist, Karel Capek pada tahun 1921 sewaktu bermain Rossum’s Universal Robots’.[1]

Istilah robot sekarang secara populer diartikan sebagai ’apa saja yang dapat membentuk mesin – mesin robot yang diletakkan bersamaan itu bekerja secara mandiri’. Pada umumnya bagian – bagian yang menunjang pembentukan suatu robot adalah :


(17)

a. Central Computer atau Control Circuitry, bagian ini sebagai otak yang mengolah dan mengatur segala sesuatu yang menyebabkan robot itu dapat kelihatan ’hidup’. Dia mengolah apa yang diberikan oleh bagian input dan mengontrol apa yang akan dilakukan pada bagian outputnya.

b. Obstacle Detectors, Vision System : ini sebenarnya bagian dari input yang memberikan masukan – masukan variabel guna diolah untuk menentukan apa yang dilakukan oleh bagian outputnya.

c. Driver Motor, Arm, Gripper : tidak seluruhnya harus terpasang lengkap, namun driver motor adalah yang paling dominan banyak dijumpai pada robot, dan ini adalah bagian dari output sistemnya. Pada umumnya bagian ini ditunjang oleh seperangkat alat – alat mekanis.

d. Central Power System : bagian ini amat vital karena merupakan ’nyawa’ bagi robot. Ketiga bagian di atas selalu membutuhkan daya untuk dapat bekerja, maka bagian ini sangat penting.

Berikut gambar Blok Diagram Robot secara umum yang menggambarkan deskripsi diatas :


(18)

2.1.2 Teori Kinematika Robot

Terdapat dua metode analisa untuk menganalisis pergerakan robot, yaitu analisa kinematika dan analisa dinamik. Pada bab ini penulis hanya akan membahas mengenai analisa kinematika. Analisa kinematika adalah analisa yang berkaitan dengan pergerakan robot tanpa memandang efek kinersia/kelembaman yang terjadi ketika robot bergerak.

2.1.2.1 Konsep Kinematika

Konsep kinematika didasarkan pada diagram system control robotik yang dijelaskan pada Gambar 2.2.

Gambar 2.2 Diagram Sistem Kontrol Robotik

Pada Gambar 2.2 di atas, output (Ө) yang diukur dari gerakan robot adalah dalam domain sudut dari sendi – sendi, baik sendi pada system tangan/kaki ataupun sudut dari perputaran roda jika robot adalah robot mobile. Sedang yang diperlukan oleh user adalah posis (titik tertentu pada bagian robot) yang dinyatakan sebagai koordinat 2D ataupun 3D (ruang kartesian). Dengan demikian diperlukan transformasi koordinat antara ruang kerja cartesian dengan ruang sendi/sudut. Kombinasi antara tranformasi koordinat P ke Ө dengan controller


(19)

G(s) disebut sebagai controller kinematik. Inputnya berupa sinyal P,eр dan outputnya berupa sinyal kemudi U. Dalam konteks praktis, sinyal U ini adalah sinyal – sinyal analog dari DAC untuk seluruh akuator (variabel sendi) robot.

Jadi, kinematik dalam robot adalah suatu bentuk pernyataan yang berisi tentan deskripsi matematik geometri dari suatu struktur robot. Dari persamaan kinematik dapt diperoleh hubungan antara konsep geometri ruang sendir pada robot dengan konsep koordinat yang biasa dipakai untuk menentukan kedudukan dari suatu objek. Dengan model kinematik, progammer dapat menentukan konfigurasi referensi input yang harus diumpamakan ke tiap actuator agar robot dapat melakukan gerakan simultan (seluruh sendi) untuk mencapai posisi yang dikehendaki.[2]

2.1.2.2Kinematik Robot Mobil

Untuk dapat dianalisis menggunakan analisa kinematik maka sebuah robot mobile harus memiliki dua roda kiri – kanan yang dikemudikan terpisah (differntially driven mobil robot, disingkat DDMR) seperti ditunjukkan dalam Gambar 2.3 DDMR pada medan 2D Cartesian.


(20)

Robot diasumsikan berada dalam kawasan 2D pada koordinat Cartesian XY. Parameter – parameter dalam gambar adalah :

Ф : sudut arah hadap robot

2b : lebar robot yang diukur dari garis tengah roda ke roda r : jari – jari roda (roda kiri dan kanan sama sebangun) d : jarak antara titik tengah antaran dua roda, G dengan titik F (x,y) : koordinat acuan di tubuh robot terhadap sumbu XY

Dalam kajian kinematik ini robot diasumsikan bergerak realtive pelan dan roda tidak slip terhadap permukaan jalan. Maka komponen x dan y dapat diekspresikan dalam suatu persamaan nonholonomic sebagai berikut :

XG sin Ф - YG cos Ф = 0 (2.1)

Untuk F sebagai acuan analisa, persamaan di atas dapat ditulis XF sin Ф – YF cos Ф + Фd = 0 (2.2)

Masalah klasik dalam control kinematik DDMR adalah bahwa DDMR memiliki dua actuator, namun parameter kontrolnya lebih dari dua, yaitu x untuk gerakan ke arah X dan y untuk arah Y yang diukur relative terhadap perpindahan titik G, dan gerakan sudut hadap Ф yang diukur dari garis hubung titik G dan F terhadap sumbu X.

Dari rumus 2.2 nampak bahwa derajat kebebasan dalam control kinematika DDMR berjumlah tiga, yaitu (x, y, Ф) karena ketiga parameter ini perlu dikontrol secara simultan untuk mendapatkan gerakan nonholomonic. Untuk lebih jelasnya dapat dilihat pada Gambar 2.4


(21)

Gambar 2.4 Contoh Manuver DDMR

Gambar 2.4 Contoh Manuver DDMR

Perpindahan kedudukan robot dari start ke stop bila dipandang pada titik G adalah perpindahan dari koordinat (XG1, YG1) ke (XG2, YG2) secara translasi.

Namun hal ini tidak dapat dilakukan secara langsung sebab robot harus bergerak maju sehingga ia harus dapat membuat manuver belik untuk mengarahkannya pada koordinat (XG2, YG2). Oleh karena itu diperlukan titik acuan F yang berada

di luar garis yang menghubungkan kedua roda agar sudut hadap dapat dihitung. Bentuk umum persamaan kinematik untuk DDMR ini dapat dinyatakan dalam persamaan kecepatan sebagai berikut :

(2.3)

TNH adalah matriks transformasi nonholomonic, ӨL, ӨR adalah kecepatan radial roda kiri dan kanan, dan q adalah system koordinat umum robot.


(22)

Mikrokontroller AVR

Mikrokontroller AVR (Alf and Vegard’s Risc processor) standar memiliki 8 bit, dimana semua instruksi dikemas dalam kode 16-bit, dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock. AVR berteknologi RISC (Reduced Instruction Set Computing) dimana set instruksinya dikurangi dari segi ukurannya dan kompleksitas mode pengalamatannya, sedangkan seri MCS-51 berteknologi CISC (Complex Instruction Set Computing). Konsep arsitektur AVR sendiri awalnya dibuat oleh 2 orang mahasiswa di Norwegian Institute of Technology yaitu Alf-Egil Bogen dan Vegard Wollan yang selanjutnya dikembangkan oleh perusahaan Atmel di Norwegia dan AVR dapat dikelompokkan menjadi empat kelas, yaitu ATtiny, keluarga ATSOSxx, keluarga ATMega, dan AT86RFxx.[3] Pada dasarnya yang membedakan masing – masing

kelas adalah memori, peripheral dan fungsinya.

Arsitektur AVR

AVR merupakan mikrokontroller dengan arsitektur Harvard dimana antara kode program dan data disimpan dalam memori secara terpisah. Umumnya arsitektur Harvard ini menyimpan kode program dalam memori permanen atau semi-permanen (non-volatile) sedangkan data disimpan dalam memori tidak permanen (volatile). Sehingga dengan arsitektur seperti ini memori program mikrokontroller menjadi lebih terlindungi dari spike tegangan dan faktor lingkungan lain yang dapat merusak kode program. Beberapa jenis AVR memiliki memori Flash, EEPROM dan SRAM yang semuanya terintegrasi dalam satu IC,


(23)

sehingga untuk aplikasi – aplikasi tertentu tidak akan memerlukan memori eksternal. Secara umum AVR dibagi menjadi 3 kelompok besar yaitu :

a. Keluarga AVR Tiny

 1 – 8 Kbyte memori program  8 – 20 kemasan jumlah pin  peripheral yang terbatas b. Keluarga AVR Mega

 256 Kbyte memori program  28 – 100 kemasan pin  set instruksi lebih banyak  peripheral lebih banyak

c. Keluarga AVR untuk aplikasi yang spesifik

Merupakan keluarga AVR mega dengan fitur spesial yang tidak dapat ditemukan pada keluarga AVR di atas seperti, kontroler LCD, kontroler USB, advance PWM, dan lain – lain.

2.2.2 Memori Program

Kode Program/instruksi disimpan dalam Flash memory, yaitu memori jenis non-volatile yang tidak akan hilang datanya meskipun catu daya dimatikan. Hampir semua instruksi berukuran 16 – bit yang terdiri dari upcode dan data atau operand yang nantinya akan diolah oleh instruksi tersebut. Memori flash ini akan dialamati 16-bit per siklus instruksi.


(24)

2.2.3 Memori data dan Register

Ruang alamat memori data terdiri dari register utama, register I/O dan SRAM. Keluarga AVR memiliki 32 byte register utama dan diklasifikasikan tiap 8-bit. 32 register ini dipetakkan dalam alamat memori paling awal yaitu pada alamat 0000h – 001Fh. Selanjutnya 64 byte berikutnya digunakan untuk register I/O (0020h – 005Fh). Dan kemudian SRAM dimulai dari alamat 0060h sampai kapasitas memori habis. Meskipun terdapat pemisahan antara register utama dan register I/O tetapi semuanya tetap dapat diakses dan dimanipulasi seperti halnya mengakses SRAM.

2.2.4 EEPROM

Beberapa mikrokontroler AVR juga telah memiliki EEPROM (Electrically Erasable Programmable Read Only Memory) internal sebagai tempat menyimpan data semi-permanen. EEPROM internal ini tidak dipetakkan bersama dengan Register utama, register I/O dan SRAM. EEPROM hanya dapat diakses melalui register spesial dan operasi read/write sehingga waktu aksesnya lebih lambat daripada mengakses register ataupun RAM. EEPROM tetap dapat menyimpan data meskipun catu daya dimatikan.

2.2.5 Eksekusi Program

Keluarga AVR hanya memiliki satu alur waktu eksekusi. Instruksi mesin berikutnya diambil bersamaan dengan instruksi yang sekarang sedang dikerjakan. Hampir semua instruksi dilakukan hanya dalam satu atau dua siklus detak (clock).


(25)

Hal ini membuat AVR lebih cepat dan efisien dalam mengeksekusi sebuah program.

2.2.6 Kecepatan

Mikrokontroler keluarga AVR memiliki kecepatan clock dari 0 – 16 MHZ, ada yang mempunyai kecepatan hingga clock 20 MHZ. Semua keluarga AVR memiliki fitur on-chip oscillator, sehingga tidak memerlukan clock eksternal dan hampir semua instruksi AVR merupakan siklus instruksi sehingga AVR dapat mencapai kecepatan hampir 1 MIPS per MHz.

2.3 Mikrokontroler ATMega8535

Di dalam mikrokontorler terdapat berbagai macam bagian – bagian yang mana setiap bagian mempunyai fungsi sendiri – sendiri. Disini akan dijelaskan tentang bagian – bagian yang ada di dalam mikrokontorler dan fungsi - fungsinya

2.3.1 Pendahuluan

ATMega8535 merupakan salah satu mikrokontroler 8 bit buatan Atmel untuk keluarga AVR yang diproduksi secara masal pada tahun 2006. Karena merupakan keluarga AVR, maka ATMega8535 juga menggunakan arsitektur RISC.[3]

2.3.2 Konfigurasi Pin ATMega8535

Secara fungsional konfigurasi ATMega8535 sebagai berikut :

a. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya. b. GND merupakan pin ground.


(26)

c. Port A (PA0...PA7) merupakan pin I/O dua arah dan pin masukan catu ADC.

d. Port B (PB0...PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu timer/counter, komparator analog, SPI.

e. Port C (PC0...PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog, dan timer oscillator.

f. Port D (PD0...PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator analog, interupsi eksternal, dan komunikasi serial.

g. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.

h. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal. i. AVCC merupakan pin masukan tegangan untuk ADC.

j. AREF merupakan pin masukan tegangan referensi ADC.

Gambar 2.5 Konfigurasi Pin ATMega8535

2.3.3 Arsitektur ATMega8535

ATMega8535 memiliki struktur bagian sebagai berikut :

a. saluarn I/O sebanyak 32 buah yaitu Port A, Port B, Port C, Port D b. ADC 10 bit sebanyak 8 saluran


(27)

c. Tiga buah timer/counter dengan kemampuan perbandingan d. CPU yang terdiri atas 32 buah register

e. Watchdog timer dengan osilator internal f. SRAM sebanyak 512 byte

g. Memori flash sebesar 8 kb dengan kemampuan Read While Write h. Unit interupsi internal dan eksternal

i. Port antarmuka SPI

j. EEPROM sebesar 512 byte yang dapat diprogram saat operasi k. Antarmuka komparator analog

l. Port USART untuk komunikasi serial


(28)

2.3.4 Fitur – Fitur ATMega8535

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

b. kapabilitas memori flash 8 kb, SRAM sebesar 512 byte, dan EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 512 byte.

c. ADC (Analog to Digital Converter) internal dengan fidelitas 8 bit sebanyak 8 channel.

d. Port komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps

e. Enam pilihan mode sleep menghemat penggunaan daya listrik

f. Berperforma tinggi dan dengan konsumsi daya yang rendah (low power)

g. Fitur peripheral

 Dua timer/counter 8-bit dengan separate prescaler (sumber clock yang dapat diatur) dan mode pembanding.

 Satu timer/counter 16-bit dengan separate prescaler, mode pembanding dan capture mode

 Real time counter dengan sumber osilator terpisah

 Terdapat delapan saluran ADC dengan resolusi 10 bit ADC  Empat saluran PWM (Pulse Widht Modulation)

 Terdapat Two Serial Interface  Programmable serial USART  Master/Serial SPI serial interface


(29)

 Programmable Watchdog Timer dengan on-chip osilator  On-Chip analog comparator

h. I/O dan kemasan

 32 Programmable saluran I/O

 40 pin PDIP, 44 pin TQFP, 44 pin PLCC dan 44 pin MLF i. Tegangan kerja

 2,7 – 5,5V untuk ATMega8535L  4,5 – 5,5V untuk ATMega8535 j. Kelas Kecepatan

 0 – 8 MHz untuk ATMega8535L  0 – 16 MHz untuk ATMega8535

2.3.5 Peta Memori ATMega8535

Mikrokontroler ATMega8535 memiliki 3 jenis memori yaitu memori program, memori data dan memori EEPROM.[3] Ketiganya memiliki ruang sendiri

dan terpisah seperti terlihat pada Gambar 2.7.


(30)

a. Memori Program

ATMega8535 memiliki kapasitas memori program sebesar 8 Kbyte yang terpetakkan dari alamat 0000h – 0FFFh dimana masing – masing alamat memiliki lebar data 16 bit. Memori program ini terbagi menjadi 2 bagian yaitu bagian program boot dan bagian program aplikasi. Jika menggunakan fitur boot loader flash maka pembagian ukuran kedua bagian ini ditentukan oleh BOOTSZ fuse tetapi jika tidak menggunakan fitur boot loader flash maka semua kapasitas memori program digunakan untuk program aplikasi.

b. Memori Data

ATMega memiliki kapasitas memori data sebesar 608 Byte yang terbagi menjadi 3 bagian yaitu register serba guna, register I/O dan SRAM seperti terlihat pada gambar xx. 32 byte alamat terendah digunakan untuk register serba guna yaitu R0 – R31. 64 byte berikutnya digunakan untuk register I/O yang digunakan untuk mengatur fasilitas seperti timer/counter, interupsi, ADC, USART, SPI, EEPROM dan port I/O seperti Port A, Port B, Port C dan Port D. Selanjutnya 512 Byte di atasnya digunakan untuk memori data SRAM.

Jika register – register I/O diatas diakses seperti mengakses data pada memori (menggunakan instruksi LD atau ST) maka register I/O di atas menempati alamat 0020 – 005F seperti terlihat pada gambar xx Tetapi jika register – register I/O diatas diakses seperti mengakses I/O pada umumnya (menggunakan instruksi IN dan OUT) maka register I/O diatas menempati alamat memori 0000h – 003Fh seperti terlihat pada Gambar 2.8.


(31)

Gambar 2.8 (a) Register I/O Sebagai Memori Data (b) Register I/O sebagai I/O

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 (EEARH-EEARL), register EEPROM data (EEDR) dan register EEPROM control (EECR). Untuk mengakses memori EEPROM ini diperlakukan seperti mengakses data eksternal sehingga waktu eksekusinya relatif lebih lama bila dibandingkan dengan mengakses data dari SRAM.

2.3.6 Status Register (SREG)

Register SREG digunakan untuk menyimpan informasi dari hasil operasi aritmatika yang terakhir. Informasi – informasi dari register SREG dapat digunakan untuk mengubah alur program yang sedang dijalankan dengan menggunakan instruksi percabangan. Data SREG akan selalu berubah setiap instruksi atau operasu pada ALU dan datanya tidak otomatis tersimpan apabila terjadi instruksi percabangan baik karena interupsi maupun lompatan.


(32)

a. Bit 7 – I : Global Interrupt Enable

Bit I digunakan untuk mengaktifkan interupsi secara umum (interupsi global). Jika bit I bernilai ’1’ maka interupsi secara umum aktif, tetapi jika bernilai ’0’ maka tidak ada satupun interupsi yang aktif. Pengaturan jenis – jenis interupsi apa saja yang akan aktif dilakukan dengan mengatur register kontrol yang sesuai dengan jenis interupsi tersebut dengan terlebih dahulu mengaktifkan interupsi global, yaitu bit I diset ’1’.

b. Bit 6 – T : Bit Copy Storage

Bit T digunakan untuk menentukan bit sumber atau bit tujuan pada instruksi bit copy. Pada instruksi BST, data akan dicopy dari register ke bit T (bit T sebagai tujuan) sedangkan pada instruksi BLD, bit T akan dicopy ke register ( bit T sebagai sumber).

c. Bit 5 – H : Half Carry Flag

Bit H digunakan untuk menunjukkan ada tidaknya setengah carry pada operasi aritmatika BCD. Setengah carry digunakan pada operasi aritmatika BCD, yaitu membagi 1 byte data menjadi 2 bagian (masing – masing 4 bit) dan masing – masing bagian dianggap sebagai 1 digit desimal.


(33)

d. Bit 4 – S : Sign Bit

Bit S menggunakan kombinasi antara bit V dan bit N, yaitu dengan meng-XOR-kan bit V dan bit N.

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

Bit V digunakan untuk mendukung operasi aritmatika komplemen 2. Jika terjadi luapan pada operasi aritmatika bilangan komplemen 2 maka akan menyebabkan bit V bernilai ‘1’.

f. Bit 2 – N : Negative Flag

Bit N digunakan untuk menunjukkan apakah hasil sebuah operasi aritmatika ataupun operasi logika bernilai negative atau tidak. Jika hasilnya negative maka bit N bernilai ‘1’ dan jika bernilai positif maka bit N bernilai ‘0’.

g. Bit 1 – Z : Zero Flag

Bit Z digunakan untuk menunjukkan hasil operasi aritmatika ataupun operasi logika apakah bernilai nol atau tidak. Jika hasilnya nol maka bit Z bernilai ‘1’ dan jika hasilnya tidak nol maka bit Z bernilai ‘0’.

h. Bit 0 – C : Carry Flag

Bit C digunakan untuk menunjukkan hasil operasi aritmatika ataupun logika apakah ada carry atau tidak. Jika ada carry maka bit C bernilai ‘1’ dan jika tidak ada carry maka bit C bernilai ‘0’.


(34)

Register SFIOR adalah register spesial yang berfungsi untuk mengatur beberapa fitur sekaligus dalam satu register. Jadi isi register ini digunakan dalam menentukan mode dan cara kerja beberapa fitur antara lain pull-up port I/O, timer 0, timer 1, timer 2, analog comparator dan ADC

2.3.8 Register Serba Guna (General Purpose Register)

ATMega8535 memiliki 32 byte register serba guna yang terketak pada awal alamat RAM seperti terlihat pada gambar berikut :

Gambar 2.9 Register Serbaguna

Dari 32 byte register serba guna di atas, 6 byte terakhir juga digunakan sebagai register pointer yaitu register pointer X, register pointer Y dan register pointer Z.

2.3.9 Interupsi

ATMega8535 menyediakan 21 macam sumber interupsi masing – masing memiliki alamat program vektor interupsi seperti pada tabel xx. Setiap interupsi yang aktif akan dilayani segera setelah terjadi permintaan interupsi, tetapi jika dalam waktu bersamaan terjadi lebih dari satu interupsi maka prioritas yang akan diselesaikan lebih dulu adalah interupsi yang memiliki nomor urut lebih kecil sesuai tabel 2.1.


(35)

Tabel 2.1 Alamat Vektor Interupsi ATMega8535 Vector No. Alamat Program Sumber

Interupsi Keterangan 1. 0x000 RESET

External Pin, Power-On Reset, Brown-out Reset and Watchdog Reset

2. 0x001 INT0 External Interupt Request 0 3. 0x002 INT1 External Interupt Request 1 4. 0x003 TIMER2

COMP Timer/Counter2 Compare Match 5. 0x004 TIMER2 OVF Timer/Counter2 Overflow 6. 0x005 TIMER1 CAPT Timer/Counter1 Capture Event 7. 0x006 TIMER1

COMPA

Timer/Counter2 Compare Match A

8. 0x007 TIMER1 COMPB

Timer/Counter2 Compare Match B

9. 0x008 Timer1 OVF Timer/Counter1 Overflow 10. 0x009 Timer0 OVF Timer/Counter0 Overflow 11. 0x00A SPI, STC Serial Transfer Complete 12. 0x00B USART, RXC USART, Rx Complete 13. 0x00C USART, UDRE USART Data Register Empty 14. 0x00D USART, TXC USART, Tx Complete

15. 0x00E ADC ADC Conversion Complete 16. 0x00F EE_RDY EEPROM Ready

17. 0x010 ANA_COMP Analog Comparator 18. 0x011 TWI Two-Wire Serial Interface 19. 0x012 INT2 External Interupt Request 2 20. 0x013 TIMER0

COMP

Timer/Counter0 Compare Match 21. 0x014 SPM_RDY Store Program Memory Ready

2.4Rangkaian Mekanika

Rangkaian mekanik Robot Pengikut Garis ini terdiri atas beberapa bahan. Untuk casis robot bahan yang digunakan adalah bahan aclyric. Pada mekanik yang dirancang digunakan transmisi roda gigi cacing untuk bagian kemudi depan robot agar dihasilkan reduksi kecepatan yang besar dan kemampuan mengunci pergerakan kemudi. Untuk penggerak belakang robot


(36)

digunakan roda gigi miring untuk mempercepat putaran motor DC yang kecepatan putarnya sangat lambat.

Gambar 2.10 Rangkaian Mekanika Robot

2.5 Rangkaian Elektronika

2.5.1 PCB (Printed Circuit Board)

PCB atau Papan Sirkuit Cetak adalah sebuah papan yang penuh dengan sirkuit dari logam yang menghubungkan komponen elektronik satu sama lain tanpa kabel.[4] Papan sirkuit ini mendapatkan namanya karena diproduksi secara

massal dengan cara percetakan. Papan sirkuit cetak dapat digolongkan atas beberapa jenis berdasarkan :

a. Susunan lapis  Lapis tunggal  Lapis ganda


(37)

b. Bentuk  Keras

 Lunak (fleksibel)

 Gabungan keras dan lunak c. Spesifikasi

 Konvensional

 Penghubung kepadatan tinggi (High Density interconnect) d. Material Basis

 FR4  Logam  Keramik

2.5.2 Resistor

Resistor adalah suatu komponen elektronika dua saluran yang di desain untuk menahan arus listrik dengan memproduksi penurunan tegangan diantara kedua salurannya sesuai dengan arus yang mengalirinya.[3] Resistor diberi

lambang huruf R dengan satuannya yaitu Ohm (Ω). Secara umum resistor berdasarkan nilainya dibagi menjadi 3 bagian, yaitu :

1. Fixed resistor

Merupakan resistor yang nilai hambatannya tetap. Berikut ini bentuk resistor.


(38)

Nilai hambatan resistor dapat kita ketahui dari gelang warna yang terdapat pada badan resistor, dimana ketentuannya adalah sebagai berikut :

a. Gelang ke-1 dan gelang ke-2 menyatakan nilai resistor. b. Gelang ke-3 menyatakan faktor pengali

c. Gelang ke-4 menyatakan toleransi

Jika resistor memiliki 5 gelang warna, maka nilai gelang ke-1, 2 dan 3 menyatakan nilai resistor, gelang ke-4 merupakan faktor pengali dan gelang ke-5 menyatakan toleransi. Sedangkan untuk mengetahui nilai dari warna gelang resistor, bisa dilihat pada Tabel 2.2 :

Tabel 2.2 Tabel Kode Warna Resistor

Warna Nilai

Faktor

Pengali

Toleransi

Hitam 0 X 1 -

Coklat 1 X 10 1 %

Merah 2 X 100 2 %

Orange/Jingga 3 X 1000 -

Kuning 4 X 10000 -

Hijau 5 X 100000 -

Biru 6 X 1000000 -

Ungu 7 X 10000000 -

Abu – abu 8 X 100000000 -

Putih 9 X 1000000000 -


(39)

Perak - X 0.1 10 % Tidak Berwarna - - 20 %

Contoh :

Sebuah resistor memiliki gelang warna seperti berikut ini : Gelang ke-1 : Coklat, memiliki nilai 1 Gelang ke-2 : Putih, memiliki nilai 9

Gelang ke-3 : Merah, merupakan faktor pengali 10² Gelang ke-4 : Perak, memiliki nilai toleransi 10% Sehingga resistor di atas memiliki nilai 1.9 kΩ ± 10%

2. Variabel resistor

Merupakan resistor yang nilai hambatannya dapat diubah-ubah. Berdasarkan cara merubah hambatannya variabel resistor dibagi menjadi 2, yaitu : a. Trimpot

Merupakan variabel resistor yang nilai hambatannya dapat di ubah menggunakan obeng atau alat bantu. Berikut contoh gambar trimpot :

Gambar 2.12 Trimpot b. Potensio

Merupakan variabel resistor yang nilai hambatannya dapat dirubah langsung menggunakan tangan (tanpa menggunakan alat bantu) dengan cara


(40)

memutar poros engkol atau menggeser kenop untuk potensio geser. Berikut contoh gambar potensio :

Gambar 2.13 Potensio

3. Resistor Non-Linear

Ada beberapa jenis resistor non-linear, diantaranya adalah : 1. PTC (Positive Temperatur Coefisien)

Adalah jenis resistor non linear yang nilai hambatannya terpengaruh oleh perubahan suhu. Makin tinggi suhu di sekitarnya maka makin besar nilai hambatannya. Berikut contoh gambar dari PTC :

Gambar 2.14 Positive Temperature Coefisien

2. NTC (Negative Temperatur Coefisien)

Jenis resistor ini hampir sama dengan PTC, nilai hambatannya terpengaruh oleh perubahan suhu, perbedaannya adalah jika suhu semakin tinggi maka nilai hambatannya akan semakin kecil, sebaliknya jika suhu semakin rendah maka makin besar nilai hambatannya. Berikut contoh gambar NTC :


(41)

3. LDR (Light Depend Resistor)

Adalah jenis resistor non linear yang nilai hambatannya terpengaruh oleh intensitas cahaya yang mengenainya. Makin besar intensitas cahaya yang mengenainya makin kecil nilai hambatannya.

2.5.3 Dioda

Dioda adalah komponen elektronika yang paling sederhana dari keluarga semikonduktor, dari simbolnya menunjukkan arah arus dari dan ini merupakan sifat dioda, bahwa dioda hanya mengalirkan arus pada satu arah, arus hanya mengalir dari kutub Anoda ke kutub Katoda.[3] Satu sisi dioda disebut Anoda

untuk pencatuan positif (+), dan sisi lainnya disebut Katoda untuk pencatuan negatif (-), yang dalam pemasangannya tidak boleh terbalik. Secara fisik bentuk dioda seperti silinder kecil dan biasanya diberi tanda berupa lingkaran warna putih, yang menandakan posisi kaki katoda

2.5.4 Sensor Proximity

Sensor Proximity adalah teknik pendeteksi dari keberadaan suatu obyek dengan noncontact sensor elektronik. Adapun sensor proximity yang bisa dibuat sendiri. Dengan memanfaatkan LED sebagai sumber cahaya yang akan memancarkan warna dan photodioda sebagai penangkap cahaya. Berikut gambar sensor proximity :


(42)

2.5.4.1LED Superbright

LED (Light Emitting Diode) adalah suatu jenis dioda yang apabila diberi tegangan maju akan membangkitkan cahaya pada pertemuan semikonduktornya. Ada LED yang memancarkan warna merah, hijau, biru dan warna lainnya perbedaan warna disebabkan oleh perbedaan pada bahan semikonduktornya.[5]

LED Superbright terbuat dari bahan Gallium (Ga), Arsen (As), dan Fosfor (P) atau disingkat GaAsP dan ditempatkan dalam suatu wadah yang tembus pandang. Dilihat dari bentuknya LED banyak macamnya, tetapi cahaya yang dipancarkan LED Superbright berbeda dengan LED pada umumnya, cahayanya lebih terang dan menyebar karena wadahnya yang transparan. Untuk membedakan antara kaki katoda dan anodanya dapat dilihat dari bentuk elektrodanya, yang besar adalah kaki katoda. Keuntungan dari LED Superbright antara lain harganya murah, usianya yang relatif panjang lebih dari 20 tahun dan dapat dipakai dengan tegangan rendah (1-2 V). berikut gambar LED Superbright :

Gambar 2.17 LED Superbright

2.5.4.2 Photodioda

Energi thermal menghasilkan pembawa minoritas dalam dioda, makin tinggi suhu makin besar arus dioda yang terbias reverse.[5] Energi cahaya juga

menghasilkan pembawa minoritas. Dengan menggunakan jendela kecil untuk membuka junction agar terkena sinar, pabrik dapat membuat dioda photo. Jika


(43)

cahaya luar mengenai junction dioda photo yang dibias reverse akan dihasilkan pasangan electron-hole dalam lapisan pengosongan. Makin kuat cahaya makin banyak jumlah pembawa yang dihasilkan cahaya makin besar arus reverse. Sebab itu dioda photo merupakan detektor cahaya yang baik sekali. Dioda foto adalah suatu dioda yang arus reverse-nya berubah bila mendapat penyinaran.

Prinsip kerja dari dioda foto adalah apabila sebuah dioda diberi reverse bias, maka akan mengalir arus yang kecil sekali yang disebut arus reverse melalui dioda tersebut, besarnya arus reverse ini tergantung suhu dan intensitas cahaya yang jatuh pada deplection layer-nya. Oleh karena itu, dioda ini harus bisa tembus cahaya agar cahaya dapat mencapai deplection layer-nya sehingga terjadi arus reverse yang besarnya tergantung intensitas cahaya yang menyinarinya. Nilai resistansi photodioda akan naik bila cahaya tidak mengenai permukaannya dan akan turun apabila dikenai cahaya. Berikut gambar photodiode :

Gambar 2.18 Photodioda

2.5.5 Sensor GP2D12

Sensor adalah alat untuk mendeteksi atau mengukur sesuatu yang digunakan untuk mengubah variasi mekanis, magnetik, panas, sinar, dan kimia menjadi tegangan dan arus listrik. Agar listrik dapat bekerja lebih baik dan tepat haruslah memiliki persyaratan sebagai berikut :


(44)

a. Kepekaan, yaitu sensor harus dipilih sedemikian rupa pada nilai – nilai masukan yang ada sehingga dapat diperoleh keluaran yang cukup besar.

b. Stabilitas waktu, yaitu untuk menentukan masukan tertentu, sensor harus dapat memberikan keluaran yang tetap nilainya dalam waktu yang lama. Sensor ini dapat berfungsi untuk berbagai keperluan seperti pendeteksi halangan ataupun pendeteksi jarak dari suatu objek.

Beberapa karakteristik dari sensor inframerah GP2D12 adalah :  Power Supply 4,5 – 5,5 Volt

 Output berupa tegangan analog yang berkisar antara 0,5 – 2,6 Volt  Pembacaan jarak tidak begitu dipengaruhi oleh warna objek yang

diukur

 Tidak membutuhkan rangkaian kontrol eksternal

 Tidak begitu dipengaruhi oleh kondisi pencahayaan ruangan  Frekuensi sebesar 25Hz dan periode sebesar 20 mV

 Sudut jangkauan yang dapat mendeteksi permukaan objek yang datar sebesar >40 derajat

 Pemakaian arus sebesar 35mA


(45)

2.5.5.1Konfigurasi PIN

GP2D12 adalah sensor infra merah yang menggunakan prinsip triangulation (prinsip segitiga) untuk mengukur jarak. Sensor ini terdiri atas lampu LED infra merah yang menghasilkan cahaya infra merah termodulasi yang dipancarkan ke objek yang hendak di ukur jaraknya dan sebuah array CCD yang berfungsi sebagai detektor infra merah yang akan menerima pantulan cahaya infra merah dari objek yang diukur. Sensor GP2D12 memiliki tiga buah pin yaitu untuk Vcc, Ground dan Vo (tegangan output) seperti yang diperlihatkan pada gambar .... kaki 1 merupakan kaki Vo (berupa tegangan analog), kaki 2 merupakan kaki untuk ground dan kaki 3 merupakan kaki untuk Vcc.

Gambar 2.20 Pin out GP2D12

2.5.5.2 Prinsip Kerja Sensor

Prinsip kerja dari sensor ini dalam mendeteksi jarak dari objek yang diukur adalah melalui sebuah LED inframerah yang menghasilkan cahaya infra merah termodulasi yang dipancarkan ke objek yang hendak diukur jaraknya dan kemudian sinar yang dipancarkan oleh LED akan diterima pada bagian PSD (Positioning Sensing Device) dan di ubah menjadi tegangan analog. Semakin kuat sinar yang diterima, akan semakin besar pula tegangan analog yang dikeluarkan.


(46)

Gambar 2.21 Sensor Jarak GP2D12

Berikut ini merupakan gambar blok diagram sensor GP2D12 :

Gambar 2.22 Blok Diagram Sharp GP2D12

2.5.5.3 Karakteristik Tegangan Output Terhadap Jarak Pada Sensor

Karena grafik hubungan jarak terhadap tegangan output sensor tidak linear maka dalam pengolahan data dalam prosesor dilakukan dengan menggunakan metode look up table. Dalam metode ini dibutuhkan memori dalam ROM sebesar 255 byte untuk pemetaan data jarak. Dalam look up table tersebut diisikan data – data jarak untuk setiap data tegangan yang diperoleh dari ADC


(47)

mulai dari tegangan 0 – 255 Volt. Karena output valid sensor adalah berkisar antara 0,5 – 2,6 Volt maka dilakukan pembagian tiga zona pengisian data :

a. Tegangan input 0,00 Volt sampai 0,49 Volt dinyatakan sebagai kondisi sangat jauh pada jarak 80 cm

b. Tegangan input 0,50 Volt sampai 2,60 Volt adalah merupakan tegangan valid sehingga akan dilakukan penerjemahan data tegangan ke jarak sesuai dengan data yang ada pada grafik hubungan jarak terhadap tegangan ouput sensor GP2D12 seperti pada gambar 2.23 c. Tegangan input 2,61 Volt sampai 2,65 Volt dinyatakan sebagai kondisi

terlalu dekat pada jarak 5 cm

Karakteristik tegangan output dari sensor ditunjukkan pada gambar berikut ini.


(48)

2.5.5.4ADC dari Tegangan Output Sensor

Dalam melakukan pemrograman mikrokontroller agar dapat terkoneksi dengan sensor jarak, setiap nilai perubahan tegangan output sensor yang berupa tegangan analog yang diakibatkan jarak harus terlebih dahulu dikonversikan ke nilai digital agar dapat dibaca oleh mikrokontroler.

Karena tegangan output sensor untuk pembacaan jarak yang valid berkisar antara 0,5 – 2,6 Volt maka sensor ini tidak lagi membutuhkan rangkaian pengkondisian sinyal. Masing – masing output dari sensor ini tidak lagi membutuhkan rangkaian pengkondisian sinyal. Masing – masing output dari sensor jarak dapat langsung dihubungkan ke ADC mikrokontroler yang tegangan referensi telah diatur sebesar 2,65 Volt. Berdasarkan hal tersebut agar memperoleh tegangan output dalam bentuk digital maka dapat digunakan rumus sebagai berikut :

Vin

ADC = x 1024 ... (2.4) Vref

Dimana :

ADC = Nilai output digital sensor

1024 = Resolusi ADC pada mikrokontroler AVR Atmega8535 Vin = Tegangan analog input sensor dari pendeteksian Vreff = Tegangan Referensi

Adapun contoh pengkonversian tegangan output sensor jarak menjadi nilai digital adalah sebagai berikut.

Jika diketahui Vin (tegangan analog input sensor) yang diperoleh dari pengukuran jarak bahwa untuk jarak 10 cm maka tegangan input sensor adalah


(49)

2,6 Volt, kemudian tegangan referensi yang berasal dari Vcc adalah 5 Volt maka tegangan output dapat atau nilai ADC dapat diketahui dengan masukan nilai yang ada pada persamaan 2.4, sehingga :

2,6

ADC = x 1024 5

maka nilai digital dari jarak 10 cm adalah 532,48

2.5.6 Optocoupler

Optocoupler merupakan piranti elektronika yang berfungsi sebagai pemisah antara rangkaian power dengan rangkaian control.[6] Optocoupler

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. Berikut gambar dari optocoupler :

Gambar 2.24 Optocoupler

2.5.7 Transistor

Transistor adalah alat semikonduktor yang dipakai sebagai penguat, sebagai sirkuit pemutus dan penyambung (switching), stabilisasi tegangan, modulasi sinyal atau sebagai fungsi lainnya.[5] Transistor dapat berfungsi


(50)

semacam kran listrik, dimana berdasarkan arus inputnya (BJT) atau tegangan inputnya (FET), memungkinkan pengaliran listrik yang sangat akurat dari sirkuit sumber listriknya. Pada umumnya, transistor memiliki 3 terminal. Tegangan atau arus yang dipasang di satu terminalnya mengatur arus yang lebih besar yang melalui 2 terminal lainnya. Transistor adalah komponen yang sangat penting dalam dunia elektronik modern. Dalam rangkaian analog, transistor digunakan dalam amplifier (penguat). Rangkaian analog melingkupi pengeras suara, sumber listrik stabil, dan penguat sinyal radio. Dalam rangkaian-rangkaian digital, transistor digunakan sebagai saklar berkecepatan tinggi. Beberapa transistor juga dapat dirangkai sedemikian rupa sehingga berfungsi sebagai logic gate, memori, dan komponen-komponen lainnya. Berikut bambar dari transistor :

Gambar 2.25 Transistor

2.5.8 Kondensator

Kondensator atau sering disebut sebagai kapasitor adalah suatu alat yang dapat menyimpan energi di dalam medan listrik, dengan cara mengumpulkan ketidakseimbangan internal dari muatan listrik.[5] Kondensator memiliki satuan

yang disebut Farad dari nama Michael Faraday. Kondensator juga dikenal sebagai "kapasitor", namun kata "kondensator" masih dipakai hingga saat ini. Pertama disebut oleh Alessandro Volta seorang ilmuwan Italia pada tahun 1782 (dari bahasa Itali condensatore), berkenaan dengan kemampuan alat untuk menyimpan


(51)

suatu muatan listrik yang tinggi dibanding komponen lainnya. Kebanyakan bahasa dan negara yang tidak menggunakan bahasa Inggris masih mengacu pada perkataan bahasa Italia "condensatore", bahasa Perancis condensateur, Indonesia dan Jerman Kondensator atau Spanyol Condensador.

a. Kondensator diidentikkan mempunyai dua kaki dan dua kutub yaitu positif dan negatif serta memiliki cairan elektrolit dan biasanya berbentuk tabung.

Lambang kondensator (mempunyai kutub) pada skema elektronika.

b. Sedangkan jenis yang satunya lagi kebanyakan nilai kapasitasnya lebih rendah, tidak mempunyai kutub positif atau negatif pada kakinya, kebanyakan berbentuk bulat pipih berwarna coklat, merah, hijau dan lainnya seperti tablet atau kancing baju.

Lambang kapasitor (tidak mempunyai kutub) pada skema elektronika.

Gambar 2.26 Kapasior

2.5.9 Regulator

Regulator adalah rangkaian regulasi atau pengatur tegangan keluaran dari sebuah catu daya agar efek darinaik atau turunnya tegangan jala-jala tidak


(52)

mempengaruhi tegangan catu daya sehingga menjadi stabil.[5] Berikut gambar dari

regulator.

Gambar 2.27 Regulator

2.5.10 LCD (Liquid Crystal Display)

Liquid Crystal Display (LCD) adalah sebuah perangkat optis yang dimodulasi secara elektronik.[8] Alat ini berbentuk panel datar tipis yang tersusun

atas sejumlah piksel warna atau monokrom yang diisi dengan cristal cair yang disusun didepan sumber cahaya atau reflector. LCD sudah digunakan di berbagai bidang, misalnya dalam alat-alat elektronik, seperti televisi, kalkulator ataupun layar komputer. Pada LCD berwarna semacam monitor, terdapat banyak sekali titik cahaya (pixel) yang terdiri dari satu buah kristal cair sebagai suatu titik cahaya. Walaupun disebut sebagai titik cahaya, namn kristal cair ini tidak memancarkan cahaya sendiri.

Sumber cahaya di dalam sebuah perangkat LCD adalah lampu neon berwarna putih di bagian belakang susunan kristal cair tadi. Titik cahaya yang jumlahnya puluhan ribu bahkan jutaan inilah yang membentuk tampilan citra. Kutub kristal cair yang dilewati arus listrik akan berubah karena pengaruh polarisasi medan magnetik yang timbul dan oleh karenanya akan hanya membiarkan beberapa warna diteruskan sedangkan warna lainnya tersaring.


(53)

Gambar 2.28. Liquid Crystal Display

2.5.11 DC Motor

Motor DC adalah alat yang mengubah pulsa listrik menjadi gerak, mempunyai prinsip dasar yang sama dengan motor stepper namun gerakannya bersifat kontinyu atau berkelanjutan.[9] Motor DC dibagi menjadi 2 jenis yaitu :

1. Motor DC dengan sikat (mekanis komutasi), yaitu motor yang memiliki sifat karbon berfungsi sebagai pengubah arus pada kumparan sedemikian rupa sehingga arah tenaga putaran motor akan selalu sama

2. Motor DC tanpa sikat, menggunakan semi konduktor untuk merubah maupun membalik arus sehingga layaknya pulsa yang menggerakkan motor tersebut. Biasa digunakan pada sistem servo. Karena mempunyai efisiensi tinggi, umur pemakaian lama, tingkat kebisingan suara listrik rendah, karena putarannya halus seperti stepper namun putarannya terus menerus adanya step.

Dalam aplikasinya seringkali sebuah motor digunakan untuk arah yang searah dengan jarum jam maupun sebaliknya. Untuk mengubah putaran dari sebuah motor dapat dilakukan dengan cara hardware maupun software. Dengan cara hardware yaitu dengan mengubah arah arus yang mengalir melalui motor


(54)

tersebut. Secara sederhana seperti yang ada pada Gambar 2.29, hal ini dapat dilakukan hanya dengan mengubah polaritas tegangan motor.

Gambar 2.29. Dasar Pengaturan Arah Putar Motor

Dengan cara software yaitu motor DC yang digunakan untuk robot di kendalikan oleh transistor. Yang dimana pengaturan inputnya langsung dari pararel port address 378-H.

2.6 Perangkat Lunak

Dalam pengoperasian perangkat keras ini agar dapat bekerja sesuai dengan yang diharapkan maka perlu suatu perangkat lunak yaitu Software yang sesuai dengan mikrokontroller yang digunakan. Disini digunakan IC Mikrokontroller ATMega8535 yang mempunyai 8 Kb Flash Memori. Secara umum bahasa pemrograman yang sesuai dengan mikrokontroller adalah Bahasa Assembly karena merupakan suatu bahasa mesin. Namun mikrokontroler keluarga AVR juga mengijinkan bahasa C sebagai bahasa pemrograman untuk menjalankan instruksi – instruksi pada ATMega8535, sehingga penulis memutuskan untuk memakai bahasa C sebagai bahasa pemrograman dalam pembuatan mobil robot pengikut garis dan pendeteksi halang rintang berbasis mikrokontroler ATMega8535 ini. Dan untuk compiler bahasa C pada mikrokontroler ini digunakan CodeVisionAVR.


(55)

CodeVisionAVR pada dasarnya merupakan perangkat lunak pemrograman microcontroller keluarga AVR berbasis bahasa C. Ada tiga komponen penting yang telah diintegrasikan dalam perangkat lunak ini: Compiler C, IDE dan Program generator. Berdasarkan spesifikasi yang dikeluarkan oleh perusahaan pengembangnya, Compiler C yang digunakan hampir mengimplementasikan semua komponen standar yang ada pada bahasa C standar ANSI (seperti struktur program, jenis tipe data, jenis operator, dan library fungsi standar-berikut penamaannya). Tetapi walaupun demikian, dibandingkan bahasa C untuk aplikasi komputer, compiler C untuk microcontroller ini memiliki sedikit perbedaan yang disesuaikan dengan arsitektur AVR tempat program C tersebut ditanamkan (embedded). Khusus untuk library fungsi, disamping library standar (seperti fungsi-fungsi matematik, manipulasi String, pengaksesan memori dan sebagainya), CodeVisionAVR juga menyediakan fungsi-fungsi tambahan yang sangat bermanfaat dalam pemrograman antarmuka AVR dengan perangkat luar yang umum digunakan dalam aplikasi kontrol.

Beberapa fungsi library yang penting diantaranya adalah fungsi-fungsi untuk pengaksesan LCD, komunikasi I2C, IC RTC (Real time Clock), sensor suhu LM75, SPI (Serial Peripheral Interface) dan lain sebagainya. Untuk memudahkan pengembangan program aplikasi, CodeVisionAVR juga dilengkapi IDE yang sangat user friendly. Selain menu-menu pilihan yang umum dijumpai pada setiap perangkat lunak berbasis Windows, CodeVisionAVR ini telah mengintegrasikan perangkat lunak downloader (in system programmer) yang dapat digunakan untuk mentransfer kode mesin hasil kompilasi kedalam sistem memori microcontroller AVR yang sedang deprogram. Selain itu, CodeVisionAVR juga menyediakan


(56)

sebuah tool yang dinamakan dengan Code Generator atau CodeWizardAVR. Secara praktis, tool ini sangat bermanfaat membentuk sebuah kerangka program (template), dan juga memberi kemudahan bagi programmer dalam peng-inisialisasian register-register yang terdapat pada microcontroller AVR yang sedang diprogram.

Dinamakan Code Generator, karena perangkat lunak CodeVision ini akan membangkitkan kode-kode program secara otomatis setelah fase inisialisasi pada jendela CodeWizardAVR selesai dilakukan. Secara teknis, penggunaan tool ini pada dasarnya hampir sama dengan application wizard pada bahasa-bahasa pemrograman Visual untuk komputer (seperti Visual C, Borland Delphi, dan sebagainya). Berikut beberapa coding program yang banyak digunakan dalam pembuatan sebuah robot :

1. menentukan library yang digunakan

#include <mega8535.h> // Library untuk chip ATmega8535

#include <delay.h> // Library delay

2. Membuat sub rutin agar robot dapat bergerak maju

void maju() {

dirA_Ki=1;dirB_Ki=0; // Motor kiri maju

dirC_Ka=1;dirD_Ka=0; // Motor kanan maju }


(57)

3. Membuat sub rutin agar robot belok ke kiri

void belok_kiri() {

unsigned int i;

lpwm=50; rpwm=50; // Kecepatan pelan

delay_ms(60); // Robot dimajukan sedikit

dirA_Ki=0;dirB_Ki=1; // Motor kiri mundur

dirC_Ka=1;dirD_Ka=0; // Motor kanan maju

for(i=0;i<=1000;i++) while (!SkiXX ||!SkiX) {};

for(i=0;i<=1000;i++) while ( SkiXX || SkiX) {}; lpwm=0; rpwm=0; // Robot berhenti

}

4. Membuat sub rutin agar robot belok ke kanan

void belok_kanan()

{

unsigned int i;

lpwm=50; rpwm=50; // Kecepatan pelan

delay_ms(60); // Robot dimajukan sedikit

dirA_Ki=1;dirB_Ki=0; // Motor kiri maju

dirC_Ka=0;dirD_Ka=1; // Motor kanan mundur

for(i=0;i<=1000;i++) while (!SkaXX ||!SkaX) {};

for(i=0;i<=1000;i++) while ( SkaXX || SkaX) {}; lpwm=0; rpwm=0; // Robot berhenti


(58)

}

5. Membuat sub rutin membaca file

unsigned char sensor;

void scan_rule1()

{

maju(); // Robot bergerak maju

sensor=PIND; // PIND diberi nama sensor

sensor&=0b00111111; // sensor di-AND-kan dengan 0b00111111

switch(sensor)

{

case 0b00111110: rpwm=0; lpwm=200; x=1; break;

case 0b00111100: rpwm=50; lpwm=200; x=1; break;

case 0b00111101: rpwm=75; lpwm=200; x=1; break;

case 0b00111001: rpwm=100; lpwm=200; x=1; break;

case 0b00111011: rpwm=150; lpwm=200; x=1; break;

case 0b00110011: rpwm=200; lpwm=200; break;

case 0b00110111: rpwm=200; lpwm=150; x=0; break;

case 0b00100111: rpwm=200; lpwm=100; x=0; break;

case 0b00101111: rpwm=200; lpwm=75; x=0; break;

case 0b00001111: rpwm=200; lpwm=50; x=0; break;

case 0b00011111: rpwm=200; lpwm=0; x=0; break;

case 0b00111111: break;


(59)

else {lpwm=0; rpwm=50; break;} }

}

Variabel x ini berfungsi sebagai pengingat posisi terakhir robot terhadap garis. Jika robot berada di kanan garis, maka x=0. Jika robot berada di kiri garis, maka x=1. Ketika robot lepas dari track, maka program akan membaca kondisi variable x, sehingga dapat ditentukan arah gerak robot agar robot dapat kembali ke garis, seperti terlihat pada instruksi berikut :

if(x) {lpwm=50; rpwm=0; break;}

else {lpwm=0; rpwm=50; break;}


(60)

BAB III PERANCANGAN

Pada Bab ini akan dibahas mengenai beberapa hal dasar tentang bagaimana perancangan sebuah robot, komponen-komponen apa saja yang dibutuhkan dalam perancangan robot pengikut garis, bagaimana cara merancang robot mobil, Flowchart fsm algoritma pergerakan Robot mobil, Blok Diagram Hardware Robot mobil dan Analisa setelah robot mobil selesai dibuat.

3.1 Perancangan Robot Mobil

Dalam pembuatan robot ini penulis memperhatikan beberapa aspek yang dibutuhkan, yaitu :

1. Mobil ini dirancang agar dapat melaju secara otomatis pada rute yang sudah disediakan.

2. Selain mengikuti rute yang ada mobil ini juga dirancang untuk dapat membedakan warna merah, kuning, hijau dan dapat melakukan aksi yang sesuai dengan warna yang dikenali. Jika melihat warna merah mobil akan berhenti, jika melihat warna kuning mobil akan mengurangi kecepatan, jika melihat warna hijau mobil akan tetap melaju.

3. Mobil ini dirancang dengan menggunakan Mikrokontroller ATMega8535.

4. Mobil ini nantinya akan menghadapi rintangan yang di dalamnya terdapat perempatan dan pertigaan. Setiap ada perempatan maka


(61)

mobil secara otomatis akan belok kanan. Sedangkan jika ada pertigaan mobil secara otomatis akan lurus.

5. Semua aksi (maju, belok, berhenti, mengurangi kecepatan, putar balik) merupakan logika yang diterapkan di dalam program yang ditanamkan ke Mikrokontroller ATMega8535, dan pemrogramannya menggunakan pemrograman CodeVision AVR.

3.2 Algoritma Pergerakan Robot Mobil

Berikut ini adalah algoritma pergerakan mobil pada rute yang telah disediakan:

1. Start

2. Sensor Proximity membaca garis yang ada di lantai rute 3. Jika hitam go to 4, jika putih go to 11

4. Mobil melaju (Motor DC kiri bergerak searah jarum jam, Motor DC kanan sebalikanya)

5. Mobil robot mengeluarkan cahaya dari cahaya infra merah mendeteksi rintangan jika ada pantulan dari cahaya go to 6, jika tidak ada pantulan go to 7

6. Robot mobil menangkap pantulan cahaya

7. Robot Mobil berputar balik menghindari rintangan 8. Robot mobil jalan terus

9. Jika mobil melalui perlintasan (perempatan) maka mobil akan secara otomatis berbelok ke kanan (motor DC kanan mundur, motor DC tetap maju)


(62)

10. Mobil bergerak sampai akhir garis rute (garis putih bertuliskan finish) 11. Selesai

3.3 Perancangan Elektronik

Perancangan elektronik ini meliputi perancangan sensor garis dan

comparatornya, sensor warna dan driver motor. Secara umum proses kerja

rangkaian elektronik robot mobil dijelaskan pada gambar di bawah ini :

Gambar 3.1. Blok Diagram Hardware Robot

Penjelasan :

A. Proses awal dari system yang akan dibuat ini adalah pembacaan data oleh sensor garis, hasil yang didapatkan dari sensor garis ini berupa tegangan yang didapat dari photodiode.

B. Setelah mendapatkan data dari sensor proximity data tersebut dikirimkan ke comparator LM339, hal ini dilakukan untuk mengkonversi hasil awal yang berupa tegangan menjadi output yang berupa nilai digital (0 dan 1).

Sensor Proximity

Sensor Jarak

Mikrokontroler ATMega 8535

Driver Motor Kanan

Driver Motor Kiri

Motor DC Motor


(63)

C. Hasil digital dari comparator LM339 kemudian dikrimkan ke mikrokontroller ATMega8535.

D. Selain sensor garis ada juga sensor jarak yang berfungsi untuk mengenali rintangan yang terdapat di rute lintasan, sensor jarak yang berupa infrared GP2D12 mengeluarkan cahaya yang berasal dari transmitter kemudian cahaya itu diterima oleh receiver GP2D12. dan kemudian GP2D12 mengeluarkan tegangan yang berupa tegangan analog.

E. Di ATMega8535 data dari sensor garis dan sensor jarak diproses, pertama-tama data dari sensor garis akan diproses terlebih dahulu, data yang ada akan dirubah menjadi pwm yang nantinya akan dikirimkan ke driver motor untuk melakukan aksi (berhenti, mundur atau maju) kecepatan dari motor DC diatur berdasarkan pwm yang diberikan oleh ATMega8535. Setelah itu dilakukan pemrosesan data untuk sensor jarak. Hasil dari sensor jarak ini akan memberikan aksi berupa berhenti sejenak, kemudian memutar balik mencari jalan lain yang tidak terdapat rintangannya.

3.4 Proses Perancangan Rangkaian

Dalam pembuatan mobil robot ini ada beberapa rancangan yang harus dibuat, diantaranya adalah rancangan PCB (Printed Circuited Board), rancangan rangkaian sensor proximity, rangkaian komparator LM339, rangakaian driver motor, mekanik dan lintasan.


(64)

3. 4. 1. Perancangan Jalur PCB (Printed Circuited Onboard)

Perancangan jalur PCB ini adalah perancangan awal dari semua rangkaian (rangkaian sensor proximity, rangkaian komparator LM339, rangkaian driver motor L298N) yang nantinya dipakai dalam merancang robot ini. Karena dengan papan yang diatasnya terdapat jalur yang terbuat dari tembaga inilah arus dari tegangan mengalir ke setiap komponen – komponen yang ada di atas papan tersebut. Seperti resistor, variabel resistor, IC, dioda, photodioda dan lain – lain. Berikut cara pembuatan PCB (Printed Circuit Onboard) :

1. Pertama buat disain dari rangkaian sensor proximity, rangkaian komparator LM339 dan rangkaian driver motor yang digabung dengan minsys di software PCB 123. dengan perbandingan 1 : 1.

Gambar 3.2. Disain rangkain sensor proximity, motor driver dan

komparator LM339

2. Setelah itu hasil disain yang sudah jadi di print ke kertas dan kemudian di fotocopy ke dalam bentuk mika.


(65)

3. Disain yang ada di mika, disetrika ke PCB matrik (PCB yang masih kosong dan belum ada lubang dan disainnya). Supaya disain yang berada di mika bisa menempel di PCB matrik.

4. Jika disain sudah berhasil menempel di PCB matrik, masukkan PCB matrik ke dalam larutan ferry Chloride (FeCl³). Jika belum menempel lakukan penyetrikaan kembali sampai disain yang berada di mika bisa menempel di PCB matrik.

5. kocok atau keceng PCB matrik yang ada di dalam larutan ferit sampai tembaga yang ada di PCB matrik larut ke dalam larutan.

Gambar 3.3. Mengeceng PCB

6. Jika larutan tembaga sudah larut dan jalur rangkaian sudah terbentuk. Gosok PCB matrik dengan menggunakan kertas gosok. Supaya jalur terlihat jelas dan sudah tidak ada sisa larutan di PCB matrik.

Gambar 3.4. Rangkaian yang sudah terbentuk


(66)

8. Pemasangan komponen dan penyoderan pada PCB, pasang terlebih dahulu komponen pasif seperti resistor, kapasitor, diode dan variable resistor. Kemudian baru pasang komponen yang aktif. Pasang IC untuk komponen yang tidak tahan panas yang terlebih sewaktu penyolderan, dengan catatan jangan dahulu memasang IC dalam soketnya. Hal ini dilakukan untuk menghindari kerusakan komponen akibat panas penyolderan.

9. Pemotongan sisi kaki komponen yang masih panjang 10.Terakhir pengetasan alat

3.4.2 Perancangan Rangkaian Sensor Garis dan Komparator

Bahan-bahan yang dibutuhkan unuk membuat sensor garis dan comparator

ini adalah :

a. LED superbright warna merah 6 buah b. LED hijau 6 buah

c. Photodioda 6 buah d. Resistor 220Ω 6 buah e. Resistor 10KΩ 6 buah f. Resistor 470Ω 6 buah

g. Variabel resistor 10KΩ 6 buah h. IC LM339 2 buah

i. Jack housing 6 kaki 1 buah

Gambar rancangan schematic dari sensor garis dan comparator ini adalah sebagai berikut:


(67)

Gambar 3.5Schematic Sensor Garis dan Comparator

Untuk mengetahui lebih jelas mengenai proses kerja dari sensor garis dan

comparator ini dapat dilihat pada flowchart di bawah ini :

START

Baca posisi mobil

Baca warna lintasan


(68)

Gambar 3.6 Flowchart Sensor Proximity

Penjelasan :

A. Proses pertama sensor garis ini dimulai dengan pembacaan posisi mobil, acuan yang digunakan oleh mobil adalah garis hitam yang terdapat di rute. Posisi tersebut dapat dilihat pada gambar 3.4

Gambar 3.7 Posisi mobil terhadap garis lintasan

Hitung nilai tegangan Vp= (Rs / (Rs+R)) *

Vcc

Bandingkan nilai Vp dengan nilai Vres

Vp <

Vres Vo = 0

Vo = Vcc

(digital high 1 output) Kirim Vo ke END Y

Tida A


(69)

Penejelasan :

A. Posisi 1. Posisi robot ada di sebelah kiri dari garis yang terdapat di lintasan, yang berarti hanya sensor yang sebelah kanan saja yaitu sensor KA2 yang membaca garis hitam.

B. Posisi 2. Posisi robot ada si sebelah kiri dari garis yang terdapat di lintasan dengan 2 sensor sebelah kanan yaitu sensor KA2 dan KA1 membaca garis hitam sedangkan 4 lainnya membaca background putih.

C. Posisi 3. Posisi robot ada di hampir tengah – tengah yaitu sensor KA1 dan sensor KA membaca garis hitam sedangkan 3 sensor kiri dan 1 sensor kanan yaitu sensor kanan terluar membaca background putih.

D. Posisi 4. Posisi robot ada di tengah – tengah garis hitam, yaitu sensor KA dan KI yang tepat berada di tengah-tengah membaca garis hitam, sedangkan sensor paling kiri dan kanan membaca background putih.

E. Posisi 5. Posisi robot berada hampir di tengah – tengah ketika 2 sensor sebelah kiri yaitu sensor KI dan KI1 membaca garis hitam sedangkan 3 sensor kanan dan sensor kiri terluar yaitu KI2 membaca background putih.

F. Posisi 6. Posisi robot ada di sebelah kanan garis hitam, ketika sensor KI1 dan KI2 membaca garis hitam, sedangkan sensor yang lainnya membaca background putih.


(70)

G. Posisi 7. Posisi robot ada di sebelah kanan garis hitam, yaitu ketika sensor kiri terluar membaca garis hitam sedangkan sensor lainnya membaca background putih.

Secara teori ketujuh posisi inilah yang mungkin terjadi saat mobil melaju di lintasam, tetapi pada prakteknya selain ketujuh posisi di atas ada posisi-posisi lain yang juga mungkin terjadi, yaitu posisi 8 ketika hanya sensor KA1 yang membaca garis hitam, posisi 9 ketika hanya sensor KI1 yang membaca garis hitam, posisi 10 ketika semua sensor membaca garis hitam dan posisi 11 ketika semua sensor membaca background putih.

Posisi – posisi di atas lah yang akan mempengaruhi mobil untuk melakukan aksi (lurus, belok kiri atau kanan), pergerakan mobil tersebut dapat dilihat pada tabel 3.1 :

Tabel 3.1 Pergerakan mobil

Posisi Aksi Robot Roda Kiri Roda Kanan 1 Belok kanan tajam Maju cepat Berhenti 2 Belok kanan sedang Maju cepat Maju lambat 3 Belok kanan ringan Maju cepat Maju sedang 4 Maju lurus Maju cepat Maju cepat 5 Belok kiri ringan Maju sedang Maju cepat 6 Belok kiri sedang Maju lambat Maju cepat 7 Belok kiri tajam Berhenti Maju cepat 8 Belok kanan ringan Maju cepat Maju sedang 9 Belok kiri ringan Maju sedang Maju cepat


(71)

10 Belok kanan tajam Maju cepat Berhenti

11 Kondisional Kondisional Kondisional

B. Setelah mengetahui letak dari mobil, langkah selanjutnya adalah mencari nilai tegangan dari masing-masing photodiode jika photodiode mengenai warna hitam maka resistansi photodiode akan berkurang sedikit, sedangkan jika mengenai warna putih maka resistansinya akan menjadi kecil.

Resistansi photodiode pada umunya adalah sebesar 150KΩ, jika membaca garis hitam maka nilai resistansinya bisa menjadi ±145KΩ sedangkan jika membaca garis putih nilai resistansinya menjadi ±10KΩ. Dengan diketahuinya nilai resistansi dari photodiode dan resistor yang digunakannya, maka kita dapat menghitung nilai tegangan dari masing-masing photodiode dengan menggunakan rumus

Vp = Rs / (Rs + R) * Vcc ………... (3.1) Keterangan :

Vp : Tegangan Photodioda Rs : Resistansi Photodioda R : Resistansi Resistor Vcc : Supply

Diketahui :

Nilai resistansi resistor : 10KΩ. Nilai resistansi photodiode saat warna putih : 10KΩ


(72)

Nilai resistansi photodiode saat warna hitam : 145KΩ Perhitungan :

Saat photodiode membaca warna putih Vp = (10 / (10+10)) * 6V = 3V

Saat photodiode membaca warna hitam Vp = (145 / (145+10)) * 6V = 5.61V

Jadi, nilai tegangan photodiode saat membaca warna putih adalah 3V, dan saat membaca warna hitam adalah 5.61V.

C. Setelah mendapatkan nilai tegangan dari photodiode nilai tersebut dikirim ke rangkaian comparator, dan di rangkaian comparator nilai tersebut dibandingkan dengan nilai tegangan dari variable resistor yang digunakan. Prinsip dari comparator ini adalah jika Vp > Vres maka Vo = Vcc (digital high 1 output), sedangkan jika Vres < Vo maka Vo = 0 (digital low 0 output). Untuk mencari nilai tegangan dari variable resistor kita bisa mencari rata-rata dari tegangan photodiode yang akan dibandingkan, sehingga bisa didapatkan nilai sebagai berikut :

Vres = (3+5.61) / 2 = 4.305V

Setelah mengetahui nilai tegangan dari variable resistor, maka tegangan dari photodiode dibandingkan dengan Vres tersebut, untuk hasilnya dapat dilihat pada tabel 3.2

Tabel 3. 2 Hasil perbandingan Vp dengan Vres

Vp Vres Vo


(73)

3 4,306 0 (0 digital output)

Hasil dari perbandingan ini kemudian dikirmkan ke ATMega 8535 untuk kemudian diproses dan dikirmkan ke driver motor sebgai interupsi pergerakan roda (maju, mundur, berhenti).

3.4.3 Perancangan Sensor Jarak

Sensor jarak ini berfungsi untuk mendeteksi rintangan yang berada di depan robot.

Berikut ini adalah gambar schematic rangkaian sensor jarak:

.

Gambar 3.8Schematic Sensor Jarak

Sensor jarak ini bekerja dengan cara mengirimkan cahaya inframerah jika terdapat benda atau rintangan di depannya maka cahaya itu akan memantul dan pantulan cahaya tersebut diterima oleh receiver sensor cahaya untuk kemudian hasil dari sensor tersebut yang berupa tegangan analog dikirim ke mikrokontroler melalui PORTA atau Port ADC

3.4.4 Perancangan Rangkaian Driver Motor

Driver ini berfungsi untuk memberikan interuksi kepada motor dc untuk melakukan sebuah aksi, baik itu maju, mundur, ataupun berhenti.


(74)

Bahan-bahan yang dibutuhkan untuk membuat rangkaian ini adalah sebagai berikut :

a. Transistor 4 buah b. Resistor 330Ω 6 buah c. Optocoupler 3 buah d. Diode 4148 2 buah

Gambar rancangan schematic dari driver motor ini adalah sebagai berikut:

Gambar 3.9Schematic Driver Motor

Keterangan :

Proses kendali dalam hal ini ditentukan oleh logika dari OUT_KIRI_A, OUT_KIRI_B, dan REM_KIRI, di mana agar motor tersebut bekerja, maka kondisi OUT_KIRI_A, OUT_KIRI_B, dan REM_KIRI harus saling berbeda logika. Motor akan maju OUT_KIRI_A bernilai 0 dan OUT_KIRI_B bernilai 1, motor akan mundur apabila OUT_KIRI_A bernilai 1 dan OUT_KIRI_B bernilai 0, dan motor akan berhenti jika REM_KIRI bernilai 0.

Berikut ini adalah tabel kebenaran motor driver, yang digunakan untuk mengetahui proses input, output dan aksi yang diberikan ke motor.


(75)

Tabel 3.3 Tabel Kebenaran Driver Motor Kiri

Out A Out B Rem Aksi Motor

0 1 1 Maju 1 0 1 Mundur

X X 0 Berhenti

3.5 Perancangan Mekanik Mobil

Untuk membuat mekanik robot bahan – bahan yang dibutuhkan adalah: 1. Acrylic

2. Motor DC 6 Volt 2 buah 3. Gear box 1 buah

4. Ban berdiameter 4 – 5 cm 2 buah

5. Rangkaian – rangkaian sensor proximity, comparator LM339, driver motor yang sudah dibuat sebelumnya

6. Kabel pelangi ± 45cm 7. Connector 6 pin 4 buah 8. Black Housing 1 pin 10 buah 9. Baterai 1,5 V 6 buah

Berikut gambar dari rancangan robot mobil :


(76)

Penjelasan :

Bagian bawah robot, terdapat rangkaian sensor proximity yang kegunaannya membaca garis hitam dan putih. Sensor proximity terdiri dari photodiode dan lampu led superbright, gearbox dan sensor inframerah

Gambar 3.11 Rancangan Robot mobil tampak atas

Penjelasan :

Dibagian atas atau tepatnya di lantai 2 bagian robot terdapat beberapa rangkaian yaitu rangkaian ATMega8535 yang terdiri dari mikrokontroller ATMega8535 dan minsys tempat mikrokontroller ditancapkan. Rangkaian motor driver motor, power supply, LCD dan Comparator

3.6 Proses Perancangan Rute Simulasi

Rute simulasi ini dibuat untuk menguji apakah mobil dapat berjalan sebagaimana mestinya atau tidak. Bahan – bahan yang diperlukan untuk membuat rute ini adalah:


(77)

A. Papan triplek dengan panjang 120cm dan lebar 160cm. B. Cat putih untuk membuat alas berwarna putih pada triplek. C. Kertas hitam untuk membuat jalur lintasannya.

D. Kertas merah, kuning, hijau.

E. Kayu 10 M untu membuat list supaya rute lebih kuat dan stabil. Berikut ini adalah gambar perancangan rute simulasi yang akan dibuat:


(78)

3.7 Proses Perancangan Perangkat Lunak

tidak ya

tidak

ya

Gambar 3.13 Diagram Alir perangkat lunak

Start

Inisialisasi Port

Mobil dijalankan

Pembacaan

sensor IR Pemrosesan data Sensor IR

Convert data ke

PWM PWM > 0 End

Keluaran ke Motor Jarak >= 60

Pembacaan sensor garis

Pemrosesan data Sensor garis

Direksi = Putar balik kanan Berikan nilai

PWM Keluaran ke


(1)

 Pembacaan jarak dari sensor infra merah di robot tidak begitu dipengaruhi oleh warna benda

 Robot mobil bisa membedakan warna hitam dan putih sehingga robot mobil bisa berjalan di atas garis hitam

b. Kekurangan

 Pembacaan garis hitam dipengaruhi oleh cahaya sehingga ketika terkena sedikit cahaya bisa membuat robot berjalan tidak teratur

 Robot hanya bisa mengenali benda dengan ketinggian di atas 40 derajat dari permukaan rute robot mobl

 Besarnya tegangan input yang berasal dari sumber tegangan (baterai) mempengaruhi kinerja robot dan sensor pada robot

 Kemiringan benda atau rintangan mempengaruhi pembacaan jarak dari sensor inframerah

 Robot hanya bisa berbelok kanan saat terdapat perempatan dan berjalan lurus ketika ada pertigaan


(2)

BAB VI

PENUTUP

6.1 Kesimpulan

Dari penjelasan yang telah diuraikan, maka dapat disimpulkan :

1. Komponen terpenting yang dipergunakan pada Tugas Akhir Rancang Bangun Robot Pengikut Garis dan Pendeteksi Halang Rintang Berbasis Mikrokontroler ATMega8535 adalah dengan menggunakan salah satu jenis Mikrokontroller yaitu ATMega8535. Dengan menggunakan Mikrokontroller ATMega8535 tersebut dapat diketahui bahwa dalam merancang sebuah robot dapat ditentukan gerak laju robot tersebut secara otomatis dengan program yang telah diinputkan ke dalam Minsys ATMega8535

2. Semakin jauh jarak rintangan maka output tegangan analog dari sensor akan semakin kecil dan semakin dekat jarak rintangan maka output tegangan analog dari sensor akan semakin besar.

6.2 Saran

Dalam pengalaman yang didapat selama penyelesaian tugas akhir ini dan untuk mengembangkan dan meningkatkan prinsip kerja dari alat yang telah dibuat maka beberapa saran yang diajukan adalah :

1. Meningkatkan spesifikasi alat yang berupa sensor pendeteksi halangan supaya robot dapat mendeteksi halangan yang letaknya lebih jauh dari sebelumnya.


(3)

2. Agar diperhatikan pemilihan karakteristik komponen – komponen yang dipakai pada pembuatan rangkaian supaya mendapatkan hasil yang baik dan tidak mengeluarkan biaya yang cukup besar.

3. Menyempurnakan pembacaaan sensor garis agar robot mampu membedakan rute yang memiliki belokan ke kanan dan kekiri.


(4)

DAFTAR PUSTAKA

1. “Robot” http://id.wikipedia.org/wiki/Robot (diakses tanggal 12 Maret 2010)

2. Endra Pitowarno, ”Robotika Desain, Kontrol, dan Kecerdasan Buatan”, Andi, Yogyakarta, 2006.

3. Agus Bejo, ”C dan AVR Rahasia Kemudahan Bahasa C dalam Mikrokontroler ATMega8535”, Graha Ilmu, Yogyakarta, 2008.

4. ”Papan Sirkuit Cetak” http://id.wikipedia.org/wiki/Papan_sirkuit_cetak (diakses tanggal 12 Maret 2010)

5. Prihono, ”Jago Elektronika Secara Otodidak”, Kawan Pustaka, Jakarta, 2009.

6. “Sensor Optocoupler”

http://elektronika-elektronika.blogspot.com/2007/03/ sensor-optocoupler.html (diakses tanggal 04 Mei 2010)

7. “SharpGP2D12Snrs.pdf”www.parallax.com/dl/docs/prod/acc/SharpGP2D

12Snrs.pdf (diakses tanggal 26 Maret 2010)

8. “Tips Merawat Layar LCD”

http://juansyah.wordpress.com/2010/03/24/tips-merawat-layar-lcd/ (diakses tanggal 4 Mei 2010)

9. “Mengenal sensor dan Actuator Motor DC”

http://nosalpratama.blogspot.com/2008/12/mengenal-sensor-dan-actuator.html (diakses tanggal 05 Mei 2010)


(5)

LAMPIRAN

Cara Menghitung tegangan ADC : Vin

ADC = x 256 Vref

Dimana :

ADC = Nilai output digital sensor

256 = Resolusi ADC pada mikrokontroler AVR Atmega8535 Vin = Tegangan analog input sensor dari pendeteksian Vreff = Tegangan Referensi

Cara menghitung resolusi mikrokontroler adalah sebagai berikut :

Resolusi mikrokontroler = 2n

n = nilai pangkat yang berasal dari nilai bit mikrokontroler

sehingga dengan rumus di atas di dapat nilai resolusi mikrokontroler dengan asumsi nilai bit pada mikrokontroler adalah 8 bit sebagai berikut : Resolusi mikrokontroler = 28 = 256

Jadi nilai resolusi mikrokontroler adalah sebesar 256

Contoh penghitungan tegang ADC. Jika diketahui Vin (tegangan analog input sensor) yang diperoleh dari pengukuran jarak bahwa untuk jarak 8 cm maka tegangan input sensor adalah 2,6 Volt, kemudian tegangan referensi yang berasal dari Vcc adalah 5 Volt maka tegangan output dapat atau nilai ADC dapat

diketahui dengan memasukkan nilai – nilai tersebut :

2,6


(6)

5