• Tidak ada hasil yang ditemukan

Penerapan Algoritma Bactracking Pada Perancangan Line Maze Solver Robotic Berbasis Mikrokontroler Atmega32

N/A
N/A
Protected

Academic year: 2016

Membagikan "Penerapan Algoritma Bactracking Pada Perancangan Line Maze Solver Robotic Berbasis Mikrokontroler Atmega32"

Copied!
65
0
0

Teks penuh

(1)

PENERAPAN ALGORITMA BACTRACKING PADA PERANCANGAN

LINE MAZE SOLVER ROBOTIC BERBASIS

MIKROKONTROLER ATMEGA32

SKRIPSI

HELMIWATI SEMBIRING

111421040

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

(2)

PENERAPAN ALGORITMA BACTRACKING PADA PERANCANGAN LINE MAZE SOLVER ROBOTIC BERBASIS

MIKROKONTROLER ATMEGA32

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

HELMIWATI SEMBIRING 111421040

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA MEDAN

(3)

PERSETUJUAN

Judul : PENERAPAN ALGORITMA BACKTRACKING PADA

PERANCANGAN LINE MAZE SOLVER ROBOTIC BERBASIS ATMEGA32

Kategori : SKRIPSI

Nama : HELMIWATI SEMBIRING

Nomor Induk Mahasiswa : 111421040

Program Studi : EKSTENSI S1 ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Drs. Dahlan Sitompul, M.Eng Dr.Poltak Sihombing, M.Kom NIP. 196707252005011002 NIP. 19620217 199103 1 001

Diketahui/disetujui oleh

Program Studi Ekstensi S1 Ilmu Komputer Ketua

(4)

PENERAPAN ALGORITMA BACTRACKING PADA PERANCANGAN LINE MAZE SOLVER ROBOTIC BERBASIS

MIKROKONTROLER ATMEGA32

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, April 2014

(5)

PENGHARGAAN

Segala puji dan syukur penulis panjatkan hanya kepada Tuhan YME, atas limpahan rahmat-Nya yang diberikan kepada penulis sehingga skripsi ini dapat diselesaikan dengan tepat waktu

Skripsi ini dikerjakan sebagai salah satu syarat guna memperoleh gelar Sarjana Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. Penulis menyadari bahwa terselesaikannya skripsi ini tentunya tak lepas dari dorongan dan bantuan berbagai pihak. Oleh karena itu, dengan segala kerendahan hati penulis mengungkapkan rasa terima kasih dan penghargaan kepada :

1. Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara.

2. Bapak Prof. Dr. Muhammad Zarlis M.Sc selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara

3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara dan selaku Dosen Pembimbing I.

4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

5. Bapak Drs. Dahlan Sitompul, M.Eng, selaku pembimbing II yang telah memberikan masukan, bimbingan, saran dan motivasi kepada penulis sehingga penulis dapat menyelesaikan skripsi ini dengan baik.

6. Bapak Drs. Agus Salim Harahap, M.Si selaku Dosen Pembanding I yang telah memberikan kritik dan saran yang membangun bagi penulis.

7. Bapak Syahriol Sitorus, S.Si, MIT selaku Dosen Pembanding II yang telah memberikan kritik dan saran yang membangun bagi penulis.

(6)

9. Kepada para sahabat penulis, Meilan Sari Hutami Munthe, Posma Hotma Ria Sinaga, Lisnawati Sukatendel, Selvira Chikita Tarigan, Mila Susanti, dan Nova Rialni, terimakasih atas segala motivasi, bantuan, saran, kritik dan kerjasamanya selama proses penulisan penelitian ini. Semoga Tuhan membalas semua kebaikan yang telah kalian berikan.

Penulis,

(7)

ABSTRAK

Pada umumnya Algoritma Backtracking digunakan untuk mencari jalan keluar pada dibuat labirin. Labirin merupakan sebuah sistem jalur yang rumit, berliku-liku, serta memiliki banyak jalan buntu. Labirin garis (line maze) adalah labirin yang dibuat membentuk garis. Jika garis berwarna putih maka background berwarna hitam atau sebaliknya. Permasalahan yang timbul pada line maze adalah cara untuk mendapatkan jalur terpendek dari line maze. Pada tugas akhir ini, permasalahan pada line maze diselesaikan dengan algoritma Backtracking. Algoritma ini terdiri dari dua mode, yaitu mode search dan mode return. Pada mode search, robot melakukan perjalanan dari posisi start menuju finish dengan aturan bahwa robot akan mengutamakan belok kiri bila menjumpai persimpangan. Kode-kode unik dibangkitkan setiap robot berjumpa dengan persimpangan. Pada mode return, robot sudah berjalan dari start menuju finish dengan jalur terpendeknya. Jalur terpendek diperoleh dari kode-kode unik yang telah dikonversi. Berdasarkan percobaan program konversi yang telah dilakukan, maka dibutuhkan formulasi yang handal agar diperoleh hasil yang diinginkan.

(8)

APPLICATION OF BACKTACKING ALGORITHM TO DESIGN LINE MAZE SOVING ROBOT BASED

MIKROKONTROLER ATMEGA32

ABSTRACT

Backtracking algorithm is usually used to find a way out on a maze. Maze is

a route. Line maze is a maze which made formed line. If line colored white, then the backgroud colored black and the otherwise. The problem is how to get the shortest-path of line maze by using Backtracking algorithm. Backtracking algorithm is consists of two modes namely search mode and return mode. In search mode, the robot traveled from the starting point to the finish with the rule that the robot will give priority to turn left when encounter crossroads. Codes are generated each robot encounter crossroads, In return mode, the robot has been running from the start to the finish with the shortest path. The shortest path is obtained from the codes that have been converted. Based on the experimental conversion program that has been done, it is necessary in order to obtain a reliable formulation desired results.

(9)

DAFTAR ISI

DAFTAR GAMBAR xii

DAFTAR LAMPIRAN xii

BAB 1 PENDAHULUAN

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metodologi Penelitian 3

1.7 Sistematika Penulisan 4

BAB 2 LANDASAN TEORI 5

2.1 Sejarah Robot 5

2.2 Perkembangan Robot 5

2.3 Robot Maze Solving 7

2.4 Perangkat Keras 8

2.4.1 Mikrokontroler ATmega32 8

2.4.2 Konfigurasi Pin AVR ATmega32 10

(10)

2.4.3.1 Photo Dioda 12

2.4.3.2 Cara Kerja Sensor Garis 13

2.4.4 Aktuator 14

2.4.4.1 Motor DC 14

2.4.4.2 Driver Motor 15

2.4.4.3 PWM 16

2.4.5 Catu Daya 17

2.5 Bahasa Pemograman Mikrokontroler 18

2.5.1 Jenis-jenis Bahasa Pemograman 18

2.5.2 BASCOM AVR 18

2.6 Algoritma Backtracking 20

BAB 3 ANALISIS DAN PERANCANGAN ALAT

3.1 Analisis Masalah 21

3.2 Analisis Algoritma 24

3.2.1 Algoritma Backtracking 24

3.3 Flowchart Algoritma 28

3.4 Analisi Kebutuhan 30

3.4.1 Kontrol PID 30

3.4.2 Rangkaian H-Bridge 32

3.4.3 Rangkaian Regulator 35

3.4.4 Rangkaian Sensor Priximity 36

3.5 Diagram Blok 38

3.6 Perancangan Mikrokontroler ATmega 32 39 BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Komponen Sistem pada Robot ine Mize Solving 41

4.1.1 Spesifikasi Prangkat Keras 41

4.1.2 Spesifikasi Prangkat Lunak 42

4.1.3 Brainware 43

4.2 Pengujian Mikrokontroler ATmega 32 43

4.3 Pengujian Sensor Proximity 44

4.4 Pengujian Backtracking 44

(11)

BAB 5 KESIMPULAN DAN SARAN

5.1 Kesimpulan 49

5.2 Saran 50

DAFTAR PUSTAKA 51

(12)

DAFTAR TABEL

Hal.

2.1 Fungsi Khusus Port B 11

2.2 Fungsi Khusus Port C 11

2.3 Fungsi Khusus Port D 12

3.1 Tabel Kebenaran I/O 33

3.2 Hubungan Nilai PWM dengan Kecepatan Motor 34

(13)

DAFTAR GAMBAR

Hal.

2.1 Jalur Berupa Garis dan Jalur Berupa Dinding 8

2.2 Robot Mize Solving 8

2.3 Modul AVR ATmega32 9

2.4 Konfigurasi Pin ATmega32 10

2.5 Mekanisme Pemantulan Cahaya Sensor Garis 13

2.6 Ilustrasi Kerja Sensor Garis 13

2.7 Motor DC 15

2.8 IC L293D dan IC L298D 15

2.9 Ilustrasi Prosentasi PWM 16

2.10 Lithium Polymer 1300mA 17

2.11 Tampilan Jendela Baskom AVR 19

2.12 Tampilan Simulasi Baskom AVR 20

3.1 Penerapan Algoritma Backtracking pada Labirin Garis 26

3.2 Shortes Way Robot Line Mize Solving 27

3.3 Flowchart Algoritma Backtracking 29

3.4 Ilustrasi Robot dalam Kondisi Stabil dan Tidak Stabil 30

3.5 Ilustrasi Proses PID 31

3.6 Rangkaian Habrid 32

3.7 Rangkaian Regulator 35

3.8 Sensor Proximity 36

3.9 Rangkaian Sensor Proximity 37

3.10 Diagram Blok Rangkaian 38

3.11 Rangkaian Mikrikontroler ATmega32 40

4.1 Ilustrasi Pengujian Backtracking 44

(14)

ABSTRAK

Pada umumnya Algoritma Backtracking digunakan untuk mencari jalan keluar pada dibuat labirin. Labirin merupakan sebuah sistem jalur yang rumit, berliku-liku, serta memiliki banyak jalan buntu. Labirin garis (line maze) adalah labirin yang dibuat membentuk garis. Jika garis berwarna putih maka background berwarna hitam atau sebaliknya. Permasalahan yang timbul pada line maze adalah cara untuk mendapatkan jalur terpendek dari line maze. Pada tugas akhir ini, permasalahan pada line maze diselesaikan dengan algoritma Backtracking. Algoritma ini terdiri dari dua mode, yaitu mode search dan mode return. Pada mode search, robot melakukan perjalanan dari posisi start menuju finish dengan aturan bahwa robot akan mengutamakan belok kiri bila menjumpai persimpangan. Kode-kode unik dibangkitkan setiap robot berjumpa dengan persimpangan. Pada mode return, robot sudah berjalan dari start menuju finish dengan jalur terpendeknya. Jalur terpendek diperoleh dari kode-kode unik yang telah dikonversi. Berdasarkan percobaan program konversi yang telah dilakukan, maka dibutuhkan formulasi yang handal agar diperoleh hasil yang diinginkan.

Kata kunci— Robot, Maze, Backtracking, PID, Fotodioda

(15)

APPLICATION OF BACKTACKING ALGORITHM TO DESIGN LINE MAZE SOVING ROBOT BASED

MIKROKONTROLER ATMEGA32

ABSTRACT

Backtracking algorithm is usually used to find a way out on a maze. Maze is

a route. Line maze is a maze which made formed line. If line colored white, then the backgroud colored black and the otherwise. The problem is how to get the shortest-path of line maze by using Backtracking algorithm. Backtracking algorithm is consists of two modes namely search mode and return mode. In search mode, the robot traveled from the starting point to the finish with the rule that the robot will give priority to turn left when encounter crossroads. Codes are generated each robot encounter crossroads, In return mode, the robot has been running from the start to the finish with the shortest path. The shortest path is obtained from the codes that have been converted. Based on the experimental conversion program that has been done, it is necessary in order to obtain a reliable formulation desired results.

Keywords : Robots, Maze, Backtracking, PID, Photodiode

(16)

ABSTRAK

Pada umumnya Algoritma Backtracking digunakan untuk mencari jalan keluar pada dibuat labirin. Labirin merupakan sebuah sistem jalur yang rumit, berliku-liku, serta memiliki banyak jalan buntu. Labirin garis (line maze) adalah labirin yang dibuat membentuk garis. Jika garis berwarna putih maka background berwarna hitam atau sebaliknya. Permasalahan yang timbul pada line maze adalah cara untuk mendapatkan jalur terpendek dari line maze. Pada tugas akhir ini, permasalahan pada line maze diselesaikan dengan algoritma Backtracking. Algoritma ini terdiri dari dua mode, yaitu mode search dan mode return. Pada mode search, robot melakukan perjalanan dari posisi start menuju finish dengan aturan bahwa robot akan mengutamakan belok kiri bila menjumpai persimpangan. Kode-kode unik dibangkitkan setiap robot berjumpa dengan persimpangan. Pada mode return, robot sudah berjalan dari start menuju finish dengan jalur terpendeknya. Jalur terpendek diperoleh dari kode-kode unik yang telah dikonversi. Berdasarkan percobaan program konversi yang telah dilakukan, maka dibutuhkan formulasi yang handal agar diperoleh hasil yang diinginkan.

(17)

APPLICATION OF BACKTACKING ALGORITHM TO DESIGN LINE MAZE SOVING ROBOT BASED

MIKROKONTROLER ATMEGA32

ABSTRACT

Backtracking algorithm is usually used to find a way out on a maze. Maze is

a route. Line maze is a maze which made formed line. If line colored white, then the backgroud colored black and the otherwise. The problem is how to get the shortest-path of line maze by using Backtracking algorithm. Backtracking algorithm is consists of two modes namely search mode and return mode. In search mode, the robot traveled from the starting point to the finish with the rule that the robot will give priority to turn left when encounter crossroads. Codes are generated each robot encounter crossroads, In return mode, the robot has been running from the start to the finish with the shortest path. The shortest path is obtained from the codes that have been converted. Based on the experimental conversion program that has been done, it is necessary in order to obtain a reliable formulation desired results.

(18)

BAB 2

LANDASAN TEORI

2.1. Sejarah Robot

Robot adalah sebuah alat mekanik yang dapat melakukan tugas fisik, baik menggunakan pengawasan dan kontrol manusia, atau pun menggunakan program yang telah didefinisikan terlebih dulu (kecerdasan buatan). Kata robot sendiri, diperkenalkan oleh seorang penulis sains-fiksi berkebangsaan Ceko (Czech), Karel Čapek (9 Januari 1890-25 Desember 1938) pada tahun 1920an. Robot sendiri, menurut Karel Čapek, bukanlah pengertian "robot" yang seperti kita kenal sekarang ini. Robot menurut dia adalah sesuatu yang lebih mengarah kepada "monoton", dan "pekerja". Karel Čapek memperkenalkan istilah robot (robota, bahasa Ceko-Ensiklopedia Indonesia) dalam sebuah karya sandiwaranya, Rossum's Universal Robot.

(19)

2.2. Perkembangan Robot

Adapun contoh perkembangan hebat robot belakangan ini yaitu robot medis dengan dua perusahaan khusus yaitu Computer Motion dan Intuitive Surgical, yang menerima pengesahan pengaturan di Amerika Utara, Eropa dan Asia atas

robot-robotnya untuk digunakan dalam prosedur pembedahan minimal. Otomasi laboratorium juga merupakan area yang berkembang. Di sini, robot benchtop digunakan untuk memindahkan sampel biologis atau kimiawi antar perangkat seperti inkubator, berupa pemegang dan pembaca cairan. Tempat lain dimana robot disukai untuk menggantikan pekerjaan manusia adalah dalam eksplorasi laut dalam dan eksplorasi antariksa. Untuk tugas-tugas ini, bentuk tubuh artropoda umumnya disukai. Mark W. Tilden dahulunya spesialis Laboratorium Nasional Los Alamos membuat robot murah dengan kaki bengkok tetapi tidak menyambung, sementara orang lain mencoba membuat kaki kepiting yang dapat bergerak dan tersambung penuh. Berdasarkan perkembangannya, saat ini robot memiliki berbagai macam konstruksi. Diantaranya adalah:

1. Robot Mobile ( bergerak ) 2. Robot Manipulator ( tangan ) 3. Robot Humanoid

4. Flying Robot 5. Robot Berkaki 6. Robot jaringan 7. Robot Animalia

2.3. Robot Maze Solving

(20)

Robot maze solving yang pertama dibuat oleh seorang yang bernama Claude Elwood Shannon pada tahun 1950. Pada saat itu robot maze solving dikendalikan oleh suatu rangkaian relay, robot tersebut menyerupai tikus yang berukuran sama dengan tikus yang sesungguhnya. Robot tersebut mengembara pada lorong (dinding) rumit dengan 25 penyiku. Lorong tersebut bisa di ubah sesuka hati dan robot tersebut kemudian memeriksa secara menyeluruh jalan yang harus ditempuh untuk

menemukan titik tujuan. Setelah melalui lorong tersebut, robot bias ditempatkan di manapun dan akan bergerak secara langsung sampai tujuan. Hal ini nampak sebagai alat yang bisa belajar untuk pertama kalinya.

Gambar 2.2 Jalur Berupa Garis dan Jalur Berupa Dinding

Robot maze solving pada saat ini tidak hanya dikenal di kalangan ilmuan tetapi telah di kenal di kalangan siswa SD, SMP, sampai universitas bahkan saat ini sering dilakukan perlombaan robot maze solving. Contoh moment perlombaan yaitu ROBOTIC COMPETITION STMIK LIKMI tingkat SMA pada tanggal 15April 2010. Berikut contoh robot maze solving:

Gambar 2.3 Robot Maze Solving

(21)

2.4.1. Mikrokontroler (ATmega32)

Mikrokontroler adalah piranti elektronik berupa IC (Integrated Circuit) yang memiliki kemampuan manipulasi data (informasi) berdasarkan suatu urutan instruksi (program). Dalam sebuah struktur mikrokontroller akan kita temukan juga komponen-komponen seperti: processor, memory, clock, dll.

Salah satu arsitektur mikrokontroler yang terdapat di pasaran adalah jenis AVR (Advanced Virtual RISC). Arsitektur mikrokontroler jenis AVR ini pertama kali dikembangkan pada tahun 1996 oleh dua orang mahasiswa Norwegian Institute of Technology yaitu Alf-Egil Bogen dan Vegard Wollan.\

Dalam perkembangannya, AVR dibagi menjadi beberapa varian yaitu AT90Sxx, ATmega, dan AT86RFxx. Pada dasarnya yang membedakan masing-masing varian adalah kapasitas memori dan beberapa fitur tambahan saja.

Pemrograman mikrokontroler AVR dapat menggunakan low level language (assembly) dan high level language (C, Basic, Pascal, JAVA, dll) tergantung compiler yang digunakan. Salah satu yang banyak dijumpai di pasaran adalah AVR tipe ATmega, yang tediri dari beberapa versi, yaitu ATmega8535, ATmega16, ATmega162, ATmega32, ATmega324P, ATmega644, ATmega644P dan ATmega128. Mikrokontroler yang digunakan adalah AVR ATmega32. Berikut ini adalah tampilan ATmega32 :

(22)

Fitur-fitur yang dimiliki ATmega32 sebagai berikut:

1. Frekuensi clock maksimum 16 MHz

2. Jalur I/O 32 buah, yang terbagi dalam PortA, PortB, PortC dan PortD 3. Analog to Digital Converter 10 bit sebanyak 8 input, 4 chanel PWM 4. Timer/Counter sebanyak 3 buah

5. CPU 8 bit yang terdiri dari 32 register 6. Watchdog Timer dengan osilator internal 7. SRAM sebesar 2 K Byte

8. Memori Flash sebesar 32K Byte dengan kemampuan read while write 9. Interrupt internal maupun eksternal

10. Port komunikasi SPI

11. EEPROM sebesar 512 byte yang dapat diprogram saat operasi 12. Analog Comparator

13. Komunikasi serial standar USART dengan kecepatan maksimal 2,5 Mbps

2.4.2. Konfigurasi Pin AVR ATmega32

(23)

Konfigurasi pin pada mikrokontroler ATmega32 dapat dilihat pada gambar 2.5. Dari gambar tersebut dapat terlihat jumlah pin ATmega32 adalah 40 pin yang memiliki fungsi yang berbeda-beda yaitu:

1. Vcc merupakan pin yang berfungsi sebagai masukan catu daya. 2. GND merupakan pin ground.

3. Port A(PA0-PA7) merupakan pin input/output dua arah dan pin masukan ADC.

4. Port B(PB0-PB7) merupakan pin input/output dua arah dan pin fungsi khusus, seperti yang dapat dilihat pada tabel 2.1.

Tabel 2.1 Fungsi Khusus Port B

5. Port B(PB0-PB7) merupakan pin input/output dua arah dan pin fungsi khusus, seperti yang dapat dilihat pada tabel 2.2.

(24)

6. Port B(PB0-PB7) merupakan pin input/output dua arah dan pin fungsi khusus, seperti yang dapat dilihat pada tabel 2.3.

Tabel 2.3 Fungsi Khusus Port D

7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler. 8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.

9. AVCC merupakan pin masukan tegangan ADC. 10. AREF merupakan pin masukan referensi ADC.

(25)

Sensor garis dalam sebuah robot line follower ibarat mata yang dapat menentukan arah geraknya. Sensor garis adalah sensor yang berfungsi mendeteksi garis yang berwarna hitam atau putih.

Sensor garis terdiri dari komponen yang berfungsi sebagai pemancar cahaya yaitu infrared, led superbright, dll. Komponen yang berfungsi penerima cahaya yaitu phototransistor, photodiode, LDR (light defendant Resistor). Dengan memanfatkan fitur ADC (Analog to Digital Converter) yang terdapat pada mikrokontroler sebagai pembanding tegangan, yang nantinya akan menghasilkan output digital dari sensor.

2.4.3.1. Photodioda

(26)

Gambar 2.6 Mekanisme Pemantulan Cahaya Sensor Garis

2.4.3.2 Cara kerja sensor garis

Berikut ilustrasi kerja dari sensor garis

Gambar 2.7Ilustrasi kerja Sensor Garis

Saat sensor pada garis putih, maka sensor akan terkena banyak cahaya sehingga nilai resistansinya akan sangat kecil atau dapat diabaikan. Karena Rsens sangat kecil maka Vout=0.

Saat sensor pada garis hitam, maka sensor akan tidak terkena cahaya sehingga nilai resistansinya akan besar atau dapat diasumsikan tak hingga. Karena Rsens sangat besar maka Vout= Vin

Dengan arti kata dengan rangkaian diatas perubahan Vout berbanding lurus dengan cahaya. Untuk membuat rangkaian dengan Vout berbanding terbalik dengan perubahan cahaya hanya dengan mengganti letak sensor berada dekat dengan Vin.

(27)

2.4.4. Aktuator (Penggerak Robot)

2.4.4.1. Motor DC

Motor DC merupakan perangkat yang berfungsi merubah besaran listrik menjadi besaran mekanik. Prinsip kerja motor didasarkan pada gaya elektromagnetik. Motor DC bekerja bila mendapatkan tegangan searah yang cukup pada kedua kutubnya. Tegangan ini akan menimbulkan induksi elektromagnetik yang menyebabkan motor berputar. Secara umum, kecepatan putaran poros motor DC akan meningkat seiring dengan meningkatnya tegangan yang diberikan. Dengan demikian, putaran motor DC

akan berbalik arah jika polaritas tegangan yang diberkan juga dirubah. Bentuk fisik motor DC dapat dilihat pada gambar 2.7.

Gambar 2.7 Motor DC

Motor DC tidak dapat dikendalikan langsung oleh mikrokontroler, karena kebutuhan arus yang besar sedangkan keluaran arus dari mikrokontroler sangat kecil. Driver motor merupakan alternatif yang dapat digunakan untuk menggerakkan motor DC.

2.4.4.2. Driver Motor

(28)

dalam pembuatan robot membutuhkan dua motor DC. Berikut jenis IC yang berfungsi sebagai driver motor.

1. IC L298D 2. IC L293D

Pada gambar 2.8 dapat dilihat bentuk fisik IC L293D dan IC L298D.

Gambar 2.8 IC L293D dan IC L298D

2.4.4.3. PWM (Pulse Width Modulation)

Salah satu cara untuk mengirimkan informasi analog adalah menggunakan pulsa-pulsa arus. Dengan modulasi pulsa, pembawa informasi terdiri dari pulsa-pulsa persegi yang berulang-ulang. Salah satu teknik modulasi pulsa yang digunakan adalah teknik modulasi durasi atau lebar dari waktu tunda negatif pulsa-pulsa persegi tersebut. Metode tersebut dikenal dengan nama Pulse Width Modulation (PWM).

(29)

Gambar 2.9 Ilustrasi Prosentase PWM

Metode PWM digunakan untuk mengatur kecepatan putaran motor, informasi yang dibawa oleh pulsa-pulsa persegi merupakan tegangan rata-rata. Besarnya tegangan rata-rata tersebut dapat diperoleh dari: Vout = (Vref * duty cycle) / periode. Semakin lebar durasi waktu tunda positif pulsa dari sinyal PWM yang dihasilkan, maka perputaran motor akan semakin cepat, demikian sebaliknya.

2.4.5. Catu Daya

Catu daya memegang peranan yang sangat penting dalam hal perancangan sebuah robot. Tanpa bagian ini robot tidak akan berfungsi.Begitu juga bila pemilihan catu daya tidak tepat, maka robot tidak akan bekerja dengan baik. Penentuan sistem catu daya yang akan digunakan ditentukan oleh banyak faktor, diantaranya :

1. Tegangan

Setiap aktuator tidak memiliki tegangan yang sama. Hal ini akan berpengaruh terhadap disain catu daya. Tegangan tertinggi dari salah satu aktuator akan menentukan nilai tegangan catu daya.

(30)

Arus memiliki satuan Ah (Ampere-hour). Semakin besar Ah, semakin lama daya tahan baterai bila digunakan pada beban yang sama.

3. Teknologi Baterai

Baterai isi ulang ada yang dapat diisi hanya apabila benar-benar kosong, dan ada pula yang dapat diisi ulang kapan saja tanpa harus menunggu baterai tersebut benar-benar kosong.

Baterai yang digunakan pada mobile robot ini adalah baterai berjenis Lithium polymer. Hal ini karena jenis baterai ini merupakan jenis baterai yang dapat diisi ulang (rechargeable). Baterai ini memiliki tegangan kerja 7,4 Volt. Gambar 2.10 memperlihatkan bentuk baterai Lithium polymer 1300 mAh.

Gambar 2.10 Lithium polymer 1300mA

Untuk pengisian baterai ini dapat dilakukan kapan saja, selain jenis baterai Lithium polymer, masih banyak lagi jenis baterai yang tersedia di pasaran dengan spesifikasi yang beragam dan dapat digunakan untuk catu daya pada sebuah robot. Diantaranya baterai Ni-cd, Alkaline, Lithium, Lead Acid dan sebagainya, yang masing-masing mempunyai kelebihan dan kekurangannya.

2.5. Bahasa Pemrograman Mikrokontroler

2.5.1. Jenis-jenis Bahasa Pemrograman :

(31)

2. High Level (bahasa tingkat tinggi)

• Basic : Bascom – 8051, Bascom AVR

• C : SDCC, Franklin32

Secara umum bahasa yang digunakan pemrogramannya adalah bahasa tingkat rendah yaitu bahasa assembly, dimana setiap mikrokontroler memiliki bahasa – bahasa pemrograman yang berbeda–beda. Karenanya hambatan dalam menggunakan bahasa assembly ini (yang pasti cukup sulit) maka mulai dikembangkan compiler atau penerjemah untuk bahasa tingkat tinggi. Untuk MCS-51 bahasa tingkat tinggi yang banyak dikembangkan antara lain BASIC, PASCAL dan C. Bahasa Program Basic Compiler AVR (Bascom AVR).

2.5.2. BASCOM-AVR

BASCOM-AVR adalah program basic compiler berbasis windows untuk mikrokontroler keluarga AVR merupakan pemrograman dengan bahasa tingkat tinggi ” BASIC ” yang dikembangkan dan dikeluarkan oleh MCS elektronika sehingga dapat dengan mudah dimengerti atau diterjemahkan.

Dalam program BASCOM-AVR terdapat beberapa kemudahan, untuk membuat program software ATMega32, seperti program simulasi yang sangat berguna untuk melihat, simulasi hasil program yang telah kita buat, sebelum program tersebut kita download ke IC atau ke mikrokontroler.

(32)

Gambar 2.11. Tampilan Jendela Program BASCOM-AVR

BASCOM-AVR menyediakan pilihan yang dapat mensimulasikan program. Program simulasi ini bertujuan untuk menguji suatu aplikasi yang dibuat dengan pergerakan LED yang ada pada layar simulasi dan dapat juga langsung dilihat pada LCD, jika kita membuat aplikasi yang berhubungan dengan LCD.

(33)

Gambar 2.12. Tamplan Simulasi BASCOM-AVR

2.1.1 Algoritma Backtracking

Algoritma backtracking pertama kali diperkenalkan oleh D.H. Lehmer pada tahun 1950. Dalam perkembangannya beberapa ahli seperti RJ Walker, Golomb, dan Baumert menyajikan uraian umum tentang backtracking dan penerapannya dalam berbagai persoalan dan aplikasi. Algoritma backtracking (runut balik) merupakan salah satu metode pemecahan masalah yang termasuk dalam strategi yang berbasis pencarian pada ruang status. Algoritma backtracking bekerja secara rekursif dan melakukan pencarian solusi persoalan secara sistematis pada semua kemungkinan solusi yang ada (Aho, Hopcroft, dan Ullman, 1983).

(34)

solusi dilakukan dengan menelusuri suatu struktur berbentuk pohon berakar secara preorder. Proses ini dicirikan dengan ekspansi simpul terdalam lebih dahulu sampai tidak ditemukan lagi suksesor dari suatu simpul.

Algoritma runut-balik secara garis besar adalah:

1. Prioritas Belokan adalah Belok kiri (Left)

2. Kemudian, petakan jalur keluar (Solusi) dengan aturan Persimpangan Sebagai berikut :

3. Jika Simpang 1,3,4,5 terdeteksi, maka robot akan belok kiri. Jika simpang 2,6 terdeteksi maka robot akan belok kanan. Jika simpang 8 terdeteksi robot akan kembali. Dan jika simpang 7 terdeteksi maka robot berhenti dan memetakan solusi.

4. Setelah solusi dipetakan, lakukan aturan algoritma backtracking untuk mendapatkan shortest-pathnya.

1 2 3 4

(35)

Berikut ini adalah aturan-aturan dalam backtracking :

LBR = B LBS = R RBL = B SBL = R SBS = B LBL = S

5. Tukar setiap kode yang telah dipetakan, jika terdapat kode yang sama pada aturan backtracking. Tujuannya adalah untuk menyederhanakan track.

(36)

BAB 3

ANALISIS DAN PERANCANGAN ALAT

3.1 Analisis Masalah

Pada umumnya Algoritma Backtracking digunakan untuk mencari jalan keluar pada dibuat labirin. Labirin merupakan sebuah sistem jalur yang rumit, berliku-liku, serta memiliki banyak jalan buntu. Labirin garis (line maze) adalah labirin yang dibuat membentuk garis. Jika garis berwarna putih maka background berwarna hitam atau sebaliknya. Permasalahan yang timbul pada line maze adalah cara untuk mendapatkan jalur terpendek dari line maze. Pada tugas akhir ini, permasalahan pada line maze diselesaikan dengan algoritma Backtracking.

(37)

3.2 Analisis Algoritma

Penulis akan menganalisa Algoritma Backtracking secara Manual sebelum di implementasikan ke dalam Robot Line Maze Solving.

3.2.1 Algoritma Backtracking

Algoritma backtracking pertama kali diperkenalkan oleh D.H. Lehmer pada tahun 1950. Dalam perkembangannya beberapa ahli seperti RJ Walker, Golomb, dan Baumert menyajikan uraian umum tentang backtracking dan penerapannya dalam berbagai persoalan dan aplikasi. Algoritma backtracking (runut balik) merupakan salah satu metode pemecahan masalah yang termasuk dalam strategi yang berbasis pencarian pada ruang status. Algoritma backtracking bekerja secara rekursif dan melakukan pencarian solusi persoalan secara sistematis pada semua kemungkinan solusi yang ada (Aho, Hopcroft, dan Ullman, 1983).

Algoritma backtrack (runut balik) merupakan salah satu metode pemecahan masalah yang termasuk dalam strategi yang berbasis pencarian pada ruang status. Algoritma backtrack bekerja secara rekursif dan melakukan pencarian solusi persoalan secara sistematis pada semua kemungkinan solusi yang ada. Oleh karena algoritma ini berbasis pada algoritma Depth-First Search (DFS), maka pencarian solusi dilakukan dengan menelusuri suatu struktur berbentuk pohon berakar secara preorder. Proses ini dicirikan dengan ekspansi simpul terdalam lebih dahulu sampai tidak ditemukan lagi suksesor dari suatu simpul.

Berikut ini adalah langkah-langkah penyelesaian line maze solving Menggunakan Algoritma Backtracking :

(38)

2. Kemudian, petakan jalur keluar (Solusi) dengan aturan Persimpangan Sebagai berikut :

3. Jika Simpang 1,3,4,5 terdeteksi, maka robot akan belok kiri. Jika simpang 2,6 terdeteksi maka robot akan belok kanan. Jika simpang 8 terdeteksi robot akan kembali. Dan jika simpang 7 terdeteksi maka robot berhenti dan memetakan solusi.

4. Setelah solusi dipetakan, lakukan aturan algoritma backtracking untuk mendapatkan shortest-pathnya.

Berikut ini adalah aturan-aturan dalam backtracking :

LBR = B LBS = R RBL = B SBL = R SBS = B LBL = S

1 2 3 4

(39)

5. Tukar setiap kode yang telah dipetakan, jika terdapat kode yang sama pada aturan backtracking. Tujuannya adalah untuk menyederhanakan track.

6. Jika tidak ditemukan lagi kode yang sama dengan aturan algoritma backtracking ambil kode track tesebut sebgai solusi jalur terpendek penyelesaian line maze.

Berikut ini pengaplikasian nya secara manual :

Gambar 3.1 Penerapan Algoritma Backtracking pada Labirin Garis

(40)

Setelah mencapai Finish, kemudian akan dipetakan solusi sbb : SLSLSRSBSLSLSBSLSLS

Kemudian sederhanakan dengan menggunakan aturan (rule) Algoritma Backtracking sbb:

Jadi, berikut ini adalah Shortest-Pathnya berdasarkan solusi diatas :

(41)
(42)

Untuk flow chart short way sebagai berikut :

(43)

3.4 Analisis Kebutuhan

Analisis kebutuhan adalah hal-hal apa saja yang dibutuhkan untuk merangkai atau merancang robot line maze solving ini. Berikut ini adalah komponen-komponen yang dibutuhkan untuk perancangan robot tersebut.

3.4.1 Kontrol PID

Kontrol PID merupakan hal terpenting dari robot ini, karena akurasi robot ini bergantung pada kestabilan kontrol PID yang berimbas kepada kestabilan putaran motor, penting bagi robot untuk dapat mencapai kestabilan dalam waktu yang cepat terutama ketika berada di persimpangan, ilustrasi di bawah dapat dilihat keadaan robot yang stabil dan yang tidak stabil mengingat robot hanya akan mendeteksi persimpangan. Jika sensor robot berada pada posisi gambar kedua maka robot akan medeteksi persimpangan kiri, hal ini akan membuat proses algoritma backtracking tidak bekerja optimal.

(44)

Blok PID terdiri dari kontrol P, Kontrol I dan Kontrol D seperti yang terlihat pada gambar di bawah ini :

Adapun formula dari kontrol PID adalah:

Agar formula dapat digunakan dalam program, maka kita menggunakan model matematisnya sebagai berikut :

Berikut ilustrasi proses PID

(45)

Dari gambar di atas terlihat robot terdiri dari 8 sensor robot sari S1 sampai S8, masing- masing sensor memiliki point value ( PV ) yang berbeda-beda, jika S4 dan S5 mendeteksi garis hitam maka robot dalam keadaan stabil dan PV adalah 0, secara berjenjang PV sensor akan membesar sebanding dengan urutan sensor terhadapa S4 dan S5.

Untuk mendapatkan nilai error maka nilai Set Poin (SP) dikurang PV, sedangkan nilai last error di dapat dari nilai error dari peroses n-1, dan nilai Time Sampling (TS) didapat dari interval pembacaan pertama dengan pembacaan kedua, semakin rendah nilai TS semakin akurat pembacaan sensor.

3.4.2 Rangkaian H-Bridge

Input pada rangkaian H-Bridge terdiri dari 2 input, 1 input untuk PWM dan 1 input untuk mengendalikan arah putar motor. Input untuk mengendalikan arah putar motor rangkaian ini hanya memerlukan 1 input karena rangkaian ini dilengkapi dengan IC gate NAND, dan hal ini juga menambahkan fitur auto break sistem.

(46)

Dari rangkaian di atas dapat terlihat input untuk arah putar dan input kecepatan motor dihubungkan dengan gerbang NAND 1, sedang untuk gerbang NAND 2 inputnya berasal dari output gerbang NAND 1 dan input kecepatan motor. Output gerbang NAND 1 dihubungkan dengan half H-Bridge 1 dan output dari NAND 2 dihungkan dengan half H-Bridge 2.

Mengingat tabel kebenaran gerbang NAND yang hanya akan menghasilkan output low ketika kedua input gerbang NAND bernilai satu, maka ketika input arah putar bernilai high dan input kecepatan arah putar bernilai high maka, output pada gerbang NAND 1 adalah low dan output pada gerbang NAND 2 adalah high, dan jika input arah putar bernilai high dan input kecepatan motor bernilai low maka, output gerbang NAND 1 adalah high dan ouput gerbang NAND 2 adalah high. Jika input arah putar bernilai low dan kecepatan putar bernilai high maka, output gerbang NAND 1 bernilai low dan output gerbang NAND 2 bernilai high, dan jika input arah putar bernilai low dan input kecepatan putar motor bernilai low, maka output gerbang NAND 1 bernilai high dan output gerbang NAND 2 bernilai high, dari 4 kemungkinan di atas maka dapat disimpulkan tabel kebenaran sebagai berikut:

Tabel 3.1 Tabel Kebenaran INPUT dan Output DIR (arah putar) PWM (Kecepatan

(47)

Q1 akan cut off dan Q4 akan saturasi, sedangkan Q2 akan saturasi dan Q3 akan cut off. Kejadian ini mengakibatkan arus mengalir dari Q2 ke Q4 dan motor akan berputar kearah jarum jam.

Ketika output dari NAND 1 bernilai high dan output NAND 2 bernilai low maka, transistor Q5 saturasi, hal ini menyebabkan arus mengalir dari dari kolektor ke emitter, sehingga gate Q1 dan Q4 adalah 0 V, sebaliknya Q6 akan cut off sehingga arus tidak mengalir dari kolektro ke emitter, sehingga gate Q2 dan Q3 adalah 12 V. hal ini menyebabkan Q1 akan saturasi dan Q4 akan cut off, sedangkan Q2 akan cut off dan Q3 akan saturasi. Kejadian ini mengakibatkan arus mengalir dari Q1 ke Q3 dan motor akan berputar berlawanan dengan arah jarum jam.

Ketika output dari NAND 1 bernilai high dan output NAND 2 bernilai high maka, transistor Q5 cut off, hal ini menyebabkan arus tidak mengalir dari dari kolektor ke emitter, sehingga gate Q1 dan Q4 adalah 0 V, sedangkan Q6 akan cut off sehingga arus tidak mengalir dari kolektro ke emitter, sehingga gate Q2 dan Q3 adalah 0 V. hal ini menyebabkan Q1, Q2,Q3 dan Q4 akan cut off. Kejadian ini mengakibatkan motor akan berhenti.

Mengingat robot ini menggunakan PWM, maka kecepatan motor akan berbentuk pulsa, sehingga saat PWM bernilai low maka motor akan berhenti hal ini menyebabkan motor akan secara otomatis berhenti ketika PWM bernilai low. Dari kejadian di atas maka dapat disimpulkan sebagai berikut :

Tabel 3.2 Hubungan nilai PWM dengan kecepatan Motor

DIR (arah putar) PWM (Kecepatan putar)

Arah motor Status motor

1 1 CW ON

1 0 Break OFF

0 1 CCW ON

(48)

Dari penjelasan di atas bisa dibuktikan bahwa rangkaian H-Bridge di atas mempunyai fitur auto break sistem, hal perlu untuk mengurangi drift dari robot ini, karena inti kestabilan robot ini ada pada akurasi pembacaan persimpangan, dan jika motor tidak dapat dikendalikan secara baik maka kemungkinan error akan lebih besar terjadi.

3.4.3 Rangkaian Regulator

Agar rangkaian dapat bekerja, maka dibutuhkan sumber tegangan. Pada perancangan ini dibutuhkan sumber tegangan yang konstan 5 volt DC, yang digunakan untuk menyupply tegangan ke IC ATMega32 dan sensor proximity.

Dalam hal ini digunakan IC regulator 7805 yang mampu menghasilkan output 5 volt DC, untuk menghindari bouncing ketika robot dihidupkan pertama kali maka pada output IC regulator ditambahan filter yaitu capasitor C2, sedangkan C1 berfungsi sebagai filter yang berfungsi untuk menstabilkan arus yang masuk ke IC regulator.

Rangkaian tampak seperti gambar di bawah ini:

Gambar 3.7 Rangkaian Regulator

(49)

3.4.4 Rangkaian Sensor Priximity

Robot ini menggunakan sensor proximity untuk pembacaan garis, sensor ini sering digunakan pada industry sebagai sensor encoder untuk menghitung jumlah putaran motor, sebagai sensor limit dan sebagai penggunaan lainnya. Pada robot ini juga menggunakan sensor yang sama mengingat sensor ini termasuk sensor yang tidak kontak langsung, selain sensor ini, ada sensor lain yang dapat digunakan seperti sensor warna dan kamera. Proses pembacaan sensor proximity jauh lebih cepat dibanding sensor warna dan kamera dengan mikrokontroller yang sama, selain alasan di atas harga juga menjadi pertimbangan mengapa robot ini menggunakan sensor poriximity.

Tetapi bukan berarti sensor ini tidak mempunya kekurangan, kekurangan terbesar dari sensor ini adalah mudah terganggu oleh cahaya luar, tetapi mengingat robot ini dijalankan di dalam ruang maka gangguan cahaya luar dapat di redam. Sensor ini menggunakan sifat cahaya yang cenderung lebih banyak memantulkan cahaya pada permukaan putih jika dibanding dengan permukaan hitam, mengingat robot ini mengikuti garis dengan permukaan berwana putih dan gari berwarna hitam.

Sensor proximity mempunyai transmitter dan receiver, untuk transmitter robot ini menggunakan led. Selain led transmitter juga bisa menggunakan IR. Kinerja kedua transmitter ini tidak begitu signifikan, dengan alasan kemudahan untuk mengetahui apakah transmitter on atau off, maka led lebih unggul karena gelombang cahanya led dapat terlihat langsung tanpa menggunakan bantuan alat. Dengan alasan tersebut maka transmitter yang digunakan adalah led. Untuk transmitter yang digunakan adalah photodiode, output yang dihasil photodioda berbanding terbalik dengan pantulan cahaya, semakin banyak cahaya yang diterima maka output photodiode semakin kecil sebaliknya semakin sedikit cahaya yang diterima maka output akan semakin besar.

(50)

Untuk membedakan pembacaan photodiode ketika cahaya dipantulkan pada permukaan hitam atau putih dapat menggunakan rangkaia komparator, menggunakan IC Op-Amp dan kalibrasi diatur menggunakan rangkaian pembagi tegangan menggunakan potensiometer. Namun masalah terbesar rangkaian tersebut adalah memerlukan waktu yang lebih lama untuk proses kalibrasi sensor, karena harus mengatur tegangan refrensi, dan dilakukan untuk masing-masing sensor. Untuk menghindari hal itu maka output photodiode langsung dihubungkan ke robot ini dengan memanfaatkan fitur ADC yang ada pada mikrokontroller ATMega32, sehingga peroses kalibrasi dapat dilakukan dengan program yang diflash pada mikrokontroller, dalam sekali kalibrasi robot mampu mendapatkan nilai kalibrasi untuk semua sensor. Kalibarasi dengan cara mengambil nilai rata-rata sensor ketika di atas garis hitam dan garis putih, atau dengan kata laian mengambil nilai rata-rata dari pembacaan nilai tertinggi dengan nilai terendah.

(51)

3.5 Diagram Blok

Secara garis besar, diagram blok alat digambarkan pada gambar berikut ini:

Gambar 3.10 Diagram Blok Rangkaian

Pada diagram blok di atas terlihat mikrokontroller terhubung dengan 4 buah tombol, tombol tersebut digunakan agar kita dapat dengan mudah melakukan kalibrasi sensor, mengatur konstanta KP, KI dan KD dan mengatur kecepatan motor. Untuk memudahkan kita dalam mengatur konstanta KP, KI, KD dan kecepatan motor, maka robot ini dilengkapi LCD, sehingga konstanta tersebut dapat dimonitoring secara real time.

(52)

Pada diagram blok di atas juga terlihat ada delapan buah sensor proximity, dan empat buah tombol. Sensor poriximity digunakan untuk sensor garis, dengan ini robot dapat membaca sensor garis yang dilalui robot, output sensor proximity berupa tegangan analog sehingga dibutuhkan ADC agar mikrokontroller dapat memproses output sensor, dalam hal ini mikrkontroller ATMega32 menyediakan fiture ADC 8 channel, masing-masing channel mempunyai resolusi 10 bit sehingga garis hitam dan putih memupunyai perbedaan nilai yang jauh, hal ini memudahkan dalam menentukan nilai refrensi sensor.

Pada output ada 2 buah motor, agar robot dapat bergerak sesuai dengan yang diharapkan maka robot ini menggunakan dirver H-Bridge motor dari mosfet, agar proses switching bisa lebih cepat. Kecapatan motor dikendalikan mikroktronller menggunakan PWM yang dihasilkan dari robot kendali PID. PWM digunakan agar mikrokontroller dapat melakukan pembacaan terhadap sensor dengan waktu sampling yang stabil dan lebih cepat, mengingat PWM bekerja terpisah, sehingga mikrokontroller dapat menjalankan rutin program dan PWM secara parallel.

3.6 Perancangan Rangkaian Mikrokontroller ATMega32

(53)

Gambar 3.11 Rangkaian mikrokontroller ATMega32

Rangkaian mikrokontroler ini menggunakan komponen kristal sebagai sumber clocknya pada pin 12 dan pin 13. Nilai kristal ini akan mempengaruhi kecepatan mikrokontroller dalam mengeksekusi suatu perintah tertentu.

Untuk menulis flash rom pada mikrokontroller dapat menggunakan ISP Programmer seperti USBAsp, MKII, STK dan lain-lain, port yang digunakan untuk menulis flash rom adalah PortB5(MOSI), PortB6(MISO), PortB7(SCK), dan Reset, Port ini juga digunakan untuk komunikasi SPI (Serial Peripheral Interface).

(54)

BAB 4

PENGUJIAN ALAT DAN PROGRAM

Pada bab ini, akan dibahas pengujian alat mulai dari pengujian alat permodul sampai pengujian alat secara keseluruhan. Pengujian tersebut akan dilakukan secara bertahap dengan urutan sebagai berikut:

a. Komponen Sistem

b. Pengujian masing-masing blok c. Pengujian robot secara keseluruhan

4.1 Komponen Sistem pada Robot Line Maze Solving

Untuk merangkai sebuah robot dibutuhkan beberapa komponen yang mencakup Perangkat Keras (Hardware), perangkat lunak (Software) dan perangkat manusia (Brainware).

4.1.1 Spesifikasi Perangkat Keras (Hardware)

(55)

1. Laptop dengan Prosessor Dual Core 2. Memori Lapton RAM 2 GB

3. Hard disk 500 GB 4. Monitor 14’’

5. Mikrokontroler ATMEGA32

6. Sensor Proximity (Photodioda dan LED) 7. Li-on Battery

8. AC Adapter 12 V

4.1.2 Spesifikasi Perangkat Lunak

Perangkat lunak (Software) adalah komponen pada komputer tidak terlihat secara fisik namun terdapat pada sebuah komputer yang berisikan instruksi-instruksi tertentu dengan fungsi melakukan berbagai kegiatan. Perangkat lunak yang digunakan dalam perancangan aplikasi ini adalah :

(56)

4.1.3 Brainware

Brainware adalah manusia yang menggunakan atau memanfaatkan komputer sebagai contoh programmer. Adapun brainware dalam perancangan Robot Line Maze Solving ini adalah penganalisa dan perancanga terhadap robot yang dirancang sesuai dengan kebutuhan, selain itu brainware dalam perancangan robot ini adalah orang yang memanfaatkan mikrokontroler ATMEGA32 .

4.2 Pengujian Mikrokontroller ATMEGA32

Untuk mengetahui apakah rangkaian mikrokontroller bekerja dengan baik, maka dilakukan pengujian. Pengujian pada bagian ini dilakukan dengan memberikan program pada mikrokontroller. Programnya adalah sebagai berikut :

(57)

Jika program tersebut dijalankan, maka Port C akan bernilai “high” selama satu detik dan dan “low” selama satu detik, dengan demikian maka system minimum mikrokontroller ATMEGA32 telah berjalan dengan baik

4.3Pengujian sensor Proximity

Pengujian sesnsor proximity dilakukan pada garis yang berwarna hitam dan dasar track berwana putih. Pembacaa sensor proximity memanfaatkan fitur ADC (Analog Digital Converter) yang dimiliki oleh ATMega 32.

4.4Pengujian Backtracking

Pengujian dilakukan di atas track labirin, adapun ilustrasi track sebagai berikut:

Gambar 4.1 Ilustrasi Pengujian Backtracking di atas track labirin

(58)

Tabel 4.1 Hasil pemetaan

Dari tabel di atas setelah diproses oleh rule bectracking menghasilkan arah RRLS

(59)

Dari ilustrasi di atas terbukti algroritma backtracking dapat menentukan jalan tercepat

Banding1 = Hasil_1(persimpangan) * 100 Incr Persimpangan

Banding2 = Hasil_1(persimpangan) * 10 Incr Persimpangan

Banding3 = Hasil_1(persimpangan) Banding1 = Hasil_1(persimpangan) Banding1 = Banding1 + Banding2 Banding1 = Banding1 + Banding3 Hasil_2(olah_2) = Hasil_1(olah_1)

If Banding1 = 231 Then : Hasil_2(olah_2) = 3 : Olah_1 = Persimpangan : End If If Banding1 = 234 Then : Hasil_2(olah_2) = 1 : Olah_1 = Persimpangan : End If If Banding1 = 132 Then : Hasil_2(olah_2) = 3 : Olah_1 = Persimpangan : End If If Banding1 = 432 Then : Hasil_2(olah_2) = 1 : Olah_1 = Persimpangan : End If If Banding1 = 434 Then : Hasil_2(olah_2) = 3 : Olah_1 = Persimpangan : End If If Banding1 = 232 Then : Hasil_2(olah_2) = 4 : Olah_1 = Persimpangan : End If Incr Olah_1

Persimpangan = Olah_1 Incr Olah_2

Loop Until Persimpangan = Simpang For Persimpangan = 1 To Olah_2

(60)

Loop Until Olah_1 = Olah_2

For Persimpangan = 1 To Olah_2

Hasil_2(persimpangan) = Hasil_1(persimpangan) Next

4.5Pengujian PID

PID yang digunakan adalah program yang disadur dari rumus (2), pada aplikasi robot ini hanya menggunakan control P dan D saja. adapun potongan programnya:

Error = 0 - Degree

Delta_error = Error - Last_error Derivatif = Kd * Delta_error Sum_error = Last_error + Error //Integral = Ki * Sum_error //Integral = Integral / 2 Pd = Proposional + Derivatif //PD = Pd + Integral

Last_error = Error Kecepatan = Int(PD) Pwm1a = kecepatan Pwm1b = kecepatan

(61)
(62)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Masih terjadi noise pada pwm motor, hal ini terjadi karena arus balik dari motor.

2. Robot hanya dapat mempertahankan posisi seimbang maksimal pada sudut -100 - 100, hal ini terjadi karena torsi dan kecepatan motor tidak cukup cepat menyeimbangkan robot, dan tidak cukup kuat menahan beban robot.

3. Robot hanya dapat seimbang di atas permukaan yang datar dan belum bisa maju dan mundur.

4. Algoritma Backtracking dapat diterapkan pada perancangan Robot Line Maze Solving berbasis Mikrokontroler ATMEGA32

5.2 Saran

1. Sebaiknya menggunakan motor yang mempunyai torsi dan kecepatan yang lebih cepat, agar robot dapat mempertahankan posisi disaat robot dalam keadaan miring, dan hal ini juga memungkinkan robot dapat berjalan di permukaan yang miring.

2. Roda dengan gaya gesek tinggi sangat membantu robot untuk menahan dalam posisi seimbang, roda yang licin membuat robot sulit mencapai sudut seimbang.

(63)
(64)

DAFTAR PUSTAKA

[1] Pratama, Andika. 2007. Analisis Penerapan “Algoritma Backtracking Pada Pencarian Jalan Keluar di Dalam Labirin”,Makalah IF2251, Bandung. [2] Pitowarno, Endra.2006.Robotika; Disain, Kontrol, dan Kecerdasan Buatan.

Yogyakarta: Penerbit Andi.

[3] Mishra, Swati. Maze Solving Algorithm for Micromouse. IEEE International Conference on Signal Image Technology and internet Based Systems :2008

[4] “Pengenalan Robotika”.http://ocw.gunadarma.ac.id/course/ computer-science-and-information / computer-system-s1/pengantar robotika/pengenalan-robot diakses tanggal 20 November 2013

[5] Suyadhi, Taufiq Dwi Septian. 2011. Robotika. Yogyakarta: Penerbit Andi. [6] Pitowarno, Endra.2005.Mikroprosesor dan Interfacing.Yogyakarta: ANDI [7] Winoto, Ardi. Mikrokontroler AVR ATmega8/16/32/8535 dan Pemrogramannya

dengan Bahasa C pada WinAVR. Informatika, Bandung.2008.

[8] Grasser, Felix; D’arrigo, Aldo; Colombi, Silvio; Rufer, Alfred .2002.”JOE: A Mobile, Inverted Pendulum”, IEEE Transactions on Industrial Electronics, Vol. 49, No. 1, pp. 107 - 114, 2002.

[9] Ogata, Katsuhiko, Jakarta. 1994. “Teknik Kontrol Automatik Jilid 1”, Diterjemahkan Oleh Ir.Edi Leksono, Erlangga.

(65)

CURRICULUM VITAE

Nama : Helmiwati Sembiring

Tempat / Tanggal Lahir : Tj. Beringin/ 23 Maret

Alamat : Jl. Setia budi No.272 F Medan

Agama : Kristen Protestan

Jenis Kelamin : Perempuan

Alamat Email : helmibrahmana89@gmail.com

No. Hp : 082165762950

PENDIDIKAN FORMAL

2011-2013 S1 Ekstensi Ilmu Komputer Fasilkom-TI USU, Medan. 2008-2011 D3 Teknik Informatika USU, Medan.

2005-2008 SMA Swasta PALAPA Medan

2002-2005 SMP Negeri 21 Medan 1996-2002 SD Negeri 05 Pekan Baru

SEMINAR, KURSUS

2013 Peserta Seminar Teknologi Informasi “Cloud

Computing Solusi Cerdas komputasi masa depan” STMIK TIME

Gambar

Gambar 2.2 Jalur Berupa Garis dan Jalur Berupa Dinding
Gambar 2.4 Modul AVR ATmega32
Gambar 2.5 Konfigurasi Pin ATmega32
Tabel 2.1 Fungsi Khusus Port B
+7

Referensi

Dokumen terkait

According to the Italian heating market, growth expectations and the national Renewable Energy Action Plan, Italy’s use of wood pellets is forecast to reach 5million metric tons

Figure 4 shows an example of result with the four intermediary feature classes generated by the clean-up parcels model with 0°, 90°, 45° and 135° orientation, 3 meter width

Pelaksanaan MUSRENBAN G yang terintegrasi Terlaksana nya Forum Musrenba ng yang terintegra si Persentase Perencanaan yang disusun tepat waktu Dokumen Perencanaan yang disusun

Peningkatan indeks harga yang dibayar petani sebesar 0,14 persen diakibatkan peningkatan indeks harga pada subkelompok konsumsi rumah tangga (IKRT) sebesar 0,39

Hal tersebut berbeda dengan urea molasses multinutrients block (UMMB) yang dibutuhkan pada ransum sapi. Nutrisi yang dikonsumsi sapi dengan penambahan UMMB sulit

Melalui CB, saya lebih terdorong untuk bertanya kepada orang yang saya anggap lebih tahu tentang sastra Indonesia. Melalui CD, saya lebih

(1) Seksi Kesehatan Hewan mempunyai tugas melakukan penyiapan bahan perencanaan, perumusan kebijakan teknis, pembinaan dan koordinasi serta pelaksanaan

[r]