Top Banner
RANCANG BANGUN ROBOT CERDAS SEMUT MENGGUNAKAN MIKROKONTROLER AVR ATMEGA 16 UNTUK MENENTUKAN LINTASAN TERPENDEK SKRIPSI OLEH MUHAMAD DWISNANTO PUTRO NIM: 050213037 UNIVERSITAS SAM RATULANGI FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO MANADO 2010
150

Perancangan Robot Cerdas Semut ATMEGA 16

Jun 30, 2015

Download

Documents

qoustic
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Perancangan Robot Cerdas Semut ATMEGA 16

RANCANG BANGUN ROBOT CERDAS SEMUT

MENGGUNAKAN MIKROKONTROLER AVR ATMEGA 16 UNTUK MENENTUKAN LINTASAN TERPENDEK

SKRIPSI

OLEH

MUHAMAD DWISNANTO PUTRO NIM: 050213037

UNIVERSITAS SAM RATULANGI FAKULTAS TEKNIK

JURUSAN TEKNIK ELEKTRO MANADO

2010

Page 2: Perancangan Robot Cerdas Semut ATMEGA 16

i

RANCANG BANGUN ROBOT CERDAS SEMUT MENGGUNAKAN MIKROKONTROLER AVR ATMEGA 16

UNTUK MENENTUKAN LINTASAN TERPENDEK

SKRIPSI

Disusun Sebagai Salah Syarat untuk Memperoleh Gelar sarjana Teknik

Pada Program Studi S1 Teknik Elektro di Jurusan Teknik Elektro

Fakultas Teknik Universitas Sam Ratulangi

Oleh

Muhamad Dwisnanto Putro

NIM : 050213037

UNIVERSITAS SAM RATULANGI

FAKULTAS TEKNIK

JURUSAN TEKNIK ELEKTRO

MANADO

2010

Page 3: Perancangan Robot Cerdas Semut ATMEGA 16

ii

LEMBAR PENGESAHAN

Judul Skripsi : Rancang Bangun Robot Cerdas Semut Menggunakan

Mikrokontroler AVR ATMEGA 16 Untuk Menentukan

Lintasan Terpendek

Nama : Muhamad Dwisnanto Putro

NIM : 050213037

Program Studi : S1 Teknik Elektro

Jurusan : Teknik Elektro Universitas Sam Ratulangi

Menyetujui:

Pembimbing I, Pembimbing II,

Vecky C. Poekoel, ST, MT. Jane Litouw,ST NIP: 19670510 199702 1 001 NIP: 19800611 200312 2 002

Ketua Jurusan Teknik Elektro Unsrat,

Ir. Hans Wowor, M.Kom NIP: 19581017 198303 1 001

Dekan Fakultas Teknik Universitas Sam Ratulangi

Prof. DR. Ir. Ellen J. Kumaat, MSc, DEA NIP: 19600709 198603 2 001

Tanggal Lulus :

Page 4: Perancangan Robot Cerdas Semut ATMEGA 16

iii

Skripsi ini dipersembahkan kepada setiap insan yang dapat dengan tulus

dan ikhlas menghargai setiap Pengorbanan .

Untuk ALLAH SWT

Untuk Rasulullah Muhammad SAW

Untuk Papa dan Mama Tercinta

Untuk Keluarga Tercinta

Untuk Kekasih Hati Tercinta

Motto:

“Tak Ada Yang Tak Mungkin Di Dunia Ini”

Page 5: Perancangan Robot Cerdas Semut ATMEGA 16

iv

ABSTRAK

Robot cerdas semut merupakan robot line follower otomatis yang memiliki

kemampuan untuk mengikuti garis yang telah ditandai pada permukaan. Lintasan

robot dengan pola persimpangan berwarna putih digambarkan dalam bidang kartesian

(3x3) dengan 9 titik sebagai titik asal dan titik tujuan. Metode yang digunakan Depth

– First Search. Sedangkan untuk mempresentasikan keadaan menggunakan pohon

pencarian dalam mencari lintasan dari suatu titik asal menuju titik tujuannya. Robot

cerdas semut menggunakan mikrokontroler AVR ATMEGA16 sebagai pengontrol,

sensor proximity berupa 6 pasang led dan photodiode, SPC DC motor sebagai

pengendali motor DC dan untuk mekaniknya menggunakan sistem kaki hexapod

dengan motor servo HS-311 continous sebagai aktuatornya. Bahasa pemrograman

yang digunakan adalah bahasa C Code vision AVR.

Robot cerdas semut dapat berjalan secara stabil dan handal untuk mencari

lintasan terpendek dalam bidang kartesian (3x3) dengan 9 titik sebagai titik asal dan

titik tujuan dari robot semut pada lintasan garis berwarna putih.

Kata kunci: Robot Cerdas Semut, Mikrokontroler AVR ATMEGA16,

Depth – First Search

Page 6: Perancangan Robot Cerdas Semut ATMEGA 16

v

ABSTRACT

Intelligent robot ant are line follower robot automatically have the ability to

follow the marked lines on the surface. Robot circuit with white crossing pattern

described in the field kartesian (3x3) with 9 points as the home and goal point. The

method used Depth - First Search. As for present situation using a search tree in

finding a path from a point of origin to point of goal. Intelligent robot ants using AVR

microcontroller ATMEGA16 as controllers, proximity sensors in the form of 6 pairs

led and Photodiode, SPC DC motor as a DC motor controller and for mechanical

hexapod leg system with servo motor HS-311 continuous as aktuator. Programming

language used was C Code AVR vision.

Intelligent robot ants can walk at a steady and reliable search for the shortest

path in circuit kartesian (3x3) with 9 points as the home and the goal point of robot

ants on the path of the white lines.

Keywords: intelligent robots ants, ATMEGA16 AVR microcontroller,

Depth - First Search

Page 7: Perancangan Robot Cerdas Semut ATMEGA 16

vi

KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada ALLAH SWT, karena atas segala

rahmat, hidayah dan anugerahnya, sehingga penulis dapat menyelesaikan penulisan

skripsi ini.

Tujuan penulisan skripsi ini adalah sebagai salah satu syarat untuk

memperoleh gelar Sarjana Teknik pada program studi S1 Teknik Elektro fakultas

Teknik Universitas Sam Ratulangi Manado. Skripsi ini merupakan hasil penelitian

yang dilakukan penulis dengan judul “ RANCANG BANGUN ROBOT CERDAS

SEMUT MENGGUNAKAN MIKROKONTROLER AVR ATMEGA 16

UNTUK MENENTUKAN LINTASAN TERPENDEK ” . Penulis dapat

menyelesaikan penelitian ini atas bantuan dari berbagai pihak, untuk itu pada

kesempatan ini penulis ingin mengucapkan terima kasih dan penghargaan kepada:

1. Vecky C. Poekoel, ST, MT. dan Jane Litouw,ST. selaku dosen pembimbing

yang telah memberi banyak bantuan, saran, dan kritikan dalam penulisan

skripsi ini.

2. Prof. DR. Ir. Ellen J. Kumaat, MSc, DEA., selaku Dekan Fakultas Teknik

Unsrat.

3. Ir. Hans F. Wowor, M.Kom., selaku Ketua Jurusan Teknik Elektro Fakultas

Teknik Unsrat.

4. Alwin Sambul, S.T., selaku Ketua Program Studi S1 Teknik Elektro Fakultas

Teknik Unsrat.

5. Enci Olvie dan staff administrasi jurusan teknik elektro fakultas teknik, atas

segala bantuan dalam pengurusan administrasi.

6. Seluruh dosen konsentrasi minat teknik kendali UNSRAT, yang memberikan

dukungan dan masukan terhadap penulisan skripsi ini.

7. Papa dan ibu tercinta, yang telah berkorban begitu banyak baik materi dan

tenaga serta yang selalu mendoakan dan memberi dukungan (pengorbanan

kalian tidak sia-sia….)

Page 8: Perancangan Robot Cerdas Semut ATMEGA 16

vii

8. Eyang, Kakak dan saudara-saudara (keluarga) tercinta lainnya, yang selalu

memberi perhatian lebih untuk menyelesaikan skripsi ini

9. Seseorang yang menjadi sumber inspirasi dalam pembuatan skripsi ini,

terimakasih telah mendampingi penulis dengan sabar dan penuh dukungan.

10. Teman-teman komunitas teknik kendali angkatan 2004, 2005, 2006 dan 2007,

untuk segala bantuan dan kritikan kalian dalam penulisan skripsi ini

11. Seluruh angkatan 2005 Fakultas Teknik Jurusan Teknik Elektro atas segala

kenangan selama studi.

12. Semua pihak yang tidak tersebut namanya yang selalu membantu dan

mendoakan penulis dalam penulisan skripsi ini.

Penulis menyadari bahwa masih banyak terdapat kekurangan di dalam

penulisan ini yang disebabkan karena terbatasnya kemampuan penulis, untuk itu

masukan berupa saran dan perbaikan sangat penulis harapkan untuk lebih baiknya

tulisan ini dan semoga tulisan ini akan bermanfaat bagi kita sekalian.

Manado, 5 Januari 2010

Penulis

Page 9: Perancangan Robot Cerdas Semut ATMEGA 16

viii

DAFTAR ISI

KATA PENGANTAR..................................................................................... vi

DAFTAR ISI...... ............................................................................................. viii

DAFTAR TABEL........................................................................................... xii

DAFTAR GAMBAR...................................................................................... xiv

DAFTAR NOTASI......................................................................................... xvii

DAFTAR ISTILAH........................................................................................ xviii

DAFTAR LAMPIRAN................................................................................... xvix

BAB I PENDAHULUAN

1.1. Latar Belakang ...................................................................... 1

1.2. Rumusan Masalah................................................................. 2

1.3. Batasan Masalah…............................................................... 2

1.4. Tujuan………………............................................................ 2

1.5. Manfaat……………….......................................................... 3

BAB II DASAR TEORI

2.1. Sistem Kontrol Robotik…..................................................... 4

2.1.1. Sistem Kontrol ON – OF...…………………………… 5

2.1.2. Sistem Kontrol Proposional………………………….. 6

2.1.3. Sistem Kontrol Integral (I) dan Kontrol PI…………… 6

2.1.4. Sistem Kontrol Derivatif, Kontrol PD

dan Kontrol PID……………………………………….. 8

2.2. Kecerdasan buatan................................................................. 8

2.2.1. Pengertian Kecerdasan Buatan..................................... 8

2.2.2. Perbedaan Kecerdasan Buatan & Kecerdasan Alami… 8

2.2.3. Aplikasi-aplikasi Dari kecerdasan buatan……………. 9

2.2.4. Graph Keadaan………………………………………... 10

2.2.5. Pohon Pelacakan / Pencarian …………………………. 11

2.3. Teknik-Teknik Kecerdasan Buatan…………………………... 11

2.3.1. Metode Pelacakan/Pencarian (Searching)……………... 12

Page 10: Perancangan Robot Cerdas Semut ATMEGA 16

ix

2.3.1.1 Pencarian Buta (blind search) ………………………... 13

2.3.1.2 Heuristic Search ……………………………………… 15

2.4. Sistem Aktuator Pada Robot…………………………………. 15

2.4.1. Sistem Roda……………………………………………. 15

2.4.2. Sistem Kaki……………………………………………. 16

2.4.3. Sistem Tangan…………………………………………. 17

2.4.4. Mekanik Robot………………………………………… 19

2.4.5. Motor Servo DC………………………………………. 20

2.5. DT-AVR Low Cost Micro System……………………………. 21

2.5.1. Mikrokontroler AVR ATMEGA16…………………… 23

2.5.1.1. Arsitektur ATMEGA16…………………………….. 24

2.5.1.2. Fitur ATMEGA16…………………………………... 24

2.5.1.3. Konfigurasi Pin ATMEGA16……………………… 25

2.6. SPC DC Motor………………………………………………… 26

2.7.1. Dirver H-Bridge IC L293d…………………………… 27

2.7. Sensor proximity……………………………………………… 29

2.8. Bahasa Pemrograman Code Vision AVR……………………. 31

2.9. Bahasa Pemograman C……………………………………….. 32

2.9.1. Tipe Data Dasar………………………………………. 32

2.9.2. Aturan pendefinisian variable………………………… 33

2.9.3. Operator……………………………………………….. 34

2.9.4. Preprocessor…………………………………………… 35

BAB III METODE PENELITIAN

3.1. Tempat Dan Waktu Penelitian………………………………. 37

3.2. Prosedur Penelitian………………………………………….. 37

3.3. Alat dan Bahan………………...……………………………. 37

3.4. Konsep dasar perancangan alat…………………………….. 38

3.5. Desain robot cerdas semut……………….………………….. 40

3.5.1. Perancangan Perangkat Keras………………………… 40

3.5.1.1. Perancangan Perangkat Keras Pengontrol

Robot Cerdas Semut……………….……………….. 42

Page 11: Perancangan Robot Cerdas Semut ATMEGA 16

x

3.5.1.2. Perancangan Perangkat Keras Sensor

Robot Cerdas Semut…………………….……………. 46

3.5.1.3. Perancangan Perangkat Keras Aktuator

Robot Cerdas Semut..……………..……………….. 50

3.5.1.4. Perancangan Perangkat Keras Mekanik

Robot Cerdas Semut……………………………….. 51

3.5.1.5. Perancangan Perangkat Keras Catu Daya

Robot Cerdas Semut……………………………….. 51

3.5.1.6. Perancangan Perangkat Keras Push Button

Robot Cerdas Semut……………………………….. 52

3.5.2. Perancangan Perangkat Lunak dan Diagram Alir……….……. 53

3.5.2.1. Perancangan Perangkat Lunak

Code Vision AVR………………………………….. 53

3.5.2.2. Perancangan Perangkat Lunak Pengontrol

Robot Cerdas Semut...……………………………… 56

3.5.2.3. Perancangan Perangkat Lunak Sensor

Robot Cerdas Semut…………………….……………. 61

3.5.2.4. Perancangan Perangkat Lunak Aktuator

Robot Cerdas Semut..……………..……………….. 66

3.5.1.6. Perancangan Perangkat Lunak Push Button

Robot Cerdas Semut……………………………….. 72

3.6. Lintasan Robot Cerdas Semut………………………………. 73

3.7. Perancangan Robot Secara Keseluruhan……………………. 73

BAB IV HASIL DAN PEMBAHASAN

4.1. Pengujian Sistem Input………………………………….….... 76

4.2. Pengujian Sistem Output…………………………………...… 78

4.3. Pengujian Strategi Robot Cerdas Semut..…………………… 83

4.3.1. Pencarian Rute Terpendek Untuk Titik A……………. 83

4.3.1.1. Titik A ke Titik B…………………………………… 83

4.3.1.2. Titik A ke Titik C…………………………………… 85

Page 12: Perancangan Robot Cerdas Semut ATMEGA 16

xi

4.3.1.3. Titik A ke Titik D…………………………………… 87

4.3.1.4. Titik A ke Titik E…………………………………… 89

4.3.1.5. Titik A ke Titik F…………………………………… 91

4.3.1.6. Titik A ke Titik G…………………………………… 93

4.3.1.7. Titik A ke Titik H…………………………………… 95

4.3.1.8. Titik A ke Titik I…………………………………….. 97

4.3.2. Pencarian Rute Terpendek Untuk Titik B……………. 100

4.3.3. Pencarian Rute Terpendek Untuk Titik C……………. 100

4.3.4. Pencarian Rute Terpendek Untuk Titik D…………… 101

4.3.5. Pencarian Rute Terpendek Untuk Titik E……………. 102

4.3.6. Pencarian Rute Terpendek Untuk Titik F……………. 102

4.3.7. Pencarian Rute Terpendek Untuk Titik G……………. 103

4.3.8. Pencarian Rute Terpendek Untuk Titik H……………. 104

4.3.9. Pencarian Rute Terpendek Untuk Titik I…………….. 104

4.4. Pembahasan……………………………………………………. 105

4.4.1. Pembahasan Sistem Input…………………………….. 105

4.4.2. Pembahasan Sistem Output…………………………… 106

4.4.3. Pembahasan Strategi Robot Cerdas Semut…………… 107

BAB V PENUTUP

5.1. Kesimpulan……………………………………………………….. 109

5.2. Saran………………………………………………………………. 110

DAFTAR PUSTAKA…………………………………………………………… 111

LAMPIRAN……………………………………………………………………… 113

Page 13: Perancangan Robot Cerdas Semut ATMEGA 16

xii

DAFTAR TABEL

Nomor Teks Halaman

2.1 Fungsi Pin-Pin Pada IC L293D……………………… 29

2.2 Ukuran tipe memori data…………………………….. 32

2.3 Ukuran tipe memori data int…………………………. 33

3.1 Hubungan SPC DC motor dengan DT AVR Low

Cost Micro System……………………………….…… 44

3.2 Hubungan sensor proximity dengan DT AVR Low

Cost Micro System …………………………………… 48

3.3 Hubungan 9 push button dengan DT AVR Low

Cost Micro System …………………..……………….. 52

3.4 Posisi Sensor ………………………………………… 61

3.5 Aksi Pergerakan Robot……………………………….. 66

4.1 Pembacaan sensor menggunakan LED………………. 77

4.2 Pengujian Gerak Motor DC dengan PWM…………… 79

4.3 Pengujian Motor DC dengan PWM………………….. 81

4.4 Lintasan titik A ke titik B…………………………….. 83

4.5 Lintasan titik A ke titik C…………………………….. 85

4.6 Lintasan titik A ke titik D…………………………….. 87

4.7 Lintasan titik A ke titik E…………………………….. 89

4.8 Lintasan titik A ke titik F…………………………….. 91

4.9 Lintasan titik A ke titik G…………………………….. 93

4.10 Lintasan titik A ke titik H…………………………….. 95

4.11 Lintasan titik A ke titik I…………………………….. 97

4.12 Lintasan terpendek untuk titik B……………………... 100

4.13 Lintasan terpendek untuk titik C……………………... 100

4.14 Lintasan terpendek untuk titik D……………………... 101

4.15 Lintasan terpendek untuk titik E……………………... 102

4.16 Lintasan terpendek untuk titik F……………………... 102

Page 14: Perancangan Robot Cerdas Semut ATMEGA 16

xiii

4.17 Lintasan terpendek untuk titik G……………………... 103

4.18 Lintasan terpendek untuk titik H……………………... 104

4.19 Lintasan terpendek untuk titik I…………………….... 105

4.20 Performansi Metode Pencarian Untuk Titik A………... 107

Page 15: Perancangan Robot Cerdas Semut ATMEGA 16

xiv

DAFTAR GAMBAR Nomor Teks Halaman 2.1 Kontrol Robot Loop Terbuka........................................... 4

2.2 Kontrol Robot Loop Tertutup……………………………… 5

2.3 Kontrol Robot Loop Tertutup ON/OFF............................. 5

2.4 Kontrol Robot Proporsional………………………………... 6

2.5 Kontrol PI pada motor DC ………………………………... 7

2.6 Kontrol PD pada Motor DC ………………………………. 7

2.7 Kontrol PID pada Motor DC……………………………… 8

2.8 Contoh Graph Keadaan................................................... 10

2.9 Contoh Pohon Pencarian….……………………………….. 11

2.10 Contoh Breadth First Search….………………………….... 13

2.11 Contoh Depth First Search………………………………… 14

2.12 Sistem Roda Pada Robot Mobil…..……………………...... 16

2.13 Sistem Kaki Pada Robot Hexapod..………………………... 16

2.14 Sistem Tangan……………...………………………………. 17

2.15 Penggunaan Transmisi Gear Hubungan Langsung……….... 18

2.16 Penggunaan Transmisi Gear Dengan Hubungan Ohmic...... 18

2.17 Gear Belt……………………..……………………………. 19

2.18 Motor Servo HS-311………………………………………. 20

2.19 Nilai Pulsa Untuk Menggerakan Motor Servo.…………... 21

2.20 Tata Letak DT-AVR Low Cost Micro System …………… 22

2.21 Blok Diagram Fungsional ATMEGA16….…………….…. 23

2.22 Pin ATMEGA16……..………………………………..…... 25

2.23 Tata Letak Komponen SPC DC Motor ..…………………. 26

2.24 IC L293D ………………………….……………………… 28

2.25 Diagram Blok IC L293D …………………………………. 29

2.26 Prinsip Kerja Sensor Proximity ……………………..……. 30

2.27 Rangkaian Infrared Proximity Sebagai Sensor Garis .……. 30

Page 16: Perancangan Robot Cerdas Semut ATMEGA 16

xv

2.28 Sensor Dengan Rangkaian Pembanding …….…….……… 31

3.1 Diagram Blok Robot Cerdas Semut……………………..… 39

3.2 Gambaran Sistem Robot Cerdas Semut.………….……….. 39

3.3 Plat Almunium Bawah Robot Cerdas Semut Tampak Atas. 40

3.4 Plat Almunium Atas Robot Cerdas Semut Tampak Atas…. 41

3.5 Robot Line Follower Tampak Atas…..……………………. 41

3.6 Robot Line Follower Tampak Samping..………………….. 42

3.7 Skema DT-AVR Low Coast Micro System……………….. 43

3.8 Skema SPC DC Motor…………………………………….. 45

3.9 Jarak Antara Sensor Proximity………..……………………. 46

3.10 Robot Dengan 6 Sensor…………………………………….. 47

3.11 Rangkaian Sensor Proximity............................................... 49

3.12 Hubungan Motor DC dengan SPC DC Motor..................... 50

3.13 Sistem Kaki Robot Cerdas Semut........................................ 51

3.14 Rangkaian Baterai Untuk Mikrokontroler….………………. 52

3.15 Rangkaian 9 Push Button………………….……………….. 53

3.16 Diagam Alir Program Utama…….…………………………. 56

3.17 Diagram Alir Inisialisasi………..…………………..………. 58

3.18 Diagram Alir Persimpangan……..…………………………. 59

3.19 Diagram Alir Pencarian Lintasan Terpendek...…………….. 60

3.20 Kemungkinan Posisi Sensor Proximity Pada Garis …...….. 61

3.21 Diagram Alir Baca Sensor…...…………………………….. 62

3.22 Diagram Alir Jalankan Robot ……………………………... 67

3.23 Diagram Alir Sub Rutin Belok Kanan Dan Belok Kiri…… 71

3.24 Diagram Alir Sub Rutin Pushbutton………………………. 72

3.25 Lintasan Robot Cerdas Semut……………………………... 73

3.26 Diagram Skematik Sistem Robot Cerdas Semut.……….…. 74

3.27 Foto Robot Cerdas Semut Yang Dirancang Tampak Atas… 75

3.28 Foto Robot Cerdas Semut Yang Dirancang Tampak

Samping…………………………………………………….. 75

Page 17: Perancangan Robot Cerdas Semut ATMEGA 16

xvi

4.1 Rangkaian Sensor Proximity Dan LED…………………….. 77

4.2 Pohon Pencarian Rute Terpendek Titik A Ke Titik B..….... 84

4.3 Strategi Penentuan Rute Terpendek Titik A Ke Titik C.….. 84

4.4 Pohon Pencarian Rute Terpendek Titik A Ke Titik C…….. 86

4.5 Strategi Penentuan Rute Terpendek Titik A Ke Titik C…... 86

4.6 Pohon Pencarian Rute Terpendek Titik A Ke Titik D..…… 88

4.7 Strategi Penentuan Rute Terpendek Titik A Ke Titik D….. 88

4.8 Pohon Pencarian Rute Terpendek Titik A Ke Titik E..…… 90

4.9 Strategi Penentuan Rute Terpendek Titik A Ke Titik E…… 90

4.10 Pohon Pencarian Rute Terpendek Titik A Ke Titik F..…… 92

4.11 Strategi Penentuan Rute Terpendek Titik A Ke Titik F…… 92

4.12 Pohon Pencarian Rute Terpendek Titik A Ke Titik G..…… 94

4.13 Strategi Penentuan Rute Terpendek Titik A Ke Titik G…… 94

4.14 Pohon Pencarian Rute Terpendek Titik A Ke Titik H..…… 96

4.15 Strategi Penentuan Rute Terpendek Titik A Ke Titik H…… 96

4.16 Pohon Pencarian Rute Terpendek Titik A Ke Titik I..…….. 98

4.17 Strategi Penentuan Rute Terpendek Titik A Ke Titik I……. 99

4.18 Grafik Pengujian Motor DC dengan PWM………………… 106

Page 18: Perancangan Robot Cerdas Semut ATMEGA 16

xvii

DAFTAR NOTASI

G(s) = Fungsi Alih Kontroler

H(s) = Fungsi Alih Dinamik Robot

r = Input

u = Sinyal Output Kontroler

y = Output

θ ref = Kecepatan Referensi

θ act = Kecepatan Aktual

Kp = Konstanta Proporsional

Ki = Konstanta Integral

Kd = Konstanta Derivatif

b = Faktor Percabangan

m = Kedalaman Maksimum Dari Pohon Pencarian

n = Jumlah Level

N1 = Jumlah Gigi Pada Gir Poros Motor

N2 = Jumlah Gigi Pada Poros Output

T1 = Torsi Pada Poros Motor

T2 = Torsi Pada Poros Output

Vout = Tegangan Output

Vcc = Tegangan Referensi

Vs = Tegangan Sumber

Page 19: Perancangan Robot Cerdas Semut ATMEGA 16

xviii

DAFTAR ISTILAH

Line Follower : Pengikut Garis

Continous : Putaran Kontinyu

Nonflexible : Tidak Flexible

Proximity : Sensor Pendekatan

Steady State : Keadaan Tenang

Artificial Intelegence : Kecerdasan Buatan

Graph : Grafik

Fuzzy logic : Logika Fuzzy

Level : Tingkatan

Power : Tegangan sumber

Average speed : Kecepatan Rata-Rata

Weight : Tinggi

Torque : Torsi

Size : Ukuran

Centre : Tengah

Delay : Waktu Tunda

Int : Tipe Data Integer

open loop : Lup terbuka

close loop : Lup Tertutup

Input : Masukan

Output : Keluaran

Software : Perangkat Lunak

Hardware : Perangkat Keras

PWM : Pulse Wide Modulation

Page 20: Perancangan Robot Cerdas Semut ATMEGA 16

xix

DAFTAR LAMPIRAN

Lampiran 1 Listing Program Untuk mencari lintasan terpendek pada titik A

Lampiran 2 Data Sheet ATMEGA16

Lampiran 3 Data Sheet L293D

Page 21: Perancangan Robot Cerdas Semut ATMEGA 16

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Semut merupakan mahluk mungil yang sangat terampil, sangat sosial, dan

sangat cerdas. teknologi, kerja gotong-royong, strategi militer, jaringan

komunikasi yang maju, hierarki yang rasional dan cerdik, disiplin, perencanaan

kota yang sempurna dalam bidang-bidang ini, yang manusia mungkin jarang

cukup berhasil, namun semut selalu sukses. Secara alamiah koloni semut mampu

menemukan rute terpendek dalam perjalanan dari sarang ke tempat-tempat sumber

makanan. Koloni semut dapat menemukan rute terpendek antara sarang dan

sumber makanan berdasarkan jejak kaki pada lintasan yang telah dilalui.

Teknologi robot pada masa sekarang ini berkembang dengan pesat

mengimbangi kemajuan teknologi yang ada. Perkembangan robot tidak hanya

pada kecanggihan mekaniknya saja, melainkan juga sistem kendalinya

menggunakan sistem komputerisasi. Pembuatan robot-robot dengan keistimewaan

khusus sangat berkaitan erat dengan adanya kebutuhan dalam dunia industri

modern yang menuntut adanya suatu alat dengan kemampuan yang tinggi yang

dapat membantu menyelesaikan pekerjaan manusia ataupun untuk menyelesaikan

pekerjaan yang tidak mampu diselesaikan oleh manusia. Salah satu jenis robot

sederhana adalah robot line follower. Namun berbagai macam kekurangan yang

dimiliki dari sistem robot ini antara lain robot line follower belum mampu

menentukan jalan sendiri, yang cenderung kaku atau nonflexible. Dalam

perkembangannnya robot line follower dikembangkan lebih cerdas dan mampu

berfikir kembali atas apa yang robot ini kerjakan.

Seiring dengan perkembangan teknik pemrograman robot, maka makin

mempermudah manusia untuk membuat robot semakin cerdas yang mengikuti

kehendak serta kemauan dari manusia itu sendiri. Semakin pendek dan singkat

intruksi dalam suatu pemrograman maka dibutuhkan interpretasi yang banyak.

Sehingga membuat bahasa mesin tak sesulit yang dibayangkan setiap manusia

dalam hal ini programmer.

Page 22: Perancangan Robot Cerdas Semut ATMEGA 16

2

Perancangan robot cerdas semut menggunakan mikrokontroler ATmega16

dan sensor proximity sebagai pendeteksi garis berwarna putih. Sumber cahaya

sensor proximity menggunakan LED (Light Emiting Diode) yang memancarkan

cahaya merah, sedangkan untuk menangkap pantulan cahaya LED digunakan

photodioda. Sistem gerak kaki yang dipakai menyerupai kaki semut, berjumlah 6

kaki, dengan sistem mekanik roda gila. Dengan adanya sistem gerak ini maka

robot ini dinamakan robot semut.

Tujuan dari robot cerdas semut ini adalah dapat berjalan secara stabil dan

handal mengikuti lintasan garis berwarna putih dengan begitu banyak jalan dan

lintasan yang ada, robot akan mencari jalan dan lintasan terpendek.

1.2. Perumusan Masalah

Bagaimana robot cerdas semut menentukan lintasan atau rute terpendek

pada 9 titik asal dan tujuan?

1.3. Pembatasan Masalah

Ruang lingkup pembahasan dari Tugas Akhir ini hanya terbatas pada :

1. Sistem kerja robot cerdas semut mengikuti garis pada lintasan berwarna

putih

2. Pembahasan dibatasi pada analisis pencarian jalan terpendek dari robot

semut.

3. Lintasan robot digambarkan dalam bidang kartesian (3x3) dengan 9 titik

sebagai titik asal dan titik tujuan dari robot semut.

4. Posisi awal robot menghadap kanan pada lintasan

5. Perancangan robot cerdas semut menggunakan mikrokontroler

ATMEGA 16, dengan sensor proximity untuk mendeteksi garis putih.

1.4. Tujuan

Tujuan dari tugas akhir ini adalah merancang robot cerdas semut

mengikuti lintasan garis putih dengan metode penentuan jarak terpendek.

Page 23: Perancangan Robot Cerdas Semut ATMEGA 16

3

1.5. Manfaat

Manfaat yang diharapkan akan diperoleh dari tugas akhir ini antara lain:

1. Memperkenalkan aplikasi metode pencarian jarak terpendek pada

robot Line Follower sebagai salah satu sistem cerdas kepada

masyarakat khususnya mahasiswa elektro.

2. Memperkaya penelitian dan literatur dalam bidang robotika.

3. Sebagai referensi khususnya aplikasi metode pencarian jarak

terpendek dalam sistem pengendalian cerdas serta perancangan

aplikasi robot line follower khususnya robot cerdas semut

4. Memperkenalkan kemampuan penalaran yang ada pada manusia ke

dalam perangkat mesin.

5. Aplikasi pada pemrograman kontes robot indonesia

Page 24: Perancangan Robot Cerdas Semut ATMEGA 16

4

BAB II

LANDASAN TEORI

2.1. Sistem Kontrol Robotik

Sistem kontrol adalah suatu proses pengaturan / pengendalian terhadap

satu atau beberapa besaran (variable, parameter) sehingga berada pada suatu

harga atau dalam rangkuman harga (range) tertentu. Dalam istilah lain disebut

juga sistem pengaturan, sistem pengendalian atau sistem pengontrolan. Ditinjau

dari segi peralatan dan instrumen yang digunakan, sistem kontrol terdiri dari

berbagai susunan komponen fisik yang digunakan untuk mengarahkan aliran

energi ke suatu mesin atau proses agar dapat menghasilkan prestasi yang

diinginkan.

Tujuan utama dari suatu sistem kontrol adalah untuk mendapatkan

optimasi, dalam hal ini dapat diperoleh berdasarkan fungsi dari sistem kontrol itu

sendiri, yaitu pengukuran (measurement), membandingkan (comparison),

pencatatan dan perhitungan (computation) dan perbaikan (correction). sehingga

memudahkan pengoperasian, peningkatan efisiensi dan kualitas kerja suatu

sistem, meniadakan pekerjaan rutin yang harus dilakukan oleh manusia, serta

masih banyak lagi pengaruh yang disebabkan oleh perkembangan dari

pengendalian otomatik (Ogata, 1995).

Sistem kontrol robotik pada dasarnya terbagi menjadi dua kelompok, yaitu

sistem kontrol loop terbuka (open loop) dan loop tertutup (close loop)

(Pitowarno, 2006).

Diagram kontrol loop terbuka pada sistem robot dapat dinyatakan dalam

gambar 2.1 berikut ini.

Gambar 2.1. Kontrol Robot Loop Terbuka. (Pitowarno, 2006).

Kontrol loop terbuka atau umpan maju (feedfoward control) dapat

dinyatakan sebagai sistem kontrol yang keluarannya tidak diperhitungkan ulang

Pengontrol

Robot

Referensi Gerak

Hasil Gerak

Page 25: Perancangan Robot Cerdas Semut ATMEGA 16

5

oleh pengontrol. Keadaan apakah robot benar – benar telah mencapai target

seperti yang dikehendaki sesuai referensi, adalah tidak dapat mempengaruhi kerja

pengontrol. Kontrol ini sesuai untuk sistem operasi robot yang memiliki aktuator

yang beroprasi berdasarkan logika berbasis konfigurasi langkah sesuai urutan,

misalnya motor stepper. Motor stepper tidak perlu dipasangi sensor pada porosnya

untuk mengetahui posisi akhir. Jika dalam keadaan berfungsi baik dan tidak ada

masalah beban lebih maka stepper motor akan berputar sesuai dengan perintah

pengontrol dan mencapai posisi target dengan cepat.

Kontrol robot loop tertutup dapat dinyatakan seperti dalam gambar 2.2.

Gambar 2.2. Kontrol Robot Loop Tertutup. (Pitowarno, 2006).

Pada gambar diatas, jika gerak hasil gerak aktual telah sama dengan

referensi maka input pengontrol akan nol. Artinya pengontrol tidak lagi

memberikan sinyal aktusi kepada robot karena target akhir perintah gerak telah

diperoleh. Makin kecil error maka makin kecil pula sinyal pengemudian

pengontrol terhadap robot, sampai akhirnya mencapai kondisi tenang (steady

state).

2.1.1. Sistem Kontrol ON – OF

Gambar berikut mengilustrasikan diagram kontrol loop tertutup

berdasarkan ON/OFF.

Gambar 2.3. Kontrol Robot Loop Tertutup ON/OFF. (Pitowarno, 2006).

Referensi Gerak

Hasil gerak Sesungguhnya (dibaca oleh sensor)

Pengontrol Robot

Error = Gerak referensi – Gerak aktual

Gerak Aktual

+ -

Pengontrol ON/Off

Robot 1/0 1/0 1/0 1/0

+

-

Page 26: Perancangan Robot Cerdas Semut ATMEGA 16

6

Pada sistem kontrol on-off ada dua keadaan yang akan dihasilkan output

yaitu keadaan on atau keadaan off. Sistem kontrol On/Off, kadangkala disebut

sebagai “bang-bang control” adalah kontrol yang paling dasar dalam robotik.

Input sensor dan output pada aktuator dinyatakan dalam dua keadaan yaitu

ON/OFF atau logika 1 dan 0. Kestabilan gerak yang diperoleh hanya berdasarkan

pada rule sederhana tetapi mampu menjaga robot dari gerakan yang menyebabkan

tracking error (TE) menjadi membesar. Sebagai contoh, robot - robot yang dibuat

untuk mengikuti garis atau line follower, serta robot pada Kontes Robot Indonesia

(KRI).

2.1.2. Sistem Kontrol Proporsional

Kontroler proporsional menggunakan prinsip umpan balik di dalamnya.

Seperti pada gambar, r adalah input, e adalah error, u adalah sinyal output

kontroler, G(s) adalah kontroler, H(s) adalah dinamik robot, dan y adalah output.

Gambar.2.4. Kontrol Robot Proporsional. (Pitowarno, 2006).

2.1.3. Sistem Kontrol Integral (I) dan Kontrol PI

Kontrol integral memiliki plant yang fungsi alihnya memiliki integrator

1/s, memiliki fungsi menghilangkan offset atau kesalahan keadaan tunak (steady

state). Gabungan kontrol I dengan kontrol P untuk sebuah motor DC dapat

digambarkan sebagai berikut:

G(s) = Kp H(s) r +

-

u ye

Page 27: Perancangan Robot Cerdas Semut ATMEGA 16

7

Gambar 2.5. Kontrol PI pada motor DC

2.1.4. Sistem Kontrol Derivatif, Kontrol PD dan Kontrol PID

Kontrol derivatif atau kontrol turunan memiliki Umpan balik yang

diberikan sebanding dengan kecepatan perubahan sehingga kontroler dapat

mengantisipasi error yang akan terjadi. Karena kontrol turunan bekerja

berdasarkan laju perubahan kesalahan penggerak, bukan berdasarkan pada

kesalahan penggerak itu sendiri, maka jenis aksi ini tidak dapat digunakan

sendirian. Kontrol turunan digunakan secara bersamaan dengan aksi proporsional.

Gambar 2.6. Kontrol PD pada Motor DC

Kontrol PID menggabungkan kontrol P, I dan D maka masing – masing

kelebihannya dapat disatukan guna mendapatkan kontrol yang ideal. Pada motor

DC blok diagramnya adalah sebagai berikut:

θ act (rpm) atau (0+5)V

MOTOR DC

Sensor Kecepatan

Poros motor

y

Sinyal aktuasi

u

θ ref (rpm) atau (0+5)V

error

Kp r +

-

e

+

-

θ act (rpm) atau (0+5)V

MOTOR DC

Sensor Kecepatan

Poros motor

y θ ref (rpm) atau (0+5)V

error

Kp r +

-

e

s. Kd

+

-

Sinyal aktuasi

u

Page 28: Perancangan Robot Cerdas Semut ATMEGA 16

8

Gambar 2.7. Kontrol PID pada Motor DC

2.2. Kecerdasan Buatan

2.2.1. Pengertian Kecerdasan Buatan

Definisi Kecerdasan buatan (Artificial Intelligence) adalah bagian dari

ilmu komputer yang mempelajari bagaimana membuat mesin (computer) dapat

melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia bahkan bisa

lebih baik daripada yang dilakukan manusia. Cerdas adalah memiliki pengetahuan

ditambah pengalaman, penalaran (bagaimana membuat keputusan & mengambil

tindakan), moral yang baik agar mesin bisa cerdas (bertindak seperti & sebaik

manusia) maka harus diberi bekal pengetahuan & mempunyai kemampuan untuk

menalar.

2.2.2. Perbedaan Kecerdasan Buatan & Kecerdasan Alami

Kelebihan kecerdasan buatan antara lain:

1. Lebih bersifat permanen. Kecerdasan alami bisa berubah karena sifat

manusia pelupa. Kecerdasan buatan tidak berubah selama sistem komputer

& program tidak mengubahnya.

2. Lebih mudah diduplikasi & disebarkan. Mentransfer pengetahuan manusia

dari 1 orang ke orang lain membutuhkan proses yang sangat lama &

keahlian tidak akan pernah dapat diduplikasi dengan lengkap.Jadi jika

pengetahuan terletak pada suatu sistem komputer, pengetahuan tersebut

u +

-

s. Kd

Kp

r +

-

e

θ act (rpm) atau (0+5)V

MOTOR DC

Sensor Kecepatan

Poros motor

y

Page 29: Perancangan Robot Cerdas Semut ATMEGA 16

9

dapat disalin dari komputer tersebut & dapat dipindahkan dengan mudah

ke komputer yang lain.

3. Lebih murah. Menyediakan layanan komputer akan lebih mudah & murah

dibandingkan mendatangkan seseorang untuk mengerjakan sejumlah

pekerjaan dalam jangka waktu yang sangat lama.

4. Bersifat konsisten dan teliti karena kecerdasan buatan adalah bagian dari

teknologi komputer sedangkan kecerdasan alami senantiasa berubah-ubah.

5. Dapat didokumentasi. Keputusan yang dibuat komputer dapat

didokumentasi dengan mudah dengan cara melacak setiap aktivitas dari

sistem tersebut. Kecerdasan alami sangat sulit untuk direproduksi.

6. Dapat mengerjakan beberapa task lebih cepat dan lebih baik dibanding

manusia.

Kelebihan kecerdasan alami antara lain:

1. Kreatif manusia memiliki kemampuan untuk menambah pengetahuan,

sedangkan pada kecerdasan buatan untuk menambah pengetahuan harus

dilakukan melalui sistem yang dibangun.

2. Memungkinkan orang untuk menggunakan pengalaman atau pembelajaran

secara langsung. Sedangkan pada kecerdasan buatan harus mendapat

masukan berupa input-input simbolik.

3. Pemikiran manusia dapat digunakan secara luas, sedangkan kecerdasan

buatan sangat terbatas.

2.2.3. Aplikasi-aplikasi Dari kecerdasan buatan

Kecerdasan buatan (AI) telah dipelajari selama kira-kira 40 tahun. Hingga

saat ini telah dihasilkan beberapa produk aplikasi kecerdasan buatan secara

komersial. Aplikasi-aplikasi kecerdasan buatan antara lain game playing, sistem

bahasa alami, manajemen data cerdas, analisa kecerdasan militer, kendali robot

dan masih banyak lagi aplikasi dari kecerdasan buatan. Ada beberapa cara untuk

merepresentasikan Ruang Keadaan, antara lain :

a. Graph keadaan

b. Pohon Pelacakan / Pencarian

Page 30: Perancangan Robot Cerdas Semut ATMEGA 16

10

2.2.4. Graph Keadaan

Graph terdiri dari node-node yang menunjukkan keadaan yaitu keadaan

awal dan keadaan baru yang akan dicapai dengan menggunakan operator. Node-

node dalam graph keadaan saling dihubungkan dengan menggunakan arc (busur)

yang diberi panah untuk menunjukkan arah dari suatu keadaan ke keadaan

berikutnya.

Gambar 2.8. Contoh Graph Keadaan

Berdasarkan gambar diatas Graph keadaan dengan node M menunjukkan

keadaan awal, node T adalah tujuan. Ada 4 lintasan dari M ke T yaitu:

M-A-B-C-E-T

M-A-B-C-E-H-T

M-D-C-E-T

M-D-C-E-H-T

Lintasan buntu atau lintasan yang tidak sampai ke tujuan yaitu :

M-A-B-C-E-F-G

M-A-B-C-E-I-J

M-D-C-E-F-G

M-D-C-E-I-J

M-D-I-J

Page 31: Perancangan Robot Cerdas Semut ATMEGA 16

11

2.2.5. Pohon Pelacakan / Pencarian

Struktur pohon digunakan untuk menggambarkan keadaan secara hirarkis.

Node yg terletak pada level-o disebut ’akar’. Node akar : menunjukkan keadaan

awal & memiliki beberapa percabangan yang terdiri atas beberapa node yg disebut

’anak’. Node-node yg tidak memiliki anak disebut ’daun’ menunjukkan akhir dari

suatu pencarian, dapat berupa tujuan yang diharapkan (goal) atau jalan buntu

(dead end). Gambar berikut menunjukkan pohon pencarian untuk graph keadaan

dengan 6 level.

Gambar 2.9. Contoh Pohon Pencarian

2.3. Teknik-Teknik Kecerdasan Buatan

Tiga Teknik kecerdasan buatan yang penting antara lain:

1. Pencarian/penelusuran (Search)

Menyediakan sebuah jalan untuk memecahkan persoalan yang lebih dari

beberapa pendekatan tidak langsung yang tersedia.

2. Penggunaan dari Pengetahuan (Use of Knowledge)

Memberikan sebuah jalan untuk memecahkan struktur-struktur dari objek

yang dilibatkan.

Page 32: Perancangan Robot Cerdas Semut ATMEGA 16

12

3. Abstraksi (Abstraction)

Memberikan sebuah jalan yang mengutamakan pemisahan dan variasi dari

beberapa yang tidak penting.

2.3.1.Metode Pelacakan/Pencarian (Searching)

Hal penting dalam menentukan keberhasilan sistem cerdas adalah

kesuksesan dalam pencarian. Pencarian merupakan suatu proses mencari solusi

dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan (state

space). Ruang keadaan merupakan suatu ruang yang berisi semua keadaan yang

mungkin. Untuk mengukur perfomansi metode pencarian, terdapat empat kriteria

yang dapat digunakan antara lain:

• Completeness

Apakah metode tersebut menjamin penemuan solusi jika solusinya memang

ada?

• Time complexity

Berapa lama waktu yang diperlukan? (b^m). Diasumsikan b sebagai Faktor

Percabangan dan m adalah kedalaman maksimum dari pohon pencarian

• Space complexity

Berapa banyak memori yang diperlukan?(b x m)

• Optimality

Apakah metode tersebut menjamin menemukan solusi yang terbaik jika

terdapat beberapa solusi berbeda?

Teknik pencarian terbagi atas dua metode yaitu :

1. Pencarian buta (blind search)

tidak ada informasi awal yang digunakan dalam proses pencarian

a. Pencarian melebar pertama (Breadth – First Search)

b. Pencarian mendalam pertama (Depth – First Search)

2. Pencarian terbimbing (heuristic search)

adanya informasi awal yang digunakan dalam proses pencarian

a. Pendakian Bukit (Hill Climbing)

b. Pencarian Terbaik Pertama (Best First Search)

Page 33: Perancangan Robot Cerdas Semut ATMEGA 16

13

2.3.1.1 Pencarian Buta (blind search)

Pencarian buta (blind search) terdiri atas Pencarian melebar pertama

(Breadth – First Search) dan Pencarian mendalam pertama (Depth – First

Search).

1. Breadth – First Search

Semua node pada level n akan dikunjungi terlebih dahulu sebelum

mengunjungi node-node pada level n+1. Pencarian dimulai dari node akar terus ke

level 1 dari kiri ke kanan, kemudian berpindah ke level berikutnya dari kiri ke

kanan hingga solusi ditemukan.

Gambar 2.10. Contoh Breadth First Search

Keuntungan Breadth – First Search yaitu :

• Tidak akan menemui jalan buntu, menjamin ditemukannya solusi (jika

solusinya memang ada) dan solusi yang ditemukan pasti yang paling baik

• Jika ada satu solusi, maka breadth – first search akan menemukannya,jika

ada lebih dari satu solusi, maka solusi minimum akan ditemukan.

• Kesimpulan : complete dan optimal

Kelemahan Breadth – First Search yaitu :

• membutuhkan memori yang banyak, karena harus menyimpan semua

simpul yang pernah dibangkitkan. Hal ini harus dilakukan agar Breadth –

First Search dapat melakukan penelusuran simpul-simpul sampai di level

bawah

• membutuhkan waktu yang cukup lama

Page 34: Perancangan Robot Cerdas Semut ATMEGA 16

14

2. Depth – First Search

Pencarian dilakukan pada suatu simpul dalam setiap level dari yang paling

kiri. Pada level yang paling dalam tidak ditemukan solusi, maka pencarian

dilanjutkan pada simpul sebelah kanan dan simpul yang kiri dapat dihapus dari

memori. Pada level yang paling dalam tidak ditemukan solusi, maka pencarian

dilanjutkan pada level sebelumnya. Demikian seterusnya sampai ditemukan

solusi.

Gambar 2.11. Contoh Depth First Search

Keuntungan Depth – First Search yaitu:

• Penggunaan memori relatif kecil, karena hanya node-node pada lintasan

yang aktif saja yang disimpan

• Secara kebetulan, akan menemukan solusi tanpa harus menguji lebih

banyak lagi dalam ruang keadaan, jadi jika solusi yang dicari berada pada

level yang dalam dan paling kiri, maka Depth – First Search akan

menemukannya dengan cepat.

Kelemahan Depth – First Search yaitu :

• Memungkinkan tidak ditemukannya tujuan yang diharapkan, karena jika

pohon yang dibangkitkan mempunyai level yang sangat dalam (tak

terhingga) uncomplete karena tidak ada jaminan menemukan solusi

• Hanya mendapat 1 solusi pada setiap pencarian, karena jika terdapat lebih

dari satu solusi yang sama tetapi berada pada level yang berbeda, maka

Depth – First Search tidak menjamin untuk menemukan solusi yang paling

baik tidak optimal.

Page 35: Perancangan Robot Cerdas Semut ATMEGA 16

15

2.3.1.2 . Heuristic Search

Pencarian buta tidak selalu dapat diterapkan dengan baik, hal ini

disebabkan waktu aksesnya yang cukup lama & besarnya memori yang

diperlukan. Untuk masalah dengan ruang masalah yang besar, teknik pencarian

buta bukan metode yang baik karena keterbatasan kecepatan komputer dan

memori. Metode heuristic search diharapkan bisa menyelesaikan permasalahan

yang lebih besar. Metode heuristic search menggunakan suatu fungsi yang

menghitung biaya perkiraan (estimasi) dari suatu simpul tertentu menuju ke

simpul tujuan disebut fungsi heuristic Aplikasi yang menggunakan fungsi

heuristic : Google, Deep Blue Chess Machine

2.4. Sistem Aktuator Pada Robot

Robot berdasarkan mobilitasnya terbagi dalam dua kelompok. Kelompok

yang pertama merupakan robot yang dioperasikan pada lingkungan yang tetap

dengan pergerakan yang cenderung tetap dan tertentu (sebagai robot industri atau

stationary robot). Pada kelompok yang kedua, robot dapat bergerak secara

otonomi, memiliki navigasi, dan pergerakannya yang tidak tetap tergantung dari

medan jelajah (dikenal dengan mobile robot). (Halim, 2007).

2.4.1. Sistem Roda

Sistem roda adalah sistem mekanik yang dapat menggerakan robot untuk

berpindah posisi. Dapat terdiri dari sedikitnya sebuah roda penggerak (drive dan

steer), dua roda differensial (kiri-kanan independen ataupun sistem belt seperti

tank), tiga roda (synchro drive atau sistem holonomic), empat roda (Ackermann

model / car like mobile robot ataupun sistem macanum wheels) ataupun lebih.

Gambar 2.12. Sistem Roda Pada Mobile Robot (Halim, 2007)

Page 36: Perancangan Robot Cerdas Semut ATMEGA 16

16

2.4.2. Sistem Kaki

Pada dasarnya sisitem kaki adalah gerakan “roda” yang didesain

sedemikian rupa hingga memiliki kemampuan gerak seperti mahluk hidup. Robot

berjalan dengan sistem dua kaki atau biped robot memiliki struktur kaki seperti

manusia setidak-tidaknya mempunyai sendi-sendi yang mewakili pergelangan

kaki, lutut dan pinggul. Dalam konfigurasi yang ideal pergerakan pada pinggul

dapat terdiriri dari multi DOF dengan kemampuan gerakan memutar seperti orang

menari jaipong. Demikian juga pada pergelangan kaki, idealnya juga adalah

memiliki kemampuan gerakan bipolar. Untuk robot binatang (animaloid) seperti

serangga, jumlah kaki dapat desain lebih dari empat. Bahkan robot ular dapat

memiliki DOF yang lebih dari 8 sesuai dengan panjang robot (ular) yang

didefinisikan.

Gambar 2.13. Sistem Kaki Pada Robot Hexapod (Halim, 2007)

2.4.3. Sistem Tangan

Sistem tangan adalah bagian atau anggota badan robot selain sistem roda

atau kaki. Dalam konteks mobile robot, bagian tangan ini dikenal sebagai

manipulator yaitu sistem gerak yang berfungsi untuk memanipulasi (memegang,

mengambil, mengangkat, memindah atau mengolah) obyek. Pada robot industri

fungsi mengolah dapat berupa perputaran (mamasang mur-baut,

Page 37: Perancangan Robot Cerdas Semut ATMEGA 16

17

mengebor/drilling, milling, dan lain-lain), tracking (mengelas, membubut, dan

sebagainya), ataupun mengaduk (kontrol proses).

Gambar 2.14. Sistem Tangan (Halim, 2007)

2.4.4. Mekanik Robot

Struktur robot sebagian besar dibangun berdasarkan konstruksi mekanik.

Robot yang memiliki kemampuan navigasi dan manipulasi secara relatif memiliki

konstruksi mekanik yang lebih rumit dibandingkan dengan yang berkemampuan

navigasi saja, seperti mobile robot tanpa tangan yang hanya memiliki roda

penggerak. Namun demikian robot berjalan (walking robot) seperti misalnya bi-

ped (dua kaki) dapat memiliki konstruksi mekanik yang rumit dibandingkan

dengan robot tangan planar. Hal yang mendasar yang harus di perhatikan dalam

mendisain mekanik robot adalah perhitungan kebutuhan torsi untuk

menggerakkan sendi atau roda. Motor sebagai penggerak utama (prime – mover)

yang paling sering dipakai umumnya akan bekerja optimal (torsi dan kecepatan

yang paling ideal) pada putaran yang relatif tinggi yang hal ini tidak sesuai bila

porosnya dihubungkan langsung ke sendi gerak atau roda. Sebab kebanyakan

gerakan yang diperlukan pada sisi anggota badan robot adalah relatif pelan namun

bertenaga. Untuk itu diperlukan transmisi daya motor (atau aktuaktor secara

umum) secara tepat. Salah satu metoda yang umum adalah menggunakan sistem

Page 38: Perancangan Robot Cerdas Semut ATMEGA 16

18

gear. Gambar mengilustrasikan sebuah mekanisme peningkatan torsi motor

menggunakan dua buah gear.

Gambar 2.15. Penggunaan Transmisi Gear Hubungan Langsung

(Pitowarno, 2006)

Arah puaran poros pada transmisi gear hubungan langsung seperti pada

gambar adalah selalu berlawanan untuk setiap sambungan serial. Untuk

mendapatkan arah putaran yang sama seperti pada poros motor maka gear harus

disusun dengan jumlah yang ganjil. Untuk mendapatkan rasio gear yang besar

dengan hanya menggunakan dua susunan gear dapat dicapai dengan

menggunakan tipe ohmic atau worm gear seperti pada gambar berikut.

Gambar 2.16. Penggunaan Transmisi Gear Dengan Hubungan Ohmic

(Pitowarno, 2006)

Tipe worm gear seperti diatas memiliki ke unggulan dari segi efisiensi

mekanik karena rasio gear yang di hasilkan dari perbandingan antara jumlah gigi

gear pada poros motor dan poros output dapat dibuat relatif sangat besar dengan

hanya sekali konversi.

Page 39: Perancangan Robot Cerdas Semut ATMEGA 16

19

Sistem transmisi tipe gear - belt merupakan salah satu tipe yang sering di

gunakan pada robot. Gear terbuat dari material plastik komposit serta belt terbuat

dari karet berserat nilon. Tipe ini memiliki keunggulan dari segi back - lash

karena konstruksi belt yang ketat dapat menghilangkan jeda dalam pengemudian

arah berlawanan. Selain itu daat menghindari pemakaian pelumas dalam sistem

gear tanpa kawatir timbul friksi yang berlebihan. Hanya saja dimensi ruang

penempatan gear relatif menjadi lebih besar dibanding dengan tipe – tipe lain.

Gambar 2.17. Gear Belt (Pitowarno, 2006)

2.4.5. Motor Servo DC

Motor servo adalah motor yang mampu bekerja dua arah (CW dan CCW),

arah dan sudut pergerakan rotornya dapat dikendalikan hanya dengan memberikan

pengaturan duty cycle sinyal PWM pada bagian pin kontrol. Motor servo DC

merupakan sebuah motor DC yang memiliki rangkaian control elektronic dan

internal gear yang mengendalikan pergerakan dan sudut angularnya. Motor servo

DC adalah motor yang berputar lambat, biasanya ditunjukan oleh rate putarannya

yang lambat, namun demikian memiliki torsi yang kuat karena terdapat internal

gearnya. Sebuah motor servo DC memiliki antara lain:

• 3 jalur kabel : power, ground, dan control

• Sinyal control mengendalikan posisi

• Operasional dari servo motor dikendalikan oleh sebuah pulsa selebar ± 20

ms, lebar pulsa antara 0,5 ms dan 2 ms menyatakan akhir dari range sudut

maksimum.

• Kontruksi dalamnya meliputi internal gear, potensiometer, dan feedback

control.

Page 40: Perancangan Robot Cerdas Semut ATMEGA 16

20

Adapun jenis – jenis motor servo DC adalah:

• Motor servo standar 180º

Motor servo DC jenis ini hanya mampu bergerak dua arah (CW dan CCW)

dengan defleksi masing-masing sudut mencapai 90º sehingga total defleksi

sudut dari kanan – tengah – kiri adalah 180º. Servo motor DC tipe standar

hanya mampu berputar 180 derajat.

• Motor servo continous

Motor servo DC jenis ini mampu bergerak dua arah (CW dan CCW) tanpa

batasan defleksi sudut putar ( dapat berputar secara kontinyu) Servo motor

DC continuous dapat berputar sebesar 360 derajat.

Gambar 2.18. Motor Servo HS-311

Berdasarkan gambar diatas, spesifikasi dari motor servo DC continuous

parallax antara lain:

� Power 6vdc max

� Average Speed 60 rpm - Note: with 5vdc and no torque

� Weight 45.0 grams/1.59oz

� Torque 3.40 kg-cm/47oz-in

� Size mm (L x W x H) 40.5x20.0x38.0

� Size in (L x W x H) 1.60x.79x1.50

� Manual adjustment port.

Page 41: Perancangan Robot Cerdas Semut ATMEGA 16

21

Servo motor DC banyak digunakan sebagai aktuator pada mobile robot

atau lengan robot. Servo motor DC yang umum digunakan ialah Continuous

Parallax. Servo motor DC yang berkekuatan besar dan cepat, idealnya ada pada

servo HS-311 (continuos ) dan servo HS-322HD (standar).

Untuk menggerakkan motor servo ke kanan atau ke kiri, tergantung dari

nilai delay yang kita berikan. Untuk membuat servo pada posisi centre, berikan

pulsa 1.3ms. Untuk memutar servo ke kanan, berikan pulsa = 1.7ms untuk

berputar ke kiri dengan delay 20ms, seperti ilustrasi berikut:

Gambar 2.19. Nilai Pulsa Untuk Menggerakkan Motor Servo

2.5. DT-AVR Low Cost Micro System

DT-AVR Low Cost Micro System merupakan sebuah modul single chip

dengan basis mikrokontroler AVR dan memiliki kemampuan untuk melakukan

komunikasi data serial secara UART RS-232 serta pemrograman memori melalui

ISP (In-System Programming).

Page 42: Perancangan Robot Cerdas Semut ATMEGA 16

22

Gambar 2.20. Tata Letak DT-AVR Low Cost Micro System

Spesifikasi dari DT-AVR Low Cost Micro System antara lain :

1. Mendukung varian AVR 40 pin, antara lain: ATMEGA16, ATMEGA

8535, ATMEGA8515, AT90S8515, AT90S8535, dan lain-lain. Untuk tipe

AVR tanpa internal ADC membutuhkan Conversion socket.

2. Memiliki jalur Input/Output hingga 32 pin.

3. Terdapat Eksternal Brown Out Detector sebagai rangkaian reset.

4. Konfigurasi jumper untuk melakukan pemilihan beberapa model

pengambilan tegangan referensi untuk tipe AVR dengan internal ADC.

5. LED Programming Indicator.

6. Frekuensi Osilator sebesar 4MHz.

7. Tersedia jalur komunikasi serial UART RS-232 dengan konektor RJ11.

8. Tersedia Port untuk Pemrograman secara ISP.

9. Tegangan input Power supply 9 – 12 VDC dan output 5 VDC.

ATMEGA 16

Page 43: Perancangan Robot Cerdas Semut ATMEGA 16

23

2.5.1. Mikrokontroler AVR ATMEGA16

Mikrokontroler AVR (Alf and Vegard’s Risc processor) standar memiliki

arsitektur 8 bit, semua instruksi dikemas dalam kode 16-bit dan sebagian besar

instruksi dieksekusi dalam 1 (satu) siklus clock. AVR berteknologi RISC

(Reduced Instruction Set Computing), sedangkan seri MCS51 berteknologi CISC

(Complex Instruction Set Computing). AVR dapat dikelompokkan menjadi 4

kelas, yaitu keluarga ATTINY, keluarga AT90Sxx, keluarga ATMEGA, dan

AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah

memori, peripheral, dan fungsinya.

Gambar 2.21. Blok Diagram Fungsional ATMEGA16 (Adrianto, 2008)

Page 44: Perancangan Robot Cerdas Semut ATMEGA 16

24

2.5.1.1. Arsitektur ATMEGA16

Dari gambar tersebut dapat dilihat bahwa ATMEGA16 memiliki bagian

sebagai berikut:

1. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D.

2. ADC (Analog to Digital Converter) 10 bit sebanyak 8 channel.

3. Tiga (3) buah Timer/Counter dengan kemampuan pemandingan.

4. CPU terdiri atas 32 buah register.

5. Watchdog Timer dengan osilator internal.

6. 2 buah timer/counter 8 bit.

7. 1 buah timer/counter 16 bit.

8. SRAM sebesar 512 byte.

9. Memori Flash sebesar 16 Kbyte dengan kemampuan Read While Write.

10. 4 channel PWM.

11. 32x8 general purpose register.

12. Hampir mencapai 16 MIPS pada Kristal 16 MHz.

13. Unit interupsi internal dan eksternal.

14. Port antarmuka SPI.

15. EEPROM sebesar 512 byte yang dapat diprogram saat operasi.

16. Antarmuka Komparator analog.

17. Port USART untuk komunikasi serial.

2.5.1.2. Fitur ATMEGA16

Kapabilitas detail dari ATMEGA16 adalah sebagai berikut:

1. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal

16MHz.

2. kapabilitas memori flash 16 KB, SRAM sebesar 1 K byte, dan EEPROM

(Electrically Erasable Programmable Read Only Memory) sebesar 512

byte.

3. ADC internal dengan fidelitas 10 bit sebanyak 8 channel.

4. Portal komunikasi serial (UASRT) dengan kecepatan maksimal 2,5 Mbps.

5. Enam pilihan mode sleep menghemat penggunaan daya listrik.

6. 131 instruksi handal yang umumnya hanya membutuhkan 1 siklus clock.

Page 45: Perancangan Robot Cerdas Semut ATMEGA 16

25

2.5.1.3. Konfigurasi Pin ATMEGA16

Konfugurasi pin ATMEGA16 bisa dilihat pada Gambar 2.13. Dari gambar

tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMEGA16 sebagai

berikut:

1. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya.

2. GND merupakan pin ground.

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

4. Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus,

yaitu Timer/Counter, komparator analog, dan SPI.

5. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus,

yaitu TWI, komparator analog, dan Timer Oscilator.

6. Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus,

yaitu komparator analog, interupsi eksternal, dan komunikasi serial.

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

8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.

9. AVCC merupakan pin masukan tegangan ADC.

10. AREF merupakan pin masukan tegangan referensi ADC.

Gambar 2.22. Pin ATMEGA16 (Adrianto, 2008)

Page 46: Perancangan Robot Cerdas Semut ATMEGA 16

26

2.6. SPC DC Motor

SPC (Smart Peripheral Controller) DC Motor merupakan pengontrol

motor DC yang menggunakan I2C-bus sebagai jalur penyampaian data sehingga

dapat lebih menghemat dan mempermudah pengkabelan. SPC DC MOTOR ini

dilengkapi dengan prosedur input sehingga dapat mengetahui kecepatan motor

pada saat tertentu, juga dilengkapi dengan prosedur brake yang dapat

menghentikan motor secara cepat. Selain itu SPC DC Motor dapat digunakan

secara paralel.

Gambar 2.23. Tata Letak Komponen SPC DC Motor

Spesifikasi Eksternal SPC DC Motor dapat dilihat sebagai berikut :

• Kompatibel penuh dengan DT AVR Low Cost Micro System

• Hanya perlu 2 jalur kabel untuk interface dengan mikroprosesor /

mikrokontroler lain.

• Mempunyai 2 buah pengontrol motor DC yang dapat bekerja secara

bersama-sama.

• Masing-masing pengontrol motor DC dilengkapi dengan prosedur input

dan brake.

Page 47: Perancangan Robot Cerdas Semut ATMEGA 16

27

• Dapat dikontrol secara I2C-bus maupun paralel.

• Pengaturan kecepatan motor menggunakan metode PWM (Pulse Width

Modulation).

• Semua pin–pin kontrol paralel diakses dengan taraf logika TTL.

• Dilengkapi dengan jumper untuk setting alamat, sehingga bila

menggunakan I2C bus dapat di-ekspan sampai 8 board (16 buah motor

DC) tanpa tambahan perangkat keras.

• Tersedia prosedur siap pakai untuk aplikasi SPC DC MOTOR.

2.7.1. Dirver H-Bridge IC L293d

Sistem kontrol motor menggunakan transistor yang paling terkenal adalah

sistem H-Bridge (Jembatan H). Sistem ini menggunakan 4 buah transistor yang

disusun menyerupai huruf “H”. Pada sistem H-Bridge, 2 transistor akan hidup

secara bersamaan untuk mengatur arah putaran motor. Saat transistor 1 dan

transistor 4 on, motor akan berputar ke suatu arah. Saat transistor 2 dan 3 on,

motor akan berputar ke arah sebaliknya.

Namun untuk menghindari kerumitan dalam pembuatan robot, maka kita

dapat menggunakan IC L293D. Saat sekarang telah tersedia IC driver H-Bridge

yang akan memudahkan kita untuk membuat robot mobil. Bila tidak

menggunakan IC ini, maka kita harus menggunakan beberapa transistor untuk

membentuk rangkian H-Bridge.

Dengan menggunakan IC driver ini ada beberapa keuntungan yang bisa

didapat. Keuntungannya adalah:

1. Berukuran kompak sehingga lebih praktis.

2. Bisa mengatur arah putaran motor DC.

3. Bisa mengatur kecepatan motor DC

Page 48: Perancangan Robot Cerdas Semut ATMEGA 16

28

Gambar 2.24. IC L293D (Ibnu Malik, 2006)

Tabel berikut memberikan keterangan mengenai IC ini.

Tabel 2.1. Fungsi Pin-Pin Pada IC L293D

Pin Nama Kegunaan

1 Enable Enable untuk motor 1 (output 1 dan output 2)

2 Input 1 Masukan 1 untuk motor 1

3 Output 1 Keluaran 1 untuk motor 1

4 dan 5 Ground Ground

6 Output 2 Keluaran 2 untuk motor 1

7 Input 2 Masukan 2 untuk 1

8 Vs Sumber tegangan (+) untuk motor 1 dan 2

9 Enable 2 Enable untuk motor 2 (output 3 dan output 4)

10 Input 3 Masukan 1 untuk motor 2

11 Output 3 Keluaran 1 untuk motor 2

12 dan 13 Ground Ground

14 Output 4 Keluaran 2 untuk motor 2

15 Input 4 Masukan 2 untuk motor 2

16 Vss Logic power supply untuk IC (+5)

Page 49: Perancangan Robot Cerdas Semut ATMEGA 16

29

Gambar 2.25. Diagram Blok IC L293D (Ibnu Malik, 2006)

2.7. Sensor Proximity

Sensor proximity adalah sensor untuk menditeksi ada atau tidaknya suatu

obyek. Bila obyek berada didepan sensor dan dapat terjangkau oleh sensor maka

output rangkaian sensor akan berlogika “1” atau “high” yang berarti obyek “ada”.

Sebaliknya jika obyek berada pada posisi yang tidak terjangkau oleh sensor maka

output rangkaian sensor akan bernilai “0” atau “low” yang berarti obyek “tidak

ada”. (Soebhakti, 2008).

Dalam dunia robotika, sensor proximity seringkali digunakan untuk

menditeksi ada atau tidaknya suatu garis pembimbing gerak robot atau yang lebih

dikenal dengan istilah “Line Following” atau “Line Tracking”, juga biasa

digunakan untuk mendideksi adanya benda – benda penghalang seperti dinding

atau benda – benda lainnya sehingga robot dapat menghindari tabrakan dengan

benda yang ada di depannya.

Salah satu kegunaan sensor proximity yang sering dijumpai dalam dunia

robotika adalah sebagai sensor garis. Sensor ini dapat dibuat dari pasangan LED

dan fototransistor (photodioda) seperti pada gambar 2.30. Prinsip kerjanya

sederhana yaitu hanya memanfaatkan sifat cahaya yang akan dipantulkan jika

Page 50: Perancangan Robot Cerdas Semut ATMEGA 16

30

mengenai benda berwarna terang dan akan diserap jika mengenai benda berwarna

gelap. Sebagai sumber cahaya kita gunakan LED (Light Emiting Diode) yang

akan memancarkan cahaya merah dan untuk menangkap pantulan cahaya LED

kita gunakan photodiode. Sensor akan menerima lebih banyak cahaya bila berada

digaris putih sedangkan jika diatas garis hitam maka photodioda akan menerima

sedikit sekali cahaya pantulan. Berikut adalah ilustrasinya:

Gambar 2.26. Prinsip Kerja Sensor Proximity (Soebhakti, 2008)

Bila cahaya LED memantul pada garis dan diterima oleh basis

pototransistor (photodioda) maka phototransistor (photodioda) menjadi saturasi

(on) sehingga tegangan output (Vout) menjadi sama dengan VCE saturasi atau

mendekati 0 volt. Sebaliknya jika tidak terdapat pantulan maka basis fototransistor

tidak mendapat arus bias sehingga fototransistor menjadi cut-off (C-E open),

dengan demikian nilai Vout sama dengan Vcc. (Sigit, 2006).

Gambar 2.27. Rangkaian Infrared Proximity Sebagai Sensor Garis (Sigit, 2006)

Page 51: Perancangan Robot Cerdas Semut ATMEGA 16

31

Gambar 2.28. Sensor Dengan Rangkaian Pembanding (Sigit, 2006)

Untuk dapat diinterfacekan ke mikrokontroler, tegangan output harus

berada pada level 0 atau VCC. Output rangkaian gambar 2.21 masih memiliki

kemungkinan tidak pada kondisi ideal bila intensitas pantulan cahaya LED pada

garis lemah, misalnya karena perubahan warna atau lintasan yang kotor. Untuk

mengatasi hal tesebut ditambahkan rangkaian pembanding yang membandingkan

output sensor dengan suatu tegangan treshold yang dapat diatur dengan memutar

timmer potensio (10K). rangkaian lengkapnya seperti pada gambar 2.22 LED

pada output berguna sebagai indikator logika output sehingga kerja sensor mudah

diamati.

2.8. Bahasa Pemrograman Code Vision AVR C

Code vision AVR merupakan compiller bagi bahasa pemrograman C,

sistem IDEAPG (Integrated Development Environment and Automatic Program

Generator) yang di disain khusus untuk keluarga mikrokontroler Atmel AVR

dapat mempermudah pemrograman C.

Sebagai Compiller C, Code Vision AVR telah mengandung hampir semua elemen

bahasa pemrograman ANSI C. Dengan disediakannya beberapa fitur tambahan

yang merupakan kebutuhan dari arsitektur AVR dan sistem embedded.

Sistem Integrated Development Environment (IDE) telah disediakan dalam

Chip AVR pada System Programmer Software yang memungkinkan mentransfer

program secara otomatis ke dalam chip mikrokontroler setelah proses kompilasi

sukses. System Programer Sofware di disain untuk bekerja secara konjungsi

dengan produk Atmel STK500/AVRISP/AVRProg (AVR910 application note),

Page 52: Perancangan Robot Cerdas Semut ATMEGA 16

32

sistem Kanda, STK200+/300, Dontronics DT006, Vogel Elektronik VTEC-ISP,

futurlec JRAVR dan Micro Tronics ATCPU/Mega2000 development boards.

2.9. Bahasa Pemrograman C

2.9.1. Tipe Data Dasar

Data merupakan suatu nilai yang bias dinyatakan dalam benntuk konstanta

atau variable. konstanta menyatakan nilai yang tetap, sedangkan variable

menyatakan nilai yang dapat diubah-ubah selama eksekusi berlangsung. Data

berdasarkan jenisnya dapat dibagi menjadi lima kelompok, yang dinamakan

sebagai tipe data dasar. Kelima tipe data dasar adalah:

• Bilangan bulat

• Bilangan real presisi-tunggal

• Bilangan real presisi-ganda

• Karakter

• Tak bertipe (void)

Kata kunci yang berkaitan dengan tippe dasar secara berurutan di

antaranya adalah int (short int, long int, signed int dan unsigned int), float, double

dan char.

Tabel 2.2. Ukuran Memori Tipe Data

Tipe Total bit Kawasan Keterangan

Char 8 -128 s/d 127 Karakter

Int 32 -2147483648 s/d 2147483647 Bilngan integer

Float 32 1.7E-38 s/d 3.4E+38 Bilangan real presisi-

tunggal

Double 64 2.2E-308 s/d 1.7E+308 Bilangan real presisi-

ganda

Untuk tipe data short int, long int, signed int dan unsigned int, maka

ukuran memori yang diperlukan serta kawasan dari masing – masing tipe data

adala sebagai berikut :

Page 53: Perancangan Robot Cerdas Semut ATMEGA 16

33

Tabel 2.3. Ukuran Memori Tipe Data Int

Tipe Total bit Kawasan Keterangan

Short int 16 32768 s/d 32767 Short integer

Long int 32 -2147483648 s/d 2147483647 Long integer

Signed int 32 -2147483648 s/d 2147483647 Biasa disingkat int

Unsigned int 32 0 s/d 4294967295 Bilangan int tak bertanda

2.9.2. Aturan pendefinisian variabel

Aturan penulisan pengenalan variable, konstanta dan fungsi yang

didefinisikan oleh pemrograman adalah sebagai berikut:

• Pengenala harus diawali dengan huruf (A..Z,a..z) atau karakter garis

bawah(_)

• Selanjutnya dapat berupa huruf, digit(0..9) atau karakter garis bawah atau

tanda dolar($)

• Panjang pengenal boleh lebih dari 31 karakter, tetapi hanya 31 karakter

pertama yang akan dianggap berarti

• Pengenal tidak boleh menggunakan nama yang tergoong sebagai kata-

katacadangan (reserved words) seperti int,if,while dan sebagainya.

2.9.3. Operator

Berikut ini beberapa operator yang digunakan pada bahasa pemrograman C

adalah:

1. Operasi kondisi

C menyediakan operator yang dimaksudkan untuk menyatakan kondisi. Operator

kondisi diantaranya sebagai berikut:

“<” Menyatakan lebih kecil

“<=” Menyatakan lebih kecil atau sama dengan

“>” Menyatakan lebih besar

“>=” Menyatakan lebih besar atau sama dengan

“==” Menyatakan sam dengan

“!=” Menyatakan tidak sama dengan

Page 54: Perancangan Robot Cerdas Semut ATMEGA 16

34

2. Operasi Aritmatika

Operator untuk operasi aritmatika yang tergolong operator binary adalah sebagai

berikut:

“+” Penjumlahan

“-“ Pengurangan

“*” Perkalian

“/” Pembagian

“%” sisa bagi

3. Operasi Logika

Merupakan operasi boolean yang terdiri dari AND, OR, NOT.

“!” Boolean NOT

“&&” Boolean AND

“||” Boolean OR

4. Operasi Bitwise

Berikut ini merupakan Operasi Bitwise diantaranya adalah:

“~” Komplemen Bitwise

“&” Bitwise AND

“|” Bitwise OR

“^” Bitwise exclusive OR

“>>” Rigth shift

“<<” Left shift

5. Operasi assignment

Berikut ini yang termasuk operasi assignment adalah:

“=” Untuk memasukan nilai

“+=” Untuk Menambah nilai dari keadaan semula

“-=” Untuk mengurangi nilai dar keadaan semula

“*=” Untuk mengalikan nilai dari keadaan semula

“/=” Untuk melakukan pembagian terhadap bilangan semula

“%=” Untuk memasukan nilai sisa terhadap bilangan semula

“<<=” Untuk memasukan shift left

“>>=” Untuk memasukan shift right

“&=” Untuk memasukan bitwise AND

Page 55: Perancangan Robot Cerdas Semut ATMEGA 16

35

“^=” Untuk memasukan bitwie XOR

“\=” Untuk memasukan bitwise OR

2.9.4. Preprocessor

1. Preprocessor #include

Biasanya digunakan untuk menyertakan file header (.h) atau file library.

File include berguna memberitahukan compiler agar membaca file yang akan di

include-kan lebih dahulu agar mengenali definisi-definisi yang digunakan dalam

program sehingga tidak dianggap error.

Cara penulisan:

# include <………> untuk lokasi standar file yang telah disetting oleh

tools biasanya pada folder include atau folder direktori compiler.

# include ”……….. “ untuk lokasi file yang kita tentuka sendiri.

2. Preprocessor #define

Digunakan untuk mendefinisikan konstanta atau makro

Cara penulisan:

#define identifier konstanta

Contoh: #define MAX 100

Setiap kemunculan max diganti dengan angka 100.

3. Perintah if dan if ……else…..

Perintah if dan if ……else….. digunakan untuk melakukan operasi

percabangan bersyarat.

Sintaks penulisan if dapat ditulis sebagai berikut :

if (<expression>)<statement>;

Sintaks perintah if ……else…..dapat dituliskan sebagai berikut :

if (<expression>)<statement1>;

else<statement2>;

4. While

Perintah while dapat melakukan looping apabila persyaratannnya benar.

Sintaks perintah while dapat dituliskan sebagai berikut:

nama_variable = nilai_awal;

while(Syarat_loop)

Page 56: Perancangan Robot Cerdas Semut ATMEGA 16

36

{

Statement_yang_akan_diulang;

nama_variable++;

}

5. Fungsi tanpa nilai balik (void)

Fungsi ini tidak memberikan hsil yang serupa nilai melainkan berupa

sebuah proses. Fungsi ini bertipe void.

Contoh:

void kedip()

{

PORTD=0

delay_ms(500); //delay 500ms

PORTD=255;

delay_ms(500);

}

6. Fungsi delay

Menghasilkan delay dalam program-C. berada pada header delay.h yang

harus dimasukan (include) sebelum digunakan. Sebelum memanggil fungsi,

interupsi harus dimatikan terlebih dahulu, apabila tidak maka delay akan lebih

lama dari yang diharapkan. Juga sangat penting untuk menyebutkan frekuensi

clock chip IC AVR yang digunakan pada menu Project – configure - C compiler

- Code Generation.

Page 57: Perancangan Robot Cerdas Semut ATMEGA 16

37

BAB III

METODOLOGI PENELITIAN

3.1. Tempat Dan Waktu Penelitian

Penelitian dan perancangan alat ini dilakukan Pada bulan Juli 2009 sampai

Desember 2009 . Pada perancangan robot cerdas semut ini dilakukan beberapa kali

percobaan dalam merancang robot yang dapat berjalan pada lintasan secara baik

dengan mengatur pengendali dan pemrograman robot, serta membuat pemrograman

strategi robot untuk menentukan lintasan terpendek. Tempat penelitian dan

perancangan alat dilaksanakan di laboratorium teknik kendali dan kediaman penulis.

3.2. Prosedur Penelitian

Langkah – langkah dalam perancangan robot cerdas semut yaitu:

1. Perancangan konsep robot cerdas semut.

2. Menyiapkan alat dan bahan dalam perancangan robot cerdas semut.

3. Merancang hardware robot cerdas semut.

4. Mapping pembacaan sensor.

5. Merancang program (software) dan mendownload program ke

mikrokontroler.

6. Meneliti sistem navigasi robot pada lintasan.

7. Membuat strategi pemrograman untuk menentukan lintasan terpendek.

8. Membuat laporan penelitian.

3.3. Alat dan Bahan

1. DT-AVR Low Cost Micro System mikrokontroler ATMEGA 16

2. SPC DC motor

3. Plat Almunium

4. Motor Servo HS-311 continous

5. Catu daya DC 9 V dan 12 V

6. Sensor Proximity photodioda

Page 58: Perancangan Robot Cerdas Semut ATMEGA 16

38

7. Led warna biru dan merah

8. Plat Acrelyc

9. Saklar on/off.

10. Specer

11. Kabel pita

12. 9 Pushbutton

13. Molex conector white

14. Kawat antena robot cerdas semut

15. Mur dan baut

16. DT HiQ AVRUSB ISP

17. Code vision AVR C

18. Lintasan robot cerdas semut bidang cartesian (3x3) bergaris putih

19. Charger battery BBE

20. Adaptor DC 1.5 - 12 V

3.4. Konsep Dasar Perancangan Alat

Dalam perancangan robot mobil cerdas semut ini memerlukan konsep yang

matang guna menghasilkan robot yang sesuai tujuan. Pemilihan perangakat keras

(hardware) dan perangkat lunak (software) yang merupakan implementasi sistem

mekanik dan sistem kontrol pada robot sangat mempengaruhi perancangan robot,

sehingga robot menjadi lebih handal dan stabil dalam melewati lintasan. Konsep

dasar merupakan pedoman untuk merencanakan sesuatu dalam melakukan rancangan

(desain), konsep ini memuat langkah-langkah dan petunjuk untuk menentukan

sesuatu penunjang yang dibutuhkan dalam mendesain. Berikut ini diagram blok

sistem kendali robot cerdas semut.

Page 59: Perancangan Robot Cerdas Semut ATMEGA 16

39

Gambar 3.1. Diagram Blok Robot Cerdas Semut

Salah satu langkah yang digunakan dalam merancang adalah membagi sistem

menjadi beberapa sub sistem kemudian sub sistem tersebut dibagi menjadi beberapa

bagian sehingga akan lebih mudah dalam menentukan komponen yang akan

digunakan. Dari diagram blok pada gambar.3.1. menggambarkan suatu sub – sub

sistem dengan fungsi yang berbeda membangun sebuah sistem robot cerdas semut

dengan mendapatkan sistem navigasi robot yang memiliki respon sistem yang handal

dan stabil dalam melewati lintasan. Sub sistem robot cerdas semut yaitu pengontrol,

sensor dan aktuator. Untuk pengontrol robot cerdas semut terdiri dari bagian yaitu

mikrokontroler ATMEGA 16 dan SPC DC motor, untuk sensor yaitu sensor

proximity, dan untuk aktuator yaitu motor servo HS-311 dan mekanik kaki hex.

Berikut ini gambaran sistem dalam perancangan alat secara keseluruhan.

Gambar 3.2. Gambaran Sistem Robot Cerdas Semut

Motor servo HS- 311 continous

Sensor Proximity

Mikrokontroler AVR ATMEGA16

Catu Daya 12 Volt

SPC DC Motor

Catu Daya 9 Volt

Catu Daya 5 Volt

9 push button

Mikrokontroler ATMEGA 16

Motor servo continous HS-

311 + -

Sensor proximity

SPC DC motor

Mekanik kaki hex

Pengontrol Aktuator

Sensor

Page 60: Perancangan Robot Cerdas Semut ATMEGA 16

40

16 cm

8 cm

Motor servo continous

Motor servo continous

Sen

sor p

roxi

mity

ph

oto

dio

da

Berdasarkan gambar diatas dapat dilihat dalam robot cerdas semut masing-

masing bagian memerlukan tegangan sumber. Untuk mikrokontroler ATMEGA 16

tegangan sumber sebesar 12 volt, motor servo continous HS-311 yang tegangan

sumber sebesar 9 volt, SPC DC motor digunakan untuk mengatur kecepatan motor

kiri dan kanan, 9 pushbutton untuk menentukan salah satu titik awal dan tujuan robot

dan sensor proximity photodioda memerlukan tegangan sumber sebesar 5 volt.

3.5. Desain Robot Cerdas Semut

3.5.1. Perancangan Perangkat Keras

Membicarakan soal robot, tidak lepas dari unsur mekanik sebagai kerangka

robot. Kerangka robot dibuat dari bahan acrelyc dan plat almunium.

Gambar 3.3. Plat Almunium Bawah Robot Cerdas Semut Tampak Atas

Sedangkan pada dasar rangka robot terbuat dari almunium plat dengan

panjang 16 cm dan lebar 8 cm. Pada plat almunium bagian bawah sebagai tempat

sensor proximity photodioda dan motor servo HS-311 continous untuk kaki kiri dan

kanan robot.

Page 61: Perancangan Robot Cerdas Semut ATMEGA 16

41

16 cm

8 cm

16 cm

8 cm

Gambar 3.4. Plat Almunium Atas Robot Cerdas Semut Tampak Atas

Pada plat almunium bagian atas merupakan tempat supply tegangan terdiri

atas baterai 12 v, baterai 9 v, dan terdapat fungsi saklar sebagai on/off. supply

tegangan 12 volt diberikan untuk mikrokontroler ATMEGA 16 dan supply tegangan

9 volt diberikan untuk motor servo continous HS-311.

Gambar 3.5. Robot Cerdas Semut Tampak Atas

Bat

erai

9 V

Bat

erai

12V

SP

C

AB

CDE

FGH

I

1 2

Page 62: Perancangan Robot Cerdas Semut ATMEGA 16

42

16 cm

Kerangka robot cerdas semut paling atas terbuat dari 1 plat acrylic dengan

panjang 16 cm dan lebar 8 cm yang tersusun menggunakan penyangga baut mur. Plat

acrylic sebagai tempat DT-AVR ATMEGA 16, SPC DC motor dan 9 pushbutton.

Gambar 3.6. Robot Cedas Semut Tampak Samping

Penggerak robot menggunakan sistem kaki hex (6 kaki) dengan sistem

mekanik roda gila yang terhubung pada motor servo continous HS-311 sebagai

aktuator yang memiliki gaya torsi lebih kuat dari motor dc yang mampu mengangkat

beban dari badan robot.

3.5.1.1. Perancangan Perangkat Keras Pengontrol Robot Cerdas Semut

Pusat pengontrol dari robot cerdas semut adalah mikrokontroler ATMEGA

16. Dengan menggunakan DT-AVR Low Cost Micro System sebgai kit minimum

system. PORT-PORT yang digunakan untuk robot cerdas semut yaitu PORTA0.-

PORTA.7 sebagai input sensor proximity photodioda, PORTB.0-PORTB.7 dan

PORTC.6 sebagai input pushbutton dan PORTC.0-PORTC.4 sebagai output SPC DC

motor. Berikut ini skema rangkaian DT-AVR Low Cost Micro System.

Page 63: Perancangan Robot Cerdas Semut ATMEGA 16

43

Gam

bar

3.7.

Ske

ma

DT

-AV

R L

ow C

oas

t M

icro

Sys

tem

Page 64: Perancangan Robot Cerdas Semut ATMEGA 16

44

Driver pengontrol motor menggunakan SPC (smart peripheral controller)

DC motor yang terdiri dari 4 pin sebagai input dengan output untuk 2 buah motor

DC. Dengan menggunakan IC L293D. Hubungan antara SPC (Smart Peripheral

Controller) DC Motor dengan DT-AVR Low Cost Micro System adalah sebagai

berikut:

Tabel. 3.1. Hubungan SPC DC Motor Dengan DT AVR Low Cost Micro System

SPC DC Motor DT-AVR Low Cost Micro System

Gnd Gnd

Vcc Vcc

S1 PC.0

S2 PC.1

S3 PC.2

S4 PC.3

Berdasarkan tabel diatas dapat dilihat bahwa DT-AVR Low Cost Micro

System dikoneksikan langsung ke SPC DC motor melalui 6 pin pada mikrokontroler

ATMEGA 16 sebagai output untuk robot cerdas semut. 2 pin untuk tegangan sumber

dan 4 pin sebagai signal control ke SPC DC motor. Pin input pertama SPC DC

motor berasal dari PORTC.0 sebagai pin pertama pada PORTC, pin input kedua SPC

DC motor berasal dari PORTC.1, pin input ketiga SPC DC motor berasal dari

PORTC.2 dan Pin input terakhir SPC DC motor berasal dari PORTC.3.

Berikut ini digambarkan skema rangakaian SPC DC Motor.

Page 65: Perancangan Robot Cerdas Semut ATMEGA 16

45

DT

AV

R L

ow

co

st

mic

rosy

ste

m

PO

RT

C.0

PO

RT

C.1

PO

RT

C.2

PO

RT

C.3

Vcc

Gro

un

d

Gam

bar

3.8.

Ske

ma

SP

C D

C M

oto

r

Page 66: Perancangan Robot Cerdas Semut ATMEGA 16

46

3.5.1.2. Perancangan Perangkat Keras Sensor Robot Cerdas Semut

Sensor yang dipakai robot cerdas semut yaitu sensor proximity. robot ini

menggunakan kombinasi IR LED berwarna merah dan Photodioda. Agar dapat dibaca

oleh mikrokontroler, maka tegangan sensor harus disesuaikan dengan level tegangan

TTL yaitu 0 – 1 volt untuk logika 0 dan 3 – 5 volt untuk logika 1. Hal ini bisa

dilakukan dengan memasang operational amplifier yang difungsikan sebagai

komparator.

Sensor proximity ini memiliki sensitivitas yang tinggi serta output yang

dihasilkan berupa pulsa digital dengan logika high sebesar 5 volt. Sensor ini akan

mengeluarkan logika high pada permukaan yang terang (putih) dan sebaliknya akan

mengeluarkan logika low pada permukaan yang gelap (hitam pekat). Sensor ini terdiri

dari 6 pasang LED dan photodioda ditempatkan secara menggantung pada bagian

bawah kerangka robot, sehingga dapat berhadapan langsung dengan lintasan yang

akan dibaca. Jarak antara sensor dengan lantai berkisar 1 cm, sedangkan jarak antara

sensor kiri dengan sensor kanan berkisar 1 -2 cm, disesuaikan agar jarak sensor satu

dengan yang lainnya lebih kecil dari lebar garis putih yang berukuran 2 – 3 cm.

Seperti gambar dibawah ini:

Gambar 3.9. Jarak Antara Sensor Proximity

Robot line follower dengan 3 sensor proximity sudah cukup untuk dapat

melewati garis dengan baik, namun dengan menambah dua atau tiga sensor lagi maka

Page 67: Perancangan Robot Cerdas Semut ATMEGA 16

47

akan sangat diperlukan jika ingin menambah kecepatan dalam melintasi garis. Sensor

dapat meningkatkan sensitifitas dalam mencari letak suatu garis. Pada saat kecepatan

tinggi, robot memiliki waktu untuk menyesuaikan arah dan kecepatan, untuk tetap

berada di garis. Kemungkinan keadaan sensor yaitu sebagai berikut:

• 000000 – kehilangan garis

• 000001 – hampir keluar jalur, kemudikan ke kanan dan kurangi kecepatan

• 000011 – sensor terlalu ke kiri, kemudikan ke kanan

• 000010 – sensor ke kiri kemudikan ke kanan

• 000110 – sensor agak ke kiri, kemudikan ke kanan

• 000100 – sensor sedikit ke kiri, kemudikan sedikit ke kanan

• 001100 – di dalam jalur, tingkatkan kecepatan

• 001000 – sensor sedikit ke kanan, kemudikan sedikit ke kiri

• 011000 – sensor agak ke kanan, kemudikan ke kiri

• 010000 – sensor ke kanan kemudikan ke kiri

• 110000 – sensor terlalu ke kanan, kemudikan ke kiri

• 100000 – hampir keluar jalur, kemudikan ke kiri dan kurangi kecepatan

• 111111 – ada persimpangan

Gambar 3.10. Robot Dengan 6 Sensor Proximity

Page 68: Perancangan Robot Cerdas Semut ATMEGA 16

48

Hal yang perlu di perhatikan untuk lebih memaksimalkan kerja sensor

proximity yaitu pengaruh lingkungan seperti cahaya dari luar dan garis lintasan yang

berdebu. Teknik pengaman sensor dari lingkungan sekitar dapat di lakukan dengan

cara:

1. Menerangkan lampu LED dengan teknik kalibrasi sensor dengan

menambahkan tegangan offset

2. Menggunakan LED berwarna merah

3. Membungkus sensor, sehingga terlindung dari cahaya luar

4. Mengatur jarak sensor terhadap lantai 1-2 cm

Hubungan antara sensor proximity dengan DT-AVR Low Cost Micro System

adalah sebagai berikut:

Tabel 3.2. Hubungan Sensor Proximity dengan DT-AVR Low Cost Micro System

DT-AVR Low Cost Micro System Sensor Proximity

Gnd Gnd

Vcc Vcc

PA.0 D1

PA.1 D2

PA.2 D3

PA.3 D4

PA.4 D5

PA.5 D6

Berdasarkan tabel diatas dapat dilihat bahwa DT-AVR Low Cost Micro System

dikoneksikan langsung ke sensor proximity photodioda melalui 6 pin pada PORTA

yaitu pada PORTA.0-PORTA.5 sebagai input untuk robot cerdas semut. 2 pin untuk

tegangan sumber. Berikut merupakan gambar rangkaian sensor proximity photodioda

yang digunakan pada robot ini dengan menggunakan 6 buah sensor proximity

photodioda:

Page 69: Perancangan Robot Cerdas Semut ATMEGA 16

49

Gam

bar

3.11

. Ran

gka

ian

Sen

sor

Pro

xim

ity

Page 70: Perancangan Robot Cerdas Semut ATMEGA 16

50

3.5.1.3. Perancangan Perangkat Keras Aktuator Robot Cerdas Semut

Aktuator yang digunakan yaitu motor servo continous HS-311 dengan

tegangan input searah (DC) dan terdapat juga gear internal. Dengan torsi sebagai

keunggulan dari motor ini dibandingkan motor DC lainnya, mampu mengangkat

beban yang beratnya mencapai 3.40 kg. dengan putaran motor berkecepatan

kurang lebih 60 rpm.

3.5.1.3.1. Penyambungan Motor servo Continous Dengan SPC Motor DC

Motor servo continous HS-311 termasuk motor DC dengan kemampuan

torsi diatas rata-rata motor DC biasa. Modul SPC DC motor dapat dipergunakan

untuk dua buah motor DC yang mempunyai tegangan kerja yang sama. Berikut

adalah cara pemasangan dari kedua buah motor DC yang dilengkapi dengan data

input:

• Modul SPC DC motor dipergunakan untuk motor DC dengan

tegangan kerja dari 5 Volt sampai dengan 36 Volt. Dalam hal ini

digunakan tegangan 9 Volt untuk robot ini.

• Hubungkan catu daya positif (+) untuk motor DC pada Vmotor dan

catu daya negatif (-) pada GND. Tegangannya harus sesuai dengan

tegangan kerja motor.

• Untuk motor DC 1, sambungkan kutub positif motor DC pada M1+

dan kutub negative motor DC pada M1- serta data input pada IN1

secara benar.

• Untuk motor DC 2, sambungkan kutub positif motor DC pada M2+

dan kutub negatif motor DC pada M2- serta data input pada IN2

secara benar.

Gambar 3.12. Hubungan motor DC dengan SPC DC motor

Page 71: Perancangan Robot Cerdas Semut ATMEGA 16

51

3.5.1.4. Perancangan Perangkat Keras Mekanik Robot Cerdas Semut

Sistem gerak kaki yang dipakai menyerupai kaki semut, berjumlah 6 kaki,

dengan sistem mekanik roda gila. roda gila dikonsepkan karena adanya momen

inersia, atau torsi. Dalam fisika besarnya torsi tergantung dari panjang jari-jari dan

gayanya. Semakin besar jari-jarinya maka makin besar torsinya yang akan

mengakibatkan kecepatan secara linearnya menjadi besar. Kaki yang digunakan

terbuat dari almunium plat yang meminimalisasi berat robot. Panjang tiap kaki 6

cm dengan dengan plat penyambung antar kaki yang panjangnya 7cm. terdapat

bantalan karet di bawah kaki yang membuat robot tak mudah selip.

Gambar 3.13. Sistem Kaki Robot Cerdas Semut

3.5.1.5. Perancangan Perangkat Keras Catu Daya Robot Cerdas Semut

Untuk pembuatan robot cerdas semut ini menggunakan 2 (dua) buah catu

daya, yaitu yang pertama adalah catu daya untuk mikrokontroler dan motor DC.

untuk motor DC sebesar 9 Volt. Untuk tegangan supply 9 Volt DC menggunakan

baterai GP 170 MAH. Untuk teganggan supply mikrokontroler menggunakan

baterai Handphone 3,7 V yang disambung atau dirangkai secara seri.

r

Plat penyambung antar kaki

kaki Bantalan karet

Page 72: Perancangan Robot Cerdas Semut ATMEGA 16

52

Ganbar 3.14. Gambar Rangkaian Baterai Untuk Mikrokontroler

3.5.1.6. Perancangan Perangkat Keras Pushbutton Robot Cerdas Semut

Pushbutton digunakan pada robot cerdas semut sebagai input untuk

menentukan titik asal dan titik tujuan kemana robot akan berjalan sebelum robot

dijalankan. terdapat 9 pushbutton yang sesuai dengan titik asal serta titik tujuan

dari robot. Berikut ini Penyambungan 9 pushbutton dengan DT-AVR Low Cost

Micro System.

Tabel. 3.3. Hubungan 9 pushbutton dengan DT-AVR Micro System

9 pushbutton DT-AVR Low Cost Micro System

Gnd Gnd

T1 PB.0

T2 PB.1

T3 PB.2

T4 PB.3

T5 PB.4

T6 PB.5

T7 PB.6

T8 PB.7

T9 PC.6

Berdasarkan tabel diatas dapat dilihat bahwa DT-AVR Low Cost Micro

System dikoneksikan langsung ke 9 pushbutton motor melalui 10 pin pada

PORTB.0 – PORTB.7 dan PORTC.6 sebagai input untuk robot cerdas semut. 1

Page 73: Perancangan Robot Cerdas Semut ATMEGA 16

53

pin untuk supply tegangan yaitu ground dan 9 pin sebagai signal control ke ke 9

pushbutton. Terdapat led indikator sebagai tanda bahwa 9 pushbutton telah aktif.

Berikut ini gambar rangkaian 9 pushbutton.

Ganbar 3.15. Gambar Rangkaian 9 Pushbutton

3.5.2. Perancangan Perangkat Lunak dan Diagram Alir

3.5.2.1.Perancangan Perangkat lunak Code Vision AVR C

Untuk Code Vision AVR C pembuatan source code sangat penting untuk

langkah awal memulai pembuatan program dan project. Source code dibuat

dengan langkah – langkah sebagai berikut:

1. Jalankan software code vision AVR C, kemudian klik File -> New, pilih

Project

2. “Do you want to use the CodeWizardAVR?” Klik Yes

Page 74: Perancangan Robot Cerdas Semut ATMEGA 16

54

3. Pilih Chip yang digunakan, chip : ATMEGA16, clock : 4.000000 MHz

4. Lakukan setting sebagai berikut :

Port : PORTA, PORTB dan PORTC.6 sebagai Input dan PORTC.0

sampai dengan PORTC.3 sebagai Output Pullup

Timers : Timer 0 dengan Clock Value 15,562 KHz, aktifkan Overflow

Interrupt

5. Klik File -> Generate, Save and Exit

Page 75: Perancangan Robot Cerdas Semut ATMEGA 16

55

6. Buatlah source code.

7. Setelah selesai membuat source code, klik Setting -> Programmer

8. Pilih AVR Chip Programmer Type : Atmel STK500/AVRISP dan untuk

Communication port disesuaikan dengan komputer.

9. Klik Project -> Configure, kemudian pilih menu After Make dan

aktifkan Program the Chip. Klik OK jika sudah.

10. Untuk meng-compile project, klik Project -> Make

11. Jika tidak ada error maka file siap didownload ke chip. Pastikan koneksi

kabel downloader dan chip sudah terpasang dengan benar.

12. Nyalakan power supply 12 Volt dan klik Program. Tunggu hingga proses

download selesai.

Page 76: Perancangan Robot Cerdas Semut ATMEGA 16

56

3.5.2.2.Perancangan Perangkat Lunak Pengontrol Robot Cerdas Semut

Robot cerdas semut dirancang untuk mengikuti garis putih serta bergerak

dari titik asal menuju titik tujuan pada 9 titik. Berikut merupakan diagram alir

yang dipakai pada perancangan perangkat lunak pada robot cerdas semut.

1. Program Utama

Gambar 3.16. Diagram Alir Program Utama

Page 77: Perancangan Robot Cerdas Semut ATMEGA 16

57

Program utama akan diproses sebagai berikut:

1. Program akan di eksekusi ketika mikrokontroler mendapatkan tegangan 12

volt.

2. Inisialisasi pada sensor, pushbutton kit dan motor serta proses pemasukan

alamat ke inisialisasi

3. Proses untuk menentukan titik asal dan titik tujuan robot yaitu titik

A,B,C,D,E,F,G,H dan I

4. Proses pencarian lintasan terpendek dengan menggunakan perbandingan

(compare) jarak, jarak yang diambil adalah jarak terpendek/terkecil.

5. Selanjutnya apabila telah di temukan lintasan dengan jarak terpendek maka

akan diteruskan ke proses selanjutnya yaitu rutin baca sensor, tapi apabila

tidak ditemukan maka akan kembali ke proses pencarian lintasan terpendek.

6. Program akan mengeksekusi rutin baca sensor. Rutin ini berfungsi

menentukan Posisi sensor terhadap garis lintasan.

7. Rutin jalankan robot akan menentukan setiap kondisi bagaimana robot akan

bergerak apakah stop, belok kiri, belok kanan, lurus dan persimpangan.

Dari program utama terdapat rutin dan sub rutin dalam perancangan

pengontrol robot cerdas semut. Antara lain yaitu rutin inisialisasi, rutin

persimpangan dan rutin pencarian lintasan terpendek.

Page 78: Perancangan Robot Cerdas Semut ATMEGA 16

58

2. Rutin Inisialisasi

Inisialisasi

sensor,push button

kit dan motor

Simpan Data

00-3fH

00-ffH

00-0fH

Proses masukan

data ke alamat

inisialisasi

End Off

Inisialisasi

sensor,push

button kit dan

motor

Simpan Alamat

00-ffH

Gambar 3.17. Diagram Alir Inisialisasi

Inisialisasi pengontrol robot cerdas semut terdiri atas Sensor proximity

photodioda dengan alamat 00-3FH pada PORT A, pushbutton kit dengan alamat

00-FFH pada PORT B dan pada PORT C dengan alamat 00-0FH terdapat motor.

Data alamat dari sensor, pushbutton kit dan motor kemudian dimasukan dan

disimpan ke alamat 00-FFH.

Page 79: Perancangan Robot Cerdas Semut ATMEGA 16

59

3. Sub Rutin Persimpangan

Persimpangan

Masukan nilai

persimpangan

Pengulangan

Kondisi sensor

menyala semua

Jalankan robot

sesuai sensor

End Off sub

Persimpanagn

Yes

No

Gambar 3.18. Diagram Alir Persimpangan

Pada proses rutin persimpangan langkah awal adalah memasukan nilai

persimpangan setelah itu terjadi pengulangan sampai robot pada kondisi sensor

semua menyala maka proses persimpangan rutin berakhir.

Page 80: Perancangan Robot Cerdas Semut ATMEGA 16

60

4. Rutin Pencarian Lintasan Terpendek

Semua lintasan

Jarak terpendek ?

End Off

Pencarian

lintasan

Terpendek

Tidak

ya

Gambar 3.19. Diagram Alir Pencarian Lintasan Terpendek

Pada proses rutin pencarian lintasan terpendek, semua lintasan dari suatu

titik asal ke suatu titik tujuan yang telah ditentukan akan dicari jarak terpendek

dengan cara membandingakan(compare) jarak semua lintasan. Setelah ditemukan

jarak terpendek maka berakhir proses rutin pencarian lintasan terpendek.

Page 81: Perancangan Robot Cerdas Semut ATMEGA 16

61

3.5.2.3.Perancangan Perangkat Lunak Sensor Robot Cerdas Semut

Dengan mendefinisikan seluruh kemungkinan pembacaan sensor proximity

kita dapat menentukan pergerakan robot yang tujuannya adalah menjaga agar

robot selalu berada di atas garis. Berikut ini adalah kemungkinan yang terjadi

pada sensor:

Gambar 3.20. Kemungkinan Posisi Sensor Proximity Pada Garis

Dengan nilai 1 mempresentasikan sensor mengenai garis dan nilai 0

berada diluar garis, maka dapat ditulis ke dalam tabel kebenaran sebagai berikut:

Tabel 3.4. Posisi Sensor

Posisi

Sensor

Algoritma dalam program

0 00000000

1 00100000

2 00110000

3 00010000

4 00011000

5 00001000

6 00001100

0

1 2 3 4

5 6

7 8 9

10 11 12

Page 82: Perancangan Robot Cerdas Semut ATMEGA 16

62

7 00000100

8 00000110

9 00000010

10 00000011

11 00000001

12 11111111

Berikut diagram alir pendefinisian pembacaan sensor proximity pada

robot cerdas semut.

No

Yes

No

No

Yes

Yes

Yes

Posisi sensor = 000000

Kondisi = 0

Posisi sensor = 000001

Kondisi = 1

Posisi sensor = 000010

Kondisi = 2

Posisi sensor = 000011

Kondisi = 3

1

Baca Sensor

No

Page 83: Perancangan Robot Cerdas Semut ATMEGA 16

63

No

Yes

Yes

Yes

Yes

Yes

No

No

No

No

Kondisi = 8

2

Posisi sensor = 011000

Kondisi = 7

1

Posisi sensor = 000100

Kondisi = 4

Posisi sensor = 000110

Kondisi = 5

Posisi sensor = 001100

Kondisi = 6

Posisi sensor = 001000

Page 84: Perancangan Robot Cerdas Semut ATMEGA 16

64

No

Gambar 3.21. Diagram Alir Baca Sensor

Yes

Yes

No

2

Posisi sensor = 11000

Kondisi = 9

End off baca

sensor

Yes

No

Posisi sensor = 111111

Kondisi = 12

Yes

No

Posisi sensor = 01000

Kondisi = 10

Posisi sensor = 10000

Kondisi = 11

Page 85: Perancangan Robot Cerdas Semut ATMEGA 16

65

Posisi sensor terhadap garis lintasan terdapat 12 macam output kondisi,

diantaranya:

• Kondisi 0: Semua sensor berada di luar garis.

• Kondisi 1: sensor D1 berada di garis, sensor berada ujung kiri.

• Kondisi 2: sensor D2 berada di garis, sensor berada di bagian kiri.

• Kondidi 3: sensor D1 dan D2 berada di garis, sensor berada di bagian kiri

• Kondisi 4: sensor D3 berada di garis, sensor berada agak ke kiri.

• Kondisi 5: sensor D2 dan D3 berada di garis, sensor berada agak kekiri.

• Kondisi 6: sensor D3 dan D4 berada di garis, sensor lurus berada di tengah

• Kondisi 7: sensor D4 dan D5 berada di garis, sensor agak ke kanan

• Kondisi 8: sensor D4 berada di garis, sensor agak ke kanan.

• Kondisi 9: sensor D5 dan D6 di garis, sensor berada di bagian kanan.

• Kondisi 10: sensor D5 berada di garis, sensor berada di bagian kanan.

• Kondisi 11: sensor D6 berada di garis, sensor berada di ujung kanan.

• Kondisi 12: semua sensor berada di garis, terdapat persimpangan.

Page 86: Perancangan Robot Cerdas Semut ATMEGA 16

66

3.5.2.4.Perancangan Perangkat Keras Aktuator Robot Cerdas Semut

Setelah mengetahui kemungkinan-kemungkinan posisi sensor, maka

selanjutnya harus didefinisikan aksi dari setiap kondisi tersebut.

Tabel 3.5. Aksi Pergerakan Robot

Posisi

Sensor

Aksi Robot

Motor Kiri

(PWM)

Motor Kanan

(PWM)

0 Robot Stop 0 0

1 Belok kanan tajam 255 0

2 Belok kanan sedikit tajam 255 50

3 Belok kanan sedang 255 100

4 Belok kanan ringan 255 150

5 Belok kanan sedikit ringan 255 200

6 Maju lurus 255 255

7 Belok kiri sedikit ringan 200 255

8 Belok kiri ringan 150 255

9 Belok kiri sedang 100 255

10 Belok kanan Sedikit tajam 50 255

11 Belok kiri tajam 0 255

12 Persimpanagn Sesuaikan

strategi

Sesuaikan

strategi

Page 87: Perancangan Robot Cerdas Semut ATMEGA 16

67

1

Berikut merupakan diagram alir pengaturan PWM motor terhadap sensor

pada robot cerdas semut.

Yes

No

Yes

No

Yes

No

Yes

No

Yes

No

Kondisi = 4

Kondisi = 3

Kondisi = 0

Jalankan robot sesuai kondisi sensor

Robot Stop

Belok kanan tajam

Kondisi = 1

Belok kanan sedikit tajam

Kondisi = 2

Belok kanan sedang

Belok kanan ringan

Page 88: Perancangan Robot Cerdas Semut ATMEGA 16

68

2

1

Yes

No

Yes

No

Yes

No

Yes

No

Yes

No

Kondisi = 9

Kondisi = 8

Kondisi = 5 Belok kanan sedikit ringan

Maju lurus Kondisi = 6

Belok kiri sedikit ringan

Kondisi = 7

Belok kiri ringan

Belok kiri sedang

Page 89: Perancangan Robot Cerdas Semut ATMEGA 16

69

Gambar 3.22. Diagram Alir Jalankan Robot

Robot akan berjalan sesuai kondisi sensor antara lain:

• Kondisi 0 : robot akan berhenti atau stop dengan PWM kiri =0 dan PWM

kanan= 0

• Kondisi 1: robot akan bergerak belok kanan tajam dengan PWM kiri = 255

dan PWM kanan= 0

• Kondisi 2: robot akan bergerak belok kanan sedikit tajam dengan PWM

kiri = 255 dan PWM kanan=50

• Kondisi 3: robot akan bergerak belok kanan sedang dengan PWM kiri =

255 dan PWM kanan= 100

• Kondisi 4: robot akan bergerak belok kanan ringan dengan PWM kiri =

255 dan PWM kanan= 150

End off jalankan

robot

Yes

No

Yes

No

Yes

No

Kondisi =10 Belok kanan Sedikit tajam

Belok kanan Sedikit tajam

Kondisi = 11

Persimpangan Kondisi = 12

2

Page 90: Perancangan Robot Cerdas Semut ATMEGA 16

70

• Kondisi 5: robot akan bergerak belok kanan sedikit ringan dengan PWM

kiri = 255 dan PWM kanan= 200

• Kondisi 6: robot akan bergerak maju lurus dengan PWM kiri = 255 dan

PWM kanan= 255

• Kondisi 7: robot akan bergerak belok kiri sedikit ringan dengan PWM kiri

= 200 dan PWM kanan= 255

• Kondisi 8: robot akan bergerak belok kiri ringan dengan PWM kiri = 150

dan PWM kanan= 255

• Kondisi 9 : robot akan bergerak belok kiri sedang dengan PWM kiri = 100

dan PWM kanan= 255

• Kondisi 10 : robot akan bergerak belok kiri sedang dengan PWM kiri =

50 dan PWM kanan= 255

• Kondisi 11: robot akan bergerak belok kiri tajam dengan PWM kiri = 0

dan PWM kanan= 255

• Kondisi 12 : robot berada pada persimpangan dan sesuai strategi yang

ditentukan robot akan bergerak belok kanan, belok kiri, lurus atau stop.

Page 91: Perancangan Robot Cerdas Semut ATMEGA 16

71

Berikut ini gambar diagram alir untuk robot cerdas semut bergerak belok

kanan, belok kiri dan stop pada saat menemukan persimpangan.

Robot belok

kanan

Motor kiri

bergerak maju

Motor kanan

Bergerak

Mundur

End Off

Sub Belok

kanan

Robot belok kiri

Motor kanan

bergerak maju

Motor kiri

Bergerak

Mundur

End Off

Sub Belok

kiri

Robot stop

Motor kanan

bergerak diam

Motor kiri

Bergerak diam

End Off

Sub stop

Gambar 3.23. Diagram Alir Sub Rutin Robot Belok Kanan, Belok Kiri dan Stop

Pada sub rutin proses robot belok kanan, motor kiri robot akan bergerak

maju dan motor kanan akan bergerak mundur. Pada sub rutin proses robot belok

kiri, motor kanan robot akan bergerak maju dan motor kiri akan bergerak

mundur. Selanjutnya proses sub rutin stop, motor kanan dan kiri robot diam atau

tidak bergerak.

3.5.2.5.Perancangan Perangkat Lunak Pushbutton Robot Cerdas Semut

Pada perancangan perangkat lunak robot cerdas semut, pushbutton

digunakan sebagai input untuk menentukan titik tujuan saja pada 9 titik yang ada.

Pada pushbutton masing-masing titik menunjukan titik tujuan robot cerdas semut

bergerak, terdapat titik A, B, C, D, E, F, G, H dan I sebagai titik tujuannnya. Pada

saat titik tujuan telah ditentukan maka berakhir proses pushbutton dan dilanjutkan

ke proses berikutnya. Berikut diagram alir pushbutton titik tujuan pada robot

cerdas semut.

Page 92: Perancangan Robot Cerdas Semut ATMEGA 16

72

Gambar 3.24. Diagram Alir Sub Rutin Pushbutton

Page 93: Perancangan Robot Cerdas Semut ATMEGA 16

73

3.5.2.4.Listing Program

Listing program robot cerdas semut

(Lampiran 1)

3.5. Lintasan Robot Cerdas Semut

Lintasan yang digunakan untuk robot cerdas semut ini adalah lintasan

dengan pola persimpangan. Lintasan robot digambarkan dalam bidang kartesian

(3x3) dengan 9 titik sebagai titik asal dan titik tujuan dari robot semut.terdapat

titik A sampai titik I. Pola lintasan berupa persimpangan berupa garis lurus

berwarna putih yang saling memotong sehingga terbentuk persimpangan.

Persimpangan tersebut membentuk kotak – kotak berukuran 30 x 30 cm.

Gambar 3.25. Lintasan Robot Cerdas Semut

3.6. Perancangan Robot Secara Keseluruhan

Setelah rangkaian-rangkaian sub sistem dari robot line follower ini

terbentuk, maka rangkaian robot dapat dibentuk secara utuh seperti yang terlihat

pada Gambar 3.26.

Page 94: Perancangan Robot Cerdas Semut ATMEGA 16

74

Gam

bar

3.26

. Dia

gram

Ske

mat

ik S

iste

m R

obot

Cer

das

Sem

ut

Page 95: Perancangan Robot Cerdas Semut ATMEGA 16

75

Gambar 3.27. Foto Robot Cerdas Semut Yang Di Rancang Tampak Atas

Bagian atas terlihat pushbutton kit 9 titik, DT-AVR Low Cost Minimum

System, kaki robot cerdas semut, antenna robot cerdas semut dan kabel

penghubung molex.

Gambar 3.28. Foto robot cerdas semut yang di rancang tampak samping

Terlihat dari tampak samping mata robot cerdas semut, pushbutton kit 9

titik, DT-AVR Low Cost Minimum System, kaki robot cerdas semut, antenna

robot cerdas semut, kabel penghubung molex. Sensor proximity photodioda, SPC

DC motor, tegangan sumber baterai 9 volt dan tegangan sumber baterai 12 volt.

Page 96: Perancangan Robot Cerdas Semut ATMEGA 16

76

BAB IV

HASIL DAN PEMBAHASAN

Berdasarkan proses perancangan yang sudah dibahas pada bab sebelumnya

dimana untuk mengetahui kinerja, hasil serta kehandalan sistem robot yang telah

dibuat maka dilakukan proses pengujian. Proses pengujian ini ditujukan pada sistem

Input, output robot dan strategi robot cerdas semut. Untuk sistem input dilakukan

pengujian pada sensor dalam membaca garis lintasan. sedangkan sistem output

berupa SPC DC Motor dan motor DC, dilakukan pengujian untuk mengatur

kecepatan motor DC setelah membaca garis dengan menggunakan teknik PWM

(Pulse Wide Modulation). Dalam pengujian sistem input dan output ini menggunakan

program Code Vision AVR.

Pengujian juga dilakukan pada strategi pencarian lintasan terpendek robot

cerdas semut, robot melewati pola lintasan persimpangan dalam bidang kartesian

(3x3) dengan 9 titik sebagai titik asal dan titik tujuan dari robot cerdas semut. Dimana

dari titik asal dicari rute terdekat menuju titik tujuan dengan menggunakan metode

Depth – First Search dan pohon pencarian untuk merepresentasikan ruang keadaanya.

4.1. Pengujian Sistem Input

Pengujian dilakukan pada sensor proximity photodioda dalam membaca garis

lintasan dengan menggunakan 6 buah LED yang di hubungkan ke mikrokontroler.

Penggunaan LED dimaksudkan agar dapat mengetahui pembacaan garis oleh sensor.

Dimana sensor S1 berada dalam garis maka LED 1 akan menyala, dan seterusnya

sesuai dengan kemungkinan pembacaan sensor pada garis lintasan. Berikut ini

rangkaian sensor dan LED pada mikrokontroler:

Page 97: Perancangan Robot Cerdas Semut ATMEGA 16

77

P O R T A

P O R T B

Gambar 4.1. Rangkaian Sensor Proximity Dan Led

Sebagai output 6 buah LED dihubungkan ke PORTB.1 – PORTB.5 dan untuk

input sensor dihubungkan ke PORTA.1 – PORTA.5. Dari percobaan yang dilakukan

maka didapat hasil pembacaan sensor sebagai berikut:

Tabel 4.1. Pembacaan Sensor Menggunakan LED

Posisi sensor

Pembacaan Sensor Keadaan LED

L1 L2 L3 L4 L5 L6

0 00000000 0 0 0 0 0 0

1 00000001 1 0 0 0 0 0

2 00000010 0 1 0 0 0 0

3 00000011 1 1 0 0 0 0

4 00000100 0 0 1 0 0 0

5 00000110 0 1 1 0 0 0

6 00001100 0 0 1 1 0 0

7 00011000 0 0 0 1 1 0

8 00001000 0 0 0 1 0 0

9 00110000 0 0 0 0 1 1

10 00010000 0 0 0 0 1 0

11 00100000 0 0 0 0 0 1

12 00111111 1 1 1 1 1 1

Page 98: Perancangan Robot Cerdas Semut ATMEGA 16

78

if (s5) PORTB.5=0; / jika sensor s5=1, maka LED 5 menyala

else PORTB.5=1;

if (s4) PORTB.4=0; / jika sensor s4=1, maka LED 4menyala

else PORTB.4=1;

if (s3) PORTB.3=0; / jika sensor s3=1, maka LED 3 menyala

else PORTB.3=1;

if (s2) PORTB.2=0; / jika sensor s2=1, maka LED 2 menyala

else PORTB.2=1;

if (s1) PORTB.1=0; / jika sensor s1=1, maka LED 1 menyala

else PORTB.1=1;

if (s0) PORTB.0=0; / jika sensor s0=1, maka LED 0 menyala

else PORTB.0=1;

if(sensor) PORTB=0; / jika sensor =1, maka semua LED menyala

else PORTB=1;

Untuk pengujian ini menggunakan program Code Vision AVR yang listing

programnya sebagai berikut:

Listing Program 4.1. Pengujian Sensor

4.2. Pengujian Sistem Output

Pengujian sistem output merupakan bagian yang terpenting pada pembuatan

robot line follower ini. Dimana sistem output robot yaitu SPC DC motor dan motor

DC sebagai dasar pergerakan robot setelah menerima sinyal dari mikrokontroler.

Pada pengujian sistem output ini terbagi atas dua tahap, tahap yang pertama yaitu

menguji gerak maju dan mundur motor DC menggunakan PWM, dimana harga PWM

yaitu 0 - 255. Berikut ini merupakan tabel hasil percobaan gerak motor.

Page 99: Perancangan Robot Cerdas Semut ATMEGA 16

79

Tabel 4.2. Pengujian Gerak Motor DC dengan PWM

No PORTC PWM Motor

DC 1 PWM Motor

DC 2

Keadaan Motor DC

Motor DC 1 Motor DC 2

1 PORTC.1 = 0 atau 1 PORTC.3= 0 atau 1

0 0 Diam Diam

2 PORTC.1 = 0 PORTC.3=0

0 255 Diam Maju Cepat

3 PORTC.1 = 0 PORTC.3=0

255 0 Maju Cepat Diam

4 PORTC.1 = 0 PORTC.3=0

255 255 Maju Cepat Maju Cepat

5 PORTC.1 = 1 PORTC.3=0

0 255 Diam Maju Cepat

6 PORTC.1 = 1 PORTC.3=0

255 0 Mundur Cepat Diam

7 PORTC.1 = 1 PORTC.3=0

255 255 Mundur Cepat Maju Cepat

8 PORTC.1 = 0 PORTC.3=1

0 255 Diam Mundur Cepat

9 PORTC.1 = 0 PORTC.3=1

255 0 Maju Cepat Diam

10 PORTC.1 = 0 PORTC.3=1

255 255 Maju Cepat Mundur Cepat

11 PORTC.1 = 1 PORTC.3=1

255 255 Mundur cepat Mundur cepat

Listing Program untuk menjalankan motor dengan PWM adalah sebagai berikut:

Listing Program 4.2. Menjalankan Motor DC Dengan PWM

x++; if(x>=rpwm)PORTC.0=0; else PORTC.0=1; if(x>=lpwm)PORTC.2=0;

else PORTC.2=1;

Page 100: Perancangan Robot Cerdas Semut ATMEGA 16

80

Sedangkan listing program dalam pengujian gerak motor DC yaitu:

Listing Program 4.3. Gerak Motor DC Dengan PWM

Untuk pengujian yang kedua yaitu menyesuaikan pergerakan robot sesuai

keadaan sensor dalam membaca garis lintasan. Dimana robot akan memberikan

respon yang berbeda sesuai dengan besar PWM sehingga memberikan kecepatan

yang berbeda pada kedua motor DC robot. Setelah merangkai hardware robot seperti

pada gambar 3.28, maka didapat hasil pengujian sebagai berikut:

1) PORTC.1=0;rpwm=0; PORTC.2=0;lpwm=0; / ke 2 motor diam

PORTC.0=1;rpwm=0;PORTC.2=1;lpwm=0;/ ke 2 motor diam

2) PORTC.0=0;rpwm=0;PORTC.2=0;lpwm=255;/motor 1 diam dan motor 2 maju cepat

3) PORTC.0=0;rpwm=255;PORTC.2=0;lpwm=0;/motor 1 maju cepat dan motor 2 diam

4) PORTC.0=0;rpwm=255;PORTC.2=0;lpwm=255;/motor 1 maju cepat dan motor 2 maju cepat

5) PORTC.0=1;rpwm=0;PORTC.2=0;lpwm=255;/motor 1 diam dan motor 2 maju cepat

6) PORTC.0=1;rpwm=255;PORTC.2=0;lpwm=0;/motor 1 mundur cepat dan motor 2 diam

7) PORTC.0=1;rpwm=255;PORTC.2=0;lpwm=255;/motor 1 mundur cepat dan motor 2 maju cepat

8) PORTC.0=0;rpwm=0;PORTC.2=1;lpwm=255;/motor 1 diam dan motor 2 mundur cepat

9) PORTC.0=0;rpwm=255;PORTC.2=1;lpwm=0;/motor 1 maju cepat dan motor 2 diam

10) PORTC.0=0;rpwm=255;PORTC.2=1;lpwm=255;/motor 1 maju cepat dan motor 2 mundur cepat

11) PORTC.0=1;rpwm=255;PORTC.2=1;lpwm=255; / motor 1 mundur cepat dan motor 2 mudur cepat

Page 101: Perancangan Robot Cerdas Semut ATMEGA 16

81

Tabel 4.3. Pengujian Motor DC dengan PWM

Keadaan Sensor

tegangan roda

kanan (V)

PWM kanan

(Rpwm)

gerak motor DC 1 (Roda kanan)

PWM kiri

(Lpwm)

Tegangan roda kiri

(V)

gerak motor DC 2 (Roda

kiri)

Respon Robot Mobil

1 7.5 255 maju cepat 0 0 diam belok kiri cepat

2 7.5 255 maju cepat 50 0.8 maju pelan belok kiri sedang

3 7.5 255 maju cepat 50 1 diam belok kiri sedang

4 7.4 255 maju cepat 200 2.4 maju pelan belok Kanan pelan

5 7.2 255 maju cepat 150 5 maju pelan belok Kanan pelan

6 7 255 maju cepat 255 7 maju cepat maju lurus

7 5 150 maju pelan 255 7.2 maju cepat belok Kanan pelan

8 2.4 200 maju pelan 255 7.4 maju cepat belok Kanan pelan

9 1 50 diam 255 7.5 maju cepat belok kanan sedang

11 0.8 50 maju pelan 255 7.5 maju cepat belok kanan sedang

12 0 255 Diam 0 7.5 maju cepat belok kanan cepat

Page 102: Perancangan Robot Cerdas Semut ATMEGA 16

82

Berikut ini listing program pengujian motor DC dengan PWM dengan input

sensor proximity photodioda.

Listing Program 4.4. Pengujian Motor DC

if (ski && ska==1) // 001100 {rpwm=255; lpwm=255; // maju lurus a1=0; a2=0; } if (ski==0) // 000100 { rpwm=200; lpwm=255; //belok kanan pelan a1=0; a2=0; xx=1; } if (ska==0) //001000 { rpwm=255; lpwm=200; //belok kiri pelan a1=0; a2=0; xx=0; } if (skix && ski==0) // 000110 {while (!ski==1){ rpwm=150; lpwm=255; //belok kanan pelan a1=0; a2=0; xx=1; } } if (skix==0) // 000010 {while (!ski==1){ rpwm=50; lpwm=255; //belok kanan sedang a1=0; a2=0; xx=1; } } if (ska && skax ==0) //011000 {while (!ska ==1){ rpwm=255; lpwm=150; //belok kiri pelan a1=0; a2=0; xx=0; } }

if (skax ==0) //010000 {while (!ska==1){ rpwm=255; lpwm=50; //belok kiri sedang a1=0; a2=0; xx=0; } } if (skixx && skix==0) //000011 {while (!ski==1){ rpwm=50; lpwm=255; //belok kanan sedang a1=0; a2=0; xx=1; } } if (!skixx==0) //000001 {while (skax==1){ rpwm=255; lpwm=0; //belok kanan cepat a1=0; a2=0; xx=1; } } if (skaxx && skax==0) //110000 {while (!ska==1){ rpwm=255; lpwm=50; // belok kiri sedang a1=0; a2=0; xx=0; } } if (!skaxx==0) //100000 {while (skax==1){ rpwm=0; lpwm=255; //belok kanan cepat a1=0; a2=0; xx=0; } }

Page 103: Perancangan Robot Cerdas Semut ATMEGA 16

83

4.3. Pengujian Strategi Robot Cerdas Semut

Setelah melakukan pengujian pada sensor dan motor DC maka selanjutnya

dilakukan pengujian terhadap robot untuk pola lintasan persimpangan dalam bidang

kartesian (3x3) dengan 9 titik sebagai titik asal dan titik tujuan dari robot semut.

Robot semut berjalan dari titik asal dengan mencari rute atau lintasan terdekat

menuju titik tujuan dengan menggunakan metode Depth – First Search. Sedangkan

untuk mempresentasikan keadaan menggunakan pohon pencarian dalam mencari rute

atau lintasan dari suatu titik asal menuju titik tujuannya. Sebagai sample maka

diambil salah satu titik dari kesembilan titik yang ada yaitu titik A sebagai titik asal

menuju titik tujuan yaitu titik B, C, D, E, F, G, H dan I. dengan posisi awal robot

untuk setiap titik yaitu menghadap kanan.

4.3.1. Pencarian Rute Terpendek Untuk Titik A

Untuk titik A pada pencarian rute terpendek ini dengan delapan daerah titik

tujuan yaitu titik B, C, D, E, F, G, H dan I.

4.3.1.1.Titik A ke Titik B

Berdasarkan proses pencarian rute terpendek dengan pohon pencarian

sebagai representasi keadaan, maka didapatkan rute-rute sebagai berikut:

Tabel 4.4. Lintasan Titik A ke Titik B

No Rute/lintasan Jarak (cm) Keterangan

1 2 3 4 5 6 7 8

A-B A-F-E-B A-F-E-D-C-B A-F-E-H-I-D-C-B A-F-G-H-I-D-C-B A-F-G-H-I-D-E-B A-F-G-H-E-B A-F-G-H-E-D-C-B

30 90 150 240 240 240 150 240

Rute terpendek Rute terpanjang Rute terpanjang Rute terpanjang Rute terpanjang

Page 104: Perancangan Robot Cerdas Semut ATMEGA 16

84

A

B F

E G

B D

C

B

H H

E II G I

D

C I

B

F BD

I C

B

D

EC

B B H F

Gambar 4.2 . Pohon Pencarian Rute Terpendek Titik A Ke Titik B

Dari tabel dan gambar diatas didapatkan rute terpendek titik A ke titik B yaitu A-B dengan jarak 30 cm. berikut ini dapat digambarkan robot bergerak dari titik A ke titik B dengan rute terpendek.

Gambar 4.3 . Strategi Penentuan Rute Terpandek Titik A Ke Titik B

Page 105: Perancangan Robot Cerdas Semut ATMEGA 16

85

Berdasarkan gambar dapat dilihat rute terpendek robot dari titik A menuju

titik B (A-B) yaitu dari titk A robot bergerak lurus menuju titik B. Berikut ini

listening program rute A-B.

Listening Program 4.5. Rute A-B

4.3.1.2.Titik A ke Titik C

Berdasarkan proses pencarian rute terpendek dengan pohon pencarian

sebagai representasi keadaan, maka didapatkan rute-rute sebagai berikut:

Tabel 4.5. Lintasan Titik A Ke Titik C

No Rute/lintasan Jarak (cm) Keterangan

1 2 3 4 5 6 7 8 9 10 11 12

A-B-C A-F-G-H-E-B-C A-F-G-H-I-D-E-B-C A-F-G-H-E-D-C A-F-E-B-C A-F-E-D-C A-F-E-H-I-D-C A-F-E-H-I-D-E-B-C A-F-G-H-I-D-C A-B-E-H-I-D-C A-B-E-D-C A-B-E-F-G-H-I-D-C

60 180 240 180 120 120 180 240 180 180 120 240

Rute terpendek Rute terpanjang Rute terpanjang Rute terpanjang

void AB() { ab1=30; //jarak ab1" lurus(); // jalan lurus lpwm=0;rpwm=0; scan_count(1); //titik b lpwm=0;rpwm=0; stop(); // stop }

Page 106: Perancangan Robot Cerdas Semut ATMEGA 16

86

A

F B

C E

F HD

A G

H

E I

D

E C

IC G I

D

E C

EG

DH B

I CA CG I

D

E C

H

I E

B CD

I CA C

D

EC

F BH

C

Gambar 4.4 . Pohon Pencarian Rute Terpendek Titik A Ke Titik C

Dari tabel dan gambar diatas didapat rute terpendek titik A ke titik C yaitu A-B-C dengan jarak 60 cm. berikut ini dapat digambarkan robot bergerak dari titik A ke titik C dengan rute terpendek.

Gambar 4.5. Strategi Penentuan Rute Terpandek Titik A Ke Titik C

Page 107: Perancangan Robot Cerdas Semut ATMEGA 16

87

Berdasarkan gambar dapat dilihat rute terpendek robot dari titik A menuju

titik C (A-B-C) yaitu dari titik A robot bergerak lurus menuju titik B dan bergerak

lurus lagi menuju titik C. Berikut ini listening program rute A-B-C.

Listening Program 4.6. Rute A-B-C

4.3.1.3. Titik A ke Titik D

Berdasarkan proses pencarian rute terpendek dengan pohon pencarian

sebagai representasi keadaan, maka didapatkan rute-rute sebagai berikut:

Tabel 4.6. Lintasan Titik A Ke Titik D

No Rute/lintasan Jarak (cm) Keterangan

1 2 3 4 5 6 7 8.

A-B-C-D A-F-E-D A-B-E-D A-B-E-H-I-D A-F-E-H-I-D A-F-E-B-C-D A-B-E-F-G-H-I-D A-F-G-H-I-D

90 90 90 150 150 150 210 150

Rute terpendek Rute terpendek Rute terpendek Rute terpanjang

void ABC() { ac2=60; //jarak ABC lurus(); // titik a lpwm=0;rpwm=0; scan_count(1); //titik b lpwm=0;rpwm=0; lurus(); // jalan lurus lpwm=0;rpwm=0; scan_count(1); //titik c lpwm=0;rpwm=0; stop(); } //stop

Page 108: Perancangan Robot Cerdas Semut ATMEGA 16

88

Gambar 4.6 . Pohon Pencarian Rute Terpendek Titik A Ke Titik D

Dari tabel dan gambar diatas karena memiliki lebih dari satu solusi untuk menentukan lintasan terpendek, maka dengan menggunakan metode perbandingan (compare) pada pemrograman Code Vision AVR C didapat rute terpendek titik A ke titik D yaitu A-B-C-D dengan jarak 90 cm. berikut ini dapat digambarkan robot bergerak dari titik A ke titik D dengan rute terpendek.

Gambar 4.7 . Strategi Penentuan Rute Terpandek Titik A Ke Titik D

Page 109: Perancangan Robot Cerdas Semut ATMEGA 16

89

Berdasarkan gambar dapat dilihat rute terpendek robot dari titik A menuju

titik D (A-B-C-D) yaitu dari titik A robot bergerak lurus menuju titik B, bergerak

lurus lagi menuju titik C dan belok kanan menuju titik D. Berikut ini listening

program rute A-B-C-D.

Listing Program 4.7. Rute A-B-C-D

4.3.1.4. Titik A ke Titik E

Berdasarkan proses pencarian rute terpendek dengan pohon pencarian

sebagai representasi keadaan, maka didapatkan rute-rute sebagai berikut:

Tabel 4.7. Lintasan Titik A Ke Titik E

No Rute/lintasan Jarak (cm) Keterangan

1 2 3 4 5 6 7 8.

A-F-E A-B-E A-F-G-H-E A-F-G-H-I-D-E A-F-G-H-I-D-C-B-E A-B-C-D-E A-B-C-D-I-H-E A-B-C-D-I-H-G-F-E

60 60 120 180 240 120 180 240

Rute terpendek Rute terpendek Rute terpanjang Rute terpanjang

void ABCD() { ad1=90; //jarak ABCD" lurus(); //titik a lpwm=0;rpwm=0; scan_count(1); //titik b lpwm=0;rpwm=0; lurus(); // jalan lurus lpwm=0;rpwm=0; scan_count(1); //titik c lpwm=0;rpwm=0; kanan(); //belok kanan lpwm=0;rpwm=0; scan_count(1); //titik b lpwm=0;rpwm=0; stop(); } //stop

Page 110: Perancangan Robot Cerdas Semut ATMEGA 16

90

A

BF

EB

H

I

D

C

B

E

E

A E

E C

D

E I

H

E G

F

E A

Gambar 4.8 . Pohon Pencarian Rute Terpendek Titik A Ke Titik E

Dari tabel dan gambar diatas diatas karena memiliki lebih dari satu solusi untuk menentukan lintasan terpendek, maka dengan menggunakan metode perbandingan (compare) pada pemrograman Code Vision AVR C didapat rute terpendek titik A ke titik E yaitu A-F-E dengan jarak 60 cm. berikut ini dapat digambarkan robot bergerak dari titik A ke titik E dengan rute terpendek.

Gambar 4.9. Strategi Penentuan Rute Terpandek Titik A Ke Titik E

Page 111: Perancangan Robot Cerdas Semut ATMEGA 16

91

Berdasarkan gambar dapat dilihat rute terpendek robot dari titik A menuju

titik E (A-F-E) yaitu dari titik A robot belok kanan menuju titik F dan belok kiri

menuju titik E. Berikut ini listening program rute A-F-E.

Listening Program 4.8. Rute A-F-E

4.3.1.5. Titik A ke Titik F

Berdasarkan proses pencarian rute terpendek dengan pohon pencarian

sebagai representasi keadaan, maka didapatkan rute-rute sebagai berikut:

Tabel 4.8. Lintasan Titik A Ke Titik F

No Rute/lintasan Jarak (cm) Keterangan

1 2 3 4 5 6 7 8.

A-F A-B-E-F A-B-E-H-G-F A-B-C-D-E-F A-B-E-D-I-H-G-F A-B-C-D-E-H-G-F A-B-C-D-I-H-G-F A-B-C-D-I-H-E-F

30 90 150 150 210 210 210

Rute terpendek Rute terpanjang Rute terpanjang Rute terpanjang Rute terpanjang

void AFE() { ae1=60; //jarak AFE" kanan(); //titik a lpwm=0;rpwm=0; scan_count(1); //titik f lpwm=0;rpwm=0; kiri(); // belok kiri lpwm=0;rpwm=0; scan_count(1); //titik e lpwm=0;rpwm=0; stop(); } //stop

Page 112: Perancangan Robot Cerdas Semut ATMEGA 16

92

Gambar 4.10. Pohon Pencarian Rute Terpendek Titik A Ke Titik F

Dari tabel dan gambar diatas didapat rute terpendek titik A ke titik F yaitu A-F dengan jarak 30 cm. berikut ini dapat digambarkan robot bergerak dari titik A ke titik F dengan rute terpendek.

Gambar 4.11. Strategi Penentuan Rute Terpandek Titik A Ke Titik F

Page 113: Perancangan Robot Cerdas Semut ATMEGA 16

93

Berdasarkan gambar dapat dilihat rute terpendek robot dari titik A menuju

titik F (A-F) yaitu dari titik A robot belok kanan menuju titik F. Berikut ini listening

program rute A-F.

Listening Program 4.9. Rute A-F

4.3.1.6. Titik A ke Titik G

Berdasarkan proses pencarian rute terpendek dengan pohon pencarian

sebagai representasi keadaan, maka didapatkan rute-rute sebagai berikut:

Tabel 4.9. Lintasan Titik A ke Titik G

No Rute/lintasan Jarak (cm) Keterangan

1 2 3 4 5 6 7 8. 9. 10 11.

A-F-G A-F-E-H-G A-F-E-D-I-H-G A-B-E-F-G A-F-E-B-C-D-I-H-G A-B-E-D-I-H-G A-B-C-D-E-F-G A-B-E-H-G A-B-C-D-E-H-G A-B-C-D-I-H-E-F-G A-B-C-D-I-H-G

60 120 160 120 240 160 160 120 160 240 160

Rute terpendek Rute terpanjang Rute terpanjang

void AF() { af1=30; //jarak AFE" kanan(); //titik a lpwm=0;rpwm=0; scan_count(1); //titik f lpwm=0;rpwm=0; stop(); }

Page 114: Perancangan Robot Cerdas Semut ATMEGA 16

94

Gambar 4.12. Pohon Pencarian Rute Terpendek Titik A Ke Titik G

Dari tabel dan gambar diatas didapat rute terpendek titik A ke titik G yaitu A-F-G dengan jarak 60 cm. berikut ini dapat digambarkan robot bergerak dari titik A ke titik G dengan rute terpendek.

Gambar 4.13. Strategi Penentuan Rute Terpandek Titik A Ke Titik G

Page 115: Perancangan Robot Cerdas Semut ATMEGA 16

95

Berdasarkan gambar dapat dilihat rute terpendek robot dari titik A menuju

titik G (A-F-G) yaitu dari titik A robot belok kanan menuju titik F dan lurus menuju

titik G. Berikut ini listening program rute A-F-G.

Listening Program 4.10. Rute A-F-G

4.3.1.7. Titik A ke Titik H

Berdasarkan proses pencarian rute terpendek dengan pohon pencarian

sebagai representasi keadaan, maka didapatkan rute-rute sebagai berikut:

Tabel 4.10. Lintasan Titik A Ke Titik H

No Rute/lintasan Jarak (cm) Keterangan

1 2 3 4 5 6 7 8. 9. 10

A-F-G-H A-F-E-H A-F-E-D-I-H A-B-E-H A-B-E-F-G-H A-F-E-B-C-D-I-H A-B-E-D-I-H A-B-C-D-E-F-G-H A-B-C-D-E-H A-B-C-D-I-H

90 90 150 90 150 210 150 210 150 150

Rute terpendek Rute terpendek Rute terpendek Rute terpanjang Rute terpanjang

void AFG() { ag1=60; //jarak AFE" kanan(); //titik a scan_count(1); //titik f lpwm=0;rpwm=0; lurus(); lpwm=0;rpwm=0; scan_count(1); //titik g lpwm=0;rpwm=0; stop(); }

Page 116: Perancangan Robot Cerdas Semut ATMEGA 16

96

Gambar 4.14. Pohon Pencarian Rute Terpendek Titik A Ke Titik H

Dari tabel dan gambar diatas diatas karena memiliki lebih dari satu solusi untuk menentukan lintasan terpendek, maka dengan menggunakan metode perbandingan (compare) pada pemrograman Code Vision AVR C didapat rute terpendek titik A ke titik H yaitu A-F-G-H dengan jarak 90 cm. berikut ini dapat digambarkan robot bergerak dari titik A ke titik H dengan rute terpendek.

Gambar 4.15 . Strategi Penentuan Rute Terpandek Titik A Ke Titik H

Page 117: Perancangan Robot Cerdas Semut ATMEGA 16

97

Berdasarkan gambar dapat dilihat rute terpendek robot dari titik A menuju

titik H (A-F-G-H) yaitu dari titik A robot belok kanan menuju titik F, lurus menuju

titik G dan belok kiri menuju titik H. Berikut ini listening program rute A-F-G-H.

Listening Program 4.11. Rute A-F-G-H

4.3.1.8. Titik A ke Titik I

Berdasarkan proses pencarian rute terpendek dengan pohon pencarian

sebagai representasi keadaan, maka didapatkan rute-rute sebagai berikut:

Tabel 4.11. Lintasan Titik A ke Titik I

No Rute/lintasan Jarak (cm) Keterangan

1 2 3 4 5 6 7 8. 9.

A-F-G-H-I A-F-E-H-I A-F-E-D-I A-F-E-B-C-D-I A-F-G-H-E-D-I A-B-E-F-G-H-I A-B-E-H-I A-B-E-D-I A-B-C-D-E-H-I

120 120 120 160 160 160 120 120 160

Rute terpendek Rute terpendek Rute terpendek Rute terpendek Rute terpendek

void AFGH() { ah1=90; //jarak AFGH" kanan(); //titik a scan_count(1); //titik f lpwm=0;rpwm=0; lurus(); lpwm=0;rpwm=0; scan_count(1); //titik g lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik h lpwm=0;rpwm=0; stop(); }

Page 118: Perancangan Robot Cerdas Semut ATMEGA 16

98

A

BF

E C

D

IE

FB H

G I A G

H

IE

F D

IC

H

E IG

H

IE

EG

DH B

ICC

D

IE

G I

H

EI

DF B

C IC

D

IE

A

Gambar 4.16. Pohon Pencarian Rute Terpendek Titik A Ke Titik I

Dari tabel dan gambar diatas diatas karena memiliki lebih dari satu solusi

untuk menentukan lintasan terpendek, maka dengan menggunakan metode

perbandingan (compare) pada pemrograman Code Vision AVR C didapat rute

terpendek titik A ke titik I yaitu A-F-G-H-I dengan jarak 120 cm. berikut ini dapat

digambarkan robot bergerak dari titik A ke titik I dengan rute terpendek.

10. 11. 12.

A-B-C-D-I A-F-G-H-E-B-C-D-I A-B-C-D-E-F-G-H-I

120 240 240

Rute terpendek Rute terpanjang Rute terpanjang

Page 119: Perancangan Robot Cerdas Semut ATMEGA 16

99

Gambar 4.17 . Strategi Penentuan Rute Terpandek Titik A Ke Titik I

Berdasarkan gambar dapat dilihat rute terpendek robot dari titik A menuju

titik I (A-F-G-H-I) yaitu dari titik A robot belok kanan menuju titik F, lurus ke titik

G, belok kiri ke titik H dan lurus menuju titik I. Berikut ini listening program rute A-

F-G-H-I.

Listening Program 4.12. Rute A-F-G-H-I

void AFGHI() { ai1=120; //jarak AFGHI" kanan(); //titik a scan_count(1); //titik f lpwm=0;rpwm=0; lurus(); lpwm=0;rpwm=0; scan_count(1); //titik g lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik i lpwm=0;rpwm=0; lurus(); lpwm=0;rpwm=0; scan_count(1); //titik i lpwm=0;rpwm=0; stop(); }

Page 120: Perancangan Robot Cerdas Semut ATMEGA 16

100

4.3.2. Pencarian Rute Terpendek Untuk Titik B

Untuk titik B pada pencarian rute terpendek ini dengan delapan daerah titik

tujuan yaitu titik A, C, D, E, F, G, H dan I. dapat dilihat pada tabel berikut.

Tabel 4.12. Lintasan Terpendek Untuk Titik B

No Titik asal ke titik tujuan Rute/lintasan terpendek Jarak (cm)

1.

2.

3.

4.

5.

6.

7.

8.

Titik B ke titik A

Titik B ke titik C

Titik B ke titik D

Titik B ke titik E

Titik B ke titik F

Titik B ke titik G

Titik B ke titik H

Titik B ke titik I

B-A

B-C

B-C-D

B-E

B-E-F

B-E-H-G

B-E-H

B-E-H-I

30

30

60

30

60

90

60

90

Maka ditemukan lintasan terpendek pada titik B ke masing-masing titik

lainnya yaitu B-A, B-A, B-C-D, B-E, B-E-F, B-E-H-G, B-E-H dan B-E-H-I.

4.3.3. Pencarian Rute Terpendek Untuk Titik C

Untuk titik C pada pencarian rute terpendek ini dengan delapan daerah titik

tujuan yaitu titik A, B, D, E, F, G, H dan I. dapat dilihat pada tabel berikut.

Tabel 4.13. Lintasan Terpendek Untuk Titik C

No Titik asal ke titik tujuan Rute/lintasan terpendek Jarak (cm)

1.

2.

3.

4.

5.

Titik C ke titik A

Titik C ke titik B

Titik C ke titik D

Titik C ke titik E

Titik C ke titik F

C-B-A

C-B

C-D

C-D-E

C-D-E-F

60

30

30

60

90

Page 121: Perancangan Robot Cerdas Semut ATMEGA 16

101

6.

7.

8.

Titik C ke titik G

Titik C ke titik H

Titik C ke titik I

C-B-A-F-G

C-D-I-H

C-D-I

120

90

60

Maka ditemukan lintasan terpendek pada titik C ke masing-masing titik

lainnya yaitu C-B-A, C-B,C-D, C-D-E, C-D-E-F, C-B-A-F-G, C-D-I-H dan C-D-I

4.3.4. Pencarian Rute Terpendek Untuk Titik D

Untuk titik D pada pencarian rute terpendek ini dengan delapan daerah titik

tujuan yaitu titik A, B, C, E, F, G, H dan I. dapat dilihat pada tabel berikut.

Tabel 4.14. Lintasan Terpendek Untuk Titik D

No Titik asal ke titik tujuan Rute/lintasan terpendek Jarak (cm)

1.

2.

3.

4.

5.

6.

7.

8.

Titik D ke titik A

Titik D ke titik B

Titik D ke titik C

Titik D ke titik E

Titik D ke titik F

Titik D ke titik G

Titik D ke titik H

Titik D ke titik I

D-C-B-A

D-C-B

D-C

D-E

D-E-F

D-E-F-G

D-I-H

D-I

90

60

30

30

60

90

60

30

Maka ditemukan lintasan terpendek pada titik D ke masing-masing titik

lainnya yaitu D-C-B-A, D-C-B, D-C, D-E, D-E-F, D-E-F-G, D-I-H dan D-I

Page 122: Perancangan Robot Cerdas Semut ATMEGA 16

102

4.3.5. Pencarian Rute Terpendek Untuk Titik E

Untuk titik E pada pencarian rute terpendek ini dengan delapan daerah titik

tujuan yaitu titik A, B, C, D, F, G, H dan I. dapat dilihat pada tabel berikut.

Tabel 4.12. Lintasan Terpendek Untuk Titik E

No Titik asal ke titik tujuan Rute/lintasan terpendek Jarak (cm)

1.

2.

3.

4.

5.

6.

7.

8.

Titik E ke titik A

Titik E ke titik B

Titik E ke titik C

Titik E ke titik D

Titik E ke titik F

Titik E ke titik G

Titik E ke titik H

Titik E ke titik I

E-B-A

E-B

E-B-C

E-D

E-F

E-F-G

E-H

E-H-I

60

30

60

30

30

60

30

60

Maka ditemukan lintasan terpendek pada titik E ke masing-masing titik

lainnya yaitu E-B-A, E-B, E-B-C, E-D, E-F, E-F-G, E-H dan E-H-I.

4.3.6. Pencarian Rute Terpendek Untuk Titik F

Untuk titik F pada pencarian rute terpendek ini dengan delapan daerah titik

tujuan yaitu titik A, B, C, D, E, G, H dan I. dapat dilihat pada tabel berikut.

Tabel 4.16. Lintasan Terpendek Untuk Titik F

No Titik asal ke titik tujuan Rute/lintasan terpendek Jarak (cm)

1.

2.

3.

4.

Titik F ke titik A

Titik F ke titik B

Titik F ke titik C

Titik F ke titik D

F-A

F-E-B

F-E-D-C

F-E-D

30

60

90

60

Page 123: Perancangan Robot Cerdas Semut ATMEGA 16

103

5.

6.

7.

8.

Titik F ke titik E

Titik F ke titik G

Titik F ke titik H

Titik F ke titik I

F-E

F-G

F-G-H

F-E-D-I

30

30

60

90

Maka ditemukan lintasan terpendek pada titik F ke masing-masing titik

lainnya yaitu F-A, F-E-B, F-E-D-C, F-E-D, F-E, F-G, F-G-H dan F-E-D-I.

4.3.7. Pencarian Rute Terpendek Untuk Titik G

Untuk titik G pada pencarian rute terpendek ini dengan delapan daerah titik

tujuan yaitu titik A, B, C, D, E, F, H dan I. dapat dilihat pada tabel berikut.

Tabel 4.17. Lintasan Terpendek Untuk Titik G

No Titik asal ke titik tujuan Rute/lintasan terpendek Jarak (cm)

1.

2.

3.

4.

5.

6.

7.

8.

Titik G ke titik A

Titik G ke titik B

Titik G ke titik C

Titik G ke titik D

Titik G ke titik E

Titik G ke titik F

Titik G ke titik H

Titik G ke titik I

G-F-A

G-H-E-B

G-H-I-D-C

G-H-I-D

G-H-E

G-F

G-H

G-H-I

60

90

120

90

60

30

30

60

Maka ditemukan lintasan terpendek pada titik G ke masing-masing titik

lainnya yaitu G-F-A, G-H-E-B, G-H-I-D-C, G-H-I-D, G-H-E, G-F, G-H dan G-H-I.

Page 124: Perancangan Robot Cerdas Semut ATMEGA 16

104

4.3.8. Pencarian Rute Terpendek Untuk Titik H

Untuk titik H pada pencarian rute terpendek ini dengan delapan daerah titik

tujuan yaitu titik A, B, C, D, E, F, G dan I. dapat dilihat pada tabel berikut.

Tabel 4.18. Lintasan Terpendek Untuk Titik H

No Titik asal ke titik tujuan Rute/lintasan terpendek Jarak (cm)

1.

2.

3.

4.

5.

6.

7.

8.

Titik H ke titik A

Titik H ke titik B

Titik H ke titik C

Titik H ke titik D

Titik H ke titik E

Titik H ke titik F

Titik H ke titik G

Titik H ke titik I

H-E-B-A

H-E-B

H-I-D-C

H-I-D

H-E

H-E-F

H-G

H-I

90

60

90

60

30

60

30

30

Maka ditemukan lintasan terpendek pada titik H ke masing-masing titik

lainnya yaitu H-E-B-A, H-E-B, H-I-D-C, H-I-D, H-E, H-E-F, H-G dan H-I.

4.3.9. Pencarian Rute Terpendek Untuk Titik I

Untuk titik I pada pencarian rute terpendek ini dengan delapan daerah titik

tujuan yaitu titik A, B, C, D, E, F, G dan H. dapat dilihat pada tabel berikut.

Page 125: Perancangan Robot Cerdas Semut ATMEGA 16

105

Tabel 4.19. Lintasan Terpendek Untuk Titik I

No Titik asal ke titik tujuan Rute/lintasan terpendek Jarak (cm)

1.

2.

3.

4.

5.

6.

7.

8.

Titik I ke titik A

Titik I ke titik B

Titik I ke titik C

Titik I ke titik D

Titik I ke titik E

Titik I ke titik F

Titik I ke titik G

Titik I ke titik H

I-D-C-B-A

I-D-C-B

I-D-C

I-D

I-D-E

I-D-E-F

I-H-G

I-H

120

90

60

30

60

90

60

30

Maka ditemukan lintasan terpendek pada titik I ke masing-masing titik

lainnya yaitu I-D-C-B-A, I-D-C-B, I-D-C, I-D, I-D-E, I-D-E-F, I-H-G dan I-H.

4.4. Pembahasan

Pembahasan dilakukan pada sistem input robot cerdas semut, sistem output

robot cerdas semut dan strategi robot cerdas semut.

4.4.1. Pembahasan Sistem Input

Pada tabel.4.1 pembacaan sensor diasumsikan nilai 1 merupakan keadaan

sensor mengenai garis. sedangkan pada LED yang bernilai 1 di asumsikan LED

dalam keadaan menyala. Ketika sensor mengenai garis maka led yang menunjukan

sensor proximity photodioda aktif pun menyala. Dari pengujian sensor proximity

photodioda maka didapatkan yaitu:

1. Pada posisi sensor = 0 maka semua led mati

2. Pada posisi sensor =1 maka hanya led L1 menyala

3. Pada posisi sensor =2 maka hanya led L2 menyala

4. Pada posisi sensor =3 maka hanya led L1 dan L2 menyala

5. Pada posisi sensor =4 maka hanya led L3 menyala

6. Pada posisi sensor =5 maka hanya led L2 dan L3 menyala

Page 126: Perancangan Robot Cerdas Semut ATMEGA 16

106

7. Pada posisi sensor =6 maka hanya led L3 dan L4 menyala

8. Pada posisi sensor =7 maka hanya led L4 dan L5menyala

9. Pada posisi sensor =8 maka hanya led L4 menyala

10. Pada posisi sensor =9 maka hanya led L5 dan L6 menyala

11. Pada posisi sensor =10 maka hanya led L5 menyala

12. Pada posisi sensor =11maka hanya led L6 menyala

13. Pada posisi sensor =12 maka semua led menyala

4.4.2. Pembahasan Sistem Output

Pada tabel 4.2 pengujian gerak motor DC menunjukan bahwa jika PORTC.1

dan PORTC.3 = 1 maka putaran motor akan berputar mundur, sebaliknya jika

PORTC.1 dan PORTC.3 = 0 maka motor akan berputar maju. Untuk penentuan

PWM ketika diberikan PWM=255 maka motor akan berputar cepat, sebaliknya ketika

diberikan PWM=0 maka motor akan diam.

Berikut ini grafik pengujian motor DC dengan PWM berdasarkan posisi

sensor terhadap tegangan.

0

1

2

3

4

5

6

7

8

1 2 3 4 5 6 7 8 9 10 11

Motor Kanan

Motor Kiri

Gambar 4.18. Grafik Pengujian Motor DC dengan PWM

Posisi Sensor

Tegangan (V)

Page 127: Perancangan Robot Cerdas Semut ATMEGA 16

107

Pada pengujian motor DC dengan PWM menunjukan bahwa dengan

kecepatan putaran motor maksimal yaitu 255 PWM setara dengan tegangan 7,5 Volt,

sedangkan untuk putaran motor minimal yaitu 0 PWM setara dengan tegangan 0

Volt. Dengan jumlah bit =256 dan tegangan maksimal = 7,5 Volt. Semakin besar nilai

PWM maka makin tegangan yang dihasilkan untuk memutar motor DC. Posisi sensor

= 6 (001100) adalah posisi ideal roda kiri dan kanan bergerak maju cepat dengan

tegangan yang sama yaitu 7 volt. Untuk posisi sensor = 1 (000001) maka motor

kanan berputar maju cepat dengan tegangan = 7,5 volt dan motor kiri diam = 0 volt.

Sebaliknya jika posisi sensor = 11 (100000) maka maka motor kiri berputar maju

cepat dengan tegangan = 7,5 volt dan motor kanan diam = 0 volt.

4.4.3. Pembahasan Strategi Robot Cerdas Semut

Berdasarkan gambar pada pohon pencarian titik A maka diukur

perfomansi metode pencarian Dept-First Search pada robot cerdas semut sebagai

berikut.

Tabel 4.20. Informasi Metode Pencarian Untuk Titik A

Titik Asal Ke Titik

Tujuan

Kriteria

b m

Completeness

Time complexity

Space complexity

Titik A ke Titik B

Titik A ke Titik C

Titik A ke Titik D

Titik A ke Titik E

Titik A ke Titik F

Titik A ke Titik G

Titik A ke Titik H

Titik A ke Titik I

2

2

2

2

2

2

2

2

8

9

8

9

8

9

8

9

Completed

Completed

Completed

Completed

Completed

Completed

Completed

Completed

256

512

256

512

256

512

256

512

16

18

16

18

16

18

16

18

Page 128: Perancangan Robot Cerdas Semut ATMEGA 16

108

Keterangan :

b : Faktor Percabangan

m : Kedalaman maksimum dari pohon pencarian

Time complexity = (b^m) Space complexity = (b x m)

Untuk setiap titik tujuan B sampai dengan I dapat dilihat pada tabel bahwa

untuk kriteria Completeness mencapai complete semua, disebabkan dalam pencarian

ini tidak terdapat level yang sangat dalam maka pada pencarian ini mendapatkan

solusi. Untuk titik tujuan B, D, F dan H memiliki Time complexity lebih singkat dari titik

tujuan lainnnya dan memiliki Space complexity lebih kecil dari titik tujuan lainnnya.

Disebabkan tingkat level kedalaman maksimum pohon pencarian pada titik-titik tujuan

tersebut lebih pendek dari titik-titik tujuan lainnnya. Untuk b=2 dan m=8, maka Depth-

First Search harus membangkitkan dan menyimpan sebanyak 2^8 = 256 simpul. Jika

diasumsikan bahwa dalam 1 detik komputer bisa membangkitkan dan menguji 2^1

simpul, maka waktu proses yang diperlukan untuk menemukan solusi di level 8 adalah

2^8 – 2^1 = 2^7 atau sama dengan 128 detik. Jika satu simpul dipresentasikan dalam

struktur data sebesar 2^2 byte = 4 byte, maka diperlukan memory sebesar 2^10 byte (

atau 1024 byte).

Page 129: Perancangan Robot Cerdas Semut ATMEGA 16

109

BAB V

PENUTUP

5.1. Kesimpulan

Berdasarkan penelitian dan pembahasan dalam perancangan robot cerdas

semut untuk menentukan lintasan terpendek, maka dapat disimpulkan beberap hal

terkait dengan pelaksanaan dan hasil dari penelitian yaitu:

1. Mikrokontroler DT AVR ATMEGA16 Minimum System dengan bahasa

pemrograman C Code Vision AVR dapat dipergunakan sebagai pengontrol

pada robot cerdas semut untuk mencari lintasan terpendek.

2. Kepekaan sensor dan pengaruh cahaya dari luar sangat mempengaruhi gerak

robot dalam membaca garis putih pada lintasan.

3. Penguatan putaran motor maksimal yaitu 225 PWM = 7,5 volt dan penguatan

motor minimal yaitu 0 PWM = 0 volt. Dengan jumlah bit yang digunakan

yaitu 256 dan tegangan sumber ke SPC DC motor yaitu 9 volt.

4. Berdasarkan pengujian strategi diambil sample pada titik A maka di

dapatkan :

a. Untuk titik A ke B didapatkan lintasan terpendek A-B dengan jarak 30 cm.

b. Untuk titik A ke C didapatkan lintasan terpendek A-B-C dengan jarak 60

cm.

c. Untuk titik A ke D didapatkan lintasan terpendek A-B-C-D dengan jarak

90 cm

d. Untuk titik A ke E didapatkan lintasan terpendek A-F-E dengan jarak 60

cm.

e. Untuk titik A ke F didapatkan lintasan terpendek A-F dengan jarak 30 cm.

f. Untuk titik A ke G didapatkan lintasan terpendek A-F-G dengan jarak 60

cm.

g. Untuk titik A ke H didapatkan lintasan terpendek A-F-G-H dengan jarak 90

cm.

Page 130: Perancangan Robot Cerdas Semut ATMEGA 16

110

h. Untuk titik A ke I didapatkan lintasan terpendek A-F-G-H-I dengan jarak

120 cm.

5.2. Saran

1. Robot cerdas semut ini dapat dikembangkan lagi dengan melewati lintasan

dengan penghalang dengan menambahkan sensor infra merah atau ultra sonic.

2. Sebaiknya sensor proximity photodioda dibungkus untuk kepekaan dan

sensitifitas sensor.

3. Algoritma robot ini dapat dikembangkan menjadi lebih cerdas, dengan

menambahkan perintah kembali ke posisi semula setelah melaksanakan tugas.

4. Karena pemograman robot cerdas semut memerlukan memori yang besar

yaitu 23796 byte maka sebaiknya menggunakan mikrokontroler yang

memorinya lebih besar dari ATMEGA 16 seperti ATMEGA 32

5. Robot cerdas semut dapat dikembangkan untuk lintasan-lintasan dengan sudut

kemiringan berbeda.

6. Untuk peningkatan kecepatan eksekusi dan meminimalisasi kapasitas memori

pemograman sebaiknya menggunakan metode larik (array) pada pemograman

robot cerdas semut.

Page 131: Perancangan Robot Cerdas Semut ATMEGA 16

104

DAFTAR PUSTAKA

Ulum, Bahrul. Algoitma Semut. http://ienx.wordpress.com/2007/06/04/algoritma-semut, 24

November 2009.

Yahya, Harun. Menjelajah Dunia Semut. http://www.harunyahya.com/indo/buku/semut01.htm,

24 November 2009.

Wijaya, Putu, S.T. Rancang Bangun Robot Mobil Beroda Tiga Menggunakan Pengendali PID.

Skripsi Program S1 Teknik Elektro Universitas Sam Ratulangi. Manado.

Ogata, Katsuhiko. 1995. Teknik Kontrol Automatik (Sistem Pengaturan). Erlangga. Jakarta.

Pitowarno, Endra. 2006. Robotika : Desain, Kontrol, dan Kecerdasan Buatan.ANDI.Yogyakarta.

Sigit, Riyanto. 2007. Robotika, Sensor, & Aktuator. Graha Ilmu. Yogyakarta.

Sarifuddin . Motor Servo.http://elektrougm.blogspot.com/2009/01/mengaktifkan-motor-servo-

dengan-bascom.html, 22 Januari 2009.

Siswanto. Bab I Pendahuluan. webdosen.bl.ac.id/dosen/930011/Kuliah/buku_AI.PDF, 2000.

8-bit Microcontroller with 16K Bytes In-System Programmable Flash.

www.atmel.com/dyn/resources/prod_documents/doc2466.pdf, Agustus 2007.

HS-311 Servo Motor. http://www.imagesco.com/servo/motors/HS-311.html , 2007.

Sigit, Riyanto.2007.Workshop sensor dan aktuator. Workshop Robotika 2007 Politeknik

Elektronika negeri Surawaya-ITS.Surabaya.

Page 132: Perancangan Robot Cerdas Semut ATMEGA 16

105

Setiawardhana.2007. Sensor Proximity. Workshop Robotika 2007 Politeknik Elektronika negeri

Surawaya-ITS.Surabaya.

Dt-avr Low Cost Micro System. http://www.riskydigital.com/index2.php?option=com_content

&do_pdf=1&id=442, 17 Oktober 2009.

Manual Dt-Avr – Micro. www.innovativeelectronics.com/.../manual/Manual%20DT-

AVR%20Low%20Cost%20Micro%20System.pdf, 2007.

Manual SPC DC. Motor. http://pdfdatabase.com/download_file_i.php?file=13560578&desc

=Manual+SPC+DC+Motor+.pdf, 2007

Soebhakti, Hendawan, Membuat Robot Tidak Susah. http://www.hendawan.wordpress.com, 15

Mei 2008.

Roda gila. http://id.wikipedia.org/wiki/Roda_gila, 24 Maret 2007

Page 133: Perancangan Robot Cerdas Semut ATMEGA 16

113

LAMPIRAN 1 Listening Program Robot Cerdas Semut Titik A Ke Titik B /************************************************** *** This program was produced by the CodeWizardAVR V2.03.4 Standard Automatic Program Generator © Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : Version : Date : 10/6/2009 Author : Company : Comments: Chip type : ATmega16 Program type : Application Clock frequency : 4.000000 MHz Memory model : Small External RAM size : 0 Data Stack size : 256 *************************************************** **/ #define sensor PINA #define skixx PINA.0 #define skix PINA.1 #define ski PINA.2 #define ska PINA.3 #define skax PINA.4 #define skaxx PINA.5 #define m1 PORTC.0 #define m2 PORTC.2 #define a1 PORTC.1 #define a2 PORTC.3 #include <delay.h> bit xx; unsigned char x,lpwm,rpwm, ab1,ab2,ab3,ab4,ab5,ab6,ab7,ab8, ac1,ac2,ac3,ac4,ac5,ac6,ac7,ac8,ac9,ac10,ac11,ac12, ad1,ad2,ad3,ad4,ad5,ad6,ad7,ad8, ae1,ae2,ae3,ae4,ae5,ae6,ae7,ae8, af1,af2,af3,af4,af5,af6,af7,af8, ag1,ag2,ag3,ag4,ag5,ag6,ag7,ag8,ag9,ag10,ag11, ah1,ah2,ah3,ah4,ah5,ah6,ah7,ah8,ah9,ah10, ai1,ai2,ai3,ai4,ai5,ai6,ai7,ai8,ai9,ai10,ai11,ai12, #include <mega16.h> // Timer 0 overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) { // Place your code here x++; if(x>=rpwm)PORTC.0=1; else PORTC.0=0; if(x>=lpwm)PORTC.2=1; else PORTC.2=0; TCNT0=0xFF;

Page 134: Perancangan Robot Cerdas Semut ATMEGA 16

114

} void kiri() { unsigned int i; lpwm=255; rpwm=255; // Kecepatan pelan delay_ms(200); // Robot dimajukan sedikit m1=0;a1=0; // Motor kanan maju m2=0;a2=1; // Motor kiri diam for(i=0;i<=1000;i++) while (!skixx||!skix) {}; for(i=0;i<=1000;i++) while ( skixx|| skix) {}; lpwm=0; rpwm=0; // Robot berhenti } void kanan() { unsigned int i; lpwm=255; rpwm=255; // Kecepatan pelan delay_ms(200); // Robot dimajukan sedikit m1=0;a1=1; // Motor kiri diam m2=0;a2=0; // Motor kanan maju for(i=0;i<=1000;i++) while (!skaxx||!skax) {}; for(i=0;i<=1000;i++) while ( skaxx || skax) {}; lpwm=0; rpwm=0; // Robot berhenti } void putar() { unsigned int i; lpwm=255; rpwm=255; // Kecepatan pelan delay_ms(200); // Robot dimajukan sedikit m1=0;a1=0; // Motor kanan maju m2=0;a2=1; // Motor kiri mundur for(i=0;i<=1000;i++) while (!skixx||!skix) {}; for(i=0;i<=1000;i++) while ( skixx||skix) {}; lpwm=0; rpwm=0; // Robot berhenti lpwm=255; rpwm=255; // Kecepatan pelan delay_ms(200); // Robot dimajukan sedikit m1=0;a1=0; // Motor kanan maju m2=0;a2=1; // Motor kiri mundur for(i=0;i<=1000;i++) while (!skixx||!skix) {}; for(i=0;i<=1000;i++) while ( skixx||skix) {}; lpwm=0; rpwm=0; // Robot berhenti } void stop() { unsigned int i; rpwm=0; lpwm=0; m1=1; m2=1; a1=0; a2=0; for(i=0;i<1000;i++) while((skixx && skix && ski && ska && skax && skaxx)!=1); for(i=0;i<1000;i++) while((skixx && skix && ski && ska && skax && skaxx)==1); lpwm=0; rpwm=0;

Page 135: Perancangan Robot Cerdas Semut ATMEGA 16

115

} void diam() { rpwm=0; lpwm=0; m1=1; m2=1; a1=0; a2=0; } void lurus() { if (skixx==1) //000001 {rpwm=255; lpwm=0; a1=0; a2=0; } if (skixx && skix==1) //000011 {rpwm=255; lpwm=50; a1=0; a2=0; } if (skix==1) //00010 {rpwm=255; lpwm=100; a1=0; a2=0; } if (skix && ski==1) //000110 {rpwm=255; lpwm=150; a1=0; a2=0; } if (ski==1) // 000100 {rpwm=255; lpwm=200; a1=0; a2=0; } if (ski && ska==1) // 001100 {rpwm=255; lpwm=255; a1=0; a2=0; } if (ska==1) // 001000 {rpwm=200; lpwm=255; a1=0; a2=0; } if (ska && skax ==1) //011000 {rpwm=150;

Page 136: Perancangan Robot Cerdas Semut ATMEGA 16

116

lpwm=255; a1=0; a2=0; } if (skax ==1) //010000 {rpwm=100; lpwm=255; a1=0; a2=0; } if (skaxx && skax==1) //110000 {rpwm=50; lpwm=255; a1=0; a2=0; } if (skaxx==1) //100000 {rpwm=0; lpwm=255; a1=0; a2=0; } } void scan_count(unsigned char count) { unsigned int i; unsigned char co=0; while(co<count) { for(i=0;i<1000;i++) while((skixx && skix && ski && ska && skax && skaxx)!=1) lurus(); for(i=0;i<1000;i++) while((skixx && skix && ski && ska && skax && skaxx)==1)lurus(); co++; } } void AB() //jarak { ab1=30; //jarak ab1" lurus(); lpwm=0;rpwm=0; scan_count(1); //titik b lpwm=0;rpwm=0; stop(); } void AFEB() // jarak { ab2=90; //jarak ab2" kanan(); //titik a lpwm=0;rpwm=0; scan_count(1); //titik b lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik e lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik b lpwm=0;rpwm=0;

Page 137: Perancangan Robot Cerdas Semut ATMEGA 16

117

stop(); } void AFEDCB() //jarak { ab3=150; //jarak ab3" kanan(); //titik a lpwm=0;rpwm=0; scan_count(1); //titik f lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik e lpwm=0;rpwm=0; lurus(); lpwm=0;rpwm=0; scan_count(1); //titik d lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik c lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik b lpwm=0;rpwm=0; stop(); } void AFEHIDCB() //jarak { ab4=210; //jarak ab4" kanan(); //titik a lpwm=0;rpwm=0; scan_count(1); //titik f lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik e lpwm=0;rpwm=0; kanan(); lpwm=0;rpwm=0; scan_count(1); //titik h lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik i lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik d lpwm=0;rpwm=0; lurus(); lpwm=0;rpwm=0; scan_count(1); //titik e lpwm=0;rpwm=0;

Page 138: Perancangan Robot Cerdas Semut ATMEGA 16

118

kiri(); lpwm=0;rpwm=0; scan_count(1); //titik b lpwm=0;rpwm=0; stop(); } void AFGHIDCB() //jarak { ab5=210; //jarak ab6" kanan(); //titik a lpwm=0;rpwm=0; scan_count(1); //titik f lpwm=0;rpwm=0; lurus(); lpwm=0;rpwm=0; scan_count(1); //titik g lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik h lpwm=0;rpwm=0; lurus(); lpwm=0;rpwm=0; scan_count(1); //titik i lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik d lpwm=0;rpwm=0; lurus(); lpwm=0;rpwm=0; scan_count(1); //titik c lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik b lpwm=0;rpwm=0; stop(); } void AFGHIDEB() //jarak { ab6=210; //jarak ab7" kanan(); //titik a lpwm=0;rpwm=0; scan_count(1); //titik f lpwm=0;rpwm=0; lurus(); lpwm=0;rpwm=0; scan_count(1); //titik g lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik h lpwm=0;rpwm=0; lurus(); lpwm=0;rpwm=0;

Page 139: Perancangan Robot Cerdas Semut ATMEGA 16

119

scan_count(1); //titik i lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik d lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik e lpwm=0;rpwm=0; kanan(); lpwm=0;rpwm=0; scan_count(1); //titik b lpwm=0;rpwm=0; stop(); } void AFGHEB() //jarak { ab7=150; //jarak ab8" kanan(); //titik a lpwm=0;rpwm=0; scan_count(1); //titik f lpwm=0;rpwm=0; lurus(); lpwm=0;rpwm=0; scan_count(1); //titik g lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik h lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik e lpwm=0;rpwm=0; lurus(); lpwm=0;rpwm=0; scan_count(1); //titik b lpwm=0;rpwm=0; stop(); } void AFGHEDCB() //jarak { ab8=210; //jarak ab9" kanan(); //titik a lpwm=0;rpwm=0; scan_count(1); //titik f lpwm=0;rpwm=0; lurus(); lpwm=0;rpwm=0; scan_count(1); //titik g lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik h lpwm=0;rpwm=0;

Page 140: Perancangan Robot Cerdas Semut ATMEGA 16

120

kiri(); lpwm=0;rpwm=0; scan_count(1); //titik e lpwm=0;rpwm=0; kanan(); lpwm=0;rpwm=0; scan_count(1); //titik d lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik c lpwm=0;rpwm=0; kiri(); lpwm=0;rpwm=0; scan_count(1); //titik b lpwm=0;rpwm=0; stop(); } void pilihan_ab(){ if(ab1<=ab2||ab3||ab4||ab5||ab6||ab7||ab8) AB(); else AFEB(); AFEDCB(); AFEHIDCB(); AFGHIDCB(); AFGHIDEB(); AFGHEB(); AFGHEDCB(); } void titik_a() {diam(); if (PINB.1 == 0) {pilihan_ab();} if (PINB.2 == 0) {pilihan_ac();} if (PINB.3 == 0) {pilihan_ad();} if (PINB.4 == 0) {pilihan_ae();} if (PINB.5 == 0) {pilihan_af();} if (PINB.6 == 0) {pilihan_ag();} if (PINB.7 == 0) {pilihan_ah();} if (PINC.6 == 0) {pilihan_ai();} }

Page 141: Perancangan Robot Cerdas Semut ATMEGA 16

121

void main(void) { // Declare your local variables here // Input/Output Ports initialization // Port A initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P PORTA=0xFF; DDRA=0x00; // Port B initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P PORTB=0xFF; DDRB=0x00; // Port C initialization // Func7=Out Func6=In Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=P State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTC=0x40; DDRC=0xBF; // Port D initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00; DDRD=0x00; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 15.625 kHz // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x04; TCNT0=0x00; OCR0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00;

Page 142: Perancangan Robot Cerdas Semut ATMEGA 16

122

TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x03; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // Global enable interrupts #asm("sei") while (1) { // Place your code here titik_a(); }; }

Page 143: Perancangan Robot Cerdas Semut ATMEGA 16

123

LAMPIRAN 2 Data Sheet ATMEGA16

Page 144: Perancangan Robot Cerdas Semut ATMEGA 16

124

Page 145: Perancangan Robot Cerdas Semut ATMEGA 16

125

LAMPIRAN 3 Data Sheet L293D

Page 146: Perancangan Robot Cerdas Semut ATMEGA 16

126

Page 147: Perancangan Robot Cerdas Semut ATMEGA 16

127

Page 148: Perancangan Robot Cerdas Semut ATMEGA 16

128

LAMPIRAN 4 Petunjuk Penggunaan robot cerdas semut

1. Menyalakan tegangan sumber 12 Volt robot cerdas semut dengan menekan sakelar ON/OFF pada sebelah kanan robot.

2. Menentukan titik asal robot cerdas semut yaitu titik A, B, C, D, E, F, G, H atau I dengan menekan push button sebagai titik tujuan kemana robot cerdas semut akan bergerak. (untuk menentukan titik asal robot cerdas semut pada saat awal pemograman Code Vision AVR C )

3. Robot cerdas semut akan bergerak dari titik asal dan berhenti di titik tujuan yang diinginkan.

Page 149: Perancangan Robot Cerdas Semut ATMEGA 16

RIWAYAT HIDUP

Penulis bernama lengkap Muhamad Dwisnanto Putro, anak kedua dari dua

bersaudara. Lahir di Manado pada tanggal 14 Maret 1988. Dengan alamat jalan camar

3 kelurahan Malendeng, kecamatan Tikala Manado Sulawesi Utara

Sekolah pertama tempatnya belajar adalah TK Islamic centre. selanjtutnya,

melanjutkan ke sekolah dasar di SDN 54 Manado, SLTP N. 1 Manado (1999-2002)

dan meyelesaikan sekolah tingkat atas di SMU N.1 Manado (2002-2005).

Tahun 2005, penulis melanjutkan studi di Fakultas Teknik, Jurusan Teknik

Elektro, Universitas Sam Ratulangi, Manado. Dua tahun kemudian, yaitu tahun 2005,

penulis memilih konsentrasi minat Teknik Kendali. Setelah menyelesaikan Kerja

Praktek di PT BINA PLASPAC INDONESIA, penulis memutuskan untuk menulis

Tugas Akhir mengenai robot line follower yaitu robot cerdas semut.

Selama kuliah, penulis aktif dalam organisasi kemahasiswaan BT-FATEK

UNSRAT (Badan Tadzkir Fakultas Teknik Unsrat), pernah menjabat sebagai

coordinator sarana prasarana (2007-2008), selain itu aktif juga dalam organisasi

ekstra HMI MANADO (Himpunan Mahasiswa Islam). Dalam organisasi

kemahasiswaan intra kampus universitas sam ratulangi pernah menjabat sekertaris

komisi hubunngan masyarakat MPM UNSRAT (Majelis Permusyawaratan

Mahasiswa) tahun 2008-2009. penulis juga pernah menjabat sebagai koordinator

umum praktikum dan laboratorium teknik kendali tahun 2008-2009.

Dalam bidang akademik penulis pernah mengikuti workshop kontes robot

Indonesia yang diadakan di PENS (Politeknik Elektronika Negeri Surabaya) pada

tahun 2007, pelatihan PLC (Program Logic Controler) LSIS-LG tahun 2009 dan

pelatihan loka karya kontes robot Indonesia dan kontes roket Indonesia yang

diadakan di Makassar yang diselenggarakan oleh DP2M-DIKTI tahun 2009.

Page 150: Perancangan Robot Cerdas Semut ATMEGA 16

PERNYATAAN KEASLIAN TULISAN

Saya yang bertanda tangan di bawah ini:

Nama : Muhamad Dwisnanto Putro

NIM : 050213037

Program Studi : S1

Jurusan : Teknik Elektro

Menyatakan dengan sebenarnya bahwa skripsi yang saya tulis ini benar-benar

merupakan hasil karya saya sendiri; bukan merupakan pengambil-alihan tulisan atau

pikiran orang lain yang saya aku sebagai hasil tulisan atau pikiran saya sendiri.

Apabila di kemudian hari terbukti atau dapat dibuktikan skripsi ini hasil ciplakan,

maka saya bersedia menerima sanksi atas perbuatan tersebut.

Manado, 5 Januari 2010

Yang membuat pernyataan,

Muhamad Dwisnanto Putro