Robot-dikonversi.docx

  • Uploaded by: tata
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Robot-dikonversi.docx as PDF for free.

More details

  • Words: 15,371
  • Pages: 100
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

TUGAS AKHIR

APLIKASI MODUL SENSOR KAMERA PADA ROBOT PENJEJAK WARNA Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro

Oleh: HARDY BOYFONDA DOKO NIM : 065114018

PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2011

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

FINAL PROJECT

CAMERA SENSOR MODULE APLICATION ON THE COLOR TRACKING ROBOT Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree In Electrical Engineering Study Program

HARDY BOYFONDA DOKO NIM : 065114018

ELECTRICAL ENGINEERING STUDY PROGRAM SCIENCE AND TECHNOLOGY FACULTY SANATA DHARMA UNIVERSITY YOGYAKARTA 2011

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

HALAMAN PERSETUJUAN TUGAS AKHIR APLIKASI MODUL SENSOR KAMERA PADA ROBOT PENJEJAK WARNA (CAMERA SENSOR MODULE APLICATION ON THE COLOR TRACKING ROBOT)

Oleh: Hardy Boyfonda Doko 065114018

Telah disetujui oleh:

Pembimbing

Tanggal: 22 Agustus 2011

Martanto S.T., M.T.

iii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

HALAMAN PENGESAHAN TUGAS AKHIR APLIKASI MODUL SENSOR KAMERA PADA ROBOT PENJEJAK WARNA (CAMERA SENSOR MODULE APLICATION ON THE COLOR TRACKING ROBOT) Oleh: HARDY BOYFONDA DOKO NIM: 065114018 Telah dipertahankan di depan panitia penguji pada tanggal 23 Agustus 2011 dan dinyatakan memenuhi syarat

Ketua

Susunan Panitia Penguji: Nama Lengkap : B. Wuri Harini ST., MT.

Sekertaris

: Martanto, ST., MT.

Anggota

: Damar Wijaya, ST., MT.

Tanda Tangan

Yogyakarta, Fakultas Sains dan Teknologi Universitas Sanata Dharma Dekan,

iv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

PERNYATAAN KEASLIAN KARYA Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya atau bagian orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.

Yogyakarta, 25 Agustus 2011

v

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

HALAMAN PERSEMBAHAN

Karya tulis ini ku persembahkan untuk: Tuhan Yesus Kristus atas berkatnya yang melimpah Kedua orang tuaku atas doa dan dukungan secara moral maupun materi Almamaterku Teknik Elektro Universitas Sanata Dharma

“Do the best, let GOD do the rest”

vi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertandatangan dibawah ini, saya mahasiswa Universitas Sanata Dharma:

Nama

: Hardy Boyfonda Doko

Nomor Induk Mahasiswa

: 065114018

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul:

APLIKASI MODUL SENSOR KAMERA PADA ROBOT PENJEJAK WARNA beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis. Demikian pernyataan ini yang saya buat dengan sebenarnya.

Yogyakarta, 25 Agustus 2011

vii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

INTISARI Penglihatan merupakan hal terpenting, karena hampir seluruh informasi yang diolah oleh otak manusia diperoleh dari pengelihatan. Pada jaman modern seperti sekarang robot mengalami perkembangan yang cukup pesat dalam kemampuan pengenalan citra. Sensor yang jarang ditemui adalah sensor kamera. Sensor ini dapat digunakan sebagai sensor penglihatan sehingga robot dapat melakukan proses pengenalan citra. Aplikasi modul sensor kamera pada robot penjejak warna terdiri dari sistem minimum ATmega32 yang berfungsi mengolah data yang dikirimkan oleh modul sensor kamera CMUCam3. Data yang diolah akan digunakan sebagai keputusan dalam pergerakan dari robot. Robot akan mencari dan mengambil bola dengan warna yang sesuai, lalu membuang bola sesuai warna gawang yang ditentukan. Aplikasi modul sensor kamera pada robot penjejak warna sudah berhasil dibuat dan dapat bekerja dengan baik. Sensor dapat mencari dan menemukan obyek yang memiliki warna merah atau biru. Robot juga dapat mengambil dan membuang bola pada gawang dengan warna hijau atau kuning. Presentase keberhasilan dari system ini adalah 87,5 %. Kata kunci: Robot, sensor kamera, CMUCam3, warna, ATmega32

viii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

ABSTRACT Vision is the most important thing, because almost of the information processed by human brain obtained from the vision. In the modern times like now, robot has developed quite rapidly in the image recognition ability. Sensors that are rarely found is the camera sensor. This sensors can be used as visual sensors so the robot can perform the image process. Camera sensor module application on the color tracking robot consist of ATmega32 minimum system which process data transmitted from the CMUCam3 camera sensor module. The processed data will be used as a decision in the movement of the robot. Robot will search and retrieve the ball with the appropriate color, then throw the ball to the goal specified by color. Camera sensor module application on the color tracking robot has been successfully made and can work well. Sensor can search and find the red or blue colored object. The robot can also retrieve and throw the ball to the goal with green or yellow color. Persentage success of this this system is 87,5 %. Keyword: Robot, camera sensor, CMUCam3, color, ATmega32

ix

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

KATA PENGANTAR Puji dan syukur penulis haturkan pada Tuhan Yesus Kristus, karena atas berkat dan karuniaNya penulis dapat menyelesaikan tugas akhir ini yang “APLIKASI MODUL SENSOR KAMERA PADA ROBOT PENJEJAK WARNA” Penulis menyadari mulai dari proses perancangan, pengujian alat dan proses penyusunan skripsi ini tidak dapat lepas dari bantuan, dorongan dan bimbingan berbagai pihak. Oleh karena itu dengan segala kerendahan hati, penulis mengucapkan terima kasih kepada: 1. Kedua orang tua tercinta dan seluruh keluargaku, terimakasih atas dukungan, perhatian dan kesabaran dalam mendidik penulis. 2. Bapak Yosef Agung Cahyanta S.T., M.T. selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma. 3. Bapak Martanto S.T., M.T., selaku dosen pembimbing yang menyumbangkan pemikiran, ide, tenaga dan memberikan saran serta kritik yang membantu dalam menyelesaikan tugas akhir ini dari awal hingga selesai. 4. Seluruh dosen dan laboran Teknik Elektro yang memberikan ilmu yang membantu selama perkuliahan. 5. Maria Ratna Puspita, terimakasih atas dukungan dan motivasinya. 6. Teman-teman Teknik Elektro angkatan 2006 dan semua pihak yang membantu dalam penulisan tugas akhir ini. Penulis menyadari dalam penulisan tugas akhir ini masih banyak kekurangan, kelemahan dan jauh dari sempurna. Oleh karena itu dengan segenap kerendahan hati, penulis mengharapkan kritik dan saran yang membangun untuk penyempurnaan tugas akhir ini, terima kasih. Yogyakarta, 25 Agustus 2011

x

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR ISI

HALAMAN JUDUL ...................................................................................................................... i TITLE PAGE ................................................................................................................................. ii LEMBAR PERSETUJUAN ........................................................................................................iii LEMBAR PENGESAHAN ......................................................................................................... iv LEMBAR PERNYATAAN KEASLIAN KARYA..................................................................... v HALAMAN PERSEMBAHAN DAN MOTTO HIDUP........................................................... vi LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ..................................................................................................vii INTISARI .................................................................................................................................. viii ABSTRACT ................................................................................................................................... ix KATA PENGANTAR ................................................................................................................... x DAFTAR ISI................................................................................................................................. xi DAFTAR GAMBAR ..................................................................................................................xiv DAFTAR TABEL ......................................................................................................................xvi BAB I .............................................................................................................................................. 1 PENDAHULUAN ......................................................................................................................... 1 1.1

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

1.2

Tujuan dan Manfaat Penelitian......................................................................................... 2

1.3

Batasan Masalah ............................................................................................................... 2

1.4

Metodologi Penelitian ...................................................................................................... 3

BAB II ............................................................................................................................................ 5 DASAR TEORI ............................................................................................................................. 5 2.1

CMUCam3 Embedded Vision Sensor.............................................................................. 5

2.1.1

Serial Command........................................................................................................ 6

2.1.2

Paket Data ................................................................................................................. 9

2.2

Robot .............................................................................................................................. 11

2.3

Gripper ........................................................................................................................... 11 xi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2.4

Mikrokontroler AVR ATmega32 ................................................................................... 12

2.4.1

Arsitektur AVR ATMega32.................................................................................... 12

2.4.2

Deskripsi Mikrokontroler ATMega32 .................................................................... 13

2.4.4

Timer/Counter ......................................................................................................... 15

2.4.5

INTERUPSI ............................................................................................................ 15

2.4.6

Komunikasi Serial USART (Universal Shynchronous Ashynchronous ................. 16

2.5

Liquid Crystal Display (LCD) ........................................................................................ 17

2.6

Motor Servo.................................................................................................................... 19

2.7

L298 Driver .................................................................................................................... 21

2.8

Three-Terminal Regulator .............................................................................................. 22

BAB III......................................................................................................................................... 24 RANCANGAN PENELITIAN .................................................................................................. 24 3.1

Perancangan Keseluruhan Sistem .................................................................................. 24

3.2

Perancangan Mekanik .................................................................................................... 25

3.3

Perancangan Elektronik.................................................................................................. 29

3.3.1

CMUCam3 .............................................................................................................. 29

3.3.1.a.

Komunikasi Serial ........................................................................................... 29

3.3.1.b.

Baudrate ........................................................................................................... 29

3.3.1.c. Fokus Kamera ..................................................................................................... 30 3.3.2

Perancangan Sistem Minimum ATmega32 ............................................................ 30

3.3.3

Rangkaian Konfigurasi Pin LCD 16x2 ................................................................... 33

3.3.4

Driver Motor L298 .................................................................................................. 35

3.3.5

Perancangan Regulator Tegangan ........................................................................... 35

3.4

Perancangan Software .................................................................................................... 36

3.4.1

Program Pengecekan Koneksi CMUCam3-Mikrokontroler ................................... 37

3.4.2

Pengaturan CMUCam3 ........................................................................................... 39

3.4.3

Program Pencarian obyek Warna............................................................................ 40

3.4.4

Proses Pengambilan Obyek Warna ......................................................................... 42

3.4.5 Proses Memasukan Obyek Warna Pada Gawang........................................................... 43

BAB IV ....................................................................................................................47 HASIL DAN PEMBAHASAN ..............................................................................47 xii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 4.1

Hasil Implementasi Alat ................................................................................................. 47

4.1.1

Analisa Keberhasilan Alat ...................................................................................... 48

4.1.2

CMUCam3 .............................................................................................................. 49

4.1.3

Driver L298 ............................................................................................................ 51

4.2

Data Pengujian Dan Pembahasan ................................................................................... 53

4.2.1

Pengujian Jarak Jangkauan Sensor ......................................................................... 53

4.2.2

Pengujian Besar Sudut Pandangan Sensor .............................................................. 56

4.2.3

Pengujian Variasi Warna ........................................................................................ 57

4.3

Analisa dan Pembahasan Perangkat Lunak .................................................................... 58

4.3.1

Menu Pemilihan Warna .......................................................................................... 58

4.3.2

Pengecekan Obyek warna ....................................................................................... 64

4.3.3

Sistem Pergerakan Robot ........................................................................................ 64

4.3.3.1 Gerakan Pencarian Bola ...................................................................................... 64 4.3.3.2 Gerakan Pencarian Warna Gawang..................................................................... 66

BAB V ...................................................................................................................... 67 KESIMPULAN DAN SARAN .............................................................................. 67 5.1

Kesimpulan..................................................................................................................... 67

5.2

Saran ............................................................................................................................... 67

DAFTAR PUSTAKA .................................................................................................................. 68 LAMPIRAN .............................................................................................................. L1

xiii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR GAMBAR Gambar 1. 1 Diagram Blok Sistem ................................................................................................. 4 Gambar 2. 1 Bentuk dari CMUCam3 Embedded Vision Sensor[6]................................................ 5 Gambar 2. 2 Format Paket Data Tipe F [4] .................................................................................... 9 Gambar 2. 3 Format Paket Tipe Data H [4] .................................................................................... 9 Gambar 2. 4 Format paket Data Tipe T [4] .................................................................................. 10 Gambar 2. 5 Format Paket Data Tipe S [4] .................................................................................. 10 Gambar 2. 6 Jenis Gripper Mekanik [9] ....................................................................................... 11 Gambar 2. 7 Konfigurasi Pin Mikrokontroller ATmega32[10].................................................... 13 Gambar 2. 8 Timing Diagram mode Fast PWM [10] ................................................................... 14 Gambar 2. 9 Timing Diagram mode Phase and Frequency Correct [10] .................................... 15 Gambar 2. 10 Kemasan Data Seri Asinkron [10] ......................................................................... 17 Gambar 2. 11 baris dan kolom karakter pada LCD 16x2 [12]...................................................... 18 Gambar 2. 12 Konfigurasi kaki LCD 16x2 [12] ........................................................................... 18 Gambar 2. 13 Pin-pin dan Pengkabelan pada motor servo [13] ................................................... 19 Gambar 2. 14 Sinyal PWM dan Posisi Servo Tipe Standar [13] .................................................. 20 Gambar 2. 15 Blok Diagram IC Driver L298 [14] ....................................................................... 21 Gambar 2. 16 Rangkaian Driver 1 Motor DC [14] ....................................................................... 22 Gambar 2. 17 Konfigurasi Kaki IC Regulator (78XX-Positif dan 79XX-Negatif) ...................... 23 Gambar 3. 1 Diagram Blok Keseluruhan Sistem .......................................................................... 24 Gambar 3. 2 Disain Mekanik Robot ............................................................................................. 26 Gambar 3. 3 Disain Mekanik Robot (Tampak Depan) ................................................................. 27 Gambar 3. 4 Disain Robot (Tampak Samping) ............................................................................ 27 Gambar 3. 5 Disain Robot (Tampak Belakang)............................................................................ 28 Gambar 3. 6 Denah Ruangan ........................................................................................................ 28 Gambar 3. 7 Pengkabelan Komunikasi Serial Cmucam3-Mikrokontroler ................................... 29 Gambar 3. 8 Lensa CMUCam3 .................................................................................................... 30 Gambar 3. 9 Rangkaian Osilator [10] ........................................................................................... 31 Gambar 3. 10 Rangkain Reset ....................................................................................................... 32 Gambar 3. 11 Rangkaian Sistem Minimum .................................................................................. 33 xiv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Gambar 3. 12 Konfigurasi Kaki Pada Mikrokontroler ................................................................. 34 Gambar 3. 13 Rangkaian LCD 16x2............................................................................................. 34 Gambar 3. 14 Rangkaian Driver L298 [14] .................................................................................. 35 Gambar 3. 15 Rangkaian Regulator Tegangan 5V [17] ............................................................... 35 Gambar 3. 16 Rangkaian Regulator Tegangan 6V [17] ............................................................... 36 Gambar 3. 17 Flowchart Keseluruhan Sistem .............................................................................. 37 Gambar 3. 18 Flowchart Pengecekan Koneksi............................................................................. 38 Gambar 3. 19 Flowchart Pengaturan Cmucam3 ........................................................................... 39 Gambar 3. 20 Flowchart Proses Pencarian Obyek Warna ........................................................... 41 Gambar 3. 21 Flowchart Proses Pengambilan Obyek Warna ...................................................... 42 Gambar 3. 22 Gerakan Mengangkat Bola .................................................................................... 43 Gambar 3. 23 Contoh Arah Pergerakan Robot Putar Kiri ............................................................ 45 Gambar 3. 24 Proses Memasukkan Bola ke dalam Gawang ........................................................ 46 Gambar 4. 1 Bentuk Fisik Robot (Tampak Depan) ...................................................................... 47 Gambar 4. 2 Bentuk Fisik Robot (Tampak Belakang) ................................................................. 47 Gambar 4. 3 Modul Sensor Kamera CMUCam3 .......................................................................... 49 Gambar 4. 4 Sistem Minimum ATmega32 ................................................................................... 50 Gambar 4. 5 Rangkaian LCD 16x2 dan Keypad........................................................................... 50 Gambar 4. 6 Dua Buah Motor Penggerak dan Gripper ................................................................ 50 Gambar 4. 7 Rangkaian Driver L298 ........................................................................................... 51 Gambar 4. 8 Rangkaian Regulator Tegangan ............................................................................... 52 Gambar 4. 9 Pengujian Luas Pandangan Sensor .......................................................................... 56 Gambar 4. 10 Data yang diterima dengan pengaturan warna yang dicari secara manual ("ST"). 59 Gambar 4. 11 Data yang diterima dengan pengaturan warna yang dicari secara otomatis ("TW") ....................................................................................................................................................... 59 Gambar 4. 12 Proses pengambilan Warna Yang Akan Dicari ...................................................... 60 Gambar 4. 13 Data RGB Yang Akan dipakai ............................................................................... 61 Gambar 4. 14 Tampilan Menu Pada LCD 16x2 ........................................................................... 61 Gambar 4. 15 Pengecekan Data Warna Yang Dikirim Menggunakan perintah "GT".................. 62

xv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR TABEL

Tabel 2. 1 Register internal Sensor CMUCam3 [4] ........................................................................ 6 Tabel 2. 2 Mode dan tipe pada Line Mode [4] ................................................................................ 7 Tabel 2. 3 Alamat Vektor Interupsi AtMega32 [10]..................................................................... 16 Tabel 2. 4 Pengaturan UBRR [10] ................................................................................................ 17 Tabel 2. 5 Konfigurasi kaki LCD 16x2 [12] ................................................................................. 18 Tabel 2. 6 Regulator Tegangan Positif Seri 78XX [16]................................................................ 23 Tabel 3. 1 Konfigurasi PORT MIkrokontroler yang akan digunakan .......................................... 32 Tabel 3. 2 Pemberian Pulsa PWM dalam Pergerakan Robot........................................................ 45 Tabel 4. 7 Pengujian Tingkat Keberhasilan .................................................................................. 48 Tabel 4. 1 Pengujian Rangkaian Driver L298 .............................................................................. 51 Tabel 4. 2 Output tegangan Dari Rangkaian Regulator 5 volt dan 6 volt ..................................... 53 Tabel 4. 3 Pengujian Jarak jangkauan Sensor Untuk Bola Warna Biru ....................................... 54 Tabel 4. 4 Pengujian Jarak Jangkauan Sensor Untuk Bola Warna Merah .................................... 54 Tabel 4. 5 Data Pengujian Besar Sudut Pandang CMUCam3 ...................................................... 56 Tabel 4. 6 Data Pengujian Variasi Warna ..................................................................................... 57

xvi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB I PENDAHULUAN 1.1 Latar Belakang Penglihatan merupakan hal yang terpenting dari salah satu dari lima panca indera yang dimiliki manusia. Hampir seluruh informasi yang diolah oleh otak manusia diperoleh dari penglihatan. Dengan penglihatan manusia dapat melakukan apa saja, antara lain melihat benda-benda, mengidentifikasi banyak wajah, obyek, warna, angka, dan kata. Di saat manusia sedang melakukan sebuah aktifitas, manusia sangat dimudahkan oleh pengelihatan. Pada jaman modern seperti sekarang ini, istilah robot sudah tidak asing lagi terdengar. Robot dalam perkembangannya sekarang sudah digunakan dalam membantu beberapa pekerjaan manusia. Dua jenis robot yang digolongkan berdasarkan proses kendali yaitu robot yang dikendalikan secara manual dan otomatis (teleoperated and autonomous) [1]. Robot otomatis (autonomous robot) bergerak berdasarkan masukan dari sensor-sensor. Beberapa macam sensor yang biasa digunakan dalam robot adalah sensor jarak, sensor keberadaan, dan limit switch sensor. Salah satu sensor yang jarang digunakan yaitu sensor kamera. Sensor kamera dapat digunakan sebagai indra penglihatan pada sebuah robot. Saat ini robot yang menggunakan sensor kamera diaplikasikan hanya untuk mengikuti arah pergerakan satu macam warna. Kegiatan robot hanya terbatas pada mengikuti warna saja [2]. Pada perlombaan robot, khususnya yang selalu diadakan setiap tahun oleh Direktoral Jendral Pendidikan Tinggi (DIKTI), perkembangan teknologi robot terus meningkat. Ini dikarenakan tantangan yang diberikan oleh pihak penyelenggara terus berubah dan menuntut mahasiswa untuk mengembangkan teknologi yang sudah ada. Pada tahun 2010, robot sudah dituntut agar dapat memiliki kemampuan pengenalan citra (image) [3]. Hal ini dibutuhkan karena pada Kontes Robot Cerdas Indonesia (KRCI) 2010 divisi Battle, robot dituntut untuk mengambil bola dengan warna-warna tertentu. Berdasarkan hal di atas, penulis ingin membuat sebuah aplikasi dari sensor kamera yang digunakan pada sebuah robot otomatis yang selain dapat mengikuti warna, robot juga dapat mengambil benda berdasarkan warna. Sistem ini menggunakan sebuah sensor warna berupa kamera. Sensor yang digunakan adalah modul sensor CMUCam. CMUCam dapat mendeteksi

1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2

berbagai macam variasi warna, dengan 3 kanal warna yang digunakan untuk mendeteksi warna. Kanal merah (red channel), kanal hijau (green channel), dan kanal biru (blue channel), yang masing-masing kanal hanya sensitif terhadap cahaya warna tersebut [4]. Dengan sensor ini, robot dapat memperkirakan jarak benda dan keberadaan benda tanpa menggunakan sensor keberadaan benda seperti PING atau Proximity sensor. Jarak pandang dalam mendeteksi warna juga lebih jauh daripada sebuah sensor warna seperti TCS3200 [5]. Dari penelitian ini, robot diharapkan dapat lebih tepat dalam membedakan benda dan juga mengambil benda tersebut berdasarkan perbedaan warna.

1.2 Tujuan dan Manfaat Penelitian Penelitian ini bertujuan untuk menghasilkan sebuah robot yang dapat mendeteksi, membedakan, dan mengambil benda berupa bola dengan warna yang sudah ditentukan. Manfaat dari penelitian ini adalah untuk perkembangan teknologi robotika di Universitas Sanata Dharma Yogyakarta. Selain itu manfaat yang lain adalah dapat dikembangkan untuk diaplikasikan ke bidang lain selain robotika di kemudian hari.

1.3 Batasan Masalah Pada penelitian ini, sebuah mobile robot akan diimplementasikan agar dapat membedakan 2 buah warna bola menggunakan sensor kamera. Robot dapat mengambil bola sesuai dengan warna yang sudah ditentukan. Batasan masalah dalam penelitian ini adalah: a. Sensor kamera yang digunakan adalah sensor CMUCam yang berkomunikasi serial Universal

Syncronous

Asyncronous

Receiver/Transmiter

(USART)

dengan

mikrokontrolerer keluarga AVR. b. Data yang akan diolah mikrokontroler merupakan output dari modul sensor CMUCam dengan komunikasi seperti disebutkan pada poin a. c. Warna yang dipakai adalah biru dan merah untuk warna bola, jingga dan hijau untuk warna gawang, dan hitam untuk warna lantai dan dinding. d. Bola yang akan digunakan adalah bola ping-pong. e. Menggunakan lengan gripper untuk mencengkeram bola dan memasukkan ke dalam bak yang terdapat pada bagian belakang robot dengan mengangkat lengan ke atas robot.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3

f. Setelah bola dimasukkan ke dalam bak dan robot tidak menemukan bola lagi, mekanisme selanjutnya dilakukan secara manual. g. Robot yang akan dirancang berupa mobile robot. h. Sistem pergerakan menggunakan 2 buah motor DC berupa differential steering.

1.4 Metodologi Penelitian Metode yang digunakan untuk menyelesaikan tugas akhir ini terdiri dari beberapa aspek yang meliputi pendefinisian sistem, perencanaan, implementasi, pengujian, analisa, dan pengambilan kesimpulan. a. Pendefinisian Sistem Pendefinisian sistem memuat konsep dan sistem dasar yang berhubungan dengan masalah perancangan alat yang akan dibuat. Pendefinisian ini diperoleh dengan studi literatur untuk mencari dan mengumpulkan referensi dari buku penunjang, datasheet, dan buku manual untuk mendukung pembuatan tugas akhir. Pada tahap ini penulis juga akan mempelajari karakteristik modul sensor kamera, mikrokontroler keluarga AVR dari ATMEL, sistem otomatis mobile robot dengan differential steering, komunikasi serial USART, dan sistem mekanik pada lengan pencengkram (gripper). b. Perencanaan Perencanaan ini dimaksudkan untuk memperoleh perancangan aplikasi sensor kamera dengan menggunakan sensor CMUCam pada robot penjajak warna. Rancangan tersebut meliputi hardware dan software. Rancangan hardware menentukan rangkaian elektronis apa saja yang akan digunakan dalam robot. Perencanaan hardware juga dilakukan untuk merancang

sistem mekanik robot, baik dalam sistem pergerakan robot dan sistem lengan robot yang menjadi salah satu bagian penting dari robot. Untuk menjalankan sistem, diperlukan rancangan software untuk menentukan desain aplikasi yang akan digunakan. Gambar 1.1 menunjukkan diagram blok dari sistem yang akan dibuat. Sensor kamera akan mendeteksi letak bola dengan warna yang sesuai dengan yang telah ditentukan sebelumnya, lalu informasi akan dikirimkan dari sensor kamera ke

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 4

mikrokontroler dengan komunikasi serial USART. Data yang diterima akan diolah mikrokontroler untuk mengendalikan arah pergerakan robot dengan mengatur arah putaran dan kecepatan motor kanan dan motor kiri. Jika data yang diterima mikrokontroler sudah sesuai, maka lengan gripper akan bekerja untuk mengambil bola ping-pong yang ada di depan robot. Power supply yang digunakan merupakan 2 buah sumber terpisah yang akan digunakan sebagai sumber daya untuk membuat sistem dapat bekerja.

SENSOR KAMERA

Warna

USART

Gripper

Mikrokontroler

Motor Kiri dan Kanan

Gambar 1. 1 Diagram Blok Sistem

c. Implementasi Implementasi adalah merealisasikan rancangan sistem yang telah dibuat dalam perencanaan awal. Kegiatan ini meliputi pembuatan mekanik robot, pembuatan rangkaian elektronik baik dalam layout PCB, maupun pembuatan dalam bentuk PCB yang sudah terpasang komponen dan pembuatan program untuk menjalankan robot.

d. Pengujian dan Pengukuran Pengujian dilakukan dengan mengambil data dari variabel yang berpengaruh terhadap kerja sistem. Variabel yang digunakan dalam pengujian robot ini berupa jarak, intensitas cahaya, variasi warna, dan tingkat keberhasilan proses pengambilan obyek warna. e. Analisa dan Pengambilan Kesimpulan Analisa dan pengambilan kesimpulan dilakukan dengan mengacu pada data yang diperoleh dan dari tingkat keberhasilan robot dalam membedakan obyek warna dan mengambil obyek warna.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB II DASAR TEORI Bab ini akan membahas tentang dasar teori dari penelitian yang akan dibuat meliputi cara kerja CMUCam3 sebagai modul sensor kamera, robot, lengan robot (gripper), regulator tegangan, Mikrokontroler ATmega32, komunikasi USART, LCD, Driver L298 dan Motor Servo.

2.1

CMUCam3 Embedded Vision Sensor CMUCam3 adalah sebuah programmable embedded computer vision sensor yang

berbasis ARM7TDMI [6]. Prosesor utama dari sensor ini adalah Philips LPC2106 yang terhubung pada sebuah modul sensor kamera Omnivision CMOS. Gambar 2.1 merupakan bentuk dari CMUCam3.

Gambar 2. 1 Bentuk dari CMUCam3 Embedded Vision Sensor[6]

CMUCam3 memiliki beberapa fitur di antara seperti: 1. Resolusi sensor warna 352x288. 2. Open source untuk dikembangankan pada Windows dan Linux 3. Support terhadap driver FAT16 dan memiliki MMC Flash Slot 4. Empat port motor servo 5

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 6

5. Memuat gambar ke dalam memori dengan 26 frame per detik 6. CMUCam2 Emulaition digunakan agar CMUCam3 dapat digunakan seperti CMUCam2.

2.1.1 Serial Command Beberapa parameter yang digunakan dalam komunikasi serial pada sensor [4]: 1. Baudrate yang digunakan 1200 – 115200 2. Lebar data 8 bit 3. Memiliki 1 stop bit 4. No parity 5. No Flow Control (Not Xon/Xoff or Hardware) Semua perintah menggunakan karakter ASCII (123 merupakan 3 bytes “123”). Saat pengiriman perintah berhasil, sistem akan memberikan tanda ACK bahwa perintah dikenali, dan jika terjadi error maka sistem akan memberikan tanda NCK bahwa perintah gagal. Terdapat perintah-perintah yang dapat digunakan beberapa di antara adalah sebagai berikut: 1. GV (Get Version) Perintah ini digunakan untuk mengetahui versi dari firmware dan versi modul kamera dari kamera. 2. RS (ReSet) Perintah ini digunakan untuk membuat modul sensor dalam kondisi reset. 3. CR (Camera internal Register) Tabel 2.1 merupakan perintah yang digunakan untuk mengatur kamera. Tabel 2. 1 Register internal Sensor CMUCam3 [4]

5 6 18

Register Contrast Brightness Color Mode

Nilai Efek 0-255 0-255 36 YCrCb auto white balance ON 34 YCrCb auto white balance OFF 44 RGB auto white balance ON 40 *RGB auto white balance ON

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 7

Tabel 2. 1 (Lanjutan) Register internal Sensor CMUCam3 [4]

Register

17

Clock Speed

19

Auto Exposure

Nilai 0 1 2 3 4 5 6 7 8 10 32 33

Efek *50 fps 26 fps 17 fps 13 fps 11 fps 9 fps 8 fps 7 fps 6 fps 5 fps Auto gain OFF *Auto gain ON

*kondisi default.

4. LM (Line Mode) LM merupakan perintah untuk mengaktifkan Line Mode yang mengirim data detil sebuah gambar. Beberapa tipe dan mode pada Line Mode yang diaplikasikan pada fungsi pemrosesan gambar yang berbeda-beda diperlihatkan pada Tabel 2.2. Tabel 2. 2 Mode dan tipe pada Line Mode [4]

Tipe Mode Perintah yang berpengaruh TC TW 0 0 TC TW 0 1 0

2

TC TW

1 1

0 1

GM GM

Deskripsi

Default, saat Line Mode tidak diaktifkan Mengirim binary image dari pixel yang sedang diikuti. Mengirim rata-rata, min, max, confidence, dan jumlah garis horizontal dari gambar yang diikuti. Default, saat Line Mode tidak diaktifkan Mengirim nilai rata-rata untuk setiap garis pada gambar

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8

Tabel 2. 2 (Lanjutan) Mode dan tipe pada Line Mode [4]

Tipe 1

Mode Perintah yang berpengaruh GM 2

2 2

0 1

FD FD

2

2

FD

2

3

LF FD

Deskripsi Mengirim nilai rata-rata dan deviasi untuk setiap garis pada gambar Default, saat Line Mode tidak diaktifkan Mengembalikan bitmap dari pixel yang diikuti, sama seperti tipe 0 mode 0 pada TC Mengirim perbedaan diantara pixel gambar yang sedang diikuti dengan gambar yang tersimpan. Memperoleh nilai rata-rata aktual setiap elemen dari differenced frame.

5. ST (Set Track command) Perintah ini digunakan untuk mengatur parameter warna yang akan diikuti. 6. TC (Track Color) Perintah ini digunakan untuk memulai mengikuti warna. Perintah TC menampilkan nilai maksimum dan minimum Red-Green-Blue (RGB) dan keluarannya berupa paket data tipe T. 7. TW (Track Window) Perintah ini digunakan untuk mengikuti warna yang ditemukan pada area tengah dari window yang telah ditentukan. 8. GT (Get Tracking parameters) Perintah ini digunakan untuk mendapatkan nilai parameter yang digunakan. Ini digunakan untuk mengetahui warna apa yang sedang diikuti. 9. PM (Pool Mode) Saat Pool Mode diatur menjadi 0, paket data yang dikeluarkan terus-menerus secara kontinyu. Jika Pool Mode diatur menjadi 1, maka hanya 1 paket data yang dikeluarkan. 10. SV (SerVo position) SV digunakan untuk memberikan perintah posisi kepada salah satu dari 4 motor servo. Setiap motor servo memiliki rentang pemberian nilai antara 46-210 agar dapat

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 9

bergerak dari sudut 0-90 derajat (rentang derajat tergantung tipe motor servo). Nilai 128 merupakan titik tengah dari pergerakan motor servo dan merupakan pulsa PWM dengan pulsa HIGH 1500us.

2.1.2 Paket Data a. ACK ACK merupakan string standar yang mengindikasikan bahwa perintah telah diterima dan merupakan perintah yang dikenal. b. NCK NCK merupakan failure string yang dikirimkan pada saat terjadi error. c. Format paket data Tipe F Format paket data tipe F ditunjukkan pada Gambar 2.2.

12rgbrgb…rgbrgb2rgbrgb…rgbrgb3 Gambar 2. 2 Format Paket Data Tipe F [4] Angka 1 adalah new frame, 2 adalah new row, dan 3 adalah end of frame. Nilai REDGREEN-BLUE (RGB) memiliki rentang 16-240. RGB menunjukkan nilai 2 pixel warna. Masing-masing pixel memiliki merah dan biru. d. Format paket data Tipe H Format paket data tipe H ditunjukkan pada Gambar 2.3.

H bin0, bin1, bin2, bin3, …, bin26, bin27 /r Gambar 2. 3 Format Paket Tipe Data H [4] Paket data ini merupakan hasil dari pemanggilan perintah get histogram (GH). Setiap bin memiliki nilai 8 bit yang mewakili urutan pixel dari 16-240. Bin0 – number of pixel between 16-23 Bin1 – number of pixel between 24-31 . Bin2 – number of pixel between 232-240 e. Format paket data Tipe T Format paket data tipe T ditunjukkan pada Gambar 2.4.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 10

T mx my x1 y1 x2 y2 pixels confidence \r Gambar 2. 4 Format paket Data Tipe T [4] Paket data ini merupakan hasil dari perintah color tracking dan frame differencing. mx – the middle of mass x value my – the middle of mass y value x1 – the left most corner’s x value y1 – the left most corner’s y value x2 – the right most corner;s x value y2 – the right most corner’s y value pixels – number of pixels in the tracked region, scaled and capped at 255:(pixels+4)/8 confidence – the (number of pixels/area)*256 of the bounded rectangle and capped at 255.

f. Format paket data Tipe S Format paket data tipe S ditunjukkan pada Gambar 2.5.

S Rmean Gmean Bmean Rdeviation Gdeviation Bdeviation \r Gambar 2. 5 Format Paket Data Tipe S [4] Paket data ini merupakan paket data statistik yang memberikan informasi mengenai pandangan yang diperoleh kamera. Rmean – the mean Red or Cy (approximates r-g) value in the current window Gmean – the mean Green or Y (approximates intensity) value in the current window Bmean – the mean Blue or Cb (approximates b-g) value in the current window Rdeviation – the deviation of Red or Cy found in the current window Gdeviation – the deviation of Green or Y found in the current window Bdeviation – the deviation of Blue or Cb found in the current window Deviation adalah rata-rata dari beda absolut antara pixel dan area rata-rata.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 11

2.2

Robot Kata robot berasal dari bahasa Czech, robota, yang berarti pekerja [7]. Kata robot

diperkenalkan dalam bahasa Inggris pada tahun 1921 oleh Wright Karel Capek. Robot adalah mesin hasil rakitan manusia yang bisa berkerja tanpa mengenal lelah. Ada beberapa cara sistem pergerakan robot (robot locomotion), di antaranya adalah sistem robot berjalan (walker) yang menggunakan kaki seperti pada hexapod, ataupun pada robot-robot humanoid yang berkaki dua (bipedal). Salah satu jenis yang paling sering digunakan adalah mobile robot. Mobile robot adalah jenis robot yang pergerakannya menggunakan roda seperti layaknya sebuah mobil, walaupun hanya menggunakan dua roda saja [8].

2.3

Gripper Gripper digunakan untuk menggenggam dan menahan objek [9]. Komponen yang akan

dipindahkan oleh robot dapat berupa kertas, botol, bahan mentah dan peralatan-peralatan lain. Menurut jumlah peralatan penggenggam dan penahan, gripper dapat diklasifikasikan menjadi dua, yaitu: gripper tunggal dan gripper ganda, masing masing memiliki kelebihan dan kekurangan sesuaidengan tujuan dari sistem robot. Gripper tunggal diartikan bahwa hanya ada satu peralatan untuk menggenggam dan menahan yang dipasang pada wrist. Gripper ganda diartikan bahwa ada dua peralatan yang berfungsi sebagai penggenggam dan penahan objek yang dipasang pada wrist.

Gambar 2. 6 Jenis Gripper Mekanik [9]

Ada 3 jenis gripper yang dikenal seperti gripper mekanik, gripper vacuum dan gripper magnetic. Gambar 2.6 merupakan salah satu contoh jenis dari gripper. Gripper mekanik didesain

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 12

untuk menggenggam dan menahan objek dengan memberikan kontak pada objek. Biasanya menggunakan finger/jari mekanik yang disebut dengan jaws. Finger ini dapat dilepas dan dipasang sehingga sangat fleksibel pemakaiannya. Sumber tenaga yang berikan pada gripper ini bisa berupa pneumatik, hidrolik, dan elektrik.

2.4

Mikrokontroler AVR ATmega32 Alf and Vegard’s Risc Prosessor (AVR) merupakan seri mikrokontroler CMOS 8-bit

yang diproduksi oleh Atmel berbasis arsitektur RISC (Reduced Instruction Set Computer) [10]. Chip AVR yang digunakan untuk tugas akhir ini adalah Atmega32. Hampir semua instruksi dieksekusi dalam satu siklus clock dan mempunyai 32 register general-purpose, timer/counter fleksibel dengan mode compare, interupsi internal dan eksternal, serial USART, programmable Watchdog Timer, dan mode power saving. Beberapa di antaranya mempunyai ADC dan PWM internal. AVR juga mempunyai In-System Programmable (ISP) Flash on-chip yang mengijinkan memori program untuk diprogram ulang dalam sistem yang menggunakan hubungan serial SPI.

2.4.1 Arsitektur AVR ATMega32 Mikrokontroler Atmega32 memiliki arsitektur sebagai berikut: a. Saluran IO sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D. b. ADC 10 bit sebanyak 8 Channel. c. Tiga buah Timer/Counter yaitu Timer0, Timer1, dan Timer2. d. Watchdog Timer dengan osilator internal. e. SRAM sebanyak 512 byte. f. Memori Flash sebesar 32 kb. g. Sumber Interupsi internal dan eksternal. h. Port SPI (Serial Peripheral Interface) i. EEPROM on board sebanyak 512 byte j. Analog Comparator k. Port USART

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 13

2.4.2 Deskripsi Mikrokontroler ATMega32 Konfigurasi pin Mikrokontroller ATmega32 dengan kemasan 40-pin dapat dilihat pada Gambar 2.7.

Gambar 2. 7 Konfigurasi Pin Mikrokontroller ATmega32[10]

Port A berfungsi sebagai input analog pada A/D Konverter. Port A juga berfungsi sebagai suatu Port I/O 8-bit dua arah. Port B, Port C, Port D adalah suatu Port I/O 8-bit dua arah dengan resistor pull-up internal. Pada rangkaian RESET terdapat waktu pengosongan kapasitor yang dapat dihitung dengan persamaan 2.1. =

×

(2.1)

dengan T adalah waktu, R adalah resistor, dan C adalah kapasitor.

2.4.3 Timer/Counter Mikrokontroler menyediakan fasilitas pewaktuan sebanyak tiga buah yang diberi nama Timer/Counter, yaitu Timer/Counter 0 dan 2 yang terdiri dari 8 bit dan Timer/Counter 1 yang terdiri dari 16 bit. Register yang digunakan oleh Timer/Counter adalah TCNTn sebagai register penyimpan nilai dari Timer/Counter. Output Compare Register (OCRn) merupakan register pembanding. Nilai OCRn sama dengan TCNTn maka terjadi Compare Match. Pengaturan Timer/Counter 0, Timer/Counter 1 dan Timer/Counter 2 dilakukan melalui register Timer/Counter Control Register (TCCRn). Waveform Generation Mode (WGM) berfungsi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 14

untuk mengendalikan kenaikan dari pencacah pada register TCNTn, menentukan sumber dari nilai maksimal (top) dari pencacah dan tipe timer yang akan digunakan. Beberapa mode yang dapat digunakan pada masing-masing Timer/Counter yaitu mode Normal, mode Fast PWM, Phase and Frequency Correct PWM, dan Clear Timer Compare (CTC). Setiap mode memiliki fungsi yang berbeda dan digunakan sesuai kebutuhan. Mode Fast PWM merupakan salah satu mode yang dapat digunakan sebagai pengatur kecepatan putaran motor karena dapat menghasilkan pulsa PWM. Kecepatan motor dapat dirubah dengan mengatur lebar pulsa kerja atau duty cycle pada pulsa PWM yang dihasilkan. Gambar 2.8 merupakan timing diagram dengan beberapa keadaan yang dapat dihasilkan oleh Timer/Counter.

Gambar 2. 8 Timing Diagram mode Fast PWM [10]

Selain mode Fast PWM ada satu lagi yaitu mode Phase and Frequency Correct PWM. Mode Phase and Frequency Correct PWM memiliki cara operasi cacahan register TCNTx menggunakan dual slope (dua arah cacahan/bolak-balik). TCNTx mencacah dari BOTTOM 0x0000 (16bit) counting up hingga mencapai TOP kemudian counting down hingga BOTTOM dan seterusnya. Dalam mode non-inverting saluran keluaran PWM pin OCnx clear pada saat compare match (TCNTx=OCRx) ketika counting up dan set pada saat compare match ketika counting down. Timing Diagram dapat dilihat pada Gambar2.9.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 15

Gambar 2. 9 Timing Diagram mode Phase and Frequency Correct [10]

Waktu peng-update-tan register OCRnx disangga (buffer) sehingga berakibat pada pulsa awal peng-update-tan menjadi simetrik. Pada mode phase correct PWM pulsa pada saat update terjadi tidak simetrik tetapi untuk selanjutnya pulsanya menjadi simetrik (normal). Untuk timer/counter1 rumus yang berlaku untuk mendapatkan nilai frekuensi pulsa PWM dapat diperoleh dengan persamaan 2.2. =

. . adalah frekuensi OCnx dengan mode Phase and Frequency Correct

dengan PWM,

(2.2)

_/

_ /

adalah frekuensi dari clock yang digunakan,

adaah nilai ICRn, dan

adalah prescaler (1, 8, 64, 256, 1024)

2.4.4 INTERUPSI ATMega32 menyediakan 21 macam sumber interupsi yang masing-masing memiliki alamat program vector interupsi seperti pada Tabel 2.3. Setiap interupsi yang aktif akan dilayani segera setelah terjadi permintaan interupsi. Jika di dalam waktu bersamaan terjadi lebih dari satu interupsi, maka prioritas yang akan diselesaikan lebih dulu adalah interupsi yang memiliki nomor urut lebih kecil sesuai pada Tabel 2.3.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 16 Tabel 2. 3 Alamat Vektor Interupsi AtMega32 [10]

No. Vektor 1.

Alamat Sumber Interupsi Program 0x000 RESET

2. 3. 4. 5. 6. 7. 8. 9.. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.

0x001 0x002 0x003 0x004 0x005 0x006 0x007 0x008 0x009 0x00A 0x00B 0x00C 0x00D 0x00E 0x00F 0x010 0x011 0x012 0x013 0x014

INT0 INT1 TIMER2 COMP TIMER2 OVF TIMER1 CAPT TIMER1 COMPA TIMER1 COMPB TIMER1 OVF TIMER0 OVF SPI, STC USART, RXC USART, UDRE USART, TXC ADC EE_RDY ANA_COMP TWI INT2 TIMER0 COMP SPM_RDY

Keterangan External Pin, Power-on, Reset, Brown-out Reset and Watchdog Reset External Interrupt Request 0 External Interrupt Request 1 Timer/Counter2 Compare Match Timer/Counter2 Overflow Timer/Counter1 Capture Event Timer/Counter1 Compare Match A Timer/Counter1 Compare Match B Timer/Counter1 Overflow Timer/Counter0 Overflow Serial Transfer Complete USART, Rx Complete USART Data Register Empty USART, Tx Complete ADC Conversion Complete EEPROM Ready Analog Comparator Two-wire Serial Interface External Interrupt Request 2 Timer/Counter0 Compare Match Store Program Memory Ready

2.4.5 Komunikasi Serial USART USART adalah salah satu mode komunikasi yang dimiliki oleh ATMega32. USART merupakan komunikasi yang memiliki fleksibilitas tinggi yang dapat digunakan untuk melakukan transfer data baik antar mikrokontroler maupun PC. USART memungkinkan transmisi data baik secara asynchronous maupun synchronous pada ATMega32. Secara umum pengaturan kedua mode adalah sama, perbedaannya hanyalah terletak pada sumber clock saja. Untuk mengatur mode dan prosedur komunikasi USART dilakukan melalui register USART Control and Status Register A (UCSRA), USART Control and Status Register B (UCSRB), USART Control and Status Register C (UCSRC), USART

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 17

Baudrate Register High and Low (UBRRH-UBRRL), dan USART Data Register (UDR). Kemasan data seri asinkron dapat dilihat pada Gambar 2.10.

Gambar 2. 10 Kemasan Data Seri Asinkron [10]

Penggunaan komunikasi USART perlu diperhatikan penggunaan UBRR karena dengan akan berhubungan dengan error dalam pengiriman data. Tabel 2.4 berikut menunjukkan nilai beberapa nilai error dengan frekuensi osilator pada mikrokontroler sebesar 8MHz. Tabel 2. 4 Pengaturan UBRR [10] Baudrate (bps) 2400 4800 9600 14.4K 19.2K 28.8K 38.4K 57.6k 76.8k 115.2k

2.5

= , U2X=0 U2X=1 UBRR Error UBRR Error 207 0.2% 416 -0.1% 103 0.2% 207 0.2% 51 0.2% 103 0.2% 34 -0.8% 68 0.6% 25 0.2% 51 0.2% 16 2.1% 34 -0.8% 12 0.2% 25 0.2% 8 -3.5% 16 2.1% 6 -7.0% 12 0.2% 3 8.5% 8 -3.5%

Liquid Crystal Display Terdapat 2 jenis Liquid Crystal Display (LCD) yaitu LCD karakter dan LCD grafik.

LCD karakter adalah LCD yang tampilannya terbatas pada tampilan karakter, khususnya karakter ASCII (seperti karakter-karakter yang tercetak pada keyboard komputer). Sedangkan LCD Grafik adalah LCD yang tampilannya tidak terbatas, bahkan dapat menampilkan foto. LCD Grafik inilah yang terus berkembang seperti layar LCD yang biasa dilihat di notebook/laptop.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 18

Jenis LCD karakter yang beredar di pasaran biasa dituliskan dengan bilangan matriks dari jumlah karakter yang dapat dituliskan pada LCD tersebut, yaitu jumlah kolom karakter dikali jumlah baris karakter. Sebagai contoh, LCD16x2, artinya terdapat 16 kolom dalam 2 baris ruang karakter, yang berarti total karakter yang dapat dituliskan adalah 32 karakter seperti terlihat pada Gambar 2.11.

Gambar 2. 11 baris dan kolom karakter pada LCD 16x2 [12]

Untuk dapat mengendalikan LCD karakter dengan baik, tentu perlu koneksi yang benar. Koneksi yang benar dapat diwujudkan dengan cara mengetahui pin-pin antarmuka yang dimiliki oleh LCD karakter tersebut. LCD karakter yang beredar di pasaran memiliki 16 pin antarmuka seperti pada Gambar 2.12 dan keterangan untuk urutan kaki pada Tabel 2.5.

Gambar 2. 12 Konfigurasi kaki LCD 16x2 [12]

Tabel 2. 5 Konfigurasi kaki LCD 16x2 [12] Nomor PIN 1 2 3 4 5 6 7 8 9 10 11

PIN VSS VDD Vo RS R/W EN DB0 DB1 DB2 DB3 DB4

Keterangan GND 5V Kontras Read / Write Enable Data 0 Data 1 Data 2 Data 3 Data 4

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 19 12 DB5 Data 5 13 DB6 Data 6 Tabel 2. 5 (Lanjutan) Konfigurasi kaki LCD 16x2 [12] Nomor PIN 14 15 16

PIN DB7 -

Keterangan Data 7 -

Ada dua jenis antarmuka yang dapat digunakan dalam mengendalikan LCD karakter yaitu 4 bit dan 8 bit. Dalam 4 bit antarmuka hanya membutuhkan empat pin data komunikasi data paralel, DB4 (pin 11) – DB7 (pin14), yang dikoneksikan dengan mikrokontroler.

2.6

Motor Servo Motor servo adalah motor yang mampu bekerja dua arah, clockwise (CW) dan counter

clockwise (CCW) [13]. Arah dan sudut pergerakan rotornya dapat dikendalikan hanya dengan memberikan pengaturan duty cycle sinyal PWM pada bagian pin kontrolnya. Motor Servo merupakan sebuah motor DC yang memiliki rangkaian kontrol elektronik dan internal gear untuk mengendalikan pergerakan dan sudut putarannya. Motor servo adalah motor yang berputar lambat, biasanya ditunjukkan oleh rate putarannya yang lambat, namun motor servo memiliki torsi yang kuat. Secara jelas sebuah motor servo memiliki : a. Tiga jalur kabel : power, ground, dan control, seperti pada Gambar 2.13.

Gambar 2. 13 Pin-pin dan Pengkabelan pada motor servo [13]

b. Sinyal kontrol mengendalikan posisi c. Operasional dari motor motor dikendalikan oleh sebuah pulsa selebar ± 20 ms. Lebar pulsa antara 0.5 ms dan 2 ms menyatakan akhir dari range sudut maksimum.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 20

d. Konstruksi di dalamnya meliputi internal gir, potensiometer, dan feedback control.

Bila diberikan pulsa dengan besar 1,5ms mencapai gerakan 90 derajat dan data kurang dari 1,5 ms, maka posisi mendekati 0 derajat. Bila diberikan pulsa dengan besar 1,5ms mencapai gerakan 90 derajat dan data lebih dari 1,5 ms maka posisi mendekati 180 derajat. Gambar 2.14 menunjukkan sinyal PWM dan pergerakan motor servo.

Gambar 2. 14 Sinyal PWM dan Posisi Servo Tipe Standar [13]

Jenis-Jenis Motor Servo : a. Motor Servo Standard 180° Motor servo 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°. b. Motor Servo Continuous Motor servo jenis ini mampu bergerak dua arah (CW dan CCW) tanpa batasan defleksi sudut putar (dapat berputar secara kontinyu). Untuk menggerakanya juga menggunakan pulsa PWM seperti pada servo bertipe standar. Tetapi motor akan bergerak CCW jika pulsa HIGH lebih dari 1,5ms dan bergerak CW jika pulsa HIGH kurang dari 1,5ms. Motor akan diam pada saat lebar pulsa HIGH 1,5ms.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 21

2.7

L298 Driver Dalam mengatur arah putaran motor baik counter clockwise (CCW) atau clockwise (CW) yang perlu dilakukan adalah memberikan tegangan pada motor dengan mengatur polaritasnya saja. Jika untuk menggerakan motor arah CW dengan memberikan VCC-GND, maka untuk dapat bergerak CCW hanya dengan membalik polaritas menjadi GND-VCC. Hal tersebut dapat dilakukan dengan memberikan logika 1 sebagai VCC dan logika 0 sebagai GND pada port mikrokontroler. Pada setiap port I/O mikrokontroler hanya dapat mengeluarkan tegangan 5v dengan arus sebesar 1,5mA-2mA. Dengan arus tersebut mikrokontroler tidak akan mampu menggerakan motor, sehingga diperlukan sebuah rangkaian tambahan yang cukup untuk menggerakan motor. Rangkaian yang digunakan adalah rangkaian driver motor dengan IC driver L298. L298 merupakan IC yang dapat memenuhi kebutuhan beban yang membutuhkan arus yang cukup tinggi. IC L298 merupakan IC yang didalamnya berisi rangkaian H-Bridge [14]. Gambar 2.17 merupakan rangkaian driver l298 yang digunakan sebagai driver motor. Mikrokontroler akan memberikan input logika 1 dan logika 0 pada input 1-input 2 dan input 3- input 4 dalam mengendalikan arah putaran motor 1 dan 2. Untuk mengendalikan kecepatan putaran motor mikrokontroler akan memberikan pulsa PWM pada kaki enable A dan enable B pada IC L298. Gambar 2.15 merupakan konfigurasi kaki L298 dan Gambar 2.16 merupakan gambar rangkaian yang digunakan untuk mengendalikan 1 buah motor.

Gambar 2. 15 Blok Diagram IC Driver L298 [14]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 22

Gambar 2. 16 Rangkaian Driver 1 Motor DC [14]

2.8

Three-Terminal Regulator Perangkat ini hanya memiliki tiga buah terminal, input, output, dan ground [15].

Contoh dari three terminal regulator adalah 7805, 7912, dan 317. Regulator 7805 dan 7912 berasal dari keluarga 78XX dan 79XX voltage regulator. Regulator 78XX terdiri regulator tegangan positif dan regulator 79XX terdiri dari regulator tegangan negatif. Dua angka terakhir adalah tipe angka yang menunjukan tegangan output. Jadi 7805 merupakan regulator 5 Volt tegangan positif dan 7912 merupakan regulator 12 Volt tegangan negatif. Berikut adalah beberapa karakteristik dari kedua seri tersebut: 1. Keluaran arus maksimal 1A 2. Pembatas arus pendek internal 3. Shutdown otomatis saat overheating

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 23

Tabel 2.7 menunjukkan beberapa contoh IC regulator seri 78XX dengan keluaran dan tegangan minimum yang diperlukan [16]. Tabel 2. 6 Regulator Tegangan Positif Seri 78XX [16] IC part Tegangan keluaran (Volt) Tegangan masukan minimum (Volt) 7805 +5 7,3 7806 +6 8,3 7810 +10 12,5 7812 +12 14,6 7815 +15 17,7 7824 +24 27,1 Gambar 2.17 menunjukkan konfigurasi kaki IC regulator seri 78XX dan 79XX.

Gambar 2. 17 Konfigurasi Kaki IC Regulator (78XX-Positif dan 79XX-Negatif)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB III RANCANGAN PENELITIAN Dalam bab rancangan penelitian ini akan dibahas hal-hal mengenai perancangan mekanik robot, hardware elektronik, dan software.

3.1

Perancangan Keseluruhan Sistem Sistem ini merupakan sebuah robot yang dapat membedakan dan memilih warna yang

sudah ditentukan menggunakan sebuah sensor kamera. Diagram blok sistem ditunjukkan pada Gambar 3.1. INPUT Mikro

OUTPUT Mikro MIKROKONTROLER ATMEGA32

DISPLAY LCD 16x2

USART

Servo Gripper Servo Continuous Tentukan warna

INPUT CMUCam3

OUTPUT CMUCam3

Roda kanandankiri

POWER SUPPLY Gambar 3. 1 Diagram Blok Keseluruhan Sistem

24

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 25

Robot menggunakan sebuah sensor kamera CMUCam3 yang berfungsi sebagai pendeteksi obyek warna yang ditentukan sebelumnya. Obyek warna yang akan dideteksi berupa sebuah bola pingpong yang telah diwarnai. Data hasil pendeteksian obyek warna ini akan dikirim ke mikrokontroler ATmega32 secara serial menggunakan fasilitas USART yang dimiliki oleh mikrokontroler ATmega32. Pada saat obyek warna ditemukan, mobile robot akan mengambil obyek warna tersebut dengan menggunakan gripper yang digerakkan oleh motor servo. Gripper akan dikendalikan melalui sensor CMUCam3 sesuai dengan perintah yang dikirimkan mikrokontroler. Selain mengolah data yang dikirimkan oleh CMUCam3, mikrokontroler juga berfungsi untuk mengatur arah pergerakan dari robot. Untuk bermanuver robot bergerak dengan menggunakan 2 buah motor pada masing-masing roda dan 1 buah roda bebas. Motor yang digunakan adalah motor servo bertipe continuous. Motor servo tersebut akan dikendalikan arah putarannya oleh mikrokontroler dengan menggunakan Pulse Width Modulation (PWM). Keluaran lain yang dikendalikan oleh mikrokontroler adalah display LCD 16x2. Display LCD 16x2 berfungsi untuk menampilkan informasi-informasi yang diperlukan, seperti apakah robot sudah menyala dan apakah robot sudah dapat digunakan untuk mencari obyek warna.

3.2

Perancangan Mekanik Perancangan mekanik meliputi perancangan bentuk robot, sistem pergerakan robot,

dan juga lengan robot. Untuk penempatan elektronis pada mekanik akan dilakukan penyesuaian saat pembuatan mekanik.

3.2.1 Perancangan Robot Robot dirancang bergerak menggunakan roda. Jumlah roda yang digunakan sebanyak 3 buah, dengan 2 buah roda kanan-kiri sebagai roda belakang dan 1 buah roda bebas sebagai roda depan. Dua buah roda yang berada di kanan dan kiri masing-masing terhubung langsung pada satu buah motor servo bertipe continuous. Kedua roda ini berfungsi untuk mengendalikan arah pergerakan robot dengan cara memperlambat salah satu motor dan juga dengan cara

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 26

membalik putaran salah satu motor kanan maupun kiri. Robot didisain dengan dimensi 32

20

13

(kondisi lengan gripper direntangkan ke depan).

Lengan robot gripper dirancang dapat naik ke bagian atas robot dan diturunkan untuk mengambil bola. Gripper digerakkan oleh 1 buah servo bertipe standar. Lebar bukaan dari gripper adalah 8 dan panjang gripper adalah 7 dengan menyesuaikan lebar bola ping- pong 4. Sensor kamera pada robot diletakkan setinggi 6 dari dasar dan target bola yang

akan

diambil kira-kira berada 8 dari ujung lensa sensor kamera (posisi ditengah gripper). Dengan begitu sudut kemiringan sensor dapat diperkirakan sebesar 36° diperoleh dari ( ). Hal ini diperlukan karena akan berpengaruh terhadap fokus yang diperlukan kamera. Gambar 3.2 merupakan disain mekanik dari robot.

Gambar 3. 2 Disain Mekanik Robot

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 27

Gambar 3.3 merupakan tampak depan dari disain mekanik robot.

Gambar 3. 3 Disain Mekanik Robot (Tampak Depan)

Gambar 3.4 merupakan tampak samping dari disain mekanik robot dengan panjang robot dalam kondisi lengan robot yang terentang sepanjang 32 cm.

Gambar 3. 4 Disain Robot (Tampak Samping)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 28

Gambar 3.5 merupakan tampak samping dari disain mekanik robot. Robot memiliki sebuah bak yang digunakan untuk menampung bola (obyek warna) yang telah di ambil.

Gambar 3. 5 Disain Robot (Tampak Belakang)

Denah ruangan yang akan digunakan merupakan ruangan berukuran 100cm x 100cm x 10 cm dengan latar lantai dan dinding berwana hitam

Gambar 3. 6 Denah Ruangan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 29

3.3

Perancangan Elektronik Bagian ini akan membahas tentang rangkaian-rangkaian elektronik yang akan

digunakan robot. Rangkaian-rangkaian yang akan dirancang adalah regulator tegangan, sistem minimum.

3.3.1 CMUCam3 3.3.1.a. Komunikasi Serial

Komunikasi serial antara CMUCam3 dan komputer menggunakan standar level shifted serial port. CMUCam3 sudah memiliki TTL serial port dalam melakukan komunikasi dengan mikrokontroler, sehingga tidak diperlukan lagi rangkaian tambahan seperti RS232. Pada TTL serial port terdapat 4 pin yang perlu dikoneksikan ke mikrokontroler seperti pada Gambar 3.7.

PortD.0 (RX) PORTD.1(TX) Mikrokontroler Gambar 3. 7 Pengkabelan Komunikasi Serial Cmucam3-Mikrokontroler

3.3.1.b. Baudrate

Baudrate yang digunakan pada CMUCam3 beragam dari 1200 hingga 115200, tetapi untuk mikrokontroler harus diperhatikan kemampuan dari mikrokontroler tersebut. Baudrate yang akan digunakan adalah 38400 dengan frekuensi osilator yang dipakai adalah 8 MHz pada mikrokontroler.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 30

Penggunaan frekuensi osilator ditentukan 8MHz karena frekuensi ini akan berhubungan dengan perancangan pulsa PWM yang akan digunakan untuk menggerakan motor servo. Dengan frekuensi osilator 8MHz dapat ditentukan penggunaan baudrate yang memiliki nilai error pengiriman data mendekati 0,0% dan yang sesuai dengan kemampuan mikrokontroler yang digunakan. Sehingga dapat ditentukan baudrate 38400 dengan error sebesar 0,2% sesuai dengan Tabel 2.6.

3.3.1.c. Fokus Kamera

Salah satu hal yang perlu diperhatikan pada CMUCam3 adalah fokus. Fokus diperlukan agar diperoleh gambar yang tajam. Agar diperoleh gambar yang tajam fokus dapat diubah-ubah, caranya adalah dengan memutar bagian depan dari lensa kamera hingga di peroleh gambar yang paling baik. Gambar 3.8 menunjukkan cara mengatur fokus pada CMUCam3 secara manual. Bagian yang diputar

Gambar 3. 8 Lensa CMUCam3

3.3.2 Perancangan Sistem Minimum ATmega32 Rangkaian sistem minimum ini berfungsi untuk menjalankan mikrokontroler ATmega32 yang akan diprogram untuk mengendalikan robot. Sistem minimum ini memiliki tiga rangkaian termasuk input dan output dari pin mikrokontroler itu sendiri yaitu rangkaian osilator dan rangkaian reset.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 31

Gambar 3. 9 Rangkaian Osilator [10]

Untuk rangkaian osilator digunakan crystal sebesar 8 MHz dan menggunakan kapasitor 22 pf pada pin XTAL1 dan XTAL2 di mikrokontroler. Mikrokontroler membutuhkan clock yang dapat diperoleh dari rangkaian osilator ini sebagai sumber clock. rangkaian osilator terdapat pada Gambar 3.9. Selain rangkaian osilator terdapat rangkaian reset yang digunakan untuk memaksa mikrokontroler untuk mengembalikan proses kerja dari awal. Reset merupakan salah satu interupsi yang memiliki prioritas paling tinggi. Pin reset pada mikrokontroler merupakan pin dengan enable low sehingga perlu dirancang rangkaian reset yang memberikan logika low. Waktu minimum yang dibutuhkan mikrokontroler untuk reset sesuai dengan datasheet yaitu sebesar 1,5 us. Resistor dan kapasitor digunakan untuk memperoleh jeda waktu pengisian kapasitor. Nilai kapasitor yang digunakan adalah 10 nF. Nilai resistor minimum dapat dihitung dengan persamaan 3.1 sebagai berikut :

=

,

=

(3.1)

Sesuai dengan datasheet, level tegangan input untuk kondisi high pada pin reset adalah minimal 0,9 V hingga 5,5 V(vcc+0,5V) sehingga jeda waktu yang diperlukan selama kondisi 0 V hingga tegangan kurang dari 0,9 V sebesar 1,5 us. Untuk itu waktu jeda yang perlu dirancang harus lebih dari 1,5 us dengan nilai resistor harus lebih besar dari 150 Ω. Resistor

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 32

yang digunakan pada perancangan ini sebesar 1000 Ω sehingga diperoleh waktu jeda sebesar 10 ms. Gambar 3.10 menunjukkan rangkaian reset yang akan digunakan.

Gambar 3. 10 Rangkain Reset

Sebelum membuat rangkaian sistem minimum yang lengkap perlu dirancang port-port yang akan digunakan seperti input dan output. Dari blok diagram sistem pada Gambar 3.1, port input dan port output dapat ditentukan seperti pada Tabel 3.1, sehingga rangkaian sistem minimum dapat dirancang secara lengkap seperti pada Gambar 3.11. Tabel 3. 1 Konfigurasi PORT MIkrokontroler yang akan digunakan

Fungsi

INPUT

CMUCam3

OUTPUT

Limit switch (NO) LCD 16x2 Motor DC

Motor Servo

PORT yang digunakan PORTD.0 (RX) PORTD.1 (TX) PORTC.6 PORTC.7 PORTB.0-PORTB.7 PORTC.0 - PORTC.1 PORTC.2 - PORTC.3 PORTC.4 PORTC.5 PORTD.5 (OC1A) PORTD.4 (OC1B)

Keterangan Komunikasi serial antara sensor dan mikrokontoler Indikator lengan di atas Indikator lengan di bawah Display Kendali arah putaran motor 1 Kendali arah putaran motor 2 Output PWM motor 1 Output PWM motor 2 Output PWM servo A Output PWM servo B

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 33

Gambar 3. 11 Rangkaian Sistem Minimum

3.3.3 Rangkaian Konfigurasi Pin LCD 16x2 Dengan menggunakan informasi pada Tabel 2.8 rangkaian pendukung LCD 16x2 dapat di buat seperti pada Gambar 3.13. Penentuan konfigurasi kaki LCD menuju mikrokontroler ditentukan dengan melihat pada software compiler yang digunakan (CodeVisionAVR) seperti pada Gambar 3.12.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 34

Gambar 3. 12 Konfigurasi Kaki Pada Mikrokontroler

Gambar 3. 13 Rangkaian LCD 16x2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 35

3.3.4 Driver Motor L298 Rangkaian driver motor menggunakan IC l298 dengan semua komponen adalah komponen-komponen yang disarankan pada datasheet. Gambar 3.14 merupakan rangkaian driver menggunakan IC L298.

Gambar 3. 14 Rangkaian Driver L298 [14]

3.3.5 Perancangan Regulator Tegangan Robot ini menggunakan 2 buah sumber tegangan yang berasal dari 2 buah sumber baterai. Satu baterai 7.4 V (2 buah baterai 3,7 V yang dirangkai seri) yang digunakan untuk mencatu rangkaian elektronis dan 1 baterai 9.6V yang digunakan untuk mencatu motor pada robot. Mikrokontroler ATmega32 membutuhkan catu sebesar 5V. Dua buah sumber baterai 3,7 V yang dirangkai seri menjadi 7.4V diubah menjadi 5V dengan menggunakan regulator tegangan. Regulator tegangan yang digunakan adalah IC 7805 yang menghasilkan tegangan keluaran sebesar 5V.. Nilai kapasitor C1 dan C2 disesuaikan dengan datasheet yaitu sebesar 0,33uF dan 0,1uF. Gambar 3.15 menunjukkan rangkaian regulator tegangan.

Gambar 3. 15 Rangkaian Regulator Tegangan 5V [17]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 36

Motor servo yang digunakan memiliki spesifikasi tegangan makasimum sebesar 6 V. Sama seperti mikrokontroler, perlu dirancang regulator tegangan yang menghasilkan tegangan 6V. Sesuai dengan datasheet, rangkaian regulator tegangan 6 V ditunjukkan pada Gambar 3.16.

Gambar 3. 16 Rangkaian Regulator Tegangan 6V [17]

3.4

Perancangan Software Gambar 3.17 merupakan flowchart proses keseluruhan sistem. Setelah start, program

melakukan inisialisasi terhadap port-port mikrokontroler yang digunakan untuk proses pengendalian alat dan pengiriman data serial. Jika mikrokontroler dan CMUCam3 sudah terkoneksi dengan baik, maka proses selanjutnya adalah pada reset, pengaturan CMUCam3 dan pengambilan data warna pada obyek. Jika mikrokontroler dan CMUCam3 belum terkoneksi, maka proses dilakukan secara manual yaitu melekukan reset mikrokontroler atau mematikan sistem secara keseluruhan dan menyalakan kembali. Setelah proses pengaturan dan pengambilan data dari obyek warna, proses selanjutnya adalah pencarian obyek warna oleh robot. Proses akan terus berputar hingga robot menemukan warna jika robot tidak menemukan obyek warna yang dicari, maka proses kembali ke proses pencarian. Jika robot menemukan obyek warna, maka robot akan bergerak mendekati obyek warna tersebut hingga pada jarak tertentu dan mengambilnya yang kemudian diangkat dan dimasukkan ke bak yang terdapat pada bagian belakang robot.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 37

Gambar 3. 17 Flowchart Keseluruhan Sistem

3.4.1 Program Pengecekan Koneksi CMUCam3-Mikrokontroler Program ini berfungsi untuk memastikan dan memberi informasi kepada user bahwa sensor CMUCam3 dan mikrokontroler sudah terhubung dan siap dijalankan. Prosesnya adalah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 38

dengan mencoba memberi perintah kepada sensor CMUCam3 untuk menyalakan lampu LED 0 secara berkedip yang terdapat pada sensor sebanyak 5 kali. Jika LED berkedip sebanyak 5 kali, maka pada LCD akan ditampilkan pesan bahwa robot sudah siap digunakan. Jika tidak ada reaksi apapun dari CMUCam3, maka pada LCD akan tertampil pesan yang mengharuskan user melakukan reset atau mematikan sistem. Gambar 3.18 menunjukkan flowchart dari proses pengecekan koneksi antara sensor CMUCam3 dan mikrokontroler.

Gambar 3. 18 Flowchart Pengecekan Koneksi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 39

3.4.2 Pengaturan CMUCam3 Gambar 3.19 menunjukkan proses pengaturan CMUCam3.

Gambar 3. 19 Flowchart Pengaturan Cmucam3

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 40

Proses dimulai dengan mengatur kamera dengan perintah “CR 18 44 19 32” merupakan pengaturan Camera internal Register yang diatur pada mode warna RGB auto white balance ON dan auto gain ON. Proses dilanjutkan dengan penyimpanan data warna (2 warna), user akan memilih untuk penyimpanan data warna 1, 2, 3, dan 4. Penyimpanan data keempat warna sama, yaitu dengan memberikan perintah “TW” atau Track Window, bertujuan untuk mendapatkan informasi secara otomatis warna yang akan dicari. Kemudian “GT” yaitu Get Tracking parameters, yang berfungsi mengetahui nilai warna RGB pada warna yang ada di depan lensa kamera. Setelah penyimpanan selesai, antara warna 1 atau 2 yang akan di track oleh robot dapat dipilih. Pada saat warna yang akan dicari sudah dipilih, prosesnya adalah pemberian perintah “ST” atau Set Tracking parameters dengan ST sama dengan variabel warna yang dipilih. Lalu dapat dilakukan pencarian warna dengan perintah “TC” yaitu Tracking Color.

3.4.3 Program Pencarian obyek Warna Gambar 3.20 merupakan flowchart dari proses pencarian obyek warna. Saat robot sudah siap mencari obyek warna maka robot akan memulai mencari dengan berputar ditempat ke arah kiri. Robot akan berputar terus hingga menemukan obyek warna dengan mengecek nilai mx (middle mass x value) dari warna yang dideteksi. Robot akan berhenti berputar apabila obyek warna yang dicari sudah berada di tengah dari pandangan kamera pada sumbu x dengan nilai mx lebih dari 173 pixel dan kurang dari 179 pixel. Nilai tersebut diperoleh dari nilai resolusi sumbu x dari kamera yaitu 352. Setelah obyek warna berada di tengah pandangan kamera robot akan bergerak maju hingga nilai pixel bernilai lebih besar dari 250 pixel. Nilai tersebut menandakan perkiraan jarak obyek warna yang dicari. Semakin besar nilai pixel, obyek semakin dekat. Proses selesai setelah bola sudah berada di depan robot.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 41

Gambar 3. 20 Flowchart Proses Pencarian Obyek Warna

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 42

3.4.4 Proses Pengambilan Obyek Warna Gambar 3.21 menunjukkan flowchart proses pengambilan obyek warna. Proses ini merupakan lanjutan setelah obyek warna yang dicari sudah berada di depan robot, sehingga robot dapat mengambil obyek warna tersebut dan memasukkan ke dalam bak yang terdapat pada bagian robot.

Gambar 3. 21 Flowchart Proses Pengambilan Obyek Warna

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 43

Pertama-tama robot akan menurunkan lengannya hingga limit switch bagian bawah tertekan yang menandakan bahwa lengan gripper sudah sampai di bawah. Gripper akan mencengkeram obyek warna setelah mikrokontroler memberikan perintah “SV 1 255” pada CMUCam3. Perintah “SV 1 255” berfungsi menggerakkan motor servo 1 pada posisi 255. Lengan robot akan mulai terangkat kembali hingga limit switch bagian atas robot tertekan yang menandakan bahwa gripper berada di atas bak dan siap untuk melepas obyek warna yang dicengkeram. Gripper melepaskan obyek warna dengan perintah “SV 1 0” yang diberikan mikrokontroler pada CMUCam3. Gambar 3.22 menunjukkan proses gerakan mengangkat bola.

Gambar 3. 22 Gerakan Mengangkat Bola

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 44

Motor servo membutuhkan pulsa PWM dengan lebar pulsa 20 ms dan pengaturan lebar pulsa HIGH dari 1 ms-2 ms dalam mengatur sudut putar atau arah putar motor servo. Program ini bertujuan untuk membangkitkan pulsa PWM yang digunakan untuk mengendalikan motor servo. Program ini menggunakan fasilitas Timer/Counter1 yang dimiliki oleh mikrokontroler ATmega32. Untuk memperoleh pulsa dengan frekuensi 50 Hz atau dengan periode 20 ms maka digunakan mode Phase and Frequency Correct PWM mode pada Timer/Counter1. Pengaturan register yang perlu dilakukan adalah: 1. TCCR1A=0b1010000 Bit 7:6 dan bit 5:4 merupakan pengaturan pola keluaran pin OC1A/OC1B mode Phase and Frequency Correct. 2. TCCR1B=0b00010010 Bit 4:3 digunakan untuk memilih mode operasi Timer/Counter1 yaitu Phase and Frequency Correct PWM Mode. Bit 2:0 merupakan bit pengatur prescaller atau skala clock Timer/Counter1 yang diatur pada skala clock sama dengan 8 (clock timer = 1/8 clock osilator) sehingga clock yang digunakan adalah 1000 kHz. 3. ICR1=0b0010011100010000=0x2710 Pengaturan ICR1 dengan nilai 2710h merupakan nilai puncak dari cacahan TCNT0 hingga 2710h atau 10000d.

Dengan pengaturan di atas jika dihitung menggunakan persamaan 2.2, maka diperoleh: _ /

=

. .

=

. . =

dari pengaturan dan hasil perhitungan di atas pulsa PWM dengan frekuensi pulsa 50 Hz atau 20 ms dapat dihasilkan. Dalam mengatur arah putaran servo register yang diatur adalah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 45

OCR1A/OCR1B dengan memberikan nilai 500d hingga 1000d. Nilai tersebut merupakan pulsa HIGH dengan lebar 1 ms hingga 2 ms. Dari keterangan di atas pola gerakan robot dapat dibuat dengan memberikan nilai OCR1A/OCR1B sebagai nilai pwm yang berpengaruh terhadap arah putaran masing-masing roda. Pemberian pulsa HIGH pada PWM sebesar 1ms menyebabkan motor servo bergerak arah CCW dan sebaliknya pemberian pulsa dengan lebar pulsa HIGH sebesar 2ms menyebabkan motor bergerak CW. Tabel 3.2 merupakan pemberian nilai OCR1A/OCR1B sebagai lebar pulsa HIGH yang diberikan untuk menentukan arah gerakan robot. Tabel 3. 2 Pemberian Pulsa PWM dalam Pergerakan Robot

Pulsa PWM yang diberikan Gerakan Servo kanan/OCR1A Servo kiri/OCR1B 1000d 500d Maju 500d 1000d Mundur 1000d 1000d Putar kiri 500d 500d Putar kanan Gambar 3.23 merupakan salah satu contoh dari pergerakan robot dengan arah putar kiri.

Gambar 3. 23 Contoh Arah Pergerakan Robot Putar Kiri

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 46

3.4.5 Proses Memasukan Obyek Warna Pada Gawang Proses ini memiliki kesamaan dengan proses pencarian, perbedaanya terletak dari hasil akhir eksekusi setelah obyek warna yang dituju sudah didapat. Pada proses ini obyek warna yang dicari bukan lagi sebuah bola tetapi gawang yang diberi warna yang berbeda dari warna bola. Eksekusi akhir dari proses ini yaitu memasukkan obyek warna (bola) ke dalam gawang. Gambar 3.24 menunjukkan flowchart dari proses memasukkan obyek warna ke dalam gawang.

Gambar 3. 24 Proses Memasukkan Bola ke dalam Gawang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB IV HASIL DAN PEMBAHASAN Bab ini membahas mengenai hasil pengamatan dari aplikasi modul sensor kamera pada robot penjejak warna. Hasil pengamatan yang dilakukan berupa jarak kepekaan sensor, pengaruh terhadap intensitas cahaya, pengaruh terhadap variasi warna, dan tingkat keberhasilan dari alat.

4.1

Hasil Implementasi Alat Implementasi dari aplikasi modul sensor kamera pada robot penjejak warna tersusun atas

modul sensor kamera CMUCam3, sistem minimum ATmega32, rangkaian LCD 16x2, rangkaian keypad, rangkaian driver , rangkaian regulator tegangan, 2 buah motor penggerak, dan 1 buah lengan gripper. Gambar 4.1 dan Gambar 4.2 menunjukkan bentuk fisik dari robot penjejak warna.

Gambar 4. 1 Bentuk Fisik Robot (Tampak Depan)

Gambar 4. 2 Bentuk Fisik Robot (Tampak Belakang)

Robot akan bekerja secara otomatis untuk mencari obyek berwana berupa bola ping-pong berwarna sesuai dari perintah yang diberikan menggunakan keypad. Ketika tombol power ditekan, maka pada layar LCD 16x2 akan tampil menu untuk mengatur warna bola kemudian warna gawang yang akan dicari. Proses selanjutnya robot akan mulai mencari dan mengambil bola ping-pong sesuai warna yang telah dipilih sebelumnya, kemudian membuang ke dalam gawang sesuai warna yang telah diatur. Proses akan berlangsung terus menerus hingga tombol power ditekan dari ON menjadi OFF atau sistem dimatikan. 47

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 48

4.1.1 Analisa Keberhasilan Alat Tingkat keberhasilan dari aplikasi modul sensor pada robot penjejak warna secara keseluruhan dapat diketahui dengan melakukan beberapa kali percobaan dalam menjalankan sistem. Sistem berhasil jika robot sudah dapat mencari, menemukan, dan mengambil bola yang benar kemudian membuang bola ke gawang yang benar. Hasil pengujian dapat dilihat pada Tabel 4.5 Percobaan

Tabel 4. 1 Pengujian Tingkat Keberhasilan Warna Bola-Gawang Merah-Hijau

Merah-Kuning

Biru-Hijau

Biru-Kuning

I

Berhasil

Berhasil

Berhasil

Berhasil

II

Berhasil

Berhasil

Belum Berhasil

Berhasil

III

Berhasil

Berhasil

Berhasil

Berhasil

IV

Berhasil

Berhasil

Berhasil

Belum Berhasil

V

Berhasil

Berhasil

Berhasil

Berhasil

VI

Berhasil

Berhasil

Berhasil

Berhasil

VII

Berhasil

Belum Berhasil

Berhasil

Berhasil

VIII

Berhasil

Berhasil

Berhasil

Belum Berhasil

IX

Berhasil

Berhasil

Belum Berhasil

Berhasil

X

Berhasil

Berhasil

Berhasil

Berhasil

Hasil pengujian menunjukkan bahwa dari 40 percobaan dengan 4 variasi pencarian warna persentase keberhasilan dapat dihitung menggunakan persamaan berikut: ℎ



=



× 100%

35 = × 100% 40 = 87,5% Dari perhitungan diperoleh tingkat keberhasilan robot adalah 87,5%. Empat percobaan yang gagal merupakan kegagalan dari mekanik. Kegagalan seperti saat menggenggam bola atau saat lengan diturunkan. Gripper yang dibuat masih butuh dikembangkan lagi sehingga

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 49

cengkeraman menjadi lebih kuat. Disain gripper dan lengan untuk mengangkat gripper terlalu berat sehingga motor dc kesulitan untuk mengangkat gripper. Selain kegagalan yang berasal dari sistem mekanik, dalam pemrograman keputusan saat robot berhenti kurang tepat. Karena proses looping pada gerakan menuju bola menggunakan looping do-while, sehingga proses yang terlebih dahulu dikerjakan adalah proses yang ada di dalam do. Dalam looping do terdapat kondisi if(datarx[2]>52 && datarx[9]>80)kanan();, kondisi ini selalu dikerjakan terlebih dahulu sebelum memutuskan berhenti dengan kondisi while(datarx[3]<115);. Berikut adalah penggalan program saat bergerak menuju bola. do { cekwarna();maju(); if(datarx[2]>52 && datarx[9]>80)kanan(); if(datarx[2]<43 && datarx[9]>80)kiri(); } while(datarx[3]<115); Proses ini menyebabkan robot selalu menjatuhkan lengan gripper dengan posisi tidak tepat berada di tengah bola dan selalu serong ke kanan.

4.1.2 CMUCam3 Modul sensor kamera yang digunakan pada robot adalah CMUCam3 seperti pada Gambar 4.1. Modul sensor kamera CMUCam3 menggunakan firmware dari CMUCam2 v1.0 c6. Penggunaan firmware ini ditujukan agar CMUCam3 dapat dioperasikan seperti CMUCam2.

Gambar 4. 3 Modul Sensor Kamera CMUCam3

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 50

Pada perancangan baudrate yang digunakan adalah 38400 dengan menggunakan kristal 8Mhz. Pada implementasi alat, baudrate yang digunakan adalah 9600 dan untuk mendapatkan nilai error 0% maka kristal yang digunakan sebesar 11,0592MHz. Alasan penggantian baudrate menjadi 9600 karena baudrate yang dapat digunakan saat berkomunikasi dengan mikrokontroler atau dengan komputer saat menggunakan software CMUCam2GUI dan Frame Grabber adalah 9600. CMUCam2GUI digunakan untuk mengambil data tiap channel RGB yang akan digunakan sebagai parameter pencarian obyek berwarna.

Gambar 4. 4 Sistem Minimum ATmega32

Gambar 4. 5 Rangkaian LCD 16x2 dan Keypad

Gambar 4. 6 Dua Buah Motor Penggerak dan Gripper

Sistem minimum ATmega32 yang ditunjukkan oleh Gambar 4.4 digunakan untuk mengolah data input dan output seperti sensor, keypad, motor DC, motor servo, rangkaian LCD 16x2, dan rangkaian keypad. Rangkaian LCD 16x2 dan keypad yang digunakan sebagai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 51

penampil informasi ditunjukkan pada Gambar 4.5. Dua buah motor penggerak dan 1 buah lengan gripper yang digunakan untuk mengambil obyek warna ditunjukkan pada Gambar 4.6.

4.1.3 Driver L298 Rangkaian driver yang dibuat menggunakan rangkaian pada bab perancangan. Rangkaian driver L298 dapat dilihat pada Gambar 4.7. Driver L298 digunakan untuk menggerakan 2 buah motor DC yang berfungsi untuk mengangkat dan menurunkan lengan gripper.

Gambar 4. 7 Rangkaian Driver L298 Pengujian rangkaian driver L298 dilakukan dengan menghubungkan semua input dengan mikrokontroler. PORTB.0 dan PORTB.1 dihubungkan dengan input 1 dan input 2 driver, kemudian PORTB.4 dan PORTB.5 dihubungkan dengan input 3 dan input 4 driver. Port Enable A dan Enable B pada driver dihubungkan pada PORTB.2 dan PORTB.3 pada mikrokontroler. PORTB.2 dan PORTB.3 diatur pada logika 1. L298 driver output dihubungkan langsung ke motor DC. Output 1 dan output 2 dihubungkan ke motor kiri dan output 3 dan output 4 dihubungkan ke motor kanan. Tabel 4.x adalah hasil dari pengujian yang dilakukan.

Input 1 2 1 0 0 1 0 0

Tabel 4. 2 Pengujian Rangkaian Driver L298 MOTOR KIRI MOTOR KANAN Output Input Output Arah Putaran Arah Putaran 1 2 3 4 3 4 1 0 CCW 1 0 1 0 CW 0 1 CW 0 1 0 1 CCW 0 0 Berhenti 0 0 0 0 Berhenti

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 52

Tebel 4.1 memperlihatkan bahwa rangkaian driver sudah dapat bekerja dengan baik karena output yang diharapkan sudah sesuai dengan datasheet. Arah putaran motor akan digunakan untuk mengangkat naik atau turun lengan pada robot. Agar lengan robot naik, arah putar motor kiri adalah CW dan motor kanan adalah CCW, sebaliknya untuk menggerakan lengan ke bawah, arah putar motor kiri adalah CCW dan arah putar motor kanan adalah CW.

4.1.4 Rangkaian Regulator Tegangan Robot menggunakan 2 rangkaian regulator yang berfungsi sebagai supply tegangan seluruh sistem. Rangkaian regulator terdiri dari rangkaian regulator 5 volt menggunakan IC 7805 dan rangkaian regulator 6 volt menggunakan IC 7806. Rangkaian regulator tegangan ditunjukkan oleh Gambar 4.8. Rangkaian regulator 5 volt digunakan sebagai supply tegangan pada sistem minimum dan CMUCam3. Rangkaian regulator 6 volt digunakan sebagai supply tegangan pada motor 2 buah motor DC dan 2 buah motor servo. Sumber tegangan yang digunakan berasal dari 2 buah baterai yang masing-masing baterai untuk masing-masing rangkaian regulator. Baterai yang digunakan memiliki tegangan 12,6 volt dalam kondisi penuh. Tabel 4.2 adalah pengujian output tegangan pada kedua rangkaian regulator.

Gambar 4. 8 Rangkaian Regulator Tegangan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 53

Rangkaian regulator 5 volt digunakan sebagai supply tegangan pada sistem minimum dan CMUCam3. Rangkaian regulator 6 volt digunakan sebagai supply tegangan pada motor 2 buah motor DC dan 2 buah motor servo. Sumber tegangan yang digunakan berasal dari 2 buah baterai yang masing-masing baterai untuk masing-masing rangkaian regulator. Baterai yang digunakan memiliki tegangan 12,6 volt dalam kondisi penuh. Tabel 4.2 adalah pengujian output tegangan pada kedua rangkaian regulator. Tabel 4. 3 Output tegangan Dari Rangkaian Regulator 5 volt dan 6 volt

Input

Output (teori)

Output

Error

Regulator 5 volt

12.26 V

5V

4,768 V

4,64 %

Regulator 6 volt

12.45 V

6V

5,95 V

0,833 %

Tabel 4.2 memperlihatkan output tegangan dari kedua rangkaian regulator. Pada rangkaian regulator 5 volt terdapat error output sebesar 4,64 %. Sesuai datasheet, tegangan kerja yang diperbolehkan pada sistem minimum adalah 4,5 V sampai 5,5 V, sehingga error output regulator 5 V tidak berpengaruh terhadap kerja sistem. Rangkaian regulator 6 V yang digunakan sebagai supply driver L298 dan motor servo continuous memiliki error output sebesar 0,833%. Sesuai datasheet, tegangan kerja L298 adalah 4,8 V-46 V dan tegangan kerja pada servo continuous adalah 4,8 V-6 V, sehingga nilai error output tidak akan berpengaruh pada sistem.

4.2

Data Pengujian Dan Pembahasan Pengujian dan pembahasan meliputi jarak jangkauan sensor terhadap intensitas cahaya

rendah (gelap) dan intensitas cahaya tinggi (terang) pada ruangan, besar sudut pandang sensor kamera, pengaruh kepekaan sensor terhadap variasi warna, pembahasan perangkat lunak dan tingkat keberhasilan sistem.

4.2.1 Pengujian Jarak Jangkauan Sensor Pengujian dilakukan untuk mengetahui jarak terjauh yang dapat dideteksi oleh CMUCam3. Pengujian ini dilakukan dalam 2 kondisi, yaitu ruangan dengan kondisi terang saat lampu ruangan dinyalakan dan gelap saat lampu ruangan dimatikan. Kedua kondisi ruangan diukur menggunakan lux meter dan diperoleh intensitas cahaya pada ruang terang adalah 78 lux dan intensitas cahaya pada ruang gelap 7 lux. Pengujian juga dilakukan dengan memberi warna

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 54

yang berbeda dengan warna yang diatur untuk dicari. Tabel 4.3 menunjukkan pengujian jarak jangkauan untuk pencarian bola berwarna biru. Tabel 4. 4 Pengujian Jarak jangkauan Sensor Untuk Bola Warna Biru Kondisi Intensitas cahaya ruangan 78 LUX dan Intensitas cahaya ruangan 7 LUX dan warna bola yang dicari adalah Biru warna bola yang dicari adalah Biru Jarak (cm) Pemberian Bola Pemberian Bola Pemberian Bola Pemberian Bola Warna Biru Warna Merah Warna Biru Warna Merah Mx My confidence Mx My confidence Mx My confidence Mx My confidence 48 128 52 0 0 0 52 127 254 0 0 0 5 47 112 78 0 0 0 49 109 254 0 0 0 10 43 80 254 0 0 0 53 77 254 0 0 0 15 45 60 254 0 0 0 49 60 254 0 0 0 20 47 47 254 0 0 0 48 50 254 0 0 0 25 46 38 254 0 0 0 47 41 0 0 0 30 47 32 254 0 0 0 0 0 0 35 47 28 1000 0 0 0 0 0 40 49 27 00 0 0 0 0 0 0 0 0 45 0 0 0 0 0 0 0 0 0 50 48 20 0 0 0 0 0 0 0 0 0 55 46 0 0 0 0 0 0 0 0 0 60 Catatan: tanda ‘-’ berarti data sulit dibaca atau berubah-ubah, dan angka 0 berarti tidak ada warna yang terdeteksi

Tabel 4.4 menunjukkan pengujian jangkauan jarak untuk pencarian bola berwarna merah dengan kondisi sama dengan pengujian pada bola berwarna biru. Tabel 4. 5 Pengujian Jarak Jangkauan Sensor Untuk Bola Warna Merah Kondisi Intensitas cahaya ruangan 78 LUX dan Intensitas cahaya ruangan 7 LUX dan warna yang dicari adalah Merah warna yang dicari adalah Merah Jarak (cm) Pemberian Bola Pemberian Bola Pemberian Bola Pemberian Bola Warna Merah Warna Biru Warna Merah Warna Biru Mx My confidence Mx My confidence Mx My confidence Mx My confidence 45 139 254 0 0 0 49 128 254 0 0 0 5 47 119 254 0 0 0 47 107 254 0 0 0 10 46 79 254 0 0 0 48 70 254 0 0 0 15 47 56 254 0 0 0 48 62 0 0 0 20 47 42 254 0 0 0 0 0 0 25

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 55

Tabel 4. 4 (lanjutan) Pengujian Jarak Jangkauan Sensor Untuk Bola Warna Merah Kondisi Intensitas cahaya ruangan 78 LUX dan Intensitas cahaya ruangan 7 LUX dan warna yang dicari adalah Merah warna yang dicari adalah Merah Jarak (cm) Pemberian Bola Pemberian Bola Pemberian Bola Pemberian Bola Warna Merah Warna Biru Warna Merah Warna Biru Mx My confidence Mx My confidence Mx My confidence Mx My confidence 47 34 254 0 0 0 0 0 0 0 0 0 30 48 30 254 0 0 0 0 0 0 0 0 0 35 48 26 254 0 0 0 0 0 0 0 0 0 40 50 25 254 0 0 0 0 0 0 0 0 0 45 50 23 254 0 0 0 0 0 0 0 0 0 50 51 21 254 0 0 0 0 0 0 0 0 0 55 52 20 254 0 0 0 0 0 0 0 0 0 60 Catatan: tanda ‘-’ berarti data sulit dibaca atau berubah-ubah, dan angka 0 berarti tidak ada warna yang terdeteksi

Data pengujian untuk nilai mx dan my merupakan data letak bola yang terdeteksi pada koordinat x dan y. Dari data yang ditunjukkan pada Tabel 4.3 dan Tabel 4.4 jelas saja menunjukkan bahwa kemampuan sensor sangat terpengaruh oleh intensitas cahaya ruangan. Jarak jangkauan sensor di ruangan yang terang lebih baik dibanding ruangan yang gelap karena di saat kondisi terang maka warna akan terlihat dengan jelas. Dengan kondisi letak sensor pada robot yang dibuat, dari data pada Tabel 4.3 dan Tabel 4.4 dapat diperkirakan jarak antara bola dan robot dengan memperhatikan nilai my. Hal ini digunakan sebagai perkiraan pada saat keputusan robot akan berhenti dan melakukan proses pengambilan bola. Robot akan berhenti di jarak 10 cm. Jarak tersebut merupakan jarak antara ujung kamera dan gripper. Dari Tabel 4.3 untuk pencarian warna biru nilai my untuk jarak 10cm adalah 119 dan dari Tabel 4.4 untuk pencarian warna merah nilai my untuk jarak 10 cm adalah 112. Jika diambil nilai rata-rata antara kedua nilai, maka akan diperoleh nilai 115. Nilai ini akan digunakan dalam program sebagai keputusan robot berhenti saat bergerak maju mendekati bola. Secara keseluruhan dengan menggunakan analogi mata manusia, di saat mata manusia melihat di dalam kegelapan maka hanya akan terlihat warna yang dominan yaitu hitam. Sehingga manusia sulit sekali mengidentifikasikan benda dan warnanya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 56

4.2.2 Pengujian Besar Sudut Pandangan Sensor Pengujian ini dilakukan untuk mendapatkan besar sudut pandangan dari CMUCam3. Saat pengujian, intensitas cahaya pada ruangan adalah 78 lux dan menggunakan deteksi bola berwarna merah. Gambar 4.9 menunjukkan cara pengujian besar sudut pandang kamera.

Gambar 4. 9 Pengujian Luas Pandangan Sensor Tabel 4.5 menunjukkan data pengujian besar sudut pandang CMUCam3. Hasil pengujian dengan kondisi letak sensor pada robot menunjukkan bahwa luas pandangan yang dimiliki CMUCam3 maksimal adalah 60o. Pada datasheet CMUCam3 tidak ada keterangan mengenai luas pandangan dari sensor kamera. Sehingga data Tabel 4.5 dapat berguna sebagai informasi apabila akan dilakukan proses pengenalan citra dengan metode yang lain.

Tabel 4. 6 Data Pengujian Besar Sudut Pandang CMUCam3 Jarak (cm) 5 10 15 20 25 30 Sudut mx conf mx conf mx conf mx conf mx conf mx conf 0 0 0 0 0 0 0 0 0 0 0 0 -50⁰ 0 0 0 0 0 0 0 0 0 0 0 0 -40⁰

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 57

Tabel 4. 5 (lanjutan) Data Pengujian Besar Sudut Pandang CMUCam3 Jarak (cm) 5 10 15 20 25 30 Sudut mx conf mx conf mx conf mx conf mx conf mx conf 12 254 5 254 2 254 1 254 0 0 0 0 -30⁰ 16 254 14 254 13 254 12 254 12 130 0 0 -20⁰ 35 254 31 254 30 254 30 254 29 150 30 245 -10⁰ 44 254 47 254 46 254 48 254 49 254 47 254 0⁰ 65 254 63 254 64 254 65 254 65 150 65 251 10⁰ 70 254 72 254 74 254 77 254 0 0 0 0 20⁰ 0 0 75 254 0 0 0 0 0 0 0 0 30⁰ 0 0 0 0 0 0 0 0 0 0 0 0 40⁰ 0 0 0 0 0 0 0 0 0 0 0 0 50⁰

4.2.3 Pengujian Variasi Warna Pengujian ini dilakukan untuk membandingkan saat CMUCam3 mendeteksi warna yang memiliki kesamaan atau warna campuran. Warna merah akan dibandingkan dengan warna jingga yang bukan merupakan warna dasar. Tabel 4.6 merupakan perbandingan antara pendeteksian warna jingga dan merah. Tabel 4. 7 Data Pengujian Variasi Warna Kondisi Intensitas cahaya ruangan 78 LUX dan Intensitas cahaya ruangan 7 LUX dan warna yang dicari adalah Merah warna yang dicari adalah Merah Jarak (cm) Pemberian Bola Pemberian Bola Pemberian Bola Pemberian Bola Warna Merah Warna Jingga Warna Merah Warna Jingga Mx My confidence Mx My confidence Mx My confidence Mx My confidence 45 139 254 48 20 254 49 128 254 0 0 0 5 47 119 254 48 20 254 47 107 254 67 130 1210 46 79 254 49 60 1548 70 254 55 89 0 15 47 56 254 49 402048 62 0 0 0 20 47 42 254 49 400 0 0 25 47 34 254 49 0 0 0 0 0 0 30 48 30 254 49 0 0 0 0 0 0 35 48 26 254 49 0 0 0 0 0 0 40 50 25 254 48 0 0 0 0 0 0 45 50 23 254 49 0 0 0 0 0 0 50

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 58

Tabel 4. 6 (lanjutan) Data Pengujian Variasi Warna Kondisi Intensitas cahaya ruangan 78 LUX dan Intensitas cahaya ruangan 7 LUX dan warna yang dicari adalah Merah warna yang dicari adalah Merah Jarak (cm) Pemberian Bola Pemberian Bola Pemberian Bola Pemberian Bola Warna Merah Warna Jingga Warna Merah Warna Jingga Mx My confidence Mx My confidence Mx My confidence Mx My confidence 51 21 254 48 0 0 0 0 0 0 55 52 20 254 48 0 0 0 0 0 0 60 Catatan: tanda ‘-’ berarti data sulit dibaca atau berubah-ubah, dan angka 0 berarti tidak ada warna yang terdeteksi Pada datasheet tidak terdapat keterangan mengenai fungsi dari nilai dan batasan dalam pemberian nilai confidence. Untuk pemberian nilai batasan confidence, tergantung dari penulis dalam memberikan nilai toleransi. Dengan menggunakan data pada Tabel 4.6 dapat disimpulkan bahwa hal yang dapat digunakan untuk memastikan warna yang benar adalah nilai confidence. Nilai mx dan my pada data Tabel 4.6 menunjukkan warna jingga masih terdeteksi sebagai warna merah, tetapi pengaruhnya terlihat pada nilai confidence jarak 15 cm hingga 60 cm. Pada jarak 15 cm hingga 60 cm terlihat nilai yang tidak pasti atau tidak terbaca secara jelas data dari confidence. Jika dibandingkan dengan data confidence pada pemberian warna merah, maka terlihat perbedaan bahwa nilai confidence pemberian warna merah terlihat lebih jelas.

4.3

Analisa dan Pembahasan Perangkat Lunak Perangkat lunak dibuat dengan menggunakan software compiler CodeVision AVR dan

bahasa pemrograman C. Perangkat lunak terdiri dari tampilan menu pemilihan warna, pengaturan kamera, pengecekan obyek warna, dan sistem pergerakan.

4.3.1 Menu Pemilihan Warna Pada perancangan, warna akan disimpan secara otomatis menggunakan perintah “TW” dan “GT”. Proses ini kurang efektif karena pada proses “TW” atau tracking window, warna yang diambil adalah warna rata-rata yang tertangkap kamera. Hal ini memungkinkan warna lain juga diambil oleh kamera. Gambar 4.10 dan Gamber 4.11 merupakan perbandingan data yang diterima menggunakan proses “TW” dan “ST” secara manual. Proses “ST” dapat dilihat pada

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 59

Gambar 4.10. dan proses “TW” dapat dilihat pada gambar 4.11. Kedua proses pengambilan data dilakukan dengan meletakkan bola berwarna merah pada jarak 20 cm di depan kamera.

Gambar 4. 10 Data Yang Diterima Dengan Pengaturan Warna Yang Dicari Secara Manual ("ST")

Gambar 4. 11 Data Yang Diterima Dengan Pengaturan Warna Yang Dicari Secara Otomatis ("TW") Dari kedua perbandingan data yang dihasilkan seperti Gambar 4.10 dan Gambar 4.11 dapat dilihat pada proses menggunakan perintah “TW” data yang dihasilkan tidak valid. Sesuai dengan datasheet CMUCam2 ukuran dari virtual window dalam kondisi default adalah 88x143.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 60

Sehingga apabila panjang sumbu x adalah 88, maka titik tengah dari warna yang dicari akan bernilai 44. Dari data pengujian pada Tabel 4.5 juga dapat dilihat untuk peletakan benda pada sudut 0o nilai mx rata-rata adalah 46,8. Sehingga dipilih cara untuk mengambil data warna secara manual menggunakan software CMUCam2GUI. Pada software ini, data bola berwarna diambil dari jarak 20 cm. Data yang diambil adalah warna minimum dan maksimum bola dari tiap channel warna yaitu Rmin, Rmax, Gmin, Gmax dan Bmin, Bmax. Data warna tersebut akan disimpan dalam program untuk setiap warna yang akan digunakan dan dapat dipilih melalui menu pilihan. Gambar 4.12 adalah tampilan dari CMUCam2GUI dalam proses pengambilan warna yang akan dicari. Selanjutnya Gambar 4.13 menunjukkan nilai dari Rmin, Rmax, Gmin, Gmax, Bmin, dan Bmax sudah tertampil.

Gambar 4. 12 Proses Pengambilan Warna Yang Akan Dicari

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 61

Gambar 4. 13 Data RGB Yang Akan dipakai Menu pemilihan warna digunakan untuk memilih warna apa saja yang akan dicari seperti pemilihan warna bola (merah/biru) dan pemilihan warna gawang (hijau/kuning). Menu pemilihan akan ditampilkan pada LCD 16x2. Untuk melakukan pengaturan menu digunakan 4 buah switch yaitu switch untuk naik, turun, oke dan batal atau kembali ke menu sebelumnya. Menu pemilihan warna dimulai saat sistem menyala. Gambar 4.14 merupakan tampilan menumenu yang tertampil pada LCD.

Gambar 4. 14 Tampilan Menu Pada LCD 16x2 Pada saat warna telah dipilih maka akan tersimpan nilai 1 pada variabel warna yang dipilih. Apabila warna yang dipilih adalah merah maka pada variabel “merah” akan tersimpan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 62

nilai 1 dan memberi nilai 0 pada variabel “biru”. Hal ini berlaku pula untuk pemilihan warna biru, jika biru yang dipilih maka variabel “biru” akan tersimpan nilai 1 dan variabel “merah” akan tersimpan nilai 0. Kedua nilai pada variabel ini akan digunakan untuk membuat keputusan pemberian parameter warna yang akan dicari oleh kamera. Berikut adalah penggalan program keputusan pemberian parameter: if(merah==1) printf("ST 106 156 0 47 0 55\r");delay_ms(500); if(biru==1)

printf("ST 0 41 11 61 113 163\r");delay_ms(500);

Jika merah bernilai satu maka mikrokontroler akan mengirimkan perintah ST untuk Set Tracking parameter kepada kamera dengan nilai 106 156 0 47 0 55. Jika merah bernilai satu maka mikrokontroler akan mengirimkan perintah ST kepada kamera dengan nilai 0 41 11 61 113 163. Nilai tersebut merupakan nilai minimum dan maksimum dari tiap chanel RGB. Nilai “ST” yang dikirimkan mikrokontroler kepada CMUCam3 dapat diuji kebenaran pengiriman data dengan menggunakan perintah “GT” atau “Get the current Track value”. Perintah “GT” akan menghasilkan keterangan data warna yang sedang dicari. Format pengiriman data “ST” adalah Rmin, Rmax, Gmin, Gmax, Bmin dan Bmax, sedangkan perintah “GT” akan mengirimkan data dengan format Rmin, Gmin, Bmin, Rmax, Gmax, dan Bmax. Gambar 4.15 menunjukkan cara menguji kesesuaian data yang dikirim dan yang diterima. Pengujian menggunakan software CMUCam Frame Graber yang merupakan software dari CMUCam3.

Gambar 4. 15 Pengecekan Data Warna Yang Dikirim Menggunakan perintah "GT"

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 63

Jika proses pemilihan warna telah selesai maka robot sudah siap dijalankan dengan memilih menu “START”. Sebelum memulai mencari obyek warna proses akan masuk kedalam fungsi pengaturan mode kamera. Pengaturan mode kamera ini bertujuan untuk mengatur posisi awal motor servo pada griper dan pintu bak, mode pengambilan data, dan bentuk data yang akan dikirim kamera kepada mikrokontroler. Berikut penggalan program pengaturan mode kamera: void setkamera() { lcd_gotoxy(0,0);lcd_putsf(" SETUP CAMERA ");delay_ms(1000); printf("RS\r");delay_ms(100);putchar(13);delay_ms(100);

// reset kamera

printf("L0 1\r");delay_ms(500);

// Led nyala

printf("L0 0\r");delay_ms(1000);

// Led Mati

printf("sv 0 50\r");delay_ms(100);

// set servo gripper posisi default

printf("sv 1 0\r");delay_ms(2000);

// set servo bak posisi default

printf("PM 1\r");delay_ms(100);

// one packet data return

printf("RM 3\r");delay_ms(100);

// 3-mode raw data

printf("VW 1 1 80 143\r");delay_ms(100);

// virtual window x=80 dan

y=143 lcd_gotoxy(0,0);lcd_putsf("

");delay_ms(1000);

done

} Mikrokontroler akan mengirimkan perintah “RS” untuk mereset kamera. Perintah “L0 1” dan “L0 0” akan membuat led pada CMUCam3 berkedip, ini merupakan pengecekan secara visual agar user mengetahui bahwa CMUCam3 dan mikrokontroler sudah terkoneksi dengan baik. Perintah “SV 0 50” dan “SV 1 0” digunakan untuk mengatur gerakan motor servo pada gripper dan bak penampung sehingga gripper sudah dalam posisi terbuka dan bak penampung tertutup. Perintah “PM 1” digunakan agar CMUCam3 akan mengirim data jika ada permintaan dari mikrokontroler. Hal ini dilakukan untuk menyeimbangkan kecepatan CMUCam3 dan mikrokontroler. Perintah “RM 3” berarti bahwa data yang diterima mikrokontroler berupa raw data byte, sehingga dalam pembacaan nilai sensor menjadi lebih mudah. Perintah “VW 1 1 80 143” merupakan lebar pixel yang digunakan dengan panjang sumbu x adalah 80 dan panjang sumbu y adalah 143. Pada perancangan terdapat proses “CR 18 44 19 32”, perintah ini dihilangkan karena pada proses pengambilan data warna tidak menggunakan proses tracking window atau “TW”.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 64

Proses “PM 2” diganti menjadi “PM 1” hal ini dilakukan karena mikrokontroler ATmega32 tidak memiliki kecepatan yng cukup untuk menerima data dari CMUCam3. Pada perintah “RM 3” data yang dikirim berupa char yang dapat dibaca pada mikrokontroler menggunakan desimal dengan rentang data 0-255.

4.3.2 Pengecekan Obyek warna Pengecekan obyek warna dilakukan dengan mengambil 11 byte data yang dikirim CMUCam3 saat perintah “TC” dikirim oleh mikrokontroler. Jumlah 11 byte data merupakan jumlah byte data dalam 1 paket data tipe T yaitu “:T mx my x1 y1 x2 y2 pixel confidence\r”. berikut penggalan program yang digunakan untuk mengambil data dari CMUCam3: void cekwarna() { x=0; printf("TC\r"); while(x<11){datarx[x]=getchar();x++;} lcd_clear(); lcd_gotoxy(0,0);lcd_putsf("Mx"); lcd_gotoxy(0,1);sprintf(mx,"%d",datarx[2]);lcd_puts(mx); lcd_gotoxy(4,0);lcd_putsf("My"); lcd_gotoxy(4,1);sprintf(my,"%d",datarx[3]);lcd_puts(my); lcd_gotoxy(8,0);lcd_putsf("pix"); lcd_gotoxy(8,1);sprintf(p,"%d",datarx[8]);lcd_puts(p); lcd_gotoxy(12,0);lcd_putsf("conf"); lcd_gotoxy(12,1);sprintf(c,"%d",datarx[9]);lcd_puts(c); }

4.3.3 Sistem Pergerakan Robot Sistem pergerakan dari robot dibagi menjadi 2 yaitu gerakan saat pencarian bola dan gerakan saat pengambilan dan pembuangan bola.

4.3.3.1 Gerakan Pencarian Bola Berikut penggalan program proses dari pencarian bola.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 65

while(A==1) { lagi: do{cekwarna();kiri();} while(datarx[2]<30||datarx[2]>48); if (datarx[9]<80) goto lagi; stop();B=1;A=0; }

while(B==1) { do { cekwarna();maju(); if(datarx[2]>52 && datarx[9]>80)kanan(); if(datarx[2]<43 && datarx[9]>80)kiri(); } while(datarx[3]<115); stop();delay_ms(1000); /***********PROSES PENGAMBILAN BOLA***********/ TCCR0=0x01; do{lengan_turun();} while(PINA.1==1); lengan_stop();TCCR0=0x00;delay_ms(500); printf("sv 0 195\r");delay_ms(1000); datas=getchar();

TCCR0=0x01; do{lengan_naik();} while(PINA.0==1); lengan_stop();TCCR0=0x00;delay_ms(500);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 66

printf("sv 0 50\r");delay_ms(1000); datas=getchar(); /***********PROSES PENGAMBILAN BOLA***********/ if(kuning==1) printf("ST 88 138 120 170 6 56\r");delay_ms(500); if(hijau==1) printf("ST 14 64 125 175 62 112\r");delay_ms(500); datas=getchar(); Ce=1;B=0; }

4.3.3.2 Gerakan Pencarian Warna Gawang Gerakan pencarian warna gawang memliki proses yang sama saat mencari warna bola. Perbedaan pada proses ini yaitu pada aksi robot saat menemukan warna yang di cari. Proses akhir gerakan ini adalah membuang bola pada gawang sesuai warna gawang. Berikut penggalan program pencarian warna gawang: while(Ce==1) { lagi1: do{cekwarna();kiri();} while(datarx[2]<30||datarx[2]>48);//&&datarx[9]>15); if (datarx[9]<75) goto lagi1; stop(); D=1;Ce=0; }

while(D==1) { do { cekwarna();maju(); if(datarx[2]>52 && datarx[9]>80)kanan();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 67

if(datarx[2]<43 && datarx[9]>80)kiri(); } while(datarx[3]<50); stop();delay_ms(1000); /***********PROSES PEMBUANGAN BOLA***********/ kiri();delay_ms(2600);stop();delay_ms(500);mundur();delay_ms(1000);stop(); printf("SV 1 160\r");delay_ms(2000);datas=getchar(); printf("SV 1 0\r");delay_ms(2000);datas=getchar(); /***********PROSES PEMBUANGAN BOLA***********/ delay_ms(1000); if(merah==1) printf("ST 106 156 0 47 0 55\r");delay_ms(500); if(biru==1) printf("ST 0 41 11 61 113 163\r");delay_ms(500); datas=getchar(); A=1;D=0; }

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan Dari hasil pengujian dan pengambilan data aplikasi modul sensor kamera pada robot penjejak warna, dapat diambil kesimpulan: 1. Secara keseluruhan robot sudah dapat bekerja dengan baik mulai dari pencarian bola berwarna, hingga memasukkan ke gawang dengan warna yang ditentukan. Tingkat keberhasilan mencapai 87,5 % dengan 5 kali kesalahan dalam 40 kali percobaan. 2. Jangkauan jarak deteksi bola berwarna tergantung pada intensitas cahaya pada ruangan. Pada intensitas cahaya terang pencarian warna biru hanya dapat mendeteksi sejauh 35 cm dan pencarian warna merah dapat mendeteksi hingga 60 cm. Pada kondisi gelap jarak jangkauan untuk warna merah adalah 15 cm dan untuk warna biru adalah 25 cm. 3. Besar sudut pandang maksimal modul sensor kamera adalah 60o. 4. CMUCam3 masih sulit untuk membedakan antara warna dasar dan warna campuran. 5. Rangkaian driver L298 dan rangkaian regulator yang mendukung terbentuknya sistem ini telah berjalan sesuai yang diharapkan.

5.2 Saran Saran bagi pengembangan selanjutnya adalah 1. Perlunya penelitian mengenai metode pemilihan warna yang akan dicari sensor kamera ditingkatkan sehingga, variasi warna yang dapat di deteksi lebih beragam. 2. Disain mekanik yang lebih baik khususnya di bagian gripper agar robot dapat bekerja lebih baik lagi.

67

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR PUSTAKA [1]

McComb, G.,2001, Robot Builder’s Bonanza, second edition, MacGraw-Hill, New York, United State of Amerika

[2]

Noname, 2010, Juni, Panduan KRCI 2010-Robot Cerdas Pemadam Api dan Robot Cerdas Pemain Bola, Panitia Pusat KRI 2010, DP2M, DIKTI, DEPDIKNAS, Jakarta.

[3]

Rowe, A., Carnegie Mellon University, 2003, Seattle Robotics CMUCam Vision Sensor for Paralax.inc Boe-Bot, Carnegie Mellon University.

[4]

Rowe, A., Carnegie Mellon University, 2003, CMUcam2 Vision Sensor-User Guide, Rosenberg, C., Nourbakhsh, I..

[5]

Noname, 2010, January, TCS3200-DB (#28302): Color Sensor Module, Parallax,inc.

[6]

Rowe, A., Carnegie Mellon University, 2003, CMUcam3 Embedded Vision SensorDatasheet, Rosenberg, C., Nourbakhsh, I..

[7]

Suyadhi, T. D. S., 2008, Build Your Own line Follower Robot, Penerbit Andi, Yogyakarta

[8]

Malik, moh. I., 2006, Cetakan Pertama, Pengantar Membuat Robot, Penerbit Gava Media, Yogyakarta

[9]

Sumbodo, W., 2008, Jilid 3, Teknik Produksi Mesin Industri, Direktorat Pembinaan Sekolah Menengah Kejuruan, Dirjen Manajemen Pendidikan Dasar dan Menengah, Hak Cipta Depdiknas

[10]

-----, 2003, Datasheet Microcontroler ATMega32, Atmel

[11]

Bejo, A., 2008, Edisi Pertama, C dan AVR Rahasia Kemudahan Bahasa C dalam Mikrokontroler, Graha Mulia, Yogyakarta

[12]

http://depokinstruments.com/2010/02/08/teknik-pengendalian-lcd-karakteri/#more-585, diakses tanggal 6 Januari 2011

[13]

Tim Panitia Workshop KRI-KRCI 2007, 2007, Desember, Workshop KRI-KRCI 2007, Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember, Surabaya

68

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 69

[14]

-----, 2000, Datasheet L298-Dual Full Bridge Driver, STMicroelectronics

[15]

Honeycutt, Richard A., 1988, Op Amps and Linear Integrated Circuits, Delmar Publishers Inc., New York

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

LAMPIRAN

L1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2

Rangkaian Sistem Minimum ATmega32

Pengkabelan CMUCam3 dan Mikrokontroler

PortD.0 (RX) PORTD.1 (TX)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3

Rangkaian LCD 16x2

Rangkaian Driver L298

Rangkaian Regulator 5v dan 6v

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L4

LISTING PROGRAM

/***************************************************** This program was produced by the CodeWizardAVR V1.25.8 Professional Automatic Program Generator © Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : Version : Date : 8/17/2011 Author : Hardy Boyfonda Doko Company : ELSADHA – ELektro SAnata DHArma Comments:

Chip type : ATmega32 Program type : Application Clock frequency : 11.059200 MHz Memory model : Small External SRAM size : 0 Data Stack size : 512 *****************************************************/ #include <mega32.h> #include <delay.h> #include <stdlib.h> // Alphanumeric LCD Module functions #asm .equ lcd_port=0x15 ;PORTC #endasm #include // Standard Input/Output functions #include <stdio.h>

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L5

// Declare your global variables here unsigned char count; int lr_pwm, ll_pwm; #define pwm_lenganr PORTB.3 #define in3 PORTB.4 #define in4 PORTB.5 #define pwm_lenganl PORTB.2 #define in2 PORTB.1 #define in1 PORTB.0 int A,B,Ce,D,x,i,temp; int datarx[12]; int datas; int merah, biru, hijau, kuning; char datb1[16]; char datb2[16]; char mx[4]; char my[4]; char c[4]; char p[4]; void maju() {OCR1A=725;OCR1B=1320;} void mundur() {OCR1A=1320;OCR1B=725;} void kanan() {OCR1A=1120;OCR1B=1120;} void kiri() {OCR1A=925;OCR1B=925;} void stop() {OCR1A=1050;OCR1B=1050;} void cekwarna() { x=0; printf("TC\r"); while(x<11){datarx[x]=getchar();x++;} lcd_clear(); lcd_gotoxy(0,0);lcd_putsf("Mx"); lcd_gotoxy(0,1);sprintf(mx,"%d",datarx[2]);lcd_puts(mx); lcd_gotoxy(4,0);lcd_putsf("My"); lcd_gotoxy(4,1);sprintf(my,"%d",datarx[3]);lcd_puts(my); lcd_gotoxy(8,0);lcd_putsf("pix"); lcd_gotoxy(8,1);sprintf(p,"%d",datarx[8]);lcd_puts(p); lcd_gotoxy(12,0);lcd_putsf("conf");

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L6

lcd_gotoxy(12,1);sprintf(c,"%d",datarx[9]);lcd_puts(c); } void setkamera() { lcd_gotoxy(0,0);lcd_putsf(" SETUP CAMERA ");delay_ms(1000); printf("RS\r");delay_ms(100);putchar(13);delay_ms(100); // reset kamera printf("L0 1\r");delay_ms(500); // Led nyala printf("L0 0\r");delay_ms(1000); // Led Mati printf("sv 0 50\r");delay_ms(100); // set servo gripper posisi default printf("sv 1 0\r");delay_ms(2000); // set servo bak posisi default printf("PM 1\r");delay_ms(100); // one packet data return printf("RM 3\r");delay_ms(100); // 3-mode raw data printf("VW 1 1 80 143\r");delay_ms(100); // virtual window x=80 dan y=143 lcd_gotoxy(0,0);lcd_putsf(" done ");delay_ms(1000); } void lengan_naik() {in3=1;in4=0;in2=1;in1=0;lr_pwm=86;ll_pwm=66;} void lengan_turun() {in3=0;in4=1;in2=0;in1=1;lr_pwm=46;ll_pwm=26;} void lengan_stop() {in3=0;in4=0;in2=0;in1=0;lr_pwm=0;ll_pwm=0;} // Timer 0 overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) { // Place your code here count++; if(count<=lr_pwm)pwm_lenganr=1; else pwm_lenganr=0; if(count<=ll_pwm)pwm_lenganl=1; else pwm_lenganl=0; } void menu() { lcd_clear(); A1: delay_ms(300); lcd_gotoxy(4,0);lcd_putsf("SETTING"); lcd_gotoxy(4,1);lcd_putsf("start");

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L7

lcd_gotoxy(3,0);lcd_putsf("*"); if(!PINA.5) {lcd_clear();goto A11;} if(!PINA.4){lcd_clear();goto A2;} if(!PINA.3){lcd_clear();goto A1;} goto A1; A2: delay_ms(300); lcd_gotoxy(4,0);lcd_putsf("setting"); lcd_gotoxy(4,1);lcd_putsf("START"); lcd_gotoxy(3,1);lcd_putsf("*"); if(!PINA.5){lcd_clear();goto start;} if(!PINA.4){lcd_clear();goto A2;} if(!PINA.3){lcd_clear();goto A1;} goto A2; A11: delay_ms(300); lcd_gotoxy(2,0);lcd_putsf("WARNA BOLA"); lcd_gotoxy(2,1);lcd_putsf("warna gawang"); lcd_gotoxy(1,0);lcd_putsf("*"); if(!PINA.5){lcd_clear();goto A111;} if(!PINA.4){lcd_clear();goto A12;} if(!PINA.3){lcd_clear();goto A11;} if(!PINA.6){lcd_clear();goto A1;} goto A11; A12: delay_ms(300); lcd_gotoxy(2,0);lcd_putsf("warna bola"); lcd_gotoxy(2,1);lcd_putsf("WARNA GAWANG"); lcd_gotoxy(1,1);lcd_putsf("*"); if(!PINA.5){lcd_clear();goto A121;} if(!PINA.4){lcd_clear();goto A12;} if(!PINA.3){lcd_clear();goto A11;} if(!PINA.6){lcd_clear();goto A1;} goto A12;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L8

A111: delay_ms(300); lcd_gotoxy(3,0);lcd_putsf("WARNA BOLA"); lcd_gotoxy(2,1);lcd_putsf("MERAH"); lcd_gotoxy(10,1);lcd_putsf("biru"); lcd_gotoxy(1,1);lcd_putsf("*"); if(!PINA.5) { lcd_clear(); merah=1;biru=0; lcd_gotoxy(3,0);lcd_putsf("WARNA BOLA"); lcd_gotoxy(2,1);lcd_putsf("ok"); lcd_gotoxy(10,1);lcd_putsf("biru"); lcd_gotoxy(1,1);lcd_putsf("*"); delay_ms(500);lcd_clear(); goto A111; } if(!PINA.4){lcd_clear();goto A112;} if(!PINA.3){lcd_clear();goto A111;} if(!PINA.6){lcd_clear();goto A11;} goto A111; A112: delay_ms(300); lcd_gotoxy(3,0);lcd_putsf("WARNA BOLA"); lcd_gotoxy(2,1);lcd_putsf("merah"); lcd_gotoxy(10,1);lcd_putsf("BIRU"); lcd_gotoxy(9,1);lcd_putsf("*"); if(!PINA.5) { lcd_clear(); biru=1;merah=0; lcd_gotoxy(3,0);lcd_putsf("WARNA BOLA"); lcd_gotoxy(2,1);lcd_putsf("merah"); lcd_gotoxy(10,1);lcd_putsf("ok"); lcd_gotoxy(9,1);lcd_putsf("*"); delay_ms(500);lcd_clear(); goto A112;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L9

} if(!PINA.4){lcd_clear();goto A112;} if(!PINA.3){lcd_clear();goto A111;} if(!PINA.6){lcd_clear();goto A11;} goto A112; A121: delay_ms(300); lcd_gotoxy(2,0);lcd_putsf("WARNA GAWANG"); lcd_gotoxy(1,1);lcd_putsf("HIJAU"); lcd_gotoxy(9,1);lcd_putsf("kuning"); lcd_gotoxy(0,1);lcd_putsf("*"); if(!PINA.5) { lcd_clear(); hijau=1;kuning=0; lcd_gotoxy(2,0);lcd_putsf("WARNA GAWANG"); lcd_gotoxy(1,1);lcd_putsf("ok"); lcd_gotoxy(9,1);lcd_putsf("kuning"); lcd_gotoxy(0,1);lcd_putsf("*"); delay_ms(500);lcd_clear(); goto A121; } if(!PINA.4) {lcd_clear();goto A122;} if(!PINA.3){lcd_clear();goto A121;} if(!PINA.6){lcd_clear();goto A11;} goto A121; A122: delay_ms(300); lcd_gotoxy(2,0);lcd_putsf("WARNA GAWANG"); lcd_gotoxy(1,1);lcd_putsf("hijau"); lcd_gotoxy(9,1);lcd_putsf("KUNING"); lcd_gotoxy(8,1);lcd_putsf("*"); if(!PINA.5) { lcd_clear(); kuning=1;hijau=0;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L10

lcd_gotoxy(2,0);lcd_putsf("WARNA GAWANG"); lcd_gotoxy(1,1);lcd_putsf("hijau"); lcd_gotoxy(9,1);lcd_putsf("ok"); lcd_gotoxy(8,1);lcd_putsf("*"); delay_ms(500);lcd_clear(); goto A122; } if(!PINA.4){lcd_clear();goto A122;} if(!PINA.3){lcd_clear();goto A121;} if(!PINA.6){lcd_clear();goto A11;} goto A122; start: lcd_gotoxy(2,0);lcd_putsf("START"); }

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=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00; DDRA=0x00; // Port B initialization // Func7=In Func6=In Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=T State6=T State5=1 State4=1 State3=1 State2=1 State1=1 State0=1 PORTB=0x00; DDRB=0x00; // Port C 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 PORTC=0x00; DDRC=0x00;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L11

// Port D initialization // Func7=In Func6=In Func5=Out Func4=Out Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=0 State4=0 State3=T State2=T State1=T State0=T PORTD=0x00; DDRD=0x00; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 8000.000 kHz // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00; TCNT0=0x00; OCR0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 8000.000 kHz // Mode: Ph. & fr. cor. PWM top=ICR1 // OC1A output: Non-Inv. // OC1B output: Non-Inv. // 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=0xA0; TCCR1B=0x12; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x36; ICR1L=0x00; OCR1A=0; OCR1B=0; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L12

// OC2 output: Disconnected ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x01; // USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 9600 UCSRA=0x00; UCSRB=0x18; UCSRC=0x86; UBRRH=0x00; UBRRL=0x47; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // LCD module initialization lcd_init(16); stop(); menu(); setkamera();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L13

if(merah==1) printf("ST 106 156 0 47 0 55\r");delay_ms(500); if(biru==1) printf("ST 0 41 11 61 113 163\r");delay_ms(500); while(UCSRA.7)temp=UDR; delay_ms(1000); A=1; while (1) { // Place your code here while(A==1) { lagi: do{cekwarna();kiri();} while(datarx[2]<30||datarx[2]>48); if (datarx[9]<75) goto lagi; stop();B=1;A=0; } while(B==1) { do { cekwarna();maju(); if(datarx[2]>52 && datarx[9]>80)kanan(); if(datarx[2]<43 && datarx[9]>80)kiri(); } while(datarx[3]<115); stop();delay_ms(1000); //***********PROSES PENGAMBILAN BOLA********** do{lengan_turun();} while(PINA.1==1); lengan_stop();delay_ms(500); printf("sv 0 195\r");delay_ms(1000); datas=getchar(); do{lengan_naik();} while(PINA.0==1); lengan_stop();delay_ms(500); printf("sv 0 50\r");delay_ms(1000);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L14

datas=getchar(); //***********PROSES PENGAMBILAN BOLA********** if(kuning==1) printf("ST 88 138 120 170 6 56\r");delay_ms(500); if(hijau==1) printf("ST 14 64 125 175 62 112\r");delay_ms(500); datas=getchar(); Ce=1;B=0; } while(Ce==1) { lagi1: do{cekwarna();kiri();} while(datarx[2]<30||datarx[2]>48);//&&datarx[9]>15); if (datarx[9]<75) goto lagi1; stop();D=1;Ce=0; } while(D==1) { do { cekwarna();maju(); if(datarx[2]>52 && datarx[9]>80)kanan(); if(datarx[2]<43 && datarx[9]>80)kiri(); } while(datarx[3]<50); stop();delay_ms(1000); //***********PROSES PEMBUANGAN BOLA********* kiri();delay_ms(2600);stop();delay_ms(500);mundur();delay_ms(1000);stop(); printf("SV 1 160\r");delay_ms(2000);datas=getchar(); printf("SV 1 0\r");delay_ms(2000);datas=getchar(); //***********PROSES PEMBUANGAN BOLA********** delay_ms(1000); if(merah==1) printf("ST 106 156 0 47 0 55\r");delay_ms(500); if(biru==1) printf("ST 0 41 11 61 113 163\r");delay_ms(500); datas=getchar();A=1;D=0; } } }

More Documents from "tata"