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

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

i

LEMBAR PENGESAHAN

Judul Skripsi

:

Rancang Bangun Robot Cerdas Semut Menggunakan Mikrokontroler AVR ATMEGA 16 Untuk Menentukan Lintasan Terpendek

Nama NIM Program Studi Jurusan

: : : :

Muhamad Dwisnanto Putro 050213037 S1 Teknik Elektro Teknik Elektro Universitas Sam Ratulangi

Menyetujui: Pembimbing I, Pembimbing II,

Vecky C. Poekoel, ST, MT. NIP: 19670510 199702 1 001

Jane Litouw,ST 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 :

ii

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” iii .

ABSTRAK Robot cerdas semut merupakan robot line follower otomatis yang memiliki kemampuan untuk mengikuti garis yang telah ditandai pada permukaan. Robot cerdas semut menggunakan mikrokontroler AVR ATMEGA16 sebagai pengontrol. sensor proximity berupa 6 pasang led dan photodiode. Lintasan robot dengan pola persimpangan berwarna putih digambarkan dalam bidang kartesian (3x3) dengan 9 titik sebagai titik asal dan titik tujuan. Bahasa pemrograman yang digunakan adalah bahasa C Code vision AVR. Kata kunci: Robot Cerdas Semut. Mikrokontroler AVR ATMEGA16. SPC DC motor sebagai pengendali motor DC dan untuk mekaniknya menggunakan sistem kaki hexapod dengan motor servo HS-311 continous sebagai aktuatornya. Sedangkan untuk mempresentasikan keadaan menggunakan pohon pencarian dalam mencari lintasan dari suatu titik asal menuju titik tujuannya. Depth – First Search iv . 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. Metode yang digunakan Depth – First Search.

ATMEGA16 AVR microcontroller.First Search. Keywords: intelligent robots ants.ABSTRACT Intelligent robot ant are line follower robot automatically have the ability to follow the marked lines on the surface. 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. The method used Depth . As for present situation using a search tree in finding a path from a point of origin to point of goal.First Search v . Depth . Programming language used was C Code AVR vision. 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. Robot circuit with white crossing pattern described in the field kartesian (3x3) with 9 points as the home and goal point.

yang memberikan dukungan dan masukan terhadap 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. Enci Olvie dan staff administrasi jurusan teknik elektro fakultas teknik. hidayah dan anugerahnya. sehingga penulis dapat menyelesaikan penulisan skripsi ini. selaku Ketua Program Studi S1 Teknik Elektro Fakultas Teknik Unsrat. selaku dosen pembimbing yang telah memberi banyak bantuan. Kumaat.Kom. M. selaku Dekan Fakultas Teknik Unsrat. 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. 4. S. Seluruh dosen konsentrasi minat teknik kendali UNSRAT.T. Alwin Sambul. untuk itu pada kesempatan ini penulis ingin mengucapkan terima kasih dan penghargaan kepada: 1. karena atas segala rahmat. Poekoel..KATA PENGANTAR Puji dan syukur penulis panjatkan kepada ALLAH SWT. MSc. Wowor. Hans F. yang telah berkorban begitu banyak baik materi dan tenaga serta yang selalu mendoakan dan memberi dukungan kalian tidak sia-sia…. 7. Vecky C.. MT. Papa dan ibu tercinta. dan Jane Litouw.ST. 6. 2.. DEA. 3. saran. ST. Ir.) (pengorbanan vi . Prof. dan kritikan dalam penulisan skripsi ini. DR. atas segala bantuan dalam pengurusan administrasi. selaku Ketua Jurusan Teknik Elektro Fakultas Teknik Unsrat. Ellen J. Ir. 5.

Seseorang yang menjadi sumber inspirasi dalam pembuatan skripsi ini.8. untuk itu masukan berupa saran dan perbaikan sangat penulis harapkan untuk lebih baiknya tulisan ini dan semoga tulisan ini akan bermanfaat bagi kita sekalian. 10. terimakasih telah mendampingi penulis dengan sabar dan penuh dukungan. 5 Januari 2010 Penulis vii . Kakak dan saudara-saudara (keluarga) tercinta lainnya. Semua pihak yang tidak tersebut namanya yang selalu membantu dan mendoakan penulis dalam penulisan skripsi ini. Teman-teman komunitas teknik kendali angkatan 2004. untuk segala bantuan dan kritikan kalian dalam penulisan skripsi ini 11. Penulis menyadari bahwa masih banyak terdapat kekurangan di dalam penulisan ini yang disebabkan karena terbatasnya kemampuan penulis. Manado. 12. Seluruh angkatan 2005 Fakultas Teknik Jurusan Teknik Elektro atas segala kenangan selama studi. 2005. Eyang. yang selalu memberi perhatian lebih untuk menyelesaikan skripsi ini 9. 2006 dan 2007.

..........3...............2..2... 2................. ............... Latar Belakang ............. Sistem Kontrol Proposional………………………….............................................3............ 12 viii ............ 2...........2.......... Aplikasi-aplikasi Dari kecerdasan buatan……………....1............................. 1...4.....1................... Teknik-Teknik Kecerdasan Buatan…………………………......... DAFTAR TABEL.................... Sistem Kontrol Derivatif................... 1........................ 1...................... Graph Keadaan………………………………………......................2. 11 2..... 1......... vi viii xii xiv xvii xviii xvix BAB I PENDAHULUAN 1...5..............3............ 2.................................1..... Pohon Pelacakan / Pencarian …………………………............ Tujuan………………......................... Metode Pelacakan/Pencarian (Searching)……………........ DAFTAR GAMBAR.....2.. DAFTAR ISI.....4...1................................... 11 2....................1...................................1...5............................................... 1 2 2 2 3 BAB II DASAR TEORI 2................................................. Rumusan Masalah................... DAFTAR ISTILAH................... DAFTAR NOTASI........... Perbedaan Kecerdasan Buatan & Kecerdasan Alami… 2.......................... 8 2..........................3...........................1............. Manfaat………………............................. Sistem Kontrol Integral (I) dan Kontrol PI…………… 2................1........1................................... Batasan Masalah…..................2.......................... 2.......................2.............................................3...................... Sistem Kontrol Robotik…............................. Sistem Kontrol ON – OF... 8 8 8 9 4 5 6 6 2.…………………………… 2...DAFTAR ISI KATA PENGANTAR.4...................... Kontrol PD dan Kontrol PID……………………………………….. Pengertian Kecerdasan Buatan.......... 10 2............ DAFTAR LAMPIRAN..2............. Kecerdasan buatan...2......................

5.………………. 15 2.1. 2.4.1 Pencarian Buta (blind search) ……………………….4. Tipe Data Dasar……………………………………….3. 13 2. Sistem Tangan………………………………………….2. Fitur ATMEGA16………………………………….1.. Dirver H-Bridge IC L293d…………………………… 27 2..5..4. Mekanik Robot………………………………………… 19 2. Sistem Aktuator Pada Robot………………………………….1.1. 34 2. 16 2. 3. Sensor proximity……………………………………………… 2.4. Desain robot cerdas semut………………. SPC DC Motor………………………………………………… 26 2. Motor Servo DC……………………………………….3.7. 17 2.1.9..3.5.4. Mikrokontroler AVR ATMEGA16…………………… 23 2.1.9.4.4. 37 37 37 38 40 3. Preprocessor…………………………………………… 35 BAB III METODE PENELITIAN 3.8.5. 24 2. Tempat Dan Waktu Penelitian………………………………...5. Bahasa Pemrograman Code Vision AVR……………………. Prosedur Penelitian…………………………………………. Arsitektur ATMEGA16……………………………. Perancangan Perangkat Keras………………………… 40 3.6.1.2 Heuristic Search ……………………………………… 15 2. 3. Bahasa Pemograman C……………………………………….4.1.…………………………….9. Konsep dasar perancangan alat……………………………. Aturan pendefinisian variable………………………… 29 31 32 32 33 2... Alat dan Bahan………………. 21 2.1.9.. Sistem Kaki…………………………………………….5.5.4. 42 ix .1. 15 2. 20 2. 24 2. Operator……………………………………………….1.1. Konfigurasi Pin ATMEGA16……………………… 25 2.3.2.2. Sistem Roda…………………………………………….2..3.. 2. Perancangan Perangkat Keras Pengontrol Robot Cerdas Semut………………. 3.………………….3..5.1. 2. DT-AVR Low Cost Micro System…………………………….2.9.1.7.5. 3..

3.…….…...3...1. 52 51 51 50 3.5.5. Perancangan Perangkat Keras Push Button Robot Cerdas Semut……………………………….……………..5.…………………… 4.7.3. 53 3.4.1..2. Perancangan Perangkat Keras Catu Daya Robot Cerdas Semut………………………………. 76 4.1.…………….2. 3. 61 3. Pencarian Rute Terpendek Untuk Titik A……………. Titik A ke Titik C…………………………………… 85 x . Perancangan Perangkat Lunak Code Vision AVR………………………………….4..5.2. Perancangan Perangkat Keras Mekanik Robot Cerdas Semut………………………………..1.1.2.1.. Lintasan Robot Cerdas Semut………………………………. Pengujian Sistem Input………………………………….……………………………… 56 3. 3.5.… 78 4.. Perancangan Perangkat Keras Sensor Robot Cerdas Semut……………………. Pengujian Sistem Output………………………………….2.5.1. 72 73 73 66 BAB IV HASIL DAN PEMBAHASAN 4. Perancangan Perangkat Lunak Push Button Robot Cerdas Semut………………………………..3. Perancangan Perangkat Lunak dan Diagram Alir……….6.1.5.. Perancangan Perangkat Lunak Pengontrol Robot Cerdas Semut.……………. Perancangan Robot Secara Keseluruhan…………………….5..2.1.3. 46 3.……………. Perancangan Perangkat Keras Aktuator Robot Cerdas Semut. 3. Perancangan Perangkat Lunak Aktuator Robot Cerdas Semut.. 53 3.2.2...6. 83 83 4. 3.5. Pengujian Strategi Robot Cerdas Semut..……………….1.6.5.. 3.1.5. Perancangan Perangkat Lunak Sensor Robot Cerdas Semut……………………. Titik A ke Titik B…………………………………… 83 4.………………..1.3. 3.3.5.2.

Pencarian Rute Terpendek Untuk Titik H…………….1. 4. Pembahasan Strategi Robot Cerdas Semut…………… 107 BAB V PENUTUP 5.1.3. Titik A ke Titik F…………………………………… 91 4. 105 4.1.3.3. Pembahasan Sistem Input…………………………….. Pencarian Rute Terpendek Untuk Titik C…………….3.4.1. Saran……………………………………………………………….2. 4.3. Titik A ke Titik H…………………………………… 95 4.3. 4. Pencarian Rute Terpendek Untuk Titik I…………….3.9.4.3.6.4..1.7. Pencarian Rute Terpendek Untuk Titik G……………. Pembahasan Sistem Output…………………………… 106 4.8.3. 100 100 101 102 102 103 104 104 4.2.2.3.1.3. 4.4.5. 5. Titik A ke Titik G…………………………………… 93 4. Pencarian Rute Terpendek Untuk Titik D…………… 4.1. Titik A ke Titik E…………………………………… 89 4.4. Titik A ke Titik D…………………………………… 87 4.8. Titik A ke Titik I……………………………………. Kesimpulan……………………………………………………….3.7. 97 4.3. Pencarian Rute Terpendek Untuk Titik B…………….3.4.1.5.4.3.6.. Pencarian Rute Terpendek Untuk Titik F……………. Pencarian Rute Terpendek Untuk Titik E…………….3. Pembahasan…………………………………………………….. 4. 109 110 DAFTAR PUSTAKA…………………………………………………………… 111 LAMPIRAN……………………………………………………………………… 113 xi .3. 105 4. 4.

32 Ukuran tipe memori data int…………………………..14 4.. 93 Lintasan titik A ke titik H……………………………...5 4...1 Teks Halaman Fungsi Pin-Pin Pada IC L293D……………………… 29 Ukuran tipe memori data……………………………. 102 xii ...2 Hubungan sensor proximity dengan DT AVR Low Cost Micro System …………………………………… 48 3. 83 Lintasan titik A ke titik C……………………………. 66 Pembacaan sensor menggunakan LED……………….. 77 Pengujian Gerak Motor DC dengan PWM…………… 79 Pengujian Motor DC dengan PWM………………….2 4.2 2.1 2. 91 Lintasan titik A ke titik G……………………………..5 4.16 Posisi Sensor ………………………………………… 61 Aksi Pergerakan Robot………………………………...…… 44 3.12 4.9 4.8 4.1 4...6 4.3 3. 33 Hubungan SPC DC motor dengan DT AVR Low Cost Micro System………………………………. 95 Lintasan titik A ke titik I…………………………….15 4. 89 Lintasan titik A ke titik F…………………………….. 100 Lintasan terpendek untuk titik D…………………….. 85 Lintasan titik A ke titik D…………………………….11 4.4 4. 97 Lintasan terpendek untuk titik B…………………….10 4.13 4. 100 Lintasan terpendek untuk titik C…………………….3 4...7 4.3 Hubungan 9 push button dengan DT AVR Low Cost Micro System …………………. 101 Lintasan terpendek untuk titik E…………………….. 102 Lintasan terpendek untuk titik F……………………. 87 Lintasan titik A ke titik E……………………………...DAFTAR TABEL Nomor 2.………………...4 3. 81 Lintasan titik A ke titik B……………………………. 52 3.

..17 4.. 107 xiii ..19 4.18 4. 105 Performansi Metode Pencarian Untuk Titik A………. 104 Lintasan terpendek untuk titik I……………………....4.. 103 Lintasan terpendek untuk titik H…………………….20 Lintasan terpendek untuk titik G……………………..

.……………………….....….26 2.12 2..……………………… 28 Diagram Blok IC L293D ………………………………….............2 2... 26 IC L293D ………………………….. 16 Sistem Tangan……………..……………………....8 2.. 13 Contoh Depth First Search………………………………… 14 Sistem Roda Pada Robot Mobil…. 7 Kontrol PD pada Motor DC ……………………………….4 2. 10 Contoh Pohon Pencarian…...…………………………….. 21 Tata Letak DT-AVR Low Cost Micro System …………… 22 Blok Diagram Fungsional ATMEGA16….. 11 Contoh Breadth First Search…...DAFTAR GAMBAR Nomor 2..……...…………………………..27 Teks Kontrol Robot Loop Terbuka.25 2. 19 Motor Servo HS-311……………………………………….18 2...21 2.... 29 Prinsip Kerja Sensor Proximity ……………………. 18 Gear Belt…………………….. 25 Tata Letak Komponen SPC DC Motor .23 2.......... Halaman 4 Kontrol Robot Loop Tertutup……………………………… 5 Kontrol Robot Loop Tertutup ON/OFF.. 17 Penggunaan Transmisi Gear Hubungan Langsung………...3 2.9 2.........………………………………... 30 Rangkaian Infrared Proximity Sebagai Sensor Garis .…………..............1 2. 20 Nilai Pulsa Untuk Menggerakan Motor Servo.20 2.......13 2.17 2....……………………………….....24 2... 6 Kontrol PI pada motor DC ……………………………….16 2.19 2.....7 2......... 23 Pin ATMEGA16…….......15 2....10 2.………………………………. 16 Sistem Kaki Pada Robot Hexapod.....22 2.. 7 Kontrol PID pada Motor DC……………………………… 8 Contoh Graph Keadaan....……………..14 2.6 2.. 5 Kontrol Robot Proporsional………………………………..........5 2. 30 xiv ..……...………………….........11 2..…............ 18 Penggunaan Transmisi Gear Dengan Hubungan Ohmic..

.……………...... 46 Robot Dengan 6 Sensor…………………………………….2.……… 31 Diagram Blok Robot Cerdas Semut……………………......…………………….... 75 xv ..…………………...2 3...17 3..… 39 Gambaran Sistem Robot Cerdas Semut.8 3. 72 Lintasan Robot Cerdas Semut……………………………...14 3....25 3.3 3.. 62 Diagram Alir Jalankan Robot …………………………….9 3.10 3... 60 Kemungkinan Posisi Sensor Proximity Pada Garis …....…………. 41 Robot Line Follower Tampak Samping...... 73 Diagram Skematik Sistem Robot Cerdas Semut. 41 Robot Line Follower Tampak Atas….... 58 Diagram Alir Persimpangan……. 53 Diagam Alir Program Utama……....12 3.. 67 Diagram Alir Sub Rutin Belok Kanan Dan Belok Kiri…… 71 Diagram Alir Sub Rutin Pushbutton……………………….....………………....27 3........………..5 3... 59 Diagram Alir Pencarian Lintasan Terpendek..... 56 Diagram Alir Inisialisasi………....………………….... 39 Plat Almunium Bawah Robot Cerdas Semut Tampak Atas..….....4 3. 61 Diagram Alir Baca Sensor…..………………………….11 3. 52 Rangkaian 9 Push Button…………………..13 3...23 3.7 3.………………... 51 Rangkaian Baterai Untuk Mikrokontroler….1 3.………......... 50 Sistem Kaki Robot Cerdas Semut..……... 49 Hubungan Motor DC dengan SPC DC Motor..……………………………..21 3.…………………………..28 Sensor Dengan Rangkaian Pembanding ……. 47 Rangkaian Sensor Proximity.. 42 Skema DT-AVR Low Coast Micro System……………….22 3.6 3.19 3..... 74 Foto Robot Cerdas Semut Yang Dirancang Tampak Atas… 75 Foto Robot Cerdas Semut Yang Dirancang Tampak Samping…………………………………………………….........……….. 40 Plat Almunium Atas Robot Cerdas Semut Tampak Atas…....15 3..18 3..24 3..20 3.…………………….28 3. 43 Skema SPC DC Motor…………………………………….......…....26 3.....16 3.... 45 Jarak Antara Sensor Proximity………..

..…..15 4.7 4. 98 Strategi Penentuan Rute Terpendek Titik A Ke Titik I…….……. 99 Grafik Pengujian Motor DC dengan PWM………………… 106 xvi .11 4. 77 Pohon Pencarian Rute Terpendek Titik A Ke Titik B.10 4..…… 94 Strategi Penentuan Rute Terpendek Titik A Ke Titik G…… 94 Pohon Pencarian Rute Terpendek Titik A Ke Titik H.12 4.16 4.…… 96 Strategi Penentuan Rute Terpendek Titik A Ke Titik H…… 96 Pohon Pencarian Rute Terpendek Titik A Ke Titik I.5 4.6 4.…… 90 Strategi Penentuan Rute Terpendek Titik A Ke Titik E…… 90 Pohon Pencarian Rute Terpendek Titik A Ke Titik F.…… 88 Strategi Penentuan Rute Terpendek Titik A Ke Titik D…..4. 86 Pohon Pencarian Rute Terpendek Titik A Ke Titik D.14 4....3 4.…… 92 Strategi Penentuan Rute Terpendek Titik A Ke Titik F…… 92 Pohon Pencarian Rute Terpendek Titik A Ke Titik G.13 4...4 4.1 4.17 4..….. 86 Strategi Penentuan Rute Terpendek Titik A Ke Titik C….. 88 Pohon Pencarian Rute Terpendek Titik A Ke Titik E. 84 Pohon Pencarian Rute Terpendek Titik A Ke Titik C…….9 4....18 Rangkaian Sensor Proximity Dan LED……………………. 84 Strategi Penentuan Rute Terpendek Titik A Ke Titik C.2 4.8 4..

DAFTAR NOTASI G(s) H(s) r u y = = = = = = = = = = = = = = = = = = = = Fungsi Alih Kontroler Fungsi Alih Dinamik Robot Input Sinyal Output Kontroler Output Kecepatan Referensi Kecepatan Aktual Konstanta Proporsional Konstanta Integral Konstanta Derivatif Faktor Percabangan Kedalaman Maksimum Dari Pohon Pencarian Jumlah Level Jumlah Gigi Pada Gir Poros Motor Jumlah Gigi Pada Poros Output Torsi Pada Poros Motor Torsi Pada Poros Output Tegangan Output Tegangan Referensi Tegangan Sumber θ ref θ act Kp Ki Kd b m n N1 N2 T1 T2 Vout Vcc Vs xvii .

DAFTAR ISTILAH Line Follower Continous Nonflexible Proximity Steady State : Pengikut Garis : Putaran Kontinyu : Tidak Flexible : Sensor Pendekatan : Keadaan Tenang Artificial Intelegence : Kecerdasan Buatan Graph Fuzzy logic Level Power Average speed Weight Torque Size Centre Delay Int open loop close loop Input Output Software Hardware PWM : Grafik : Logika Fuzzy : Tingkatan : Tegangan sumber : Kecepatan Rata-Rata : Tinggi : Torsi : Ukuran : Tengah : Waktu Tunda : Tipe Data Integer : Lup terbuka : Lup Tertutup : Masukan : Keluaran : Perangkat Lunak : Perangkat Keras : Pulse Wide Modulation xviii .

DAFTAR LAMPIRAN Lampiran 1 Lampiran 2 Lampiran 3 Listing Program Untuk mencari lintasan terpendek pada titik A Data Sheet ATMEGA16 Data Sheet L293D xix .

disiplin. dan sangat cerdas.1. Teknologi robot pada masa sekarang ini berkembang dengan pesat mengimbangi kemajuan teknologi yang ada.BAB I PENDAHULUAN 1. teknologi. maka makin mempermudah manusia untuk membuat robot semakin cerdas yang mengikuti kehendak serta kemauan dari manusia itu sendiri. Seiring dengan perkembangan teknik pemrograman robot. strategi militer. yang manusia mungkin jarang cukup berhasil. yang cenderung kaku atau nonflexible. Perkembangan robot tidak hanya pada kecanggihan mekaniknya saja. Koloni semut dapat menemukan rute terpendek antara sarang dan sumber makanan berdasarkan jejak kaki pada lintasan yang telah dilalui. kerja gotong-royong. Namun berbagai macam kekurangan yang dimiliki dari sistem robot ini antara lain robot line follower belum mampu menentukan jalan sendiri. namun semut selalu sukses. 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. Secara alamiah koloni semut mampu menemukan rute terpendek dalam perjalanan dari sarang ke tempat-tempat sumber makanan. melainkan juga sistem kendalinya menggunakan sistem komputerisasi. Semakin pendek dan singkat intruksi dalam suatu pemrograman maka dibutuhkan interpretasi yang banyak. Latar Belakang Semut merupakan mahluk mungil yang sangat terampil. Dalam perkembangannnya robot line follower dikembangkan lebih cerdas dan mampu berfikir kembali atas apa yang robot ini kerjakan. Salah satu jenis robot sederhana adalah robot line follower. 1 . perencanaan kota yang sempurna dalam bidang-bidang ini. sangat sosial. Sehingga membuat bahasa mesin tak sesulit yang dibayangkan setiap manusia dalam hal ini programmer. hierarki yang rasional dan cerdik. jaringan komunikasi yang maju.

Pembatasan Masalah Ruang lingkup pembahasan dari Tugas Akhir ini hanya terbatas pada : 1.2. 1. Sistem gerak kaki yang dipakai menyerupai kaki semut. Pembahasan dibatasi pada analisis pencarian jalan terpendek dari robot semut. dengan sensor proximity untuk mendeteksi garis putih. 1. Tujuan Tujuan dari tugas akhir ini adalah merancang robot cerdas semut mengikuti lintasan garis putih dengan metode penentuan jarak terpendek. Perumusan Masalah Bagaimana robot cerdas semut menentukan lintasan atau rute terpendek pada 9 titik asal dan tujuan? 1. 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. 3. Posisi awal robot menghadap kanan pada lintasan Perancangan robot cerdas semut menggunakan mikrokontroler ATMEGA 16. 2 .Perancangan robot cerdas semut menggunakan mikrokontroler ATmega16 dan sensor proximity sebagai pendeteksi garis berwarna putih.3. Sistem kerja robot cerdas semut mengikuti garis pada lintasan berwarna putih 2.4. sedangkan untuk menangkap pantulan cahaya LED digunakan photodioda. 4. Lintasan robot digambarkan dalam bidang kartesian (3x3) dengan 9 titik sebagai titik asal dan titik tujuan dari robot semut. berjumlah 6 kaki. robot akan mencari jalan dan lintasan terpendek. Sumber cahaya sensor proximity menggunakan LED (Light Emiting Diode) yang memancarkan cahaya merah. dengan sistem mekanik roda gila. 5. Dengan adanya sistem gerak ini maka robot ini dinamakan robot semut.

3.5. 5. Memperkaya penelitian dan literatur dalam bidang robotika. Memperkenalkan kemampuan penalaran yang ada pada manusia ke dalam perangkat mesin.1. Manfaat Manfaat yang diharapkan akan diperoleh dari tugas akhir ini antara lain: 1. 2. Sebagai referensi khususnya aplikasi metode pencarian jarak terpendek dalam sistem pengendalian cerdas serta perancangan aplikasi robot line follower khususnya robot cerdas semut 4. Aplikasi pada pemrograman kontes robot indonesia 3 . Memperkenalkan aplikasi metode pencarian jarak terpendek pada robot Line Follower sebagai salah satu sistem cerdas kepada masyarakat khususnya mahasiswa elektro.

1995).BAB II LANDASAN TEORI 2. 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. Sistem kontrol robotik pada dasarnya terbagi menjadi dua kelompok. meniadakan pekerjaan rutin yang harus dilakukan oleh manusia. (Pitowarno. Kontrol Robot Loop Terbuka. Sistem Kontrol Robotik Sistem kontrol adalah suatu proses pengaturan / pengendalian terhadap satu atau beberapa besaran (variable.1. 2006). yaitu sistem kontrol loop terbuka (open loop) (Pitowarno. Referensi Gerak Hasil Gerak dan loop tertutup (close loop) Pengontrol Robot Gambar 2. Tujuan utama dari suatu sistem kontrol adalah untuk mendapatkan optimasi. Diagram kontrol loop terbuka pada sistem robot dapat dinyatakan dalam gambar 2. peningkatan efisiensi dan kualitas kerja suatu sistem. 2006). sistem pengendalian atau sistem pengontrolan. Ditinjau dari segi peralatan dan instrumen yang digunakan. parameter) sehingga berada pada suatu harga atau dalam rangkuman harga (range) tertentu. yaitu pengukuran (measurement). Kontrol loop terbuka atau umpan maju (feedfoward control) dapat dinyatakan sebagai sistem kontrol yang keluarannya tidak diperhitungkan ulang 4 . pencatatan dan perhitungan (computation) dan perbaikan (correction).1 berikut ini. sehingga memudahkan pengoperasian. Dalam istilah lain disebut juga sistem pengaturan. membandingkan (comparison). serta masih banyak lagi pengaruh yang disebabkan oleh perkembangan dari pengendalian otomatik (Ogata.1. dalam hal ini dapat diperoleh berdasarkan fungsi dari sistem kontrol itu sendiri.

3. 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. Keadaan apakah robot benar – benar telah mencapai target seperti yang dikehendaki sesuai referensi. misalnya motor stepper. Kontrol Robot Loop Tertutup ON/OFF. Makin kecil error maka makin kecil pula sinyal pengemudian pengontrol terhadap robot.1. 2006). sampai akhirnya mencapai kondisi tenang (steady state). Error = Gerak referensi – Gerak aktual Referensi Gerak Hasil gerak Sesungguhnya (dibaca oleh sensor) Pengontrol Robot + Gerak Aktual Gambar 2. (Pitowarno. 1/0 + 1/0 Pengontrol ON/Off 1/0 Robot 1/0 Gambar 2. Artinya pengontrol tidak lagi memberikan sinyal aktusi kepada robot karena target akhir perintah gerak telah diperoleh.oleh pengontrol. Sistem Kontrol ON – OF Gambar berikut mengilustrasikan diagram kontrol loop tertutup berdasarkan ON/OFF. 2. 2006).1.2. Kontrol Robot Loop Tertutup. Kontrol robot loop tertutup dapat dinyatakan seperti dalam gambar 2. 5 . Pada gambar diatas.2. adalah tidak dapat mempengaruhi kerja pengontrol. (Pitowarno. jika gerak hasil gerak aktual telah sama dengan referensi maka input pengontrol akan nol. Kontrol ini sesuai untuk sistem operasi robot yang memiliki aktuator yang beroprasi berdasarkan logika berbasis konfigurasi langkah sesuai urutan.

+ e u G(s) = Kp H(s) r y Gambar. e adalah error. 2. G(s) adalah kontroler. u adalah sinyal output kontroler. Seperti pada gambar.2. 2006). (Pitowarno.robot yang dibuat untuk mengikuti garis atau line follower. Sistem Kontrol Proporsional Kontroler proporsional menggunakan prinsip umpan balik di dalamnya.2. Input sensor dan output pada aktuator dinyatakan dalam dua keadaan yaitu ON/OFF atau logika 1 dan 0. Gabungan kontrol I dengan kontrol P untuk sebuah motor DC dapat digambarkan sebagai berikut: 6 . r adalah input. Sistem kontrol On/Off. kadangkala disebut sebagai “bang-bang control” adalah kontrol yang paling dasar dalam robotik.4. Kestabilan gerak yang diperoleh hanya berdasarkan pada rule sederhana tetapi mampu menjaga robot dari gerakan yang menyebabkan tracking error (TE) menjadi membesar. Kontrol Robot Proporsional. 2. memiliki fungsi menghilangkan offset atau kesalahan keadaan tunak (steady state).1. H(s) adalah dinamik robot. Sebagai contoh. Sistem Kontrol Integral (I) dan Kontrol PI Kontrol integral memiliki plant yang fungsi alihnya memiliki integrator 1/s.Pada sistem kontrol on-off ada dua keadaan yang akan dihasilkan output yaitu keadaan on atau keadaan off.3.1. dan y adalah output. robot . serta robot pada Kontes Robot Indonesia (KRI).

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. Kontrol PI pada motor DC 2. Kontrol PD pada Motor DC Kontrol PID menggabungkan kontrol P.4. Sistem Kontrol Derivatif.5.error Sinyal aktuasi Poros motor r θ ref (rpm) atau (0+5)V + - e Kp + u - MOTOR DC Sensor Kecepatan y θ act (rpm) atau (0+5)V Gambar 2. error Sinyal aktuasi Poros motor r θ ref (rpm) atau (0+5)V + - e Kp + u - MOTOR DC Sensor Kecepatan y θ act (rpm) atau (0+5)V s.6. bukan berdasarkan pada kesalahan penggerak itu sendiri. Pada motor DC blok diagramnya adalah sebagai berikut: 7 . Kontrol turunan digunakan secara bersamaan dengan aksi proporsional. I dan D maka masing – masing kelebihannya dapat disatukan guna mendapatkan kontrol yang ideal. maka jenis aksi ini tidak dapat digunakan sendirian. Kd Gambar 2.1.

Kecerdasan buatan tidak berubah selama sistem komputer & program tidak mengubahnya. Kecerdasan alami bisa berubah karena sifat manusia pelupa. moral yang baik agar mesin bisa cerdas (bertindak seperti & sebaik manusia) maka harus diberi bekal pengetahuan & mempunyai kemampuan untuk menalar. Kd Gambar 2.2. Lebih bersifat permanen. 2. Lebih mudah diduplikasi & disebarkan. pengetahuan tersebut 8 . Mentransfer pengetahuan manusia dari 1 orang ke orang lain membutuhkan proses yang sangat lama & keahlian tidak akan pernah dapat diduplikasi dengan lengkap. Kecerdasan Buatan 2.Kp e r + - Poros motor + u - MOTOR DC Sensor Kecepatan y θ act (rpm) atau (0+5)V s.2.2. Cerdas adalah memiliki pengetahuan ditambah pengalaman. penalaran (bagaimana membuat keputusan & mengambil tindakan). 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. Kontrol PID pada Motor DC 2.2. Perbedaan Kecerdasan Buatan & Kecerdasan Alami Kelebihan kecerdasan buatan antara lain: 1.Jadi jika pengetahuan terletak pada suatu sistem komputer.7.1. 2.

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

9

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. Nodenode 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

10

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.

11

Pencarian melebar pertama (Breadth – First Search) b. Untuk mengukur perfomansi metode pencarian.3.1. Pencarian mendalam pertama (Depth – First Search) 2. Pencarian merupakan suatu proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan (state space). Pencarian terbimbing (heuristic search) adanya informasi awal yang digunakan dalam proses pencarian a.3. Ruang keadaan merupakan suatu ruang yang berisi semua keadaan yang mungkin. 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. 2. Abstraksi (Abstraction) Memberikan sebuah jalan yang mengutamakan pemisahan dan variasi dari beberapa yang tidak penting.Metode Pelacakan/Pencarian (Searching) Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian. Pendakian Bukit (Hill Climbing) b. Pencarian Terbaik Pertama (Best First Search) 12 . 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).

Breadth – First Search Semua node pada level n akan dikunjungi terlebih dahulu sebelum mengunjungi node-node pada level n+1. Kesimpulan : complete dan optimal Kelemahan Breadth – First Search yaitu : membutuhkan memori yang banyak.jika ada lebih dari satu solusi. maka breadth – first search akan menemukannya. maka solusi minimum akan ditemukan. 1.3.1. karena harus menyimpan semua simpul yang pernah dibangkitkan. menjamin ditemukannya solusi (jika solusinya memang ada) dan solusi yang ditemukan pasti yang paling baik Jika ada satu solusi.2. Hal ini harus dilakukan agar Breadth – First Search dapat melakukan penelusuran simpul-simpul sampai di level bawah • membutuhkan waktu yang cukup lama 13 . Gambar 2. kemudian berpindah ke level berikutnya dari kiri ke kanan hingga solusi ditemukan. Contoh Breadth First Search Keuntungan Breadth – First Search yaitu : • • • • Tidak akan menemui jalan buntu. Pencarian dimulai dari node akar terus ke level 1 dari kiri ke kanan.10.1 Pencarian Buta (blind search) Pencarian buta (blind search) terdiri atas Pencarian melebar pertama (Breadth – First Search) dan Pencarian mendalam pertama (Depth – First Search).

Pada level yang paling dalam tidak ditemukan solusi. karena hanya node-node pada lintasan yang aktif saja yang disimpan Secara kebetulan. Depth – First Search Pencarian dilakukan pada suatu simpul dalam setiap level dari yang paling kiri. maka Depth – First Search tidak menjamin untuk menemukan solusi yang paling baik tidak optimal. 14 . Demikian seterusnya sampai ditemukan solusi. 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. karena jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda. maka pencarian dilanjutkan pada simpul sebelah kanan dan simpul yang kiri dapat dihapus dari memori. Kelemahan Depth – First Search yaitu : • Memungkinkan tidak ditemukannya tujuan yang diharapkan. Contoh Depth First Search Keuntungan Depth – First Search yaitu: • • Penggunaan memori relatif kecil. maka Depth – First Search akan menemukannya dengan cepat. Pada level yang paling dalam tidak ditemukan solusi. maka pencarian dilanjutkan pada level sebelumnya.2. 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.11. Gambar 2.

Sistem Roda Pada Mobile Robot (Halim. Pada kelompok yang kedua.1. hal ini disebabkan waktu aksesnya yang cukup lama & besarnya memori yang diperlukan. Heuristic Search Pencarian buta tidak selalu dapat diterapkan dengan baik. 2007). Metode heuristic search diharapkan bisa menyelesaikan permasalahan yang lebih besar. 2007) 15 . Deep Blue Chess Machine 2. dan pergerakannya yang tidak tetap tergantung dari medan jelajah (dikenal dengan mobile robot).4.2 . Kelompok yang pertama merupakan robot yang dioperasikan pada lingkungan yang tetap dengan pergerakan yang cenderung tetap dan tertentu (sebagai robot industri atau stationary robot). empat roda (Ackermann model / car like mobile robot ataupun sistem macanum wheels) ataupun lebih.12. teknik pencarian buta bukan metode yang baik karena keterbatasan kecepatan komputer dan memori. Gambar 2. tiga roda (synchro drive atau sistem holonomic). memiliki navigasi.2. Sistem Roda Sistem roda adalah sistem mekanik yang dapat menggerakan robot untuk berpindah posisi.1. (Halim. Sistem Aktuator Pada Robot Robot berdasarkan mobilitasnya terbagi dalam dua kelompok. 2. Dapat terdiri dari sedikitnya sebuah roda penggerak (drive dan steer).4. Untuk masalah dengan ruang masalah yang besar. robot dapat bergerak secara otonomi.3. 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. dua roda differensial (kiri-kanan independen ataupun sistem belt seperti tank).

Untuk robot binatang (animaloid) seperti serangga.2. 2007) 2. Bahkan robot ular dapat memiliki DOF yang lebih dari 8 sesuai dengan panjang robot (ular) yang didefinisikan. mengangkat. Sistem Tangan Sistem tangan adalah bagian atau anggota badan robot selain sistem roda atau kaki. Sistem Kaki Pada dasarnya sisitem kaki adalah gerakan “roda” yang didesain sedemikian rupa hingga memiliki kemampuan gerak seperti mahluk hidup. jumlah kaki dapat desain lebih dari empat. idealnya juga adalah memiliki kemampuan gerakan bipolar. Sistem Kaki Pada Robot Hexapod (Halim. Dalam konfigurasi yang ideal pergerakan pada pinggul dapat terdiriri dari multi DOF dengan kemampuan gerakan memutar seperti orang menari jaipong. Dalam konteks mobile robot.4. 16 .13. bagian tangan ini dikenal sebagai manipulator yaitu sistem gerak yang berfungsi untuk memanipulasi (memegang. Gambar 2. memindah atau mengolah) obyek.3. Robot berjalan dengan sistem dua kaki atau biped robot memiliki struktur kaki seperti manusia setidak-tidaknya mempunyai sendi-sendi yang mewakili pergelangan kaki. Demikian juga pada pergelangan kaki.4.2. mengambil. Pada robot industri fungsi mengolah dapat berupa perputaran (mamasang mur-baut. lutut dan pinggul.

Sebab kebanyakan gerakan yang diperlukan pada sisi anggota badan robot adalah relatif pelan namun bertenaga. Hal yang mendasar yang harus di perhatikan dalam mendisain mekanik robot adalah perhitungan kebutuhan torsi untuk menggerakkan sendi atau roda. Robot yang memiliki kemampuan navigasi dan manipulasi secara relatif memiliki konstruksi mekanik yang lebih rumit dibandingkan dengan yang berkemampuan navigasi saja.4. dan sebagainya).4. dan lain-lain). milling.mengebor/drilling. 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. seperti mobile robot tanpa tangan yang hanya memiliki roda penggerak. Gambar 2. Namun demikian robot berjalan (walking robot) seperti misalnya biped (dua kaki) dapat memiliki konstruksi mekanik yang rumit dibandingkan dengan robot tangan planar. Untuk itu diperlukan transmisi daya motor (atau aktuaktor secara umum) secara tepat. Sistem Tangan (Halim. Mekanik Robot Struktur robot sebagian besar dibangun berdasarkan konstruksi mekanik. 2007) 2.14. Salah satu metoda yang umum adalah menggunakan sistem 17 . membubut. tracking (mengelas. ataupun mengaduk (kontrol proses).

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. Penggunaan Transmisi Gear Dengan Hubungan Ohmic (Pitowarno. Gambar 2. Gambar mengilustrasikan sebuah mekanisme peningkatan torsi motor menggunakan dua buah gear. Untuk mendapatkan arah putaran yang sama seperti pada poros motor maka gear harus disusun dengan jumlah yang ganjil. 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.15.16. 2006) Arah puaran poros pada transmisi gear hubungan langsung seperti pada gambar adalah selalu berlawanan untuk setiap sambungan serial. 18 .gear. Penggunaan Transmisi Gear Hubungan Langsung (Pitowarno. Gambar 2.

Gambar 2. lebar pulsa antara 0.Sistem transmisi tipe gear . Motor Servo DC Motor servo adalah motor yang mampu bekerja dua arah (CW dan CCW). Gear terbuat dari material plastik komposit serta belt terbuat dari karet berserat nilon.5 ms dan 2 ms menyatakan akhir dari range sudut maksimum. Motor servo DC adalah motor yang berputar lambat.lash karena konstruksi belt yang ketat dapat menghilangkan jeda dalam pengemudian arah berlawanan. • Kontruksi dalamnya meliputi internal gear. Sebuah motor servo DC memiliki antara lain: • • • 3 jalur kabel : power.5. dan feedback control. Selain itu daat menghindari pemakaian pelumas dalam sistem gear tanpa kawatir timbul friksi yang berlebihan. dan control Sinyal control mengendalikan posisi Operasional dari servo motor dikendalikan oleh sebuah pulsa selebar ± 20 ms.belt merupakan salah satu tipe yang sering di gunakan pada robot. 2006) 2.17. 19 . Hanya saja dimensi ruang penempatan gear relatif menjadi lebih besar dibanding dengan tipe – tipe lain.4. arah dan sudut pergerakan rotornya dapat dikendalikan hanya dengan memberikan pengaturan duty cycle sinyal PWM pada bagian pin kontrol. Gear Belt (Pitowarno. biasanya ditunjukan oleh rate putarannya yang lambat. Tipe ini memiliki keunggulan dari segi back . potensiometer. ground. namun demikian memiliki torsi yang kuat karena terdapat internal gearnya. Motor servo DC merupakan sebuah motor DC yang memiliki rangkaian control elektronic dan internal gear yang mengendalikan pergerakan dan sudut angularnya.

spesifikasi dari motor servo DC continuous parallax antara lain: Power 6vdc max Average Speed 60 rpm .0 grams/1. Gambar 2.50 Manual adjustment port.18.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º. Motor Servo HS-311 Berdasarkan gambar diatas.40 kg-cm/47oz-in Size mm (L x W x H) 40.5x20.0x38. • 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.79x1.0 Size in (L x W x H) 1.60x.59oz Torque 3. 20 .Note: with 5vdc and no torque Weight 45. Servo motor DC tipe standar hanya mampu berputar 180 derajat.

3ms. Untuk memutar servo ke kanan. Servo motor DC yang berkekuatan besar dan cepat.Servo motor DC banyak digunakan sebagai aktuator pada mobile robot atau lengan robot. 21 . seperti ilustrasi berikut: Gambar 2. idealnya ada pada servo HS-311 (continuos ) dan servo HS-322HD (standar). Servo motor DC yang umum digunakan ialah Continuous Parallax.19. berikan pulsa 1. Untuk menggerakkan motor servo ke kanan atau ke kiri. Untuk membuat servo pada posisi centre. tergantung dari nilai delay yang kita berikan.7ms untuk berputar ke kiri dengan delay 20ms. berikan pulsa = 1.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). Nilai Pulsa Untuk Menggerakkan Motor Servo 2.

Tegangan input Power supply 9 – 12 VDC dan output 5 VDC. 8. 9. Mendukung varian AVR 40 pin. AT90S8535. Tata Letak DT-AVR Low Cost Micro System Spesifikasi dari DT-AVR Low Cost Micro System antara lain : 1. AT90S8515. Tersedia jalur komunikasi serial UART RS-232 dengan konektor RJ11. 5. 7. ATMEGA8515. 22 . Terdapat Eksternal Brown Out Detector sebagai rangkaian reset. 2. Tersedia Port untuk Pemrograman secara ISP. Frekuensi Osilator sebesar 4MHz. Untuk tipe AVR tanpa internal ADC membutuhkan Conversion socket. Konfigurasi jumper untuk melakukan pemilihan beberapa model pengambilan tegangan referensi untuk tipe AVR dengan internal ADC.ATMEGA 16 Gambar 2. dan lain-lain. antara lain: ATMEGA16. 6. 3. Memiliki jalur Input/Output hingga 32 pin. LED Programming Indicator. 4.20. ATMEGA 8535.

peripheral. Mikrokontroler AVR ATMEGA16 Mikrokontroler AVR (Alf and Vegard’s Risc processor) standar memiliki arsitektur 8 bit. keluarga AT90Sxx. semua instruksi dikemas dalam kode 16-bit dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock. AVR berteknologi RISC (Reduced Instruction Set Computing). yaitu keluarga ATTINY. sedangkan seri MCS51 berteknologi CISC (Complex Instruction Set Computing). Blok Diagram Fungsional ATMEGA16 (Adrianto.2. dan AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori.21. dan fungsinya.1. Gambar 2.5. 2008) 23 . keluarga ATMEGA. AVR dapat dikelompokkan menjadi 4 kelas.

1 buah timer/counter 16 bit.1. 12. 11.5. 6. Enam pilihan mode sleep menghemat penggunaan daya listrik. 131 instruksi handal yang umumnya hanya membutuhkan 1 siklus clock. Port C. 7.1. Saluran I/O sebanyak 32 buah.2. 2. 3. kapabilitas memori flash 16 KB. dan EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 512 byte. CPU terdiri atas 32 buah register.1. Hampir mencapai 16 MIPS pada Kristal 16 MHz. 3. 14. 2. 10. Port USART untuk komunikasi serial. Unit interupsi internal dan eksternal. Watchdog Timer dengan osilator internal. 2 buah timer/counter 8 bit. 2. 4 channel PWM. 16. Antarmuka Komparator analog. SRAM sebesar 1 K byte. Fitur ATMEGA16 Kapabilitas detail dari ATMEGA16 adalah sebagai berikut: 1. SRAM sebesar 512 byte. Portal komunikasi serial (UASRT) dengan kecepatan maksimal 2. 17. 6. 9. Tiga (3) buah Timer/Counter dengan kemampuan pemandingan. Memori Flash sebesar 16 Kbyte dengan kemampuan Read While Write. yaitu Port A. 5. ADC (Analog to Digital Converter) 10 bit sebanyak 8 channel. Port B. ADC internal dengan fidelitas 10 bit sebanyak 8 channel. Port antarmuka SPI. 32x8 general purpose register. 8. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16MHz. 4. 24 . Arsitektur ATMEGA16 Dari gambar tersebut dapat dilihat bahwa ATMEGA16 memiliki bagian sebagai berikut: 1. EEPROM sebesar 512 byte yang dapat diprogram saat operasi. 15.5. 4. 13. dan Port D.2.5 Mbps. 5.

. yaitu Timer/Counter. 10. Gambar 2. Pin ATMEGA16 (Adrianto. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler. dan komunikasi serial. Port B (PB0.3. 7. 3. dan SPI. 4.2. komparator analog.PC7) merupakan pin I/O dua arah dan pin fungsi khusus. 6. yaitu TWI. Dari gambar tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMEGA16 sebagai berikut: 1. 2008) 25 .1. interupsi eksternal.5.PA7) merupakan pin I/O dua arah dan pin masukan ADC. komparator analog.PD7) merupakan pin I/O dua arah dan pin fungsi khusus. Konfigurasi Pin ATMEGA16 Konfugurasi pin ATMEGA16 bisa dilihat pada Gambar 2. Port C (PC0.PB7) merupakan pin I/O dua arah dan pin fungsi khusus. AREF merupakan pin masukan tegangan referensi ADC.13.. Port D (PD0.. yaitu komparator analog. 5. Port A (PA0. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya. 9. 2. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal. dan Timer Oscilator. GND merupakan pin ground. AVCC merupakan pin masukan tegangan ADC. 8..22.

Selain itu SPC DC Motor dapat digunakan secara paralel.23. SPC DC MOTOR ini dilengkapi dengan prosedur input sehingga dapat mengetahui kecepatan motor pada saat tertentu.2. • Mempunyai 2 buah pengontrol motor DC yang dapat bekerja secara bersama-sama. Gambar 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. 26 . juga dilengkapi dengan prosedur brake yang dapat menghentikan motor secara cepat. 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. • Masing-masing pengontrol motor DC dilengkapi dengan prosedur input dan brake.

Bila tidak menggunakan IC ini. Saat transistor 2 dan 3 on. maka kita harus menggunakan beberapa transistor untuk membentuk rangkian H-Bridge. Namun untuk menghindari kerumitan dalam pembuatan robot. Dengan menggunakan IC driver ini ada beberapa keuntungan yang bisa didapat. Pada sistem H-Bridge. 3. • Tersedia prosedur siap pakai untuk aplikasi SPC DC MOTOR. Dirver H-Bridge IC L293d Sistem kontrol motor menggunakan transistor yang paling terkenal adalah sistem H-Bridge (Jembatan H).7. Saat transistor 1 dan transistor 4 on. Bisa mengatur kecepatan motor DC 27 . Saat sekarang telah tersedia IC driver H-Bridge yang akan memudahkan kita untuk membuat robot mobil.1. motor akan berputar ke suatu arah. motor akan berputar ke arah sebaliknya. sehingga bila menggunakan I2C bus dapat di-ekspan sampai 8 board (16 buah motor DC) tanpa tambahan perangkat keras. • Pengaturan kecepatan motor menggunakan metode PWM (Pulse Width Modulation).• Dapat dikontrol secara I2C-bus maupun paralel. 2 transistor akan hidup secara bersamaan untuk mengatur arah putaran motor. 2. maka kita dapat menggunakan IC L293D. Bisa mengatur arah putaran motor DC. Berukuran kompak sehingga lebih praktis. • Dilengkapi dengan jumper untuk setting alamat. Keuntungannya adalah: 1. 2. Sistem ini menggunakan 4 buah transistor yang disusun menyerupai huruf “H”. • Semua pin–pin kontrol paralel diakses dengan taraf logika TTL.

1.Gambar 2. IC L293D (Ibnu Malik.24. Tabel 2. Fungsi Pin-Pin Pada IC L293D Pin 1 2 3 4 dan 5 6 7 8 9 10 11 12 dan 13 14 15 16 Nama Enable Input 1 Output 1 Ground Output 2 Input 2 Vs Enable 2 Input 3 Output 3 Ground Output 4 Input 4 Vss Kegunaan Enable untuk motor 1 (output 1 dan output 2) Masukan 1 untuk motor 1 Keluaran 1 untuk motor 1 Ground Keluaran 2 untuk motor 1 Masukan 2 untuk 1 Sumber tegangan (+) untuk motor 1 dan 2 Enable untuk motor 2 (output 3 dan output 4) Masukan 1 untuk motor 2 Keluaran 1 untuk motor 2 Ground Keluaran 2 untuk motor 2 Masukan 2 untuk motor 2 Logic power supply untuk IC (+5) 28 . 2006) Tabel berikut memberikan keterangan mengenai IC ini.

2008). 2006) 2. Dalam dunia robotika. Sensor Proximity Sensor proximity adalah sensor untuk menditeksi ada atau tidaknya suatu obyek. Prinsip kerjanya sederhana yaitu hanya memanfaatkan sifat cahaya yang akan dipantulkan jika 29 .Gambar 2.7. 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. 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.30. 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”. Sensor ini dapat dibuat dari pasangan LED dan fototransistor (photodioda) seperti pada gambar 2. Diagram Blok IC L293D (Ibnu Malik.25. Salah satu kegunaan sensor proximity yang sering dijumpai dalam dunia robotika adalah sebagai sensor garis.

2006). Rangkaian Infrared Proximity Sebagai Sensor Garis (Sigit.26. (Sigit. 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. 2006) 30 . Prinsip Kerja Sensor Proximity (Soebhakti. Gambar 2. Sebaliknya jika tidak terdapat pantulan maka basis fototransistor tidak mendapat arus bias sehingga fototransistor menjadi cut-off (C-E open).27.mengenai benda berwarna terang dan akan diserap jika mengenai benda berwarna gelap. dengan demikian nilai Vout sama dengan Vcc. Sebagai sumber cahaya kita gunakan LED (Light Emiting Diode) yang akan memancarkan cahaya merah dan untuk menangkap pantulan cahaya LED kita gunakan photodiode. Berikut adalah ilustrasinya: Gambar 2. Sensor akan menerima lebih banyak cahaya bila berada digaris putih sedangkan jika diatas garis hitam maka photodioda akan menerima sedikit sekali cahaya pantulan.

28.8. sistem IDEAPG (Integrated Development Environment and Automatic Program Generator) yang di disain khusus untuk keluarga mikrokontroler Atmel AVR dapat mempermudah pemrograman C. Output rangkaian gambar 2. System Programer Sofware di disain untuk bekerja secara konjungsi dengan produk Atmel STK500/AVRISP/AVRProg (AVR910 application note).21 masih memiliki kemungkinan tidak pada kondisi ideal bila intensitas pantulan cahaya LED pada garis lemah. misalnya karena perubahan warna atau lintasan yang kotor. Code Vision AVR telah mengandung hampir semua elemen bahasa pemrograman ANSI C.22 LED pada output berguna sebagai indikator logika output sehingga kerja sensor mudah diamati. tegangan output harus berada pada level 0 atau VCC.Gambar 2. Untuk mengatasi hal tesebut ditambahkan rangkaian pembanding yang membandingkan output sensor dengan suatu tegangan treshold yang dapat diatur dengan memutar timmer potensio (10K). 31 . rangkaian lengkapnya seperti pada gambar 2. Sensor Dengan Rangkaian Pembanding (Sigit. Sebagai Compiller C. 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. Dengan disediakannya beberapa fitur tambahan yang merupakan kebutuhan dari arsitektur AVR dan sistem embedded. 2006) Untuk dapat diinterfacekan ke mikrokontroler. 2. Bahasa Pemrograman Code Vision AVR C Code vision AVR merupakan compiller bagi bahasa pemrograman C.

sedangkan variable menyatakan nilai yang dapat diubah-ubah selama eksekusi berlangsung.7E-38 s/d 3. long int. Tabel 2.7E+308 Bilangan real presisiganda Untuk tipe data short int. signed int dan unsigned int).2. konstanta menyatakan nilai yang tetap.9. STK200+/300.4E+38 Keterangan Karakter Bilngan integer Bilangan real presisitunggal Double 64 2. 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.sistem Kanda. futurlec JRAVR dan Micro Tronics ATCPU/Mega2000 development boards. 2. double dan char. Dontronics DT006.2E-308 s/d 1. yang dinamakan sebagai tipe data dasar. Vogel Elektronik VTEC-ISP. Tipe Data Dasar Data merupakan suatu nilai yang bias dinyatakan dalam benntuk konstanta atau variable. float. Bahasa Pemrograman C 2. maka ukuran memori yang diperlukan serta kawasan dari masing – masing tipe data adala sebagai berikut : 32 . signed int dan unsigned int. long int.9. Data berdasarkan jenisnya dapat dibagi menjadi lima kelompok.1. Ukuran Memori Tipe Data Tipe Char Int Float Total bit 8 32 32 Kawasan -128 s/d 127 -2147483648 s/d 2147483647 1.

3.while dan sebagainya.a.9. Operator Berikut ini beberapa operator yang digunakan pada bahasa pemrograman C adalah: 1.Z. Operasi kondisi C menyediakan operator yang dimaksudkan untuk menyatakan kondisi.Tabel 2.. Aturan pendefinisian variabel Aturan penulisan pengenalan variable.2. Ukuran Memori Tipe Data Int Tipe Short int Long int Signed int Unsigned int Total bit 16 32 32 32 Kawasan 32768 s/d 32767 -2147483648 s/d 2147483647 -2147483648 s/d 2147483647 0 s/d 4294967295 Keterangan Short integer Long integer Biasa disingkat int Bilangan int tak bertanda 2. konstanta dan fungsi yang didefinisikan oleh pemrograman adalah sebagai berikut: • • • • Pengenala harus diawali dengan huruf (A. 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 33 ...9.z) atau karakter garis bawah(_) Selanjutnya dapat berupa huruf.9) atau karakter garis bawah atau tanda dolar($) Panjang pengenal boleh lebih dari 31 karakter.3. 2. tetapi hanya 31 karakter pertama yang akan dianggap berarti Pengenal tidak boleh menggunakan nama yang tergoong sebagai katakatacadangan (reserved words) seperti int. digit(0.if.

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

34

“^=” “\=”

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 Contoh: #define identifier MAX 100 konstanta

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)

35

{ 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); 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. //delay 500ms

36

SPC DC motor 3. Meneliti sistem navigasi robot pada lintasan. Perancangan konsep robot cerdas semut. DT-AVR Low Cost Micro System mikrokontroler ATMEGA 16 2. Catu daya DC 9 V dan 12 V 6. Merancang program (software) dan mendownload program ke mikrokontroler. 8. Prosedur Penelitian Langkah – langkah dalam perancangan robot cerdas semut yaitu: 1. Mapping pembacaan sensor.1. Motor Servo HS-311 continous 5. Membuat laporan penelitian. Sensor Proximity photodioda 37 . 2.2. Plat Almunium 4. 3. 4. Tempat Dan Waktu Penelitian Penelitian dan perancangan alat ini dilakukan Pada bulan Juli 2009 sampai Desember 2009 . 3. 6. 3.BAB III METODOLOGI PENELITIAN 3.3. Membuat strategi pemrograman untuk menentukan lintasan terpendek. Alat dan Bahan 1. serta membuat pemrograman strategi robot untuk menentukan lintasan terpendek. 5. Merancang hardware robot cerdas semut. 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. Menyiapkan alat dan bahan dalam perancangan robot cerdas semut. 7. Tempat penelitian dan perancangan alat dilaksanakan di laboratorium teknik kendali dan kediaman penulis.

Adaptor DC 1.7.5 . Kabel pita 12. Konsep dasar merupakan pedoman untuk merencanakan sesuatu dalam melakukan rancangan (desain). Lintasan robot cerdas semut bidang cartesian (3x3) bergaris putih 19. Kawat antena robot cerdas semut 15. 10. 38 . Charger battery BBE 20.4. Led warna biru dan merah 8.12 V 3. sehingga robot menjadi lebih handal dan stabil dalam melewati lintasan. Berikut ini diagram blok sistem kendali robot cerdas semut. Plat Acrelyc 9. Saklar on/off. 9 Pushbutton 13. 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. Code vision AVR C 18. Mur dan baut 16. Specer 11. DT HiQ AVRUSB ISP 17. Molex conector white 14. konsep ini memuat langkah-langkah dan petunjuk untuk menentukan sesuatu penunjang yang dibutuhkan dalam mendesain.

3. Catu Daya 5 Volt Catu Daya 12 Volt Catu Daya 9 Volt Sensor Proximity Mikrokontroler AVR ATMEGA16 SPC DC Motor Motor servo HS.1.+ Mikrokontroler ATMEGA 16 SPC DC motor - Motor servo continous HS311 Aktuator Mekanik kaki hex Pengontrol Sensor proximity Sensor Gambar 3. Dari diagram blok pada gambar. Untuk pengontrol robot cerdas semut terdiri dari bagian yaitu mikrokontroler ATMEGA 16 dan SPC DC motor.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. untuk sensor yaitu sensor proximity. Gambaran Sistem Robot Cerdas Semut 39 . sensor dan aktuator. dan untuk aktuator yaitu motor servo HS-311 dan mekanik kaki hex.311 continous 9 push button Gambar 3.2. 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. Berikut ini gambaran sistem dalam perancangan alat secara keseluruhan. Sub sistem robot cerdas semut yaitu pengontrol.

Desain Robot Cerdas Semut 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.1. 16 cm Sensor proximity photodioda Motor servo continous 8 cm Motor servo continous Gambar 3. 40 .5.5. Untuk mikrokontroler ATMEGA 16 tegangan sumber sebesar 12 volt. Perancangan Perangkat Keras Membicarakan soal robot. tidak lepas dari unsur mekanik sebagai kerangka robot.3. motor servo continous HS-311 yang tegangan sumber sebesar 9 volt. Kerangka robot dibuat dari bahan acrelyc dan plat almunium. 3. SPC DC motor digunakan untuk mengatur kecepatan motor kiri dan kanan.Berdasarkan gambar diatas dapat dilihat dalam robot cerdas semut masingmasing bagian memerlukan tegangan sumber. Pada plat almunium bagian bawah sebagai tempat sensor proximity photodioda dan motor servo HS-311 continous untuk kaki kiri dan kanan robot. 9 pushbutton untuk menentukan salah satu titik awal dan tujuan robot dan sensor proximity photodioda memerlukan tegangan sumber sebesar 5 volt.

16 cm F G A SPC Gambar 3. baterai 9 v.4. dan terdapat fungsi saklar sebagai on/off. Robot Cerdas Semut Tampak Atas 1 2 H I B E D 8 cm C 41 .5.16 cm Baterai 12V Baterai 9V 8 cm Gambar 3. Plat Almunium Atas Robot Cerdas Semut Tampak Atas Pada plat almunium bagian atas merupakan tempat supply tegangan terdiri atas baterai 12 v. supply tegangan 12 volt diberikan untuk mikrokontroler ATMEGA 16 dan supply tegangan 9 volt diberikan untuk motor servo continous HS-311.

7 dan PORTC. PORT-PORT yang digunakan untuk robot cerdas semut yaitu PORTA0. 16 cm Gambar 3.1. PORTB. SPC DC motor dan 9 pushbutton.5.7 sebagai input sensor proximity photodioda. Dengan menggunakan DT-AVR Low Cost Micro System sebgai kit minimum system.0-PORTC.6.PORTA.4 sebagai output SPC DC motor. Perancangan Perangkat Keras Pengontrol Robot Cerdas Semut Pusat pengontrol dari robot cerdas semut adalah mikrokontroler ATMEGA 16. Berikut ini skema rangkaian DT-AVR Low Cost Micro System. 3. Plat acrylic sebagai tempat DT-AVR ATMEGA 16.6 sebagai input pushbutton dan PORTC.1.0-PORTB.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. 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. 42 .

7.43 Gambar 3. Skema DT-AVR Low Coast Micro System .

0 sebagai pin pertama pada PORTC.1.0 PC. pin input kedua SPC DC motor berasal dari PORTC. 3.3.Driver pengontrol motor menggunakan SPC (smart peripheral controller) DC motor yang terdiri dari 4 pin sebagai input dengan output untuk 2 buah motor DC. 44 .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.1.2 dan Pin input terakhir SPC DC motor berasal dari PORTC. Dengan menggunakan IC L293D. Hubungan antara SPC (Smart Peripheral Controller) DC Motor dengan DT-AVR Low Cost Micro System adalah sebagai berikut: Tabel.1 PC. Berikut ini digambarkan skema rangakaian SPC DC Motor.2 PC. Pin input pertama SPC DC motor berasal dari PORTC. 2 pin untuk tegangan sumber dan 4 pin sebagai signal control ke SPC DC motor. Hubungan SPC DC Motor Dengan DT AVR Low Cost Micro System SPC DC Motor Gnd Vcc S1 S2 S3 S4 DT-AVR Low Cost Micro System Gnd Vcc PC. pin input ketiga SPC DC motor berasal dari PORTC.

8.DT AVR Low cost microsystem PORTC.2 PORTC.3 Vcc Ground 45 Gambar 3.1 PORTC.0 PORTC.Skema SPC DC Motor .

Agar dapat dibaca oleh mikrokontroler. Sensor ini akan mengeluarkan logika high pada permukaan yang terang (putih) dan sebaliknya akan mengeluarkan logika low pada permukaan yang gelap (hitam pekat). sehingga dapat berhadapan langsung dengan lintasan yang akan dibaca.1. Perancangan Perangkat Keras Sensor Robot Cerdas Semut Sensor yang dipakai robot cerdas semut yaitu sensor proximity.2. Hal ini bisa dilakukan dengan memasang operational amplifier yang difungsikan sebagai komparator. namun dengan menambah dua atau tiga sensor lagi maka 46 . maka tegangan sensor harus disesuaikan dengan level tegangan TTL yaitu 0 – 1 volt untuk logika 0 dan 3 – 5 volt untuk logika 1.9.3. Sensor proximity ini memiliki sensitivitas yang tinggi serta output yang dihasilkan berupa pulsa digital dengan logika high sebesar 5 volt. robot ini menggunakan kombinasi IR LED berwarna merah dan Photodioda. sedangkan jarak antara sensor kiri dengan sensor kanan berkisar 1 -2 cm. Jarak Antara Sensor Proximity Robot line follower dengan 3 sensor proximity sudah cukup untuk dapat melewati garis dengan baik. disesuaikan agar jarak sensor satu dengan yang lainnya lebih kecil dari lebar garis putih yang berukuran 2 – 3 cm. Sensor ini terdiri dari 6 pasang LED dan photodioda ditempatkan secara menggantung pada bagian bawah kerangka robot. Jarak antara sensor dengan lantai berkisar 1 cm. Seperti gambar dibawah ini: Gambar 3.5.

Pada saat kecepatan tinggi. kemudikan ke kiri 100000 – hampir keluar jalur. robot memiliki waktu untuk menyesuaikan arah dan kecepatan. kemudikan ke kanan dan kurangi kecepatan 000011 – sensor terlalu ke kiri. kemudikan ke kiri dan kurangi kecepatan 111111 – ada persimpangan Gambar 3. tingkatkan kecepatan 001000 – sensor sedikit ke kanan. kemudikan ke kanan 000010 – sensor ke kiri kemudikan ke kanan 000110 – sensor agak ke kiri. untuk tetap berada di garis. Sensor dapat meningkatkan sensitifitas dalam mencari letak suatu garis. kemudikan sedikit ke kanan 001100 – di dalam jalur. Kemungkinan keadaan sensor yaitu sebagai berikut: • • • • • • • • • • • • • 000000 – kehilangan garis 000001 – hampir keluar jalur.akan sangat diperlukan jika ingin menambah kecepatan dalam melintasi garis. Robot Dengan 6 Sensor Proximity 47 . kemudikan ke kanan 000100 – sensor sedikit ke kiri. kemudikan ke kiri 010000 – sensor ke kanan kemudikan ke kiri 110000 – sensor terlalu ke kanan.10. kemudikan sedikit ke kiri 011000 – sensor agak ke kanan.

0-PORTA.5 Sensor Proximity Gnd Vcc D1 D2 D3 D4 D5 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.5 sebagai input untuk robot cerdas semut.0 PA.3 PA.Hal yang perlu di perhatikan untuk lebih memaksimalkan kerja sensor proximity yaitu pengaruh lingkungan seperti cahaya dari luar dan garis lintasan yang berdebu.2 PA. 2 pin untuk tegangan sumber.2. Menerangkan lampu LED dengan teknik kalibrasi sensor dengan menambahkan tegangan offset 2. Mengatur jarak sensor terhadap lantai 1-2 cm Hubungan antara sensor proximity dengan DT-AVR Low Cost Micro System adalah sebagai berikut: Tabel 3. Berikut merupakan gambar rangkaian sensor proximity photodioda yang digunakan pada robot ini dengan menggunakan 6 buah sensor proximity photodioda: 48 . Teknik pengaman sensor dari lingkungan sekitar dapat di lakukan dengan cara: 1. Membungkus sensor. Menggunakan LED berwarna merah 3. sehingga terlindung dari cahaya luar 4. Hubungan Sensor Proximity dengan DT-AVR Low Cost Micro System DT-AVR Low Cost Micro System Gnd Vcc PA.4 PA.1 PA.

11. Rangkaian Sensor Proximity .49 Gambar 3.

• Hubungkan catu daya positif (+) untuk motor DC pada Vmotor dan catu daya negatif (-) pada GND. dengan putaran motor berkecepatan kurang lebih 60 rpm.5. Dalam hal ini digunakan tegangan 9 Volt untuk robot ini. 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. • Untuk motor DC 2. 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. Gambar 3.1. mampu mengangkat beban yang beratnya mencapai 3.serta data input pada IN1 secara benar.3. 3.40 kg.1.12.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.5. Dengan torsi sebagai keunggulan dari motor ini dibandingkan motor DC lainnya. • Untuk motor DC 1.3. Modul SPC DC motor dapat dipergunakan untuk dua buah motor DC yang mempunyai tegangan kerja yang sama. Hubungan motor DC dengan SPC DC motor 50 .serta data input pada IN2 secara benar. sambungkan kutub positif motor DC pada M1+ dan kutub negative motor DC pada M1. Tegangannya harus sesuai dengan tegangan kerja motor. sambungkan kutub positif motor DC pada M2+ dan kutub negatif motor DC pada M2.

13. dengan sistem mekanik roda gila. yaitu yang pertama adalah catu daya untuk mikrokontroler dan motor DC.4. Perancangan Perangkat Keras Mekanik Robot Cerdas Semut Sistem gerak kaki yang dipakai menyerupai kaki semut. Untuk tegangan supply 9 Volt DC menggunakan baterai GP 170 MAH. Perancangan Perangkat Keras Catu Daya Robot Cerdas Semut Untuk pembuatan robot cerdas semut ini menggunakan 2 (dua) buah catu daya.5.5. roda gila dikonsepkan karena adanya momen inersia.7 V yang disambung atau dirangkai secara seri. 51 . Kaki yang digunakan terbuat dari almunium plat yang meminimalisasi berat robot. terdapat bantalan karet di bawah kaki yang membuat robot tak mudah selip.3.1. Semakin besar jari-jarinya maka makin besar torsinya yang akan mengakibatkan kecepatan secara linearnya menjadi besar. Dalam fisika besarnya torsi tergantung dari panjang jari-jari dan gayanya. atau torsi. untuk motor DC sebesar 9 Volt. Panjang tiap kaki 6 cm dengan dengan plat penyambung antar kaki yang panjangnya 7cm.1. berjumlah 6 kaki.5. Sistem Kaki Robot Cerdas Semut 3. Untuk teganggan supply mikrokontroler menggunakan baterai Handphone 3. Plat penyambung antar kaki r Bantalan karet kaki Gambar 3.

4 PB.3.0 – PORTB.14. Tabel.1 PB. terdapat 9 pushbutton yang sesuai dengan titik asal serta titik tujuan dari robot.1.6.6 Berdasarkan tabel diatas dapat dilihat bahwa DT-AVR Low Cost Micro System dikoneksikan langsung ke 9 pushbutton motor melalui 10 pin pada PORTB.5 PB. 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. Berikut ini Penyambungan 9 pushbutton dengan DT-AVR Low Cost Micro System.3 PB. Gambar Rangkaian Baterai Untuk Mikrokontroler 3.6 sebagai input untuk robot cerdas semut. Hubungan 9 pushbutton dengan DT-AVR Micro System 9 pushbutton Gnd T1 T2 T3 T4 T5 T6 T7 T8 T9 DT-AVR Low Cost Micro System Gnd PB.5.Ganbar 3.0 PB.7 PC.2 PB. 1 52 .7 dan PORTC.6 PB. 3.

Perancangan Perangkat Lunak dan Diagram Alir 3.2.5.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. Gambar Rangkaian 9 Pushbutton 3.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. kemudian klik File -> New.5. Jalankan software code vision AVR C. Ganbar 3.15. “Do you want to use the CodeWizardAVR?” Klik Yes 53 . Source code dibuat dengan langkah – langkah sebagai berikut: 1. Berikut ini gambar rangkaian 9 pushbutton.2. pilih Project 2.

Pilih Chip yang digunakan. Klik File -> Generate. chip : ATMEGA16. Save and Exit 54 .6 sebagai Input dan PORTC.3 sebagai Output Pullup Timers : Timer 0 dengan Clock Value 15. Lakukan setting sebagai berikut : Port : PORTA.3. aktifkan Overflow Interrupt 5.562 KHz.000000 MHz 4. PORTB dan PORTC. clock : 4.0 sampai dengan PORTC.

Klik OK jika sudah.6. klik Project -> Make 11. Nyalakan power supply 12 Volt dan klik Program. 9. Pastikan koneksi kabel downloader dan chip sudah terpasang dengan benar. Setelah selesai membuat source code. 7. kemudian pilih menu After Make dan aktifkan Program the Chip. Untuk meng-compile project. klik Setting -> Programmer 8. Buatlah source code. Tunggu hingga proses download selesai. 12. Pilih AVR Chip Programmer Type : Atmel STK500/AVRISP dan untuk Communication port disesuaikan dengan komputer. Klik Project -> Configure. 10. Jika tidak ada error maka file siap didownload ke chip. 55 .

16.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.2.2. Program Utama Gambar 3. Diagram Alir Program Utama 56 . 1.5. Berikut merupakan diagram alir yang dipakai pada perancangan perangkat lunak pada robot cerdas semut.3.

Selanjutnya apabila telah di temukan lintasan dengan jarak terpendek maka akan diteruskan ke proses selanjutnya yaitu rutin baca sensor. Program akan di eksekusi ketika mikrokontroler mendapatkan tegangan 12 volt.E.H dan I 4.C.D. Inisialisasi pada sensor. 7. 5. rutin persimpangan dan rutin pencarian lintasan terpendek. 57 .G.Program utama akan diproses sebagai berikut: 1. Proses pencarian lintasan terpendek dengan menggunakan perbandingan (compare) jarak. Dari program utama terdapat rutin dan sub rutin dalam perancangan pengontrol robot cerdas semut. lurus dan persimpangan. Proses untuk menentukan titik asal dan titik tujuan robot yaitu titik A. Program akan mengeksekusi rutin baca sensor. tapi apabila tidak ditemukan maka akan kembali ke proses pencarian lintasan terpendek. belok kanan.F. Rutin ini berfungsi menentukan Posisi sensor terhadap garis lintasan. belok kiri.B. pushbutton kit dan motor serta proses pemasukan alamat ke inisialisasi 3. 6. jarak yang diambil adalah jarak terpendek/terkecil. 2. Antara lain yaitu rutin inisialisasi. Rutin jalankan robot akan menentukan setiap kondisi bagaimana robot akan bergerak apakah stop.

Diagram Alir Inisialisasi Inisialisasi pengontrol robot cerdas semut terdiri atas Sensor proximity photodioda dengan alamat 00-3FH pada PORT A.push button kit dan motor Gambar 3.push button kit dan motor Simpan Data 00-3fH 00-ffH 00-0fH Simpan Alamat 00-ffH Proses masukan data ke alamat inisialisasi End Off Inisialisasi sensor. 58 .2.17. pushbutton kit dan motor kemudian dimasukan dan disimpan ke alamat 00-FFH. Data alamat dari sensor. pushbutton kit dengan alamat 00-FFH pada PORT B dan pada PORT C dengan alamat 00-0FH terdapat motor. Rutin Inisialisasi Inisialisasi sensor.

Sub Rutin Persimpangan Persimpangan Masukan nilai persimpangan Pengulangan No Kondisi sensor menyala semua Yes Jalankan robot sesuai sensor End Off sub Persimpanagn Gambar 3. 59 .3. 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.18.

60 . Rutin Pencarian Lintasan Terpendek Semua lintasan Tidak Jarak terpendek ? ya End Off Pencarian lintasan Terpendek Gambar 3. Diagram Alir Pencarian Lintasan Terpendek Pada proses rutin pencarian lintasan terpendek. Setelah ditemukan jarak terpendek maka berakhir proses rutin pencarian lintasan terpendek.19.4. semua lintasan dari suatu titik asal ke suatu titik tujuan yang telah ditentukan akan dicari jarak terpendek dengan cara membandingakan(compare) jarak semua lintasan.

4.3.5. Posisi Sensor Posisi Sensor 0 1 2 3 4 5 6 00000000 00100000 00110000 00010000 00011000 00001000 00001100 Algoritma dalam program 61 .3. Berikut ini adalah kemungkinan yang terjadi pada sensor: 0 3 2 1 6 12 10 9 8 7 5 4 11 Gambar 3. 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.2.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.20.

Baca Sensor Yes Posisi sensor = 000000 Kondisi =0 N o Posisi sensor = 000001 Yes N o Posisi sensor = 000010 Kondisi =1 Yes N o Kondisi =2 Yes Posisi sensor = 000011 Kondisi =3 N o 1 62 .7 8 9 10 11 12 00000100 00000110 00000010 00000011 00000001 11111111 Berikut diagram alir pendefinisian pembacaan sensor proximity pada robot cerdas semut.

1 Posisi sensor = 000100 Yes Kondisi =4 No Posisi sensor = 000110 Yes Kondisi =5 No Posisi sensor = 001100 Yes Kondisi =6 No Posisi sensor = 011000 Yes Kondisi =7 No No Posisi sensor = 001000 Yes Kondisi =8 2 63 .

21. Diagram Alir Baca Sensor 64 .2 Yes Posisi sensor = 11000 Kondisi = 9 No Posisi sensor = 01000 Yes Kondisi = 10 No Yes Posisi sensor = 10000 Kondisi = 11 No Yes Posisi sensor = 111111 No Kondisi = 12 End off baca sensor Gambar 3.

sensor berada di bagian kanan. Kondisi 11: sensor D6 berada di garis. Kondisi 5: sensor D2 dan D3 berada di garis. Kondisi 1: sensor D1 berada di garis. Kondisi 10: sensor D5 berada di garis. Kondisi 2: sensor D2 berada di garis. Kondisi 12: semua sensor berada di garis. sensor berada ujung kiri. sensor berada di bagian kanan. sensor berada agak kekiri. 65 . diantaranya: • • • • • • • • • • • • • Kondisi 0: Semua sensor berada di luar garis. sensor agak ke kanan Kondisi 8: sensor D4 berada di garis. sensor berada di bagian kiri Kondisi 4: sensor D3 berada di garis. Kondisi 6: sensor D3 dan D4 berada di garis. terdapat persimpangan. Kondidi 3: sensor D1 dan D2 berada di garis. sensor berada agak ke kiri. sensor lurus berada di tengah Kondisi 7: sensor D4 dan D5 berada di garis.Posisi sensor terhadap garis lintasan terdapat 12 macam output kondisi. Kondisi 9: sensor D5 dan D6 di garis. sensor berada di bagian kiri. sensor berada di ujung kanan. sensor agak ke kanan.

Perancangan Perangkat Keras Aktuator Robot Cerdas Semut Setelah mengetahui kemungkinan-kemungkinan posisi sensor.4. maka selanjutnya harus didefinisikan aksi dari setiap kondisi tersebut.2. Aksi Pergerakan Robot Posisi Sensor 0 1 2 3 4 5 6 7 8 9 10 11 12 Robot Stop Belok kanan tajam Belok kanan sedikit tajam Belok kanan sedang Belok kanan ringan Belok kanan sedikit ringan Maju lurus Belok kiri sedikit ringan Belok kiri ringan Belok kiri sedang Belok kanan Sedikit tajam Belok kiri tajam Persimpanagn Aksi Robot Motor Kiri (PWM) 0 255 255 255 255 255 255 200 150 100 50 0 Sesuaikan strategi Motor Kanan (PWM) 0 0 50 100 150 200 255 255 255 255 255 255 Sesuaikan strategi 66 .5. Tabel 3.3.5.

Jalankan robot sesuai kondisi sensor Yes Kondisi = 0 Robot Stop No Yes Kondisi = 1 Belok kanan tajam No Yes Kondisi = 2 Belok kanan sedikit tajam No Yes Kondisi = 3 Belok kanan sedang No Yes Kondisi = 4 Belok kanan ringan No 1 67 .Berikut merupakan diagram alir pengaturan PWM motor terhadap sensor pada robot cerdas semut.

1 Yes Kondisi = 5 Belok kanan sedikit ringan No Yes Kondisi = 6 Maju lurus No Yes Kondisi = 7 Belok kiri sedikit ringan No Yes Kondisi = 8 Belok kiri ringan No Yes Kondisi = 9 Belok kiri sedang No 2 68 .

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 69 .22.2 Yes Kondisi =10 Belok kanan Sedikit tajam Yes Belok kanan Sedikit tajam N o Kondisi = 11 N o Kondisi = 12 Yes Persimpangan N o End off jalankan robot Gambar 3.

belok kiri. lurus atau stop. 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 dan stop pada saat menemukan persimpangan.2.Perancangan Perangkat Lunak Pushbutton Robot Cerdas Semut Pada perancangan perangkat lunak robot cerdas semut. motor kanan robot akan bergerak maju dan motor kiri akan bergerak mundur. terdapat titik A. H dan I sebagai titik tujuannnya. Robot belok kanan Robot belok kiri Robot stop Motor kiri bergerak maju Motor kanan bergerak maju Motor kanan bergerak diam Motor kanan Bergerak Mundur Motor kiri Bergerak Mundur Motor kiri Bergerak diam End Off Sub Belok kanan End Off Sub Belok kiri End Off Sub stop Gambar 3.5. C. D. 71 . B. Pada saat titik tujuan telah ditentukan maka berakhir proses pushbutton dan dilanjutkan ke proses berikutnya.5. Selanjutnya proses sub rutin stop. motor kiri robot akan bergerak maju dan motor kanan akan bergerak mundur. Pada pushbutton masing-masing titik menunjukan titik tujuan robot cerdas semut bergerak.23. F. motor kanan dan kiri robot diam atau tidak bergerak. Belok Kiri dan Stop Pada sub rutin proses robot belok kanan. E. Berikut diagram alir pushbutton titik tujuan pada robot cerdas semut. 3. G.Berikut ini gambar diagram alir untuk robot cerdas semut bergerak belok kanan. Pada sub rutin proses robot belok kiri. pushbutton digunakan sebagai input untuk menentukan titik tujuan saja pada 9 titik yang ada. Diagram Alir Sub Rutin Robot Belok Kanan.

Diagram Alir Sub Rutin Pushbutton 72 .24.Gambar 3.

Lintasan Robot Cerdas Semut 3. 73 .4.Listing Program Listing program robot cerdas semut (Lampiran 1) 3.3.6.5.terdapat titik A sampai titik I.25. Lintasan robot digambarkan dalam bidang kartesian (3x3) dengan 9 titik sebagai titik asal dan titik tujuan dari robot semut. Gambar 3. 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. Lintasan Robot Cerdas Semut Lintasan yang digunakan untuk robot cerdas semut ini adalah lintasan dengan pola persimpangan. Perancangan Robot Secara Keseluruhan Setelah rangkaian-rangkaian sub sistem dari robot line follower ini terbentuk.5. maka rangkaian robot dapat dibentuk secara utuh seperti yang terlihat pada Gambar 3.26.2.

74 Gambar 3. Diagram Skematik Sistem Robot Cerdas Semut .26.

Foto robot cerdas semut yang di rancang tampak samping Terlihat dari tampak samping mata robot cerdas semut. 75 . Sensor proximity photodioda.27. kaki robot cerdas semut. SPC DC motor.28. pushbutton kit 9 titik.Gambar 3. Foto Robot Cerdas Semut Yang Di Rancang Tampak Atas Bagian atas terlihat pushbutton kit 9 titik. kabel penghubung molex. DT-AVR Low Cost Minimum System. DT-AVR Low Cost Minimum System. antenna robot cerdas semut dan kabel penghubung molex. antenna robot cerdas semut. tegangan sumber baterai 9 volt dan tegangan sumber baterai 12 volt. Gambar 3. kaki robot cerdas semut.

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 dari titik asal dicari rute terdekat menuju titik tujuan dengan menggunakan metode Depth – First Search dan pohon pencarian untuk merepresentasikan ruang keadaanya. sedangkan sistem output berupa SPC DC Motor dan motor DC. output robot dan strategi robot cerdas semut. Berikut ini rangkaian sensor dan LED pada mikrokontroler: 76 . Untuk sistem input dilakukan pengujian pada sensor dalam membaca garis lintasan. Dalam pengujian sistem input dan output ini menggunakan program Code Vision AVR. 4. dilakukan pengujian untuk mengatur kecepatan motor DC setelah membaca garis dengan menggunakan teknik PWM (Pulse Wide Modulation). robot melewati pola lintasan persimpangan dalam bidang kartesian (3x3) dengan 9 titik sebagai titik asal dan titik tujuan dari robot cerdas semut.BAB IV HASIL DAN PEMBAHASAN Berdasarkan proses perancangan yang sudah dibahas pada bab sebelumnya dimana untuk mengetahui kinerja. Pengujian juga dilakukan pada strategi pencarian lintasan terpendek robot cerdas semut. dan seterusnya sesuai dengan kemungkinan pembacaan sensor pada garis lintasan. Dimana sensor S1 berada dalam garis maka LED 1 akan menyala. hasil serta kehandalan sistem robot yang telah dibuat maka dilakukan proses pengujian. Proses pengujian ini ditujukan pada sistem Input.

1 – PORTA. Rangkaian Sensor Proximity Dan Led Sebagai output 6 buah LED dihubungkan ke PORTB.1 – PORTB. Dari percobaan yang dilakukan maka didapat hasil pembacaan sensor sebagai berikut: Tabel 4.5.P O R T A P O R T B Gambar 4. Pembacaan Sensor Menggunakan LED Posisi sensor 0 1 2 3 4 5 6 7 8 9 10 11 12 Pembacaan Sensor 00000000 00000001 00000010 00000011 00000100 00000110 00001100 00011000 00001000 00110000 00010000 00100000 00111111 Keadaan LED L1 0 1 0 1 0 0 0 0 0 0 0 0 1 L2 0 0 1 1 0 1 0 0 0 0 0 0 1 L3 0 0 0 0 1 1 1 0 0 0 0 0 1 L4 0 0 0 0 0 0 1 1 1 0 0 0 1 L5 0 0 0 0 0 0 0 1 0 1 1 0 1 L6 0 0 0 0 0 0 0 0 0 1 0 1 1 77 .5 dan untuk input sensor dihubungkan ke PORTA.1.1.

4=0. if (s4) PORTB.2. maka LED 0 menyala else PORTB.1=1. maka LED 3 menyala else PORTB. / jika sensor s4=1.5=0. maka LED 5 menyala else PORTB.2=0. / jika sensor s0=1.5=1. dimana harga PWM yaitu 0 . / jika sensor =1.Untuk pengujian ini menggunakan program Code Vision AVR yang listing programnya sebagai berikut: if (s5) PORTB. Pada pengujian sistem output ini terbagi atas dua tahap.1=0. Dimana sistem output robot yaitu SPC DC motor dan motor DC sebagai dasar pergerakan robot setelah menerima sinyal dari mikrokontroler. / jika sensor s5=1.1.0=0. / jika sensor s3=1. maka semua LED menyala else PORTB=1. if (s2) PORTB. / jika sensor s2=1. Pengujian Sensor 4.3=1. if (s0) PORTB. 78 . if (s3) PORTB. maka LED 2 menyala else PORTB. if (s1) PORTB. maka LED 1 menyala else PORTB.3=0. Pengujian Sistem Output Pengujian sistem output merupakan bagian yang terpenting pada pembuatan robot line follower ini. maka LED 4menyala else PORTB. Berikut ini merupakan tabel hasil percobaan gerak motor.2=1. / jika sensor s1=1. Listing Program 4.0=1.4=1.255. if(sensor) PORTB=0. tahap yang pertama yaitu menguji gerak maju dan mundur motor DC menggunakan PWM.

3=0 PORTC.3=1 PORTC.3= 0 atau 1 PORTC.1 = 0 PORTC.3=0 PORTC. if(x>=lpwm)PORTC.1 = 0 PORTC. else PORTC. Listing Program 4.3=1 PORTC. Pengujian Gerak Motor DC dengan PWM No 1 2 3 4 5 6 7 8 9 10 11 PORTC PORTC.1 = 1 PORTC.0=1.0=0.3=0 PORTC. else PORTC.2=1.1 = 0 PORTC. if(x>=rpwm)PORTC. Menjalankan Motor DC Dengan PWM 79 .3=0 PORTC.1 = 1 PORTC.3=1 PORTC.Tabel 4.1 = 0 PORTC.1 = 1 PORTC.3=1 PWM Motor DC 1 0 0 255 255 0 255 255 0 255 255 255 PWM Motor DC 2 0 255 0 255 255 0 255 255 0 255 255 Keadaan Motor DC Motor DC 1 Diam Diam Maju Cepat Maju Cepat Diam Mundur Cepat Mundur Cepat Diam Maju Cepat Maju Cepat Mundur cepat Motor DC 2 Diam Maju Cepat Diam Maju Cepat Maju Cepat Diam Maju Cepat Mundur Cepat Diam Mundur Cepat Mundur cepat Listing Program untuk menjalankan motor dengan PWM adalah sebagai berikut: x++.1 = 1 PORTC.1 = 0 PORTC.2.2.3=0 PORTC.3=0 PORTC.1 = 0 atau 1 PORTC.2=0.1 = 0 PORTC.

rpwm=0.3./motor 1 mundur cepat dan motor 2 diam PORTC.1=0.2=1.lpwm=0.PORTC.PORTC.lpwm=0.PORTC.2=0.lpwm=255.28.rpwm=0.Sedangkan listing program dalam pengujian gerak motor DC yaitu: 1) PORTC./motor 1 maju cepat dan motor 2 mundur cepat 11) PORTC.2=0.0=0. / ke 2 motor diam PORTC.PORTC.0=1.rpwm=0.2=0. / motor 1 mundur cepat dan motor 2 mudur cepat Listing Program 4.2=1.lpwm=0.0=1.lpwm=255. Gerak Motor DC Dengan PWM Untuk pengujian yang kedua yaitu menyesuaikan pergerakan robot sesuai keadaan sensor dalam membaca garis lintasan.rpwm=255.PORTC.rpwm=255.rpwm=0./motor 1 maju cepat dan motor 2 diam 10) PORTC.lpwm=0. Dimana robot akan memberikan respon yang berbeda sesuai dengan besar PWM sehingga memberikan kecepatan yang berbeda pada kedua motor DC robot./motor 1 maju cepat dan motor 2 maju cepat PORTC.PORTC.lpwm=255.2=1.PORTC./ ke 2 motor diam 2) 3) 4) 5) 6) 7) 8) 9) PORTC.0=1./motor 1 diam dan motor 2 maju cepat PORTC. maka didapat hasil pengujian sebagai berikut: 80 . PORTC.0=0.rpwm=255.2=0.0=1.rpwm=0.lpwm=255.PORTC.lpwm=0.0=1.lpwm=255.0=0.lpwm=255.rpwm=255.lpwm=255.2=1.0=0.PORTC.2=0.rpwm=255./motor 1 diam dan motor 2 maju cepat PORTC.0=0.2=0.2=0./motor 1 mundur cepat dan motor 2 maju cepat PORTC.PORTC.rpwm=255./motor 1 maju cepat dan motor 2 diam PORTC.2=1.rpwm=255./motor 1 diam dan motor 2 mundur cepat PORTC.PORTC.0=0. Setelah merangkai hardware robot seperti pada gambar 3.

Tabel 4.5 7.4 7.8 1 2.5 7. Pengujian Motor DC dengan PWM tegangan roda kanan (V) 7.2 7 5 2.8 0 gerak motor DC 1 (Roda kanan) maju cepat maju cepat maju cepat maju cepat maju cepat maju cepat maju pelan maju pelan diam maju pelan Diam gerak motor DC 2 (Roda kiri) diam maju pelan diam maju pelan maju pelan maju cepat maju cepat maju cepat maju cepat maju cepat maju cepat Keadaan Sensor PWM kanan (Rpwm) PWM kiri (Lpwm) Tegangan roda kiri (V) Respon Robot Mobil 1 2 3 4 5 6 7 8 9 11 12 255 255 255 255 255 255 150 200 50 50 255 0 50 50 200 150 255 255 255 255 255 0 0 0.4 7.5 belok kiri cepat belok kiri sedang belok kiri sedang belok Kanan pelan belok Kanan pelan maju lurus belok Kanan pelan belok Kanan pelan belok kanan sedang belok kanan sedang belok kanan cepat 81 .5 7.3.5 7.4 1 0.2 7.4 5 7 7.5 7.

//belok kiri pelan a1=0. a2=0. //belok kanan sedang a1=0. lpwm=255. if (ski && ska==1) // 001100 {rpwm=255. Pengujian Motor DC 82 . xx=1. } if (ski==0) { rpwm=200. lpwm=50. a2=0. a2=0. lpwm=200. lpwm=0. } // 000100 if (skax ==0) {while (!ska==1){ rpwm=255. lpwm=150. } } //000001 //belok kanan cepat if (skix && ski==0) // 000110 {while (!ski==1){ rpwm=150. a1=0. xx=0. a1=0. lpwm=255. a2=0. } } if (!skaxx==0) {while (skax==1){ rpwm=0. a2=0. xx=1. xx=0. a2=0. lpwm=50. } } if (skix==0) {while (!ski==1){ rpwm=50. } } //belok kiri pelan if (!skixx==0) {while (skax==1){ rpwm=255. xx=0. } } //100000 if (ska && skax ==0) //011000 {while (!ska ==1){ rpwm=255.4. a1=0. } } // 000010 //belok kanan sedang if (skaxx && skax==0) //110000 {while (!ska==1){ rpwm=255. a2=0. } if (ska==0) { rpwm=255. xx=1. lpwm=255. a1=0. xx=1. lpwm=255. a2=0. a2=0. lpwm=255. a2=0. xx=0. a2=0. //belok kanan pelan a1=0. xx=0. lpwm=255. // maju lurus a1=0.Berikut ini listing program pengujian motor DC dengan PWM dengan input sensor proximity photodioda. xx=1. a1=0. a1=0. } } //010000 //belok kiri sedang //belok kanan pelan //001000 if (skixx && skix==0) //000011 {while (!ski==1){ rpwm=50. } } //belok kanan cepat Listing Program 4. // belok kiri sedang a1=0.

Lintasan Titik A ke Titik B No 1 2 3 4 5 6 7 8 Rute/lintasan 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 Jarak (cm) 30 90 150 240 240 240 150 240 Keterangan Rute terpendek Rute terpanjang Rute terpanjang Rute terpanjang Rute terpanjang 83 . G. E.1. D.Titik A ke Titik B Berdasarkan proses pencarian rute terpendek dengan pohon pencarian sebagai representasi keadaan.3. D. F. E. 4. Robot semut berjalan dari titik asal dengan mencari rute atau lintasan terdekat menuju titik tujuan dengan menggunakan metode Depth – First Search. dengan posisi awal robot untuk setiap titik yaitu menghadap kanan.1.3.1. Pencarian Rute Terpendek Untuk Titik A Untuk titik A pada pencarian rute terpendek ini dengan delapan daerah titik tujuan yaitu titik B. 4.4. C. Sedangkan untuk mempresentasikan keadaan menggunakan pohon pencarian dalam mencari rute atau lintasan dari suatu titik asal menuju titik tujuannya.4. H dan I. G.3. maka didapatkan rute-rute sebagai berikut: Tabel 4. F. H dan I. 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. 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.

A

B

F

E

G

B

D

H

H

C

I

G

I

E

I

B

D

F

D

B

D

C

I

I

C

C

E

B

B

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
84

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.
void AB() { ab1=30; //jarak ab1" lurus(); // jalan lurus lpwm=0;rpwm=0; scan_count(1); //titik b lpwm=0;rpwm=0; stop(); // stop }

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 1 2 3 4 5 6 7 8 9 10 11 12 Rute/lintasan 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 Jarak (cm) 60 180 240 180 120 120 180 240 180 180 120 240 Keterangan Rute terpendek Rute terpanjang

Rute terpanjang

Rute terpanjang

85

A

F

B

G

E

C

E

H

H

B

D

F

D

H

I

E

G

I

A

C

I

C

A

G

C

I

G

I

D

B

D

C

D

H

D

C

E

A

C

I

C

E

C

E

I

E

C

F

H

B

D

C

E

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
86

Lintasan Titik A Ke Titik D No 1 2 3 4 5 6 7 8. maka didapatkan rute-rute sebagai berikut: Tabel 4. lurus(). lpwm=0.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. Titik A ke Titik D Berdasarkan proses pencarian rute terpendek dengan pohon pencarian sebagai representasi keadaan. scan_count(1). lurus().rpwm=0. Rute/lintasan 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 Jarak (cm) 90 90 90 150 150 150 210 150 Keterangan Rute terpendek Rute terpendek Rute terpendek Rute terpanjang 87 . stop().rpwm=0. lpwm=0. scan_count(1). void ABC() { ac2=60. Berikut ini listening program rute A-B-C.6.3. Rute A-B-C 4.6.1. lpwm=0.3.rpwm=0.rpwm=0. } //jarak ABC // titik a //titik b // jalan lurus //titik c //stop Listening Program 4. lpwm=0.

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. Strategi Penentuan Rute Terpandek Titik A Ke Titik D 88 . berikut ini dapat digambarkan robot bergerak dari titik A ke titik D dengan rute terpendek.Gambar 4. Pohon Pencarian Rute Terpendek Titik A Ke Titik D Dari tabel dan gambar diatas karena memiliki lebih dari satu solusi untuk menentukan lintasan terpendek.6 . Gambar 4.7 .

lurus(). //titik a lpwm=0.rpwm=0.7. stop(). void ABCD() { ad1=90.rpwm=0. Lintasan Titik A Ke Titik E No 1 2 3 4 5 6 7 8.4.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. // jalan lurus lpwm=0. //titik b lpwm=0.7. //belok kanan lpwm=0. Berikut ini listening program rute A-B-C-D. maka didapatkan rute-rute sebagai berikut: Tabel 4.rpwm=0.rpwm=0. scan_count(1). bergerak lurus lagi menuju titik C dan belok kanan menuju titik D. scan_count(1).1. kanan(). scan_count(1). //jarak ABCD" lurus(). Rute A-B-C-D 4.3. //titik b lpwm=0.rpwm=0. Rute/lintasan 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 Jarak (cm) 60 60 120 180 240 120 180 240 89 Keterangan Rute terpendek Rute terpendek Rute terpanjang Rute terpanjang . } //stop Listing Program 4. //titik c lpwm=0.rpwm=0. Titik A ke Titik E Berdasarkan proses pencarian rute terpendek dengan pohon pencarian sebagai representasi keadaan.

A F B B E E C H D I E E I H D C E E G B F A E E A Gambar 4. 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.9.8 . Gambar 4. Strategi Penentuan Rute Terpandek Titik A Ke Titik E 90 . 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. berikut ini dapat digambarkan robot bergerak dari titik A ke titik E dengan rute terpendek.

maka didapatkan rute-rute sebagai berikut: Tabel 4. //jarak AFE" kanan().3. lpwm=0. } //titik a //titik f // belok kiri //titik e //stop Listening Program 4.rpwm=0.8.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. Rute A-F-E 4. Berikut ini listening program rute A-F-E.rpwm=0.1. void AFE() { ae1=60.rpwm=0. lpwm=0. stop(). lpwm=0. Titik A ke Titik F Berdasarkan proses pencarian rute terpendek dengan pohon pencarian sebagai representasi keadaan.5. Lintasan Titik A Ke Titik F No 1 2 3 4 5 6 7 8. kiri(). Rute/lintasan 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 Jarak (cm) 30 90 150 150 210 210 210 Keterangan Rute terpendek Rute terpanjang Rute terpanjang Rute terpanjang Rute terpanjang 91 .8. lpwm=0.rpwm=0. scan_count(1). scan_count(1).

11. berikut ini dapat digambarkan robot bergerak dari titik A ke titik F dengan rute terpendek. Gambar 4.10. Strategi Penentuan Rute Terpandek Titik A Ke Titik F 92 .Gambar 4. 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.

9.rpwm=0. stop(). } Listening Program 4.rpwm=0.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. Rute A-F 4. //jarak AFE" kanan(). scan_count(1).9. Rute/lintasan 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 Jarak (cm) 60 120 160 120 240 160 160 120 160 240 160 93 Keterangan Rute terpendek Rute terpanjang Rute terpanjang . //titik f lpwm=0.1. Titik A ke Titik G Berdasarkan proses pencarian rute terpendek dengan pohon pencarian sebagai representasi keadaan. Berikut ini listening program rute A-F. 10 11. Lintasan Titik A ke Titik G No 1 2 3 4 5 6 7 8.6. void AF() { af1=30.3. //titik a lpwm=0. maka didapatkan rute-rute sebagai berikut: Tabel 4.9.

Gambar 4. 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.Gambar 4. Strategi Penentuan Rute Terpandek Titik A Ke Titik G 94 . berikut ini dapat digambarkan robot bergerak dari titik A ke titik G dengan rute terpendek.13.12.

lurus().rpwm=0. void AFG() { ag1=60. scan_count(1). Rute A-F-G 4. maka didapatkan rute-rute sebagai berikut: Tabel 4. //titik a //titik f lpwm=0. Titik A ke Titik H Berdasarkan proses pencarian rute terpendek dengan pohon pencarian sebagai representasi keadaan. scan_count(1). stop(). 10 Rute/lintasan 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 Jarak (cm) 90 90 150 90 150 210 150 210 150 150 Keterangan Rute terpendek Rute terpendek Rute terpendek Rute terpanjang Rute terpanjang 95 . //titik g lpwm=0.10.10.rpwm=0.rpwm=0.3.1.7.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. 9. Lintasan Titik A Ke Titik H No 1 2 3 4 5 6 7 8. Berikut ini listening program rute A-F-G. //jarak AFE" kanan(). lpwm=0. } Listening Program 4.

Gambar 4. berikut ini dapat digambarkan robot bergerak dari titik A ke titik H dengan rute terpendek. 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.14. 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.15 . Strategi Penentuan Rute Terpandek Titik A Ke Titik H 96 . Gambar 4.

lurus menuju titik G dan belok kiri menuju titik H. Rute/lintasan 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 Jarak (cm) 120 120 120 160 160 160 120 120 160 97 Keterangan Rute terpendek Rute terpendek Rute terpendek Rute terpendek Rute terpendek .3. Lintasan Titik A ke Titik I No 1 2 3 4 5 6 7 8. lpwm=0.rpwm=0.8. //titik a //titik f //titik g lpwm=0. scan_count(1). Titik A ke Titik I Berdasarkan proses pencarian rute terpendek dengan pohon pencarian sebagai representasi keadaan. Berikut ini listening program rute A-F-G-H. //jarak AFGH" kanan().rpwm=0. void AFGH() { ah1=90.11. lurus(). scan_count(1). scan_count(1). kiri(). Rute A-F-G-H 4.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.rpwm=0. } Listening Program 4.11. lpwm=0.1. lpwm=0.rpwm=0. //titik h lpwm=0. stop(). 9. maka didapatkan rute-rute sebagai berikut: Tabel 4.rpwm=0.

12.16. berikut ini dapat digambarkan robot bergerak dari titik A ke titik I dengan rute terpendek.10. 11. 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. 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 A F B G E E C H H B D F H D D I E G I A C C I G E I C I E I F B D D H B H F C C I E I E I G I A G D H E I E I Gambar 4. 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. 98 .

Gambar 4. Rute A-F-G-H-I 99 .17 .rpwm=0. lpwm=0.rpwm=0.12. kiri().rpwm=0. lpwm=0. lpwm=0. stop(). scan_count(1). Berikut ini listening program rute AF-G-H-I. lurus(). //titik g //titik i lpwm=0. belok kiri ke titik H dan lurus menuju titik I.rpwm=0. 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. scan_count(1).rpwm=0. scan_count(1). //jarak AFGHI" kanan().rpwm=0. lpwm=0. void AFGHI() { ai1=120.rpwm=0. lurus ke titik G. //titik a //titik f scan_count(1). lpwm=0. //titik i lpwm=0. } Listening Program 4. lurus().

8. 4. G. dapat dilihat pada tabel berikut. G. Lintasan Terpendek Untuk Titik B No 1.3. F. 3. 2. 6. 5. 3. B-E. Lintasan Terpendek Untuk Titik C No 1.3. E. H dan I. B-E-H-G. B-E-F.13. B. dapat dilihat pada tabel berikut. F. Titik asal ke titik tujuan 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 Rute/lintasan terpendek C-B-A C-B C-D C-D-E C-D-E-F 100 Jarak (cm) 60 30 30 60 90 . D. D. E. H dan I. Tabel 4.3. B-C-D.2. Tabel 4. Titik asal ke titik tujuan 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 Rute/lintasan terpendek B-A B-C B-C-D B-E B-E-F B-E-H-G B-E-H B-E-H-I Jarak (cm) 30 30 60 30 60 90 60 90 Maka ditemukan lintasan terpendek pada titik B ke masing-masing titik lainnya yaitu B-A. 4. 2. Pencarian Rute Terpendek Untuk Titik C Untuk titik C pada pencarian rute terpendek ini dengan delapan daerah titik tujuan yaitu titik A. B-E-H dan B-E-H-I. Pencarian Rute Terpendek Untuk Titik B Untuk titik B pada pencarian rute terpendek ini dengan delapan daerah titik tujuan yaitu titik A. 4. 7. 5.12.4. B-A. C.

Pencarian Rute Terpendek Untuk Titik D Untuk titik D pada pencarian rute terpendek ini dengan delapan daerah titik tujuan yaitu titik A. C. D-E. C-D-E. dapat dilihat pada tabel berikut. 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. F. 3. 7. C-D-I-H dan C-D-I 4. D-I-H dan D-I 101 . D-E-F-G. Tabel 4. C-D-E-F.4. 8. G. B. D-C-B. D-C.14. 4. 7.3. C-B-A-F-G. 8. 5. E.C-D. Lintasan Terpendek Untuk Titik D No 1.6. C-B. 2. Titik asal ke titik tujuan 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 Rute/lintasan terpendek D-C-B-A D-C-B D-C D-E D-E-F D-E-F-G D-I-H D-I Jarak (cm) 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-E-F. H dan I. 6.

E-H dan E-H-I. H dan I.6. D. E-F. E-B-C. 2.3.12. D. Lintasan Terpendek Untuk Titik F No 1. C. Lintasan Terpendek Untuk Titik E No 1. Titik asal ke titik tujuan Titik F ke titik A Titik F ke titik B Titik F ke titik C Titik F ke titik D Rute/lintasan terpendek F-A F-E-B F-E-D-C F-E-D 102 Jarak (cm) 30 60 90 60 .5. Pencarian Rute Terpendek Untuk Titik F Untuk titik F pada pencarian rute terpendek ini dengan delapan daerah titik tujuan yaitu titik A. G. G. F. 7. B. 3.16. H dan I. 6. 5. Pencarian Rute Terpendek Untuk Titik E Untuk titik E pada pencarian rute terpendek ini dengan delapan daerah titik tujuan yaitu titik A. 3. dapat dilihat pada tabel berikut. 2. 4. E-F-G.3. E-D. 4. E. 4.4. B. Tabel 4. 8. Titik asal ke titik tujuan 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 Rute/lintasan terpendek E-B-A E-B E-B-C E-D E-F E-F-G E-H E-H-I Jarak (cm) 60 30 60 30 30 60 30 60 Maka ditemukan lintasan terpendek pada titik E ke masing-masing titik lainnya yaitu E-B-A. C. E-B. dapat dilihat pada tabel berikut. Tabel 4.

G-H-E-B. 7. F. B. Tabel 4. 8. 5. dapat dilihat pada tabel berikut. C. G-H-E. Lintasan Terpendek Untuk Titik G No 1. 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. G-H dan G-H-I. G-H-I-D-C. H dan I. F-E-D. 4. E. 6.3. F-E. 6. F-E-D-C.17. G-F. 3. 8. F-E-B. 103 . F-G. Pencarian Rute Terpendek Untuk Titik G Untuk titik G pada pencarian rute terpendek ini dengan delapan daerah titik tujuan yaitu titik A. G-H-I-D. F-G-H dan F-E-D-I. 7.5. Titik asal ke titik tujuan 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 Rute/lintasan terpendek 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 Jarak (cm) 60 90 120 90 60 30 30 60 Maka ditemukan lintasan terpendek pada titik G ke masing-masing titik lainnya yaitu G-F-A. 4.7. D. 2.

3. Pencarian Rute Terpendek Untuk Titik I Untuk titik I pada pencarian rute terpendek ini dengan delapan daerah titik tujuan yaitu titik A. F. 7. C.18. H-E-F. 4. F. Tabel 4. H-I-D. Lintasan Terpendek Untuk Titik H No 1. H-E-B. B. H-E. H-G dan H-I. 104 . D. H-I-D-C. dapat dilihat pada tabel berikut. B. D.8. 6. C. G dan I.3. dapat dilihat pada tabel berikut.4. 5. E.9.3. 8. Pencarian Rute Terpendek Untuk Titik H Untuk titik H pada pencarian rute terpendek ini dengan delapan daerah titik tujuan yaitu titik A. E. 4. G dan H. Titik asal ke titik tujuan 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 Rute/lintasan terpendek H-E-B-A H-E-B H-I-D-C H-I-D H-E H-E-F H-G H-I Jarak (cm) 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. 2.

19. Titik asal ke titik tujuan 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 Rute/lintasan terpendek 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 Jarak (cm) 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. Dari pengujian sensor proximity photodioda maka didapatkan yaitu: 1. I-D-C-B. sistem output robot cerdas semut dan strategi robot cerdas semut. Pembahasan Pembahasan dilakukan pada sistem input robot cerdas semut. Pada posisi sensor =2 maka hanya led L2 menyala 4. Pada posisi sensor =1 maka hanya led L1 menyala 3.4. Ketika sensor mengenai garis maka led yang menunjukan sensor proximity photodioda aktif pun menyala. 6. I-D-C. 2. Pada posisi sensor =5 maka hanya led L2 dan L3 menyala 105 . I-D. 3. Pada posisi sensor =3 maka hanya led L1 dan L2 menyala 5. I-H-G dan I-H. I-D-E-F.4. Pembahasan Sistem Input Pada tabel. 5. Pada posisi sensor = 0 maka semua led mati 2.1. Pada posisi sensor =4 maka hanya led L3 menyala 6.4. 4. sedangkan pada LED yang bernilai 1 di asumsikan LED dalam keadaan menyala. 7. Lintasan Terpendek Untuk Titik I No 1.Tabel 4. I-D-E. 8.1 pembacaan sensor diasumsikan nilai 1 merupakan keadaan sensor mengenai garis. 4. 4.

Pada posisi sensor =8 maka hanya led L4 menyala 10. sebaliknya jika PORTC.3 = 0 maka motor akan berputar maju.7. Berikut ini grafik pengujian motor DC dengan PWM berdasarkan posisi sensor terhadap tegangan. Pada posisi sensor =6 maka hanya led L3 dan L4 menyala 8.4.2. sebaliknya ketika diberikan PWM=0 maka motor akan diam. 8 7 6 5 Tegangan (V) 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 Posisi Sensor M otor Kanan M otor Kiri Gambar 4. Pembahasan Sistem Output Pada tabel 4. Pada posisi sensor =11maka hanya led L6 menyala 13. Pada posisi sensor =10 maka hanya led L5 menyala 12. Grafik Pengujian Motor DC dengan PWM 106 . Pada posisi sensor =7 maka hanya led L4 dan L5menyala 9. Untuk penentuan PWM ketika diberikan PWM=255 maka motor akan berputar cepat.1 dan PORTC.3 = 1 maka putaran motor akan berputar mundur.2 pengujian gerak motor DC menunjukan bahwa jika PORTC. Pada posisi sensor =12 maka semua led menyala 4. Pada posisi sensor =9 maka hanya led L5 dan L6 menyala 11.18.1 dan PORTC.

Pada pengujian motor DC dengan PWM menunjukan bahwa dengan kecepatan putaran motor maksimal yaitu 255 PWM setara dengan tegangan 7.5 volt dan motor kanan diam = 0 volt.5 Volt.3.4. Posisi sensor = 6 (001100) adalah posisi ideal roda kiri dan kanan bergerak maju cepat dengan tegangan yang sama yaitu 7 volt. Dengan jumlah bit =256 dan tegangan maksimal = 7. Informasi Metode Pencarian Untuk Titik A Kriteria Titik Asal Ke Titik Tujuan 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 b 2 2 2 2 2 2 2 2 m 8 9 8 9 8 9 8 9 Completeness Time complexity Space complexity Completed Completed Completed Completed Completed Completed Completed Completed 256 512 256 512 256 512 256 512 16 18 16 18 16 18 16 18 107 . Sebaliknya jika posisi sensor = 11 (100000) maka maka motor kiri berputar maju cepat dengan tegangan = 7.5 volt dan motor kiri diam = 0 volt. sedangkan untuk putaran motor minimal yaitu 0 PWM setara dengan tegangan 0 Volt. Semakin besar nilai PWM maka makin tegangan yang dihasilkan untuk memutar motor DC.20.5 Volt. 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. Untuk posisi sensor = 1 (000001) maka motor kanan berputar maju cepat dengan tegangan = 7. Tabel 4. 4.

Jika satu simpul dipresentasikan dalam struktur data sebesar 2^2 byte = 4 byte.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. 108 . maka DepthFirst Search harus membangkitkan dan menyimpan sebanyak 2^8 = 256 simpul. maka diperlukan memory sebesar 2^10 byte ( atau 1024 byte). D. maka waktu proses yang diperlukan untuk menemukan solusi di level 8 adalah 2^8 – 2^1 = 2^7 atau sama dengan 128 detik. Disebabkan tingkat level kedalaman maksimum pohon pencarian pada titik-titik tujuan tersebut lebih pendek dari titik-titik tujuan lainnnya. F dan H memiliki Time complexity lebih singkat dari titik tujuan lainnnya dan memiliki Space complexity lebih kecil dari titik tujuan lainnnya. Untuk titik tujuan B. Jika diasumsikan bahwa dalam 1 detik komputer bisa membangkitkan dan menguji 2^1 simpul. disebabkan dalam pencarian ini tidak terdapat level yang sangat dalam maka pada pencarian ini mendapatkan solusi. Untuk b=2 dan m=8.

BAB V PENUTUP 5. e. Untuk titik A ke G didapatkan lintasan terpendek A-F-G dengan jarak 60 cm. Berdasarkan pengujian strategi diambil sample pada titik A maka di dapatkan : a. Kepekaan sensor dan pengaruh cahaya dari luar sangat mempengaruhi gerak robot dalam membaca garis putih pada lintasan. b.1. Untuk titik A ke D didapatkan lintasan terpendek A-B-C-D dengan jarak 90 cm d. Kesimpulan Berdasarkan penelitian dan pembahasan dalam perancangan robot cerdas semut untuk menentukan lintasan terpendek. g. 2.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. c. 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. 109 . 4. Penguatan putaran motor maksimal yaitu 225 PWM = 7. f. Untuk titik A ke F didapatkan lintasan terpendek A-F dengan jarak 30 cm. maka dapat disimpulkan beberap hal terkait dengan pelaksanaan dan hasil dari penelitian yaitu: 1. 3. Untuk titik A ke H didapatkan lintasan terpendek A-F-G-H dengan jarak 90 cm. Untuk titik A ke E didapatkan lintasan terpendek A-F-E dengan jarak 60 cm. Untuk titik A ke C didapatkan lintasan terpendek A-B-C dengan jarak 60 cm. Untuk titik A ke B didapatkan lintasan terpendek A-B dengan jarak 30 cm.

5. 4. 6. 3. Untuk titik A ke I didapatkan lintasan terpendek A-F-G-H-I dengan jarak 120 cm.h. Robot cerdas semut dapat dikembangkan untuk lintasan-lintasan dengan sudut kemiringan berbeda. Algoritma robot ini dapat dikembangkan menjadi lebih cerdas. Untuk peningkatan kecepatan eksekusi dan meminimalisasi kapasitas memori pemograman sebaiknya menggunakan metode larik (array) pada pemograman robot cerdas semut. Robot cerdas semut ini dapat dikembangkan lagi dengan melewati lintasan dengan penghalang dengan menambahkan sensor infra merah atau ultra sonic. 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. Sebaiknya sensor proximity photodioda dibungkus untuk kepekaan dan sensitifitas sensor.2. Saran 1. 2. 110 . dengan menambahkan perintah kembali ke posisi semula setelah melaksanakan tugas.

Erlangga.htm. Robotika : Desain.2007. Sarifuddin . Yogyakarta. Robotika. webdosen. 104 . Katsuhiko. 24 November 2009.Surabaya. Teknik Kontrol Automatik (Sistem Pengaturan). Agustus 2007.ANDI. http://www. Yahya. 2000.DAFTAR PUSTAKA Ulum. Rancang Bangun Robot Mobil Beroda Tiga Menggunakan Pengendali PID. Menjelajah Dunia Semut. S. Bahrul.bl.imagesco.com/2007/06/04/algoritma-semut. Graha Ilmu.blogspot. http://www. www. 24 November 2009. Harun.com/servo/motors/HS-311. http://ienx. Algoitma Semut. dan Kecerdasan Buatan. Bab I Pendahuluan.com/2009/01/mengaktifkan-motor-servodengan-bascom. Manado.atmel. 1995. Motor Servo. & Aktuator. Riyanto.html.html . Sigit.Workshop sensor dan aktuator.harunyahya.PDF. Workshop Robotika 2007 Politeknik Elektronika negeri Surawaya-ITS. Endra. 22 Januari 2009. Putu. Jakarta.Yogyakarta.wordpress. Kontrol. 8-bit Microcontroller with 16K Bytes In-System Programmable Flash. 2007. Siswanto. Ogata.com/indo/buku/semut01. Wijaya.pdf. 2007. Sigit.com/dyn/resources/prod_documents/doc2466. Pitowarno.ac.http://elektrougm. Skripsi Program S1 Teknik Elektro Universitas Sam Ratulangi. Riyanto.T.id/dosen/930011/Kuliah/buku_AI. Sensor. 2006. HS-311 Servo Motor.

http://www.pdf. 2007. Workshop Robotika 2007 Politeknik Elektronika negeri Surawaya-ITS.riskydigital.php?file=13560578&desc =Manual+SPC+DC+Motor+.org/wiki/Roda_gila. http://id. Membuat Robot Tidak Susah. http://www. Manual SPC DC.Setiawardhana.com/download_file_i.innovativeelectronics./manual/Manual%20DTAVR%20Low%20Cost%20Micro%20System. Dt-avr Low Cost Micro System.com/index2.Surabaya.. http://pdfdatabase.2007.hendawan.com. 17 Oktober 2009.com/. Motor. Hendawan. 24 Maret 2007 105 . 15 Mei 2008. 2007 Soebhakti.php?option=com_content &do_pdf=1&id=442. Manual Dt-Avr – Micro.wordpress.. www.wikipedia. Sensor Proximity.pdf. Roda gila.

af3.com Project : Version : Date : 10/6/2009 Author : Company : Comments: Chip type : ATmega16 Program type : Application Clock frequency : 4.ab4.ac3.ag11.ac11.ag4.4 #define skaxx PINA.ai4.3 #include <delay. ah1.af6.ah4.ag8. ag1.ah2. #include <mega16.ac7.0=0.af7.2=0.ac5.ad3.ah8.af8.5 #define m1 PORTC.ad7.ac6.ag3. ab1.ag9.ad8.af2.ag7.03.ai11.2=1.ai2.3 #define skax PINA.000000 MHz Memory model : Small External RAM size : 0 Data Stack size : 256 *****************************************************/ #define sensor PINA #define skixx PINA.ah7.2 #define ska PINA.ac9.rpwm. 113 .4 Standard Automatic Program Generator © Copyright 1998-2008 Pavel Haiduc.ae4.h> bit xx.ai10.ad6. unsigned char x.ai5. ae1. else PORTC.ae8.ag5.ae2.ac2.ae3. else PORTC.ai3.ad5.ab7.ab3. ac1. ad1.ab2.r.1 #define a2 PORTC.ai8.2 #define a1 PORTC.0 #define skix PINA.hpinfotech.0=1.ai12.af5.ab8.ah5.0 #define m2 PORTC. ai1.ae7.ai6.ag2.ae6. if(x>=rpwm)PORTC.ad4. if(x>=lpwm)PORTC.ac8. HP InfoTech s.ah6.lpwm.ac4.l.ai7.LAMPIRAN 1 Listening Program Robot Cerdas Semut Titik A Ke Titik B /***************************************************** This program was produced by the CodeWizardAVR V2.ab6.1 #define ski PINA. TCNT0=0xFF. af1.ab5.ae5.ah9.ad2.ag6.ac12.ac10.ah3.af4.ag10. http://www.ah10.h> // Timer 0 overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) { // Place your code here x++.ai9.

// Robot dimajukan sedikit m1=0. rpwm=255. // Motor kanan maju for(i=0. // Robot berhenti } void stop() { unsigned int i. a1=0. for(i=0. lpwm=255. a2=0.i<1000. for(i=0.i<=1000.a2=1. // Motor kanan maju m2=0. // Motor kiri mundur for(i=0. lpwm=255.i<=1000.i<1000. lpwm=0. // Robot berhenti lpwm=255. rpwm=0.i++) while (!skixx||!skix) {}.i++) while ( skixx|| skix) {}. // Motor kanan maju m2=0.i++) while (!skixx||!skix) {}. rpwm=0. // Robot dimajukan sedikit m1=0. rpwm=255.} void kiri() { unsigned int i. // Kecepatan pelan delay_ms(200). // Motor kiri diam for(i=0.i++) while (!skixx||!skix) {}. // Kecepatan pelan delay_ms(200).i++) while((skixx && skix && ski && ska && skax && skaxx)==1).i<=1000. rpwm=255.i<=1000. // Motor kiri diam m2=0.a1=1. // Kecepatan pelan delay_ms(200).i++) while ( skixx||skix) {}. for(i=0. for(i=0. lpwm=0. rpwm=0.a2=1.a1=0. m1=1. lpwm=255. m2=1. lpwm=0.a1=0. // Motor kiri mundur for(i=0. lpwm=0. // Robot berhenti } void kanan() { unsigned int i. lpwm=0. for(i=0. 114 . // Robot berhenti } void putar() { unsigned int i. // Kecepatan pelan delay_ms(200).a2=1.i<=1000. rpwm=255.i++) while ( skixx||skix) {}.i<=1000. for(i=0. rpwm=0. // Robot dimajukan sedikit m1=0.i++) while ( skaxx || skax) {}. rpwm=0. rpwm=0.i++) while (!skaxx||!skax) {}. lpwm=0. // Robot dimajukan sedikit m1=0.i<=1000.i++) while((skixx && skix && ski && ska && skax && skaxx)!=1).i<=1000.a2=0. // Motor kanan maju m2=0.a1=0.

a1=0. a1=0. lpwm=100. m2=1. a1=0. } if (skix && ski==1) //000110 {rpwm=255. } if (ska && skax ==1) //011000 {rpwm=150. a1=0. lpwm=0. a1=0.} void diam() { rpwm=0. 115 . a2=0. a2=0. a2=0. a1=0. a2=0. a1=0. a2=0. lpwm=50. m1=1. } if (ski && ska==1) // 001100 {rpwm=255. lpwm=255. lpwm=255. } if (skixx && skix==1) //000011 {rpwm=255. } if (ski==1) // 000100 {rpwm=255. } void lurus() { if (skixx==1) //000001 {rpwm=255. lpwm=150. a1=0. } if (skix==1) //00010 {rpwm=255. a2=0. a2=0. lpwm=200. lpwm=0. a2=0. } if (ska==1) // 001000 {rpwm=200.

//jarak ab1" lurus().rpwm=0. lpwm=0. lpwm=255.rpwm=0.i<1000. //titik b lpwm=0. a1=0. //jarak ab2" kanan(). co++. stop().rpwm=0. } void AFEB() // jarak { ab2=90. kiri().rpwm=0. } if (skaxx==1) //100000 {rpwm=0. lpwm=0. } if (skax ==1) //010000 {rpwm=100.rpwm=0. a2=0. //titik b lpwm=0. 116 . //titik e lpwm=0.rpwm=0. } if (skaxx && skax==1) //110000 {rpwm=50.lpwm=255. kiri().i++) while((skixx && skix && ski && ska && skax && skaxx)==1)lurus(). } } void scan_count(unsigned char count) { unsigned int i. a1=0. scan_count(1). a2=0.rpwm=0. scan_count(1). a1=0.i++) while((skixx && skix && ski && ska && skax && skaxx)!=1) lurus().rpwm=0. a2=0. for(i=0. scan_count(1). lpwm=0. unsigned char co=0. } } void AB() //jarak { ab1=30.i<1000. //titik a lpwm=0. lpwm=255. scan_count(1). a1=0. lpwm=255. while(co<count) { for(i=0. //titik b lpwm=0. a2=0.

lpwm=0.rpwm=0. scan_count(1). //titik a lpwm=0.rpwm=0. //titik f lpwm=0. //titik d lpwm=0. scan_count(1). kiri().rpwm=0. lpwm=0. lpwm=0. } void AFEHIDCB() //jarak { ab4=210. lurus(). //titik b lpwm=0. kiri(). //titik f lpwm=0. lpwm=0.rpwm=0. //titik i lpwm=0. //jarak ab3" kanan().rpwm=0. kiri(). lpwm=0. scan_count(1). scan_count(1). scan_count(1).rpwm=0. lurus(). //titik a lpwm=0. lpwm=0. kiri().rpwm=0.rpwm=0.rpwm=0.rpwm=0. kiri(). } void AFEDCB() //jarak { ab3=150.rpwm=0.rpwm=0. //titik d lpwm=0. kanan(). lpwm=0.rpwm=0. //titik h lpwm=0. //titik e lpwm=0.rpwm=0.rpwm=0. scan_count(1).rpwm=0. lpwm=0. kiri(). scan_count(1). //titik e lpwm=0. scan_count(1).rpwm=0.rpwm=0.rpwm=0. stop(). 117 .rpwm=0. scan_count(1).rpwm=0.rpwm=0. //titik e lpwm=0. //jarak ab4" kanan().stop(). //titik c lpwm=0. scan_count(1). scan_count(1). lpwm=0.

lurus().rpwm=0.rpwm=0. scan_count(1). scan_count(1). lurus().rpwm=0. //jarak ab7" kanan(). //titik b lpwm=0. //titik a lpwm=0.rpwm=0.rpwm=0. //titik a lpwm=0.rpwm=0. lurus().rpwm=0. } void AFGHIDCB() //jarak { ab5=210. //titik f lpwm=0. lpwm=0. //titik d lpwm=0.rpwm=0. lpwm=0. stop(). scan_count(1). scan_count(1). //titik b lpwm=0. //titik h lpwm=0.rpwm=0. kiri(). lpwm=0.rpwm=0.rpwm=0. lpwm=0.rpwm=0. scan_count(1).rpwm=0. lurus().rpwm=0.rpwm=0.rpwm=0. //jarak ab6" kanan(). //titik i lpwm=0. lurus().rpwm=0. scan_count(1). stop(). lpwm=0. //titik g lpwm=0. lpwm=0.rpwm=0. } void AFGHIDEB() //jarak { ab6=210. scan_count(1). lpwm=0. lpwm=0.rpwm=0.kiri(). //titik g lpwm=0. lpwm=0. lpwm=0. kiri(). scan_count(1). kiri(). scan_count(1).rpwm=0. scan_count(1). scan_count(1).rpwm=0. //titik f lpwm=0.rpwm=0. //titik c lpwm=0. 118 . //titik h lpwm=0. kiri().rpwm=0.

kiri(). kiri(). scan_count(1). //titik f lpwm=0. lpwm=0.rpwm=0. //jarak ab8" kanan().rpwm=0. scan_count(1).rpwm=0. } void AFGHEDCB() //jarak { ab8=210. scan_count(1).rpwm=0.rpwm=0.rpwm=0. lpwm=0. //titik b lpwm=0.rpwm=0.rpwm=0.rpwm=0. 119 . stop(). scan_count(1).rpwm=0. lurus(). kiri(). stop(). lpwm=0. //titik h lpwm=0. lpwm=0. //titik e lpwm=0. scan_count(1).rpwm=0. lpwm=0.rpwm=0. //titik d lpwm=0. //titik i lpwm=0. //jarak ab9" kanan(). //titik b lpwm=0.rpwm=0. scan_count(1). //titik a lpwm=0. lpwm=0. scan_count(1).rpwm=0.rpwm=0. lpwm=0. //titik f lpwm=0. lurus(). kanan(). scan_count(1). kiri(). scan_count(1).rpwm=0. //titik a lpwm=0.rpwm=0. //titik g lpwm=0.scan_count(1).rpwm=0. //titik g lpwm=0.rpwm=0.rpwm=0.rpwm=0. lpwm=0. lpwm=0. lurus(). //titik h lpwm=0. scan_count(1).rpwm=0. kiri(). scan_count(1).rpwm=0. //titik e lpwm=0. } void AFGHEB() //jarak { ab7=150.

4 == 0) {pilihan_ae().6 == 0) {pilihan_ai().rpwm=0. kanan(). AFEDCB().} if (PINB. AFGHIDEB(). AFEHIDCB(). kiri().} if (PINB. //titik d lpwm=0. kiri().} } 120 . AFGHEDCB(). if (PINB. lpwm=0. lpwm=0.6 == 0) {pilihan_ag(). AFGHIDCB(). scan_count(1). AFGHEB(). //titik c lpwm=0. else AFEB(). stop(). lpwm=0. } void titik_a() {diam(). scan_count(1).rpwm=0.kiri().} if (PINB. } void pilihan_ab(){ if(ab1<=ab2||ab3||ab4||ab5||ab6||ab7||ab8) AB().rpwm=0.rpwm=0.rpwm=0. scan_count(1).1 == 0) {pilihan_ab(). //titik e lpwm=0.} if (PINB.rpwm=0.7 == 0) {pilihan_ah(). scan_count(1).rpwm=0.} if (PINB. lpwm=0.3 == 0) {pilihan_ad(). //titik b lpwm=0.2 == 0) {pilihan_ac().rpwm=0.} if (PINC.5 == 0) {pilihan_af().} if (PINB.

DDRB=0x00. // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 15. DDRA=0x00. // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. 121 . DDRD=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. // OC1B output: Discon. TCNT1H=0x00. // Port D initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00. // 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.625 kHz // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x04. OCR0=0x00.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. TCNT0=0x00. // 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.

SFIOR=0x00. OCR1BH=0x00.TCNT1L=0x00. // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x03. OCR1BL=0x00. // Global enable interrupts #asm("sei") while (1) { // Place your code here titik_a(). OCR2=0x00. MCUCSR=0x00. ICR1L=0x00. ICR1H=0x00. OCR1AH=0x00. // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00. TCNT2=0x00. OCR1AL=0x00. } 122 . }. // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80. TCCR2=0x00. // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00.

LAMPIRAN 2 Data Sheet ATMEGA16 123 .

124 .

LAMPIRAN 3 Data Sheet L293D 125 .

126

127

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.

128

Lahir di Manado pada tanggal 14 Maret 1988. selain itu aktif juga dalam organisasi ekstra HMI MANADO (Himpunan Mahasiswa Islam). Universitas Sam Ratulangi. penulis aktif dalam organisasi kemahasiswaan BT-FATEK UNSRAT (Badan Tadzkir Fakultas Teknik Unsrat). penulis memilih konsentrasi minat Teknik Kendali. melanjutkan ke sekolah dasar di SDN 54 Manado. Selama kuliah. Dengan alamat jalan camar 3 kelurahan Malendeng. penulis memutuskan untuk menulis Tugas Akhir mengenai robot line follower yaitu robot cerdas semut. Dua tahun kemudian. Jurusan Teknik Elektro. . yaitu tahun 2005.1 Manado (2002-2005).RIWAYAT HIDUP Penulis bernama lengkap Muhamad Dwisnanto Putro. Tahun 2005. Dalam bidang akademik penulis pernah mengikuti workshop kontes robot Indonesia yang diadakan di PENS (Politeknik Elektronika Negeri Surabaya) pada tahun 2007. anak kedua dari dua bersaudara. penulis melanjutkan studi di Fakultas Teknik. SLTP N. Dalam organisasi kemahasiswaan intra kampus universitas sam ratulangi pernah menjabat sekertaris komisi hubunngan masyarakat MPM UNSRAT (Majelis Permusyawaratan Mahasiswa) tahun 2008-2009. pernah menjabat sebagai coordinator sarana prasarana (2007-2008). Manado. selanjtutnya. Setelah menyelesaikan Kerja Praktek di PT BINA PLASPAC INDONESIA. penulis juga pernah menjabat sebagai koordinator umum praktikum dan laboratorium teknik kendali tahun 2008-2009. 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. 1 Manado (1999-2002) dan meyelesaikan sekolah tingkat atas di SMU N. kecamatan Tikala Manado Sulawesi Utara Sekolah pertama tempatnya belajar adalah TK Islamic centre.

5 Januari 2010 Yang membuat pernyataan.PERNYATAAN KEASLIAN TULISAN Saya yang bertanda tangan di bawah ini: Nama NIM Program Studi Jurusan : Muhamad Dwisnanto Putro : 050213037 : S1 : 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. Manado. Apabila di kemudian hari terbukti atau dapat dibuktikan skripsi ini hasil ciplakan. maka saya bersedia menerima sanksi atas perbuatan tersebut. Muhamad Dwisnanto Putro .

Sign up to vote on this title
UsefulNot useful