81
PERANCANGAN ROBOT LINE FOLLOWER SORTIR BENDA DENGAN MENGGUNAKAN KAMERA SKRIPSI Oleh Roqiqul Ma’ani NIM 081910201052 PROGRAM STUDI STRATA SATU JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS JEMBER 2013

Roqiqul Maani Teknik Elektro Libre

Embed Size (px)

Citation preview

Page 1: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 1/81

PERANCANGAN ROBOT LINE FOLLOWER SORTIR BENDA

DENGAN MENGGUNAKAN KAMERA

SKRIPSI

Oleh

Roqiqul Ma’ani

NIM 081910201052

PROGRAM STUDI STRATA SATUJURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS JEMBER

2013

Page 2: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 2/81

ii

PERANCANGAN ROBOT LINE FOLLOWER SORTIR BENDA

DENGAN MENGGUNAKAN KAMERA

SKRIPSI

diajukan guna melengkapi tugas akhir dan memenuhi salah satu syarat

untuk menyelesaikan Program Studi Teknik Elektro (S1)

dan mencapai gelar Sarjana Teknik 

Oleh

Roqiqul Ma’ani

NIM 081910201052

PROGRAM STUDI STRATA SATU

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS JEMBER

2013

Page 3: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 3/81

iii

PERSEMBAHAN

Alhamdulillah, segala puji bagi Allah SWT yang telah memberikan limpahan

nikmat yang sangat luar biasa kepada penulis dan tidak lupa juga sholawat kepada

Nabi besar Muhammad SAW yang telah membawa kita semua menuju peradaban

manusia yang lebih baik. Skripsi bagi saya adalah salah satu fase kehidupan dimana

saya berada di titik terendah dengan berbagai cobaan hidup sehingga butuh banyak 

dukungan agar saya mampu bangkit dan akhirnya menyelesaikannya. Oleh karena

itu, dengan kerendahan hati penulis mempersembahkan karya tulis ini untuk :

1. Kedua orang tuaku, Ibunda Maftuha dan Ayahanda Abd. Hamid Syam yang

selalu mendoakan dan selalu mendukung baik secara moral maupun materi.

2. Kakakku Ach. Habanal Huda dan Adikku Fina Wildaniyah yang selalu

menjadi motivasi, penulis selalu mendoakan agar sukses selalu.

3. Semua Dosen Jurusan Teknik Elektro Fakultas Teknnik Universitas Jember

yang telah membimbing dan memberikan ilmu. Terutama Bapak H. Samsul

Bachri M, S.T.,MM.T selaku DPU dan Bapak Sumardi, ST., MT selaku DPA

yang telah meluangkan waktu dan pikirannya seta perhatiannya gunamemberikan bimbingan dan pengarahan demi terselesainya skripsi ini.

4. Seluruh Guru-guruku dari TK, MI, SMP, SMA dan Guru Mengaji yang telah

membimbing dengan sabar dan memberikan ilmu.

5. Teman-teman teknik, khususnya Teknik Elektro angkatan 2008.

6. Teman-teman para penghuni COSAMI, punggawa BIBOT beserta

komponen-komponen pendukungnya.

7. Teman-teman KKT desa Keting : AKWS, MPA, TAL, NS, AM, MID, IM.

8. Teman-teman Asisten Laboratorium Dasar dan Optik, UKM RISTEK dan

UKM ROBOTIKA.

9. Para dewan guru dan murid-muridku di MA. Annuriyyah.

10. Almamater Universitas Jember yang kubanggakan.

Page 4: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 4/81

Page 5: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 5/81

v

PERNYATAAN

Saya yang bertanda tangan dibawah ini:

nama : Roqiqul Ma’ani

NIM : 081910201052

menyatakan dengan sesungguhnya bahwa karya ilmiah yang berjudul “Perancangan

Robot   Line Follower  Sortir Benda dengan Menggunakan Kamera” adalah benar-

benar hasil karya sendiri, kecuali kutipan yang sudah saya sebutkan sumbernya,belum pernah diajukan pada institusi mana pun, dan bukan karya jiplakan. Saya

bertanggung jawab atas keabsahan dan kebenaran isinya sesuai dengan sikap ilmiah

yang harus dijunjung tinggi.

Demikian pernyataan ini saya buat dengan sebenarnya, tanpa ada tekanan dan

paksaan dari pihak mana pun serta bersedia mendapat sanksi akademik jika ternyata

di kemudian hari pernyataan itu tidak benar.

Jember, 27 Mei 2013

Yang menyatakan,

Roqiqul Ma’ani

NIM 081910201052

Page 6: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 6/81

vi

SKRIPSI

PERANCANGAN ROBOT LINE FOLLOWER SORTIR BENDA

DENGAN MENGGUNAKAN KAMERA

Oleh:

Roqiqul Ma’ani

NIM 081910201052

Pembimbing :

Dosen Pembimbing Utama : H. Samsul Bachri M., ST., M.MT.

Dosen Pembimbing Anggota : Sumardi, S.T.,M.T.

Page 7: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 7/81

vii

PENGESAHAN

Skripsi berjudul   “Perancangan Robot   Line Follower  Sortir Benda dengan

Menggunakan Kamera   “ telah diuji dan disahkan pada :

Hari, tanggal : Senin, 27 Mei 2013

Tempat : Fakultas Teknik Universitas Jember.

Tim Penguji:

Mengetahui,

Mengesahkan

Dekan Fakultas Teknik,

Ir. Widyono Hadi, M.T.

NIP 19610414 198902 1 001

Pembimbing Utama,

H. Samsul Bachri M., S.T.,M.MT.

NIP. 19640317 199802 1 001

Pembimbing Anggota,

Sumardi, S.T., M.T.

NIP. 19670113 199802 1 001

Penguji I,

Satriyo Budi Utomo, S.T., M.T.

NIP 19850126 200801 1 002

Penguji II,

Suprihadi Prasetyono, S.T., M.T.

NIP 19700404 199601 1 001

Page 8: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 8/81

viii

Perancangan Robot Line Follower Sortir Benda dengan Menggunakan Kamera

Roqiqul Ma’ani

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Jember

ABSTRAK

Computer vision merupakan kombinasi dari Pengolahan Citra dan Pengenalan Pola.

Computer vision pada bidang robotik biasa disebut juga dengan vision robot. Vision

robot dapat didefinisikan sebagai proses ekstraksi, karakteristik serta menafsirkan

informasi dari dunia gambar tiga-dimensi dan dapat dibagi menjadi enam wilayahprinsip yang meliputi   sensing, preproses, segmentasi, deskripsi, pengenalan dan

interpretasi. Dalam penelitian ini aplikasi   Computer vision digunakan untuk 

mengenali warna benda yang kemudian diterapkan pada robot   line follower  untuk 

mengambil dan membawa benda ke tempat yang ditentukan sesuai dengan warnanya.

Sensor yang digunakan adalah kamera CMUcam4. Pengujian dilakukan dengan

memberi bola warna merah dan biru masing – masing sebanyak delapan kali dan

kombinasi antara warna merah atau biru secara acak sebanyak sepuluh kali. Dari

hasil pengujian didapatkan nilai presentase keberhasilan robot dalam mengenali

warna biru sebesar 75 % dan warna merah 87,5 %. Secara keseluruhan, sistem robot

dalam mengenali warna benda memiliki nilai presentase keberhasilan sebesar 80 %.

Kata kunci : sensor kamera, computer vision , line follower, CMUcam4

Page 9: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 9/81

ix

Sorter Line Follower Robot Design Using Camera

Roqiqul Ma’ani

 Department of Electrical Engineering. Engineering Faculty, Jember University

 ABSTRACT 

Computer vision is a combination of Image Processing and Pattern Recognition.

Computer vision on robotics commonly referred to as robot vision. Robot vision can

be defined as the process of extraction, characteristics and interpreting information

 from the world of three-dimensional images and can be divided into six regionscovering the principles of sensing, preprocessing, segmentation, description,

recognition and interpretation. In this study the application of Computer vision is

used to identify the color of objects which are then applied to a line follower robot to

 pick up and carry objects to the specified place in accordance with the color. The

sensor is using a camera CMUcam4. Testing is done by giving the ball red and blue

respectively - each as much as eight times and the combination of red or blue color 

ten times randomly. From the test results obtained percentage value in recognizing

blue color by 75% and 87.5% for red color. Overall, the robotic system to recognize

colors of objects have a value equal to 80% the percentage of success.

Keyword : camera sensor, computer vision , line follower, CMUcam4

Page 10: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 10/81

x

RINGKASAN

Perancangan Robot  Line Follower   Sortir Benda Dengan Menggunakan

Kamera; Roqiqul Ma’ani, 081910201052; 2013: 48 halaman; Jurusan Teknik 

Elektro Fakultas Teknik Universitas Jember.

Robot merupakan suatu perangkat mekanik yang mampu menjalankan tugas-

tugas fisik, baik di bawah kendali dan pengawasan manusia, ataupun yang dijalankan

dengan serangkaian program yang telah didefinisikan terlebih dahulu atau

kecerdasan buatan atau biasa disebut dengan artificial intelligence.

Computer vision pada bidang robotik biasa disebut juga dengan vision robot.

Vision robot dapat didefinisikan sebagai proses ekstraksi, karakteristik serta

menafsirkan informasi dari dunia gambar tiga-dimensi. Proses ini disebut juga

sebagai mesin atau vision komputer ( Computer vision ) dan dapat dibagi menjadi

enam wilayah prinsip yang meliputi   sensing, preproses, segmentasi, deskripsi,

pengenalan dan interpretasi.

Dalam dunia robotika aplikasi penggunaan Computer vision kebanyakandigunakan dalam sebuah kontes robot misalnya robot soccer yang mampu mengejar

objek yang diinginkan. Namun, dalam hal pengenalan warna masih sedikit yang

menerapkan sistem ini pada robot. Umumnya sensor yang digunakan untuk 

mengenali warna adalah sensor konvensional yang memiliki kekurangan yaitu jarak 

antara sensor dengan objek yang akan diamati harus sangat dekat. Oleh karena itu,

dalam proyek akhir ini akan dibuat suatu aplikasi  Computer vision yang mampu

menggantikan peranan sensor konvensional dalam pengenalan warna.

Perancangan robot   line follower  sortir benda ini dibagi menjadi tiga bagian,

yaitu bagian navigasi robot,   gripper  dan kamera. Navigasi robot menggunakan

sensor garis untuk membaca garis lintasan yang sudah ditentukan.   Gripper 

menggunakan sebuah mini motor servo untuk mengambil benda yang akan dibawa.

Page 11: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 11/81

Page 12: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 12/81

xii

PRAKATA

Puji syukur ke hadirat Allah SWT atas segala rahmat dan karunia- Nya

sehingga penulis dapat menyelesaikan skripsi yang berjudul   “Perancangan Robot

 Line Follower  Sortir Benda dengan Menggunakan Kamera”. Skripsi ini disusun

untuk memenuhi salah satu syarat menyelesaikan pendidikan strata satu (S1) pada

Jurusan Teknik Elektro Fakultas Teknik Universitas Jember dan mencapai gelar

sarjana teknik pada Fakultas Teknik Universitas Jember.

Penyusunan skripsi ini tidak lepas dari bantuan berbagai pihak. Oleh karena

itu, penulis menyampaikan terima kasih kepada:

1. Ir. Widyono Hadi, M.T., selaku Dekan Fakultas Teknik dan Sumardi, S.T., M.T.,

selaku Ketua Jurusan Teknik Elektro Universitas Jember yang telah memberi

kemudahan bagi penulis untuk menyelesaikan skripsi ini;

2. H. Samsul Bachri M., S.T.,MM.T. selaku Dosen Pembimbing Utama, Sumardi,

S.T.,M.T. selaku Dosen Pembimbing Anggota dan Satriyo Budi Utomo,

S.T.,M.T. serta Agus Irwan K., S.T. selaku dosen pembimbing pembantu dan

Teknisi Laboratorium yang memberikan arahan dalam penyelesaian skripsi ini ;3. Seluruh dosen dan staf akademik yang telah banyak membantu selama penulis

menempuh kuliah di Jurusan Teknik Elektro Fakultas Teknik Universitas Jember;

4. Kedua orang tua, kakak dan adikku tercinta yang telah memberikan dorongan dan

doanya demi terselesaikannya skripsi ini;

5. Semua guru-guruku yang telah sudi menurunkan ilmunya kepadaku, semoga

bermanfaat bagi kehidupanku dan kehidupan umat manusia;

6. Rekan seperjuanganku Tri Bagus Rahmad K., S.T. yang telah membantu dan

bekerja sama dalam menyelesaikan skripsi ini;

7. Dimas Agus P. sekeluarga yang telah bersedia memfasilitasi tempat dan

peralatannya untuk menyelesaikan skripsi ini;

Page 13: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 13/81

xiii

8. Teman-temanku semua, khususnya Hemi, Yudis, Wahyu, Abi, Rizal, Rahman,

Mirza, Trian, Fajri, Ricak, Nayla, Lita, Annisa K., terima kasih atas segala kisah

yang pernah kita ukir bersama, sedih, senang semua itu akan jadi cerita tersendiri

dan kesan yang tidak akan pernah terlupakan selama hidup;

9. Semua jajaran guru di MA. Annuriyyah yang telah bersedia menerima dan

mendukung penulis dalam menyelesaikan skripsi ini.

10. Semua pihak yang telah menyalurkan bantuan kepada penulis dalam penulisan

skripsi ini baik langsung maupun tidak langsung yang tidak dapat saya sebutkan

satu persatu.

Penulis juga menerima segala kritik dan saran dari semua pihak demi

kesempurnaan skripsi ini. Akhirnya penulis berharap, semoga skripsi ini dapat

bermanfaat.

Jember, Juni 2013 Penulis

Page 14: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 14/81

xiv

DAFTAR ISI

Halaman

HALAMAN SAMPUL.......................................................................................... i

HALAMAN JUDUL ............................................................................................. ii

HALAMAN PERSEMBAHAN ........................................................................... iii

HALAMAN MOTTO ........................................................................................... iv

HALAMAN PERNYATAAN............................................................................... v

HALAMAN PEMBIMBINGAN.......................................................................... vi

HALAMAN PENGESAHAN............................................................................... vii

ABSTRAK ............................................................................................................. viii

 ABSTRACT ............................................................................................................ ix

RINGKASAN ........................................................................................................ x

PRAKATA............................................................................................................. xii

DAFTAR ISI.......................................................................................................... xiv

DAFTAR GAMBAR............................................................................................. xvii

DAFTAR TABEL ................................................................................................. xviii

BAB 1. PENDAHULUAN .................................................................................... 11.1 Latar Belakang ....................................................................................... 1

1.2 Rumusan Masalah.................................................................................. 3

1.3 Batasan Masalah..................................................................................... 4

1.4 Tujuan ..................................................................................................... 4

1.5 Manfaat ................................................................................................... 4

BAB 2. TINJAUAN PUSTAKA........................................................................... 5

2.1 Sistem Visual........................................................................................... 5

2.2 Citra warna digital RGB ....................................................................... 6

2.3 ADC ......................................................................................................... 7

2.4 Sensor ...................................................................................................... 9

2.4.1 Sensor Proximity ............................................................................... 9

Page 15: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 15/81

xv

2.4.2 Sensor Kamera .................................................................................. 10

2.5 Arduino IDE ........................................................................................... 11

2.5.1 Arduino Hardware ............................................................................ 12

2.5.2 Arduino Software .............................................................................. 12

BAB 3. METODE PENELITIAN........................................................................ 14

3.1 Lokasi dan Tempat Penelitian............................................................... 14

3.2 Tahapan Perencanaan ........................................................................... 14

3.3 Alat dan Bahan ....................................................................................... 16

3.4 Mekanik robot ........................................................................................ 16

3.5 Blok Perangkat Keras ............................................................................ 17

3.5.1 Sensor Garis ...................................................................................... 17

3.5.2 Sensor Warna .................................................................................... 17

3.5.3   Gripper .............................................................................................. 18

3.5.4 Driver Motor ..................................................................................... 19

3.6 Arduino Mega 1250 (Sistem Minimum AVR ATMega 1250) ............ 20

3.7 Desain Perangkat Lunak ....................................................................... 21

3.7.1 Pembacaan Sensor Garis................................................................... 22

3.7.2 Pengenalan Warna............................................................................. 24

3.8 Instalasi CMUcam .................................................................................. 26

3.8.1 Instalasi Hardware............................................................................. 26

3.8.2 Instalasi software............................................................................... 27

3.9 Blok Diagram, Alogaritma dan Flowchart Sistem............................... 28

BAB 4. PEMBAHASAN ....................................................................................... 30

4.1 Pengujian Robot Linefollower .............................................................. 30

4.1.1 Pengujian bagian pembacaan ADC................................................... 30

4.1.2 Pengujian Navigasi Robot................................................................. 35

4.2 Pengujian Motor Servo .......................................................................... 36

4.3 Pengujian Kamera CMUcam4 .............................................................. 37

Page 16: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 16/81

xvi

4.3.1 Pengujian Komunikasi Serial CMUcam4 dengan Arduino .............. 39

4.3.2 Pengujian Penggolongan Warna ....................................................... 41

4.3.3 Pengujian Jarak Jangkauan ............................................................... 43

4.4 Pengujian keseluruhan sistem............................................................... 44

BAB 5. KESIMPULAN ........................................................................................ 47

5.1 Kesimpulan ............................................................................................. 47

5.2 Saran........................................................................................................ 47

DAFTAR PUSTAKA............................................................................................ 48

Page 17: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 17/81

xvii

DAFTAR GAMBAR

Halaman

Gambar 2.1 Model warna RGB ..............................................................................   7

Gambar 2.2 ADC dengan kecepatan sampling rendah dan sampling tinggi........... 8

Gambar 2.3 Ilustrasi sensor garis ............................................................................ 9

Gambar 2.4 Board Arduino..................................................................................... 12

Gambar 3.1 Chassis Rover X5 ................................................................................ 16

Gambar 3.2 Rangkaian sensor garis pada robot line follower  ............................... 17

Gambar 3.3 Model Rancangan Pembuatan Gripper ............................................... 18

Gambar 3.4 Bentuk Jadi Model Gripper ................................................................. 19

Gambar 3.5 Rangkaian H- Bridge............................................................................ 19

Gambar 3.6 Pin Map Arduino Mega 1250.............................................................. 21

Gambar 3.7 Diagram alir pembacaan garis............................................................. 22

Gambar 3.8 Lintasan robot...................................................................................... 24

Gambar 3.9 Blok Diagram Proses Pengenalan Warna .......................................... 25

Gambar 3.10 Flowchart Pencitraan ........................................................................ 26

Gambar 3.11 Blok Diagram Proses Pengenalan Warna.......................................... 28

Gambar 3.12 Flowchart robot line follower sortir benda ....................................... 29

Gambar 4.1 Nilai adc pada bidang putih ................................................................ 32

Gambar 4.2 Nilai adc pada bidang abu-abu ........................................................... 32

Gambar 4.3 Nilai adc pada bidang hitam ............................................................... 32

Gambar 4.4 Aktifitas kamera pada saat mengirimkan data Color Statistic ............ 38

Gambar 4.5 Gambar yang dihasilkan kamera......................................................... 38

Page 18: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 18/81

xviii

DAFTAR TABEL

Halaman

Tabel 3.1 Tahapan Perencanaan ............................................................................. 14

Tabel 3.2 Kombinasi sensor dan aksi robot ........................................................... 23

Tabel 4.1 Perbandingan tegangan pada bidang putih ............................................. 33

Tabel 4.2 Perbandingan tegangan pada bidang abu-abu ........................................ 33

Tabel 4.3 Perbandingan tegangan pada bidang hitam ............................................ 33

Tabel 4.4 Pengujian navigasi robot ........................................................................ 36

Tabel 4.5 Pengujian motor servo ........................................................................... 37

Tabel 4.6 Perbandingan Nilai Data CMUcam4 GUI dengan Serial Monitor ........ 40

Tabel 4.7 Pengaruh nilai Brightness pada nilai RGB benda warna biru ................ 42

Tabel 4.8 Pengaruh nilai Brightness pada nilai RGB benda warna merah ............ 42

Tabel 4.9 Pengujian Jarak Jangkauan ..................................................................... 43

Tabel 4.10 Percobaan pemberian bola merah ........................................................ 44

Tabel 4.11 Percobaan pemberian bola biru ............................................................ 45

Tabel 4.12 Percobaan pemberian bola secara acak ................................................ 46

Page 19: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 19/81

1

BAB 1. PENDAHULUAN

1.1 Latar Belakang

Robot merupakan suatu perangkat mekanik yang mampu menjalankan tugas-

tugas fisik, baik di bawah kendali dan pengawasan manusia, ataupun yang dijalankan

dengan serangkaian program yang telah didefinisikan terlebih dahulu atau

kecerdasan buatan atau biasa disebut dengan artificial intelligence. Perkembangan

robot di negara-negara maju seperti Amerika, Jepang, Korea, dan Jerman mengalami

peningkatan yang tajam. Saat ini robot telah digunakan sebagai alat untuk membantu

pekerjaan manusia. Seiring dengan berkembangnya teknologi, khususnya teknologi

elektronik, peran robot menjadi semakin penting tidak saja dibidang sains, tapi juga

di berbagai bidang lainnya, seperti di bidang kedokteran, pertanian, industri, bahkan

militer. Secara sadar atau tidak, saat ini robot telah masuk dalam kehidupan manusia

sehari-hari dalam berbagai bentuk dan jenis. Ada jenis robot sederhana yang

dirancang untuk melakukan kegiatan yang sederhana, mudah dan berulang-ulang,

ataupun robot yang diciptakan khusus untuk melakukan sesuatu yang rumit, sehingga

dapat berperilaku sangat kompleks dan secara otomatis dapat mengontrol dirinya

sendiri sampai batas tertentu (Wikipedia,2011).

 Machine vision merupakan salah satu cabang ilmu yang sering digunakan

untuk pengembangan bidang robotik. Cabang ilmu ini lebih dikenal dengan sebutan

computer vision. Cabang ilmu ini mempelajari bagaimana komputer dapat mengenali

objek yang diamati / diobservasi.   Computer vision merupakan kombinasi dari

Pengolahan Citra ( Image Processing) dan Pengenalan Pola (Pattern Recognition).

Secara keseluruhan tujuan dari sistem computer vision adalah membuat model dunia

nyata dari sebuah gambar. Sebuah sistem   computer vision memperbaiki informasi

yang berguna mengenai   scene dari proyeksi dua-dimensi. Gambar proyeksi dua-

dimensi berasal dari dunia tiga-dimesi, maka informasi yang didapat tidak langsung

Page 20: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 20/81

2

tersedia dan harus diperbaiki. Pengetahuan mengenai objek-objek pada   scene dan

proyeksi geometri sangat diperlukan dalam memperbaiki informasi tersebut.

Salah satu contoh aplikasi dari Computer vision di bidang kesehatan atau medis

adalah untuk mendiagnosa suatu penyakit. Sistem computer vision membantu dokter

untuk mendiagnosa suatu penyakit dengan menggunakan gambar tomografi yang

diolah oleh komputer. Gambar-gambar medis dapat diproses oleh sistem yang ada

didalam komputer ( machine vision ) untuk membantu dalam hal diagnosa sebuah

penyakit. Sistem tersebut telah dikembangkan untuk semua mode pencitraan yang

berguna dalam berbagai aspek kesehatan. Aplikasi serupa sedang dikembangkan

untuk pemeriksaan industri, pertanian, dan produk lainnya. Sistem   computer vision

telah digunakan untuk pengendalian kualitas produk misalnya, robot yang berbasis

vision yang mengecek penyegelan pada sebuah tutup botol, hingga untuk pemilihan

buah jeruk atau apel yang berkualitas.

Computer vision tidak hanya berlaku pada pemprosesan gambar saja, tetapi

 juga dapat diterapkan pada mobile robot. Seperti halnya pada manusia, kemampuan

vision mempengaruhi robot, dengan mekanisme pengindraan yang mutakhir yang

memungkinkan suatu mesin untuk merespon lingkungannya dengan menggunakankecerdasan (inteligent ).

Computer vision pada bidang robotik biasa disebut juga dengan vision robot.

Vision robot dapat didefinisikan sebagai proses ekstraksi, karakteristik serta

menafsirkan informasi dari dunia gambar tiga-dimensi. Proses ini disebut juga

sebagai mesin atau  vision komputer ( Computer vision ) dan dapat dibagi menjadi

enam wilayah prinsip yang meliputi   sensing, preproses, segmentasi, deskripsi,

pengenalan dan interpretasi.

Sudah banyak peneliti yang menerapkan teori   computer vision di berbagai

terapan, seperti bidang keamanan, medis, lingkungan, industri maupun   game

(permainan). Mulai dari pendeteksi wajah sampai dengan pendeteksi produk di

industri sudah memanfaatkan   computer vision. Dalam dunia robotika aplikasi

Page 21: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 21/81

3

penggunaan   computer vision kebanyakan digunakan dalam sebuah kontes robot

misalnya robot soccer yang mampu mengejar objek yang diinginkan. Namun, dalam

hal pengenalan warna masih sedikit yang menerapkan sistem ini pada robot.

Umumnya sensor yang digunakan untuk mengenali warna adalah sensor

konvensional yang memiliki kekurangan yaitu jarak antara sensor dengan objek yang

akan diamati harus sangat dekat. Jarak antara objek yang dibaca haruslah antara 10

mm sampai 25 mm di depan sensor (Widodo, 2010). Oleh karena itu, dalam proyek 

akhir ini akan dibuat suatu aplikasi   computer vision yang mampu menggantikan

peranan sensor konvensional dalam pengenalan warna yaitu robot line follower sortir

benda menggunakan kamera. Perangkat yang digunakan dalam proyek ini adalah

modul kamera CMUcam4. Diharapkan dengan menggunakan kamera ini obyek dapat

dikenali dengan cepat, tepat dan akurat. Dalam kasus ini benda yang dimaksud

adalah benda berbentuk bola dengan dua warna berbeda yaitu biru dan merah. Secara

garis besar, proses dalam proyek akhir ini adalah bagaimana cara kamera mengenali

objek untuk diproses melalui mikrokontroler kemudian di eksekusi dengan

memungut dan menempatkan objek bersangkutan ke tempat yang telah ditentukan.

1.2 Rumusan Masalah

Dalam penelitian ini dirumuskan suatu permasalahan mengenai bagaimana

menggunakan sistem computer vision untuk proses pengenalan warna dan bagaimana

aplikasi penggunaan sensor kamera pada robot line follower untuk mengenali warna

objek dan mempengaruhi aktifitas navigasi dari robot   line follower . Robot   line

 follower  di pilih karena dapat mengikuti garis, dengan kata lain garis tersebut

digunakan sebagai jalur dari robot untuk mendekati objek yang akan diambil dan

menempatkan objek sesuai pada tempatnya dengan cara navigasi yang dipetakan.

Page 22: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 22/81

4

1.3 Batasan Masalah

Di dalam permasalahan tersebut akan diberi batasan-batasan masalah sebagai

berikut :

1. Kamera yang digunakan adalah CMUcam4

2. Obyek yang digunakan adalah benda berbentuk bola berwarna merah dan

biru.

3. Latar belakang tempat harus berbeda dengan warna obyek yang disensor

4. Obyek berada di depan kamera dan tidak terhalang obyek lain

5. Lintasan atau arena sudah ditentukan

6. Jarak antara kamera dengan objek sudah ditentukan

1.4 Tujuan

Tujuan dari proyek akhir ini adalah membuat robot  line follower  yang dapat

mengenali warna objek (benda) dengan kamera dan menempatkan benda sesuai

dengan warna yang telah ditentukan menggunakan cara pemetaan serta untuk 

mengetahui cara penggunaan sistem computer vision pada modul CMUcam4 sebagai

sensor warna.

1.5 Manfaat

Pemanfaatan alat ini diharapkan dapat digunakan dan dikembangkan dalam

dunia robotika untuk mengganti peran dan fungsi sensor konvensional menjadi

sensor yang didalamnya terdapat pengolahan citra dalam pengenalan warna benda

dan diharapkan dapat membantu pengembangan dunia robotik dalam industri

kedepan.

Page 23: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 23/81

5

BAB 2. TINJAUAN PUSTAKA

2.1 Sistem Visual

Pengertian Pengolahan Citra   (image processing) sedikit berbeda dengan

pengertian mesin visual   (machine vision), meskipun keduanya seolah-olah dapat

dipergunakan dengan maksud yang sama. Terminologi pengolahan citra

dipergunakan bila hasil pengolahan data yang berupa citra, adalah juga bentuk citra

yang lain, yang mengandung atau memperkuat informasi khusus pada citra hasil

pengolahan sesuai dengan tujuan pengolahannya. Sedangkan terminologi mesin

visual digunakan bila data hasil pengolahan citra langsung diterjemahkan dalam

bentuk lain, misalnya grafik yang siap diinterpretasikan untuk tujuan tertentu, gerak 

peralatan atau bagian dari peralatan mekanis, atau aksi lainnya yang berarti bukan

merupakan citra lagi. Dengan demikian jelaslah bahwa pengolahan citra merupakan

hasil bagian dari mesin visual, karena untuk menghasilkan keluaran selain citra,

informasi dari citra yang ditangkap oleh kamera juga perlu diolah dan dipertajam

pada bagian-bagian tertentu. (Usman Ahmad, 2005).

Sebagaimana layaknya mata dan otak, sistem visual adalah sistem yang

mempunyai kemampuan untuk menganalisa objek secara visual, setelah data objek 

yang bersangkutan dimasukkan dalam bentuk citra (image). Secara umum tujuan dari

sistem visual adalah untuk membuat model nyata dari sebuah citra. Citra yang

dimaksud adalah citra digital hasil konversi suatu objek menjadi citra melalui sensor

yang prosesnya disebut digitasi. (Usman Ahmad, 2005) Sistem visual mepunyai

kemampuan untuk memperbaiki informasi yang berguna dari sebuah pemandangan

(scene) hasil proyeksi dua-dimensi. Kata memperbaiki dipakai disini karena citra

merupakan hasil proyeksi dua-dimensi dari objek atau benda 3 dimensi, sehingga

informasi tidak bisa didapat begitu saja. Melainkan harus diperbaiki karena

sesungguhnya ada bagian informasi yang hilang setelah benda diproyeksikan ke

dalam citra. Untuk memperbaiki informasi, diperlukan pengetahuan dan proyeksi

Page 24: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 24/81

6

geometri dari obyek dalam suatu pemandangan. Contoh yang mudah dipaparkan

dalam hal ini misalnya jarak antara sensor (biasanya kamera) dengan obyek tertentu

dalam sebuah citra tidak dapat diketahui langsung karena informasi kedalaman

(depth) yang merupakan jarak itu sendiri hilang saat obyek dalam ruang (tiga-

dimensi) dikonversi menjadi citra dalam bidang (dua-dimensi). Dengan demikian

bila ada dua atau lebih obyek yang bertumpukan dalam suatu bidang pandang, suatu

obyek tidak dapat langsung diketahui apakah ia berada di depan atau dibelakang

obyek-obyek lainnya. Namun demikian persoalan ini dapat dijawab setelah

dilakukan satu atau beberapa proses pada citra tersebut dengan memanfaatkan

informasi yang tersedia sehingga informasi yang hilang tadi dapat kembali. (Usman

Ahmad, 2005)

2.2 Citra warna digital RGB

Pemodelan warna digunakan untuk menggambarkan sifat-sifat warna secara

matematis, sehingga dengan demikian dapat dilakukan pengolahan citra digital

dengan cara memanipulasi nilai-nilai warna dari citra tersebut secara matematis.

Model warna yang paling banyak digunakan di bidang computer maupun elektronika

adalah model RGB(red-green-blue). Model RGB ini cocok digunakan dalam

implementasi perangkat keras elektronik dan penyimpanan data secara digital.

(Anymous,2005) .

Di dalam model warna RGB, setiap warna dapat didefinisikan dalam tiga

komponen warna yaitu komponen R (merah), G (hijau), dan B (biru). Warna-warna

yang lain dapat diperoleh dengan melakukan kombinasi dari masing-masing

komponen R, G, dan B dengan nilainya masing-masing. Dalam penerapannya di

bidang komputer, harga dari tiap-tiap komponen R, G, dan B berkisar dari 0 sampai

255. Sebagai contoh, warna merah murni memiliki komponen R=255, G=0, B=0,

warna hijau murni memiliki harga R=0, G=255, B=0, dan seterusnya. Untuk warna

Page 25: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 25/81

7

hitam memiliki harga R=0, G=0, dan B=0, sedangkan warna putih memiliki harga

R=255, G=255, dan B=255. (Anymous,2005)

Model warna RGB ini dapat digambarkan sebagai sebuah kubus dalam

koordinat Cartesian, di mana masing-masing sumbu mewakili harga dari komponen-

komponen R, G, dan B.

Gambar 2.1 Model warna RGB

Sumber: Anymous (2005)

Pada kubus warna RGB ini, warna hitam terletak pada sudut kubus di posisi (0,

0, 0), dan warna putih pada posisi (255, 255, 255). Sudut-sudut kubus yang berimpit

dengan sumbu-sumbu koordinat ditempati oleh warna-warna merah, hijau, dan biru

yang disebut juga dengan warna primer. Sedangkan sudut- sudut kubus yang lainnya

ditempati oleh warna-warna sian, magenta, dan kuning yang disebut juga dengan

warna sekunder. (Anymous,2005)

2.3 ADC

ADC (Analog to Digital Converter) adalah salah satu fasilitas mikrokontroller

dari AVR yang berfungsi untuk mengubah data analog menjadi data digital. ADC

memiliki 2 karakter prinsip, yaitu kecepatan sampling dan resolusi. Kecepatan

Page 26: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 26/81

Page 27: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 27/81

Page 28: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 28/81

10

2.4.2 Sensor Kamera

Dalam hal pengolahan citra terdapat penelitian mengenai hal tersebut

menggunakan mikrokontroler diawali oleh   Carneige Mellon University yang

membuat modul kamera CMUCam untuk pemakaian pada  mobile robot  (Bruce,

2000). Modul CMUCam didesain sebagai modul pengolah citra yang murah dan bisa

dihubungkan dengan berbagai mikrokontroler lewat jalur serial (Rowe, 2001). Sensor

kamera yang dipakai pada CMUcam adalah OV9665. CMUcam menggunakan

mikrokontroler 8 bit SX28 sebagai pengolah citranya. Karena keterbatasan RAM,

maka total citra yang bisa diproses hanya sampai 80 X 143 piksel (Horizontal X

Vertikal). Akuisisi dan pemrosesan citra dilakukan secara per baris karena RAM

yang ada tidak mencukupi untuk menampung semua piksel dari kamera. CMUcam

memiliki fitur penjejak warna dengan metode pengambangan terhadap nilai RGB

piksel yang dideteksi.   Frame rate maksimal yang dapat dicapai oleh CMUcam

adalah 16.7 frame per detik.

CMUcam4 merupakan versi terbaru dari seri CMUcam sebelumnya. Pada versi

terbaru ini cukup banyak perubahan yang dilakukan agar modul camera ini dapat

digunakan untuk berbagai macam aplikasi dan mampu dihubungkan dengan berbagaimacam kontroler utama, seperti PC, Arduino(AVR), MCS-51, BASIC Stamp, PIC,

dll. Berbasiskan prosesor Parallax P8X32A yang merupakan propeller chip dimana

terdapat 8 buah prosesor di dalam chip tersebut, membuat modul kamera ini mampu

mengakomodasi pengolahan gambar digital dengan cepat dan data tersebut dapat

dibaca dengan mudah oleh mikrokontroler, seperti Arduino (AVR), BASIC Stamp 2,

dll. Selain memiliki prosesor utama yang mumpuni, CMUcam4 juga menggunakan

sensor kamera CMOS OV9665 1.3 MegaPixel yang telah dilengkapi dengan lensa

kamera dengan ukuran yang lebih kecil jika dibangdingkan dengan CMUcam versi

sebelumnya. Contoh aplikasi yang dapat dengan mudah diimplementasikan adalah

"RoboSoccer (mengejar bola bewarna)", hal ini dikarenakan adanya fitur untuk 

pembacaan warna gambar pada objek berwarna (contoh : merah) di sumbu X-Y

Page 29: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 29/81

11

dengan hanya menggunakan mikrokontroler AVR, MCS-51, BASIC Stamp, dll.

Selain perbaikan dari sisi fitur dari pengolahan gambar digital, CMUcam4 juga

menyediakan tambahan fitur TV-Out yang mampu menampilkan gambar di TV.

2.5 Arduino IDE

Arduino merupakan modul single board berbasis mikrokontroler yang berifat

open source (baik  hardware maupun  software), diturunkan dari   Wiring Platform,

dan dirancang untuk memudahkan user dalam penggunaan elektronik dalam berbagai

bidang. Arduino dapat dikatakan sebagai sebuah platform dari  physical computing

yang bersifat open source. Arduino tidak hanya sekedar sebuah alat pengembangan,

tetapi merupakan kombinasi dari  hardware, bahasa pemrograman dan   Integrated 

 Development Environment (IDE). IDE adalah sebuah software yang sangat berperan

untuk menulis program, meng-compile menjadi kode biner dan meng-upload ke

dalam memory mikrokontroler.

Arduino bersifat   open source, baik untuk hardware maupun  software-nya.

Skematik, Bill of Material (BoM), dan desain PCB (berbasis EAGLE  Software)

Arduino dapat di-download  secara bebas.   Software untuk pemrograman Arduino

(IDE Arduino) yang berupa  executable file juga dapat di-download dan diinstalasi

secara bebas pada komputer user. Saat ini Arduino cukup menjadi pilihan sebagai

modul pengembangan mikrokontroler baik untuk pemula (begginer ) hingga tingkat

lanjut (advance). Arduino menawarkan beberapa fitur yang cukup menarik antara

lain:

1. Open source, baik  hardware maupun software.

2.   Ekonomis, artinya investasi yang cukup murah untuk modul pengembangan

mikrokontroler yang cukup handal.

3.   Lintas Platform Sistem Operasi. IDE Arduino dapat dijalankan pada sistem

operasi Windows, Linux, maupun Macintosh.

Page 30: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 30/81

12

4.   Cukup mudah dipelajari dan digunakan. IDE Arduino berbasis IDE

Processing yang menggunakan bahasa pemrograman tingkat tinggi yang

dialeknya sangat mirip dengan C++ dan Java sehingga mudah dipelajari dan

diaplikasikan jika dibandingkan dengan bahasa pemrograman tingkat rendah

seperti Assembler .

5.   Konektor standar Arduino yang memungkinkan berbagai add -on (disebut

Shield ) dipasangkan dengan Arduino board .

2.5.1 Arduino Hardware

Arduino  Hardware hingga saat ini berbasis mikrokontroler AVR 8-bit RISC

(seri ATmega) seperti ATmega168, ATmega328, ATmega1280 dan ATmega2560

yang telah dilengkapi bootloader untuk membantu proses pengisian program.

Gambar 2.4 Board Arduino

Sumber: Massimo

2.5.2 Arduino Software

Software Arduino dikembangkan dengan basis IDE   Processing yang

menggunakan bahasa yang mirip dengan C++ dan Java. Bahasa dan alur

Page 31: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 31/81

13

pemrogramannya cukup mudah dimengerti walupun cukup “Case Sensitive” dan

belum dilengkapi dengan Code Completion ( AutoComplete). Software Arduino dapat

dijalankan pada OS multi platform seperti Windows, Linux, dan Macintosh. Software

Arduino bersifat Executable File dan dapat langsung dijalankan tanpa harus

melakukan proses instalasi terlebih dahulu asalkan pada komputer telah terinstalasi

Java Runtime. IDE Arduino Alpha terdiri dari:

1.   Editor program, sebuah window yang memungkinkan user menulis dan

melakukan proses editing program dalam bahasa Processing.

2.   Compiler, sebuah modul yang mengubah kode program (bahasa Processing)

menjadi kode biner.

3.   Uploader, sebuah modul yang berfungsi memuat (meng-upload ) kode biner

dari komputer ke dalam memory di dalam Arduino board.

Page 32: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 32/81

14

BAB 3. METODE PENELITIAN

3.1 Lokasi dan Tempat Penelitian

Kegiatan ini akan dilakukan setelah pelaksanaan seminar proposal dan

pelaksanaannya akan dilakukan pada dua tempat yaitu tempat tinggal pelaksana dan

kampus Fakultas Teknik.

3.2 Tahapan Perencanaan

Dalam pembuatan dibutuhkan langkah-langkah perancangan sebagai berikut:

Tabel 3.1 Tahapan Pernecanaan

JENIS

KEGIATAN

BULAN

I II III IV V VI VII VIII

STUDI

LITERATUR

PERENCANAAN

DAN

PERANCANGAN

KONSTRUKSI

ROBOT

PERANCANGAN

SENSOR

KAMERA

PEMROGRAMAN

UJI COBA DAN

PENGAMATAN

PENYUSUNAN

LAPORAN

1. Studi literatur

Tahap ini merupakan tahap awal dari proses kesuluruhan penelitian, pada

tahap ini digunakan untuk mencari literatur dari penelitian sebelumnya,

Page 33: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 33/81

15

diharapkan dengan menemukan literatur dari penelitian sebelumnya dapat

memberikan keyakinan bahwa penelitian ini dapat dilaksanakan dan

memberikan arahan untuk mengurangi kesalahan dalam penelitian.

2. Pembelian bahan kebutuhan pembuatan

Tahap kedua adalah mempersiapkan bahan yang diperlukan untuk proses

penelitian, bahan ini meliputi komponen-kompenen elektronika dan bahan

untuk pembuatan mekanik robot

3. Pengerjaan alat baik mekanik dan rangkaian

Tahap ketiga adalah proses pengerjaan untuk membuat robot, pengerjaan

dilakukan mulai dari pembuatan mekanik robot, pembuatan rangkaian

elektronik robot, dan pembuatan sistem control yang telah ditransfer dalam

bentuk listing program.

4. Pengujian alat

Pengujian dilakukan mulai dari mekanik robot, mekanik yang diharapkan

adalah sistem mekanik yang memiliki tingkat presisi yang tinggi, yang

berikutnya adalah melakukan uji coba pada rangkaian elektronika seperti

misalnya rangkaian mikrokontroler (sistem minimum) dan driver motor, danyang terakhir melakukan uji coba pada listing program.

5. Penggabungan perangkat yang telah dibuat

Tahap ini akan menggabungkan dari keseluruhan perangkat yaitu mulai dari

sistem mekanik robot, rangkaian elektronik, dan listing program yang telah di

transfer ke memori mikrokontroler.

6. Pengujian alat dan analisa

Menguji sistem yang telah digabungkan secara menyeluruh lebih dahulu,

selanjutnya menganalisis data yang didapatkan pada saat pengujian.

Diharapkan pada tahap ini dapat ditemukan sebuah gagasan baru dalam

mengurangi kesalahan pada tiap tahapan diatasnya.

Page 34: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 34/81

16

3.3 Alat dan Bahan

Alat dan bahan yang digunakan dalam proyek akhir ini adalah :

A.   Hardware

1. Unit Komputer

2. Kamera CMUcam4

3. Kabel serial / USB

4. Motor Servo

5. Arduino Mega 1250

6.   Driver Motor 

B.   Software

1.   Propeller tool

2. CMUcam4 GUI

3. Arduino IDE

3.4 Mekanik robot

Mekanik robot menggunakan   chassis rover x5 yang dimodifikasi sesuai

kebutuhan. Komponen gerak robot terdiri dari dua buah motor penggerak roda

kanan dan kiri. Di bagian depan body robot terdapat   Gripper  yang terintegrasi

dengan motor servo. Fungsi   Gripper  adalah untuk mengambil bola yang akan

diseleksi.

.

Gambar 3.1 Chassis Rover X5

Sumber : dfrrobot.com

Page 35: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 35/81

17

3.5 Blok Perangkat Keras

3.5.1 Sensor Garis

Sensor garis atau sensor   proximity adalah sensor yang berfungsi mendeteksi

warna garis hitam atau putih. Sensor tersebut memiliki bagian pemancar dan bagian

penerima. LED  superbright  sebagai pemancar cahaya dan   photodiode sebagai

penerima. Sistem kerja dari sensor tersebut adalah LED akan memancarkan cahaya

ke sebuah bidang datar, dan jika bidang tersebut berwarna putih maka cahaya yang

dipantulkan dari LED ke   photodiode akan banyak dan sebaliknya. Perubahan

banyak tidaknya cahaya yang diterima  photodiode tersebut yang menyebabkan

perubahan resistensi pada   photodiode . Sinyal sensor ini kemudian diterima oleh

mikrokontroller untuk diolah sehingga dapat diterjemahkan sebagai perintah untuk 

aksi robot dalam bergerak.

Gambar 3.2 Rangkaian sensor garis pada robot linefollower 

3.5.2 Sensor Warna

Sensor warna yang digunakan adalah kamera CMUcam4. CMUcam modul

sudah terintegrasi dengan sensor kamera OmniVision 9665 CMOS. Setelah sensor

tersebut mendeteksi obyek yang dibutuhkan maka akan dikirim ke prosesor 8 core

(Parallax P8X32 ) yang sudah tertanam pula di CMUcam modul. Setelah itu ada

komunikasi antara CMUcam modul dengan mikrokontroller, kemudian

mikrokontroller yang sudah melakukan pengolahan data memberi logika pada

gerakan robot ke aktuator berupa motor roda kanan dan kiri sebagai penggerak robot.

Page 36: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 36/81

3.5.3 Gripper 

Aktuator ini digu

Gripper terdiri dari serv

ini bekerja sesuai perint

 juga digunakan untuk m

Berikut rancangan

Gam

Keterangan :

1. Titik Warna M

2. Titik Warna Hi

Dari model rancan

akan untuk mengambil benda yang ada di

yang dirangkai dengan bentuk menyerupai len

h yang dikirim dari mikrokontroller. Data dari

nentukan perintah aksi robot selanjutnya.

 pembuatan Gripper .

bar 3.3 Model Rancangan Pembuatan Gripper 

  erah = sisi lekukan

  tam = lubang untuk pengait

gan tersebut hasilnya akan nampak seperti gamb

18

  epan robot.

an. Gripper 

 posisi servo

ar berikut :

Page 37: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 37/81

19

Gambar 3.4 Bentuk Jadi Model Gripper 

3.5.4 Driver Motor

Rangkaian driver digunakan untuk mengatur arah putar motor DC dengan

arah searah jarum jam atau berlawanan. Terdiri dari empat buah transistor, dengan

dua buah transistor kanal N dan dua buah transistor dengan kanal P. Pada saat

transistor A dan D aktif, dan transistor B dan C non aktif, maka sisi kiri motor akan

terhubug dengan kutub positif dari catu daya, sedangkan sisi kanan akan terhubung

dengan negative catu daya, sehingga motor akan bergerak searah jarum jam atau

clock wise. Jika transistor B dan C aktif, dan transistor A dan D non aktif, maka sisi

kanan motor akan terhubung ke catu daya positif, sedangkan sisi kirinya akan

terhubung ke catu daya negative, sehingga motor akan berputar berlawanan arah

 jarum jam atau counter clock wise.

Gambar 3.5 Rangkaian H-Bridge

Page 38: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 38/81

20

3.6 Arduino Mega 1250 (Sistem Minimum AVR ATMega 1250)

Sistem minimum mikrokontroler adalah sistem elektronika yang terdiri dari

komponen-komponen dasar yang dibutuhkan oleh suatu mikrokontroler untuk dapat

berfungsi dengan baik. Pada umumnya, suatu mikrokontoler membutuhkan dua

elemen (selain power supply) untuk berfungsi yakni Kristal Oscillator (XTAL), dan

Rangkaian RESET. Analogi fungsi Kristal Oscillator adalah jantung pada tubuh

manusia. Perbedaannya, jantung memompa darah dan seluruh kandungannya,

sedangkan XTAL memompa data. Dan fungsi rangkaian RESET adalah untuk 

membuat mikrokontroler memulai kembali pembacaan program, hal tersebut

dibutuhkan pada saat mikrokontroler mengalami gangguan dalam meng-

eksekusi program. Pada sistem minimum AVR khususnya ATMEGA 1250

terdapat elemen tambahan (optional), yaitu rangkaian pengendalian ADC: AGND

(= GND ADC), AVCC (VCC ADC), dan AREF (= Tegangan Referensi ADC).

Page 39: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 39/81

3.7 Desain Perangkat

Pada program rob

pembacaan garis dan

menghasilkan informasi

Gambar 3.6 Pin Map Arduino Mega 1250

Sumber :Digiware

 Lunak

t line follower sortir benda ini diperlukan bebe

  penggunaan kamera agar tangkapan ka

 yang dibutuhkan oleh robot untuk menentukan a

21

rapa metode

era dapat

  rah navigasi

Page 40: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 40/81

22

robot. Metode-metode yang digunakan disini adalah metode untuk membuat

pergerakan robot tetap pada garis yang dilalui dan metode untuk membuat citra hasil

tangkapan menjadi sesederhana mungkin agar mudah untuk menentukan logika

pergerakan robot.

3.7.1 Pembacaan Sensor Garis

Pembacaan sensor garis memanfaatkan perubahan nilai resistansi pada

komponen photo diode, dengan terjadinya perubahan nilai resistansi pada photo

diode maka tegangan yang diterima oleh pin ADC pada mikrokontroler akan berbeda

 juga, hal tersebut yang akan digunakan untuk menentukan sensor ketika berada di

garis hitam atau putih. Berikut diagram alir pembacaan sensor.

T

Y

Gambar 3.7 Diagram alir pembacaan garis

Start

Baca ADC

Baca ADC pada

bidang abu dan

simpan nilai ADC

ADC sekarang

> nilai ADC

Garis hitam

Garis putih

End

Page 41: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 41/81

23

Dari pembacaan sensor tesebut, didapat beberapa kemungkinan-kemungkinan

kondisi sensor di atas garis. Berikut tabel kombinasi sensor.

Tabel 3.2 Kombinasi sensor dan aksi robot

No Kombinasi sensor Aksi robot PWM kanan PWM kiri

1 000001 Serong kanan 0 255

2 000011 Serong kanan 50 200

3 000010 Serong kanan 100 175

4 000110 Serong kanan 100 150

5 000100 Maju 255 255

6 001100 Maju 255 2557 001000 Maju 255 255

8 011000 Serong kiri 150 100

9 010000 Serong kiri 175 100

10 110000 Serong kiri 200 50

11 100000 Serong kiri 255 0

12 111111 Maju 255 255

Robot menggunakan 7 titik sensor dengan kombinasi 3 berada pada sisi kiri dan 3

pada sisi kanan. Posisi sensor terhadap garis menentukan nilai PWM motor yang

mempengaruhi kecepatan gerak roda. Kecepatan gerak roda akan menentukan posisi

robot terhadap track yang akan dilewati. Jika posisi robot berada pada sisi kanan

garis maka roda kanan akan berputar lebih cepat daripada roda kiri sehingga robot

berjalan serong ke keri sampai posisi robot tepat berada di tengah-tengah garis.

Sebaliknya jika posisi robot berada pada sisi kiri garis maka roda kiri akan berputar

lebih cepat dari pada roda kanan dengan tujuan posisi robot berada pada tengah-

tengah garis. Satu sensor dibagian paling kiri digunakan untuk membaca apakah

robot melalu titik simpangan atau tidak. Dari diketahuinya nilai titik simpangan ininantinya robot akan memiliki navigasi sesuai dengan apa yang diperintahkan.

Berikut gambar lintasan yang digunakan untuk pengujian robot:

Page 42: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 42/81

24

Gambar 3.8 Lintasan robot

Keterangan :

1. Titik Start

2. Titik Simpangan3. Titik Pengambilan Bola

4. a. Titik penempatan bola warna merah

b. Titik penempatan bola warna biru

3.7.2 Pengenalan Warna

Proses pengenalan warna dimulai dari inisialisasi sistem dan device. Disini

akan diset UART serial, sistem warna RGB, resolusi, dll. Setelah sistem sudah siap,

maka divais akan mulai menangkap gambar melalui sensor kamera lalu nilainya

disimpan pada buffer. Setelah nilai-nilai tiap pixel dan titik tengah benda sudah

tersimpan pada buffer maka mulai dilakukanlah proses pengolahan citra sehingga

didapat nilai komponen RGB dari yang dilihat kamera. Untuk menentukan apakah

4 a

2

3

1

4 b

Page 43: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 43/81

25

benda yang ada di depan kamera merah atau biru, digunakan perbandingan antara

nilai R mean dan B mean. Jika nilai R mean lebih besar dari B mean maka benda

yang ada di depan kamera adalah merah dan sebaliknya.

Gambar 3.9 Blok Diagram Proses Pengenalan Warna

Dalam menentukan warna nilai Rmean dan Bmean diambil untuk dibandingkan yang

kemudian diproses ke dalam mikrokontroller. Berikut flowchart proses pencitraan

benda.

Pengenalan (Recognition)

Output ke Mikrokontroller

Pengolahan Citra

Pengambilan gambar (capture)

Inisialisasi sistem dan device

Page 44: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 44/81

26

Gambar 3.10 Flowchart Pencitraan

3.8 Instalasi CMUcam

3.8.1 Instalasi Hardware

Sebelum perakitan perlu diketahui terlebih dahulu bagian-bagian dari

CMUcam yaitu :

a. Modul kamera CMOS

Start

Inisialisasi

Setting brightness

Ambil gambar (capture)

Rmean > Bmean

Warna biru

Warna merah

End

Y

T

Page 45: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 45/81

27

Didalamnya terhadap sensor cahaya yang berfungsi untuk 

menangkap intensitas cahaya dan warna yang akan diteruskan ke

prosesor untuk diolah lebih lanjut.

b. Mainboard 

Berisi mikroprosesor yang akan melakukan semua proses pengolahan

citra yang telah diprogramkan (firmware).

c. Power adaptor

Bisa berupa baterai atau AC adaptor untuk menyuplai daya yang

dibutuhkan mainboard. Tegangan haruslah antara 5.5 – 10 volt DC.

d. MMC

Memory yang berfungsi sebagai tempat penyimpanan data hasil dari

pemrosesan yang dilakukan oleh Flowchart sebelumnya.

Setelah mengetahui bagian-bagian dari CMUcam. Berikut langkah-langkah

instalasi hardware pada CMUcam4 :

1. Pasang MMC card pada main board

2. Pasang kabel port serial pada modul di pin UART

3. Pasang ujung lain dari kabel port serial ke komputer.

4. Pasang power adaptor pada konektornya.

5. Nyalakan tombol power  pada posisi on untuk memastikan CMUcam

sudah berjalan dengan baik (lampu indikator merah akan menyala bila

CMUcam telah terpasang dengan baik).

3.8.2 Instalasi software

Seperti yang dijelaskan pada kajian pustaka bahwa CMUcam ini sudah

mempunyai kemampuan untuk menjalankan pemrosesan citra langsung dari modulmikroprosesor yang sudah terembbed pada modul. Dengan kemampuan itu kita dapat

mengembangkan sendiri firmware CMUcam agar CMUcam dapat bekerja dan

menghasilkan   output  sesuai dengan kebutuhan kita. Kita dapat mengembangkan

Page 46: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 46/81

28

firmware yang akan kita tanamkan pada mikroprosesor dengan menginstalasi dulu

beberapa software yang sudah tersedia pada modul kamera CMUcam.

3.9 Blok Diagram, Alogaritma dan Flowchart Sistem

Konsep dari perancangan sistem robot adalah merancang sebuah robot yang

dapat mengenali warna objek dan setelah robot mengenali warna objek tersebut

dengan perintah yang diberikan, robot akan mengambil objek tersebut dan

meletakkannya sesuai pada tempatnya. Algoritma untuk robot   line follower  sortir

benda adalah sebagai berikut :

1. Robot menuju tempat benda yang akan diambil

2. Kamera mendeteksi benda di depannya.

3. Warna benda diproses untuk penentuan keputusan aksi robot

4.   Gripper bekerja mengambil benda

5. Robot membaca garis dan titik simpangan tempat peletakan benda

6. Aktuator bekerja untuk meletakkan benda

Gambar 3.11 Blok Diagram Sistem

Sensor Garis

Kamera

Roda Kanan dan Roda KiriMotor Servo

Pemrosesan Citra

Mikrokontroller

Page 47: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 47/81

29

Gambar 3.12 Flowchart robot linefollower sortir benda

start

Scaning sensor

Sensor membaca titik 

simpangan/pemberhentian

Konter = B

Konter = D

Konter = A

Konter = C

Konter ++

Posisi servo = 45Konter = 0

Gerak lurus

Robot Stopkamera

Servo = 0,konter + 1

Robot Stop

Servo = 45,konter + 1 Belok kanan,

konter + 1

Benda merah

Gerak lurus

mundur

Belok kiri,

konter + 1

End

Y

TY

Y

Y

Y

Y

T

T

T

T

T

Page 48: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 48/81

30

BAB 4. PEMBAHASAN

Dalam pengujian algoritma pengendali dilakukan dengan menggunakan

bantuan tampilan Serial Monitor yang sudah tersedia dalam Arduino IDE (Integrated

Development Environment), sehingga dengan menggunakan Serial Monitor tersebut

dapat mengetahui aktifitas dari sistem yang dibuat. Data yang diambil dalam

pengujian robot linefollower diantaranya adalah data nilai ADC sensor ketika seluruh

sensor berada di garis warna hitam dan ketika sensor berada di warna putih,

kombinasi sensor yang mungkin terjadi sehingga mempengaruhi kondisi perputaran

motor kanan dan motor kiri dan untuk selanjutnya melakukan pengujian robot pada

lintasan. Untuk pengambilan benda yang akan disortir, dalam hal ini bola berwarna,

menggunakan motor servo yang terpasang pada   Gripper . Sedangkan untuk 

penentuan warna yang akan di eksekusi menggunakan sensor kamera CMUcam4.

Data dari kamera tersebut berupa nilai rata-rata (mean) dari komponen RGB benda

yang akan diambil.

4.1 Pengujian Robot Linefollower

Dalam pengujian robot linefollower ini terdapat beberapa pengujian bagian-

bagian yang mempengaruhi nilai output dari sistem.

4.1.1 Pengujian bagian pembacaan ADC

Pengujian dilakukan untuk mengetahui berhasil tidaknya pembacaan ADC oleh

mikrokontroler, prosesnya adalah menempatkan seluruh sensor garis robot pada

sebuah bidang warna gelap dan warna bidang terang, dan selanjutnya mikrokontroler

akan melakukan proses pengambilan nilai maksimal yang terbaca dari setiap nilai

ADC sensor pada bidang dengan memberi perlakuan bidang yang berbeda. Berikut

adalah bentuk listing program untuk pembacaan nilai ADC pada sensor dan

pengambilan nilai minimum dan maksimum dari nilai ADC yang di peroleh tiap

Page 49: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 49/81

31

sensor dengan memanfaatkan fitur Serial Monitor yang ada pada compiler dari

Arduino IDE.

while (millis() < 5000)

{

// ambil nilai maksimal sensor

nilai0 = analogRead(sensor0);

if (nilai0 > max0) {

max0 = nilai0; }

.

.

.

.

nilai7 = analogRead(sensor7);

if (nilai7 > max7) {

max7 = nilai7; }

// ambil nilai minimal sensor

if (nilai0 < min0) {

min0 = nilai0; }

.

.

.

.

if (nilai7 < min7) {

min7 = nilai7; }

}

delay(5000);

Page 50: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 50/81

32

Fungsi dari millis di atas adalah untuk memberi waktu sensor selama 5 detik 

pertama saat mikrokontroller dijalankan. Pada saat 5 detik pertama tersebut

mikrokontroller merekam nilai adc yang terbaca dari sensor yang kemudian nilainya

disimpan untuk proses selanjutnya.

Berikut nilai adc yang ditampilkan dalam Serial Monitor

Gambar 4.1 Nilai adc pada bidang putih

Gambar 4.2 Nilai adc pada bidang abu-abu

Gambar 4.3 Nilai adc pada bidang hitam

Page 51: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 51/81

Page 52: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 52/81

34

Dari ketiga tabel di atas terdapat perbedaan nilai tegangan antara tegangan

nilai konversi ADC secara teori dengan tegangan yang terukur pada sensor. Hal ini

disebabkan tegangan referensi yang terukur pada sensor tidak bernilai 5 V melainkan

bernilai 4,8 V.

Dari nilai adc tersebut nantinya digunakan untuk memberi nilai sensor yang

terbaca secara digital. Nilai satu (1) atau high menandakan bahwa sensor berada pada

bidang berwarna hitam sedangkan nilai nol (0) atau low menandakan bahwa sensor

berada pada bidang berwarna putih. Untuk membaca apakah sensor berada pada

bidang hitam atau putih dicari nilai tengah dengan menempatkan sensor berada padabidang yang berwarna abu-abu. Berikut listing program untuk memberi nilai digital

pada tiap-tiap sensor.

void baca()

{nilai0 = analogRead(sensor0);

nilai0 = map(nilai0, min0, max0, 0, 1);

nilai0 = constrain(nilai0, 0, 1);

Status0 = nilai0;

.

.

.

.

nilai7 = analogRead(sensor7);

nilai7 = map(nilai7, min7, max7, 0, 1);

nilai7 = constrain(nilai7, 0, 1);

Status7 = nilai7;

}

map(value, fromLow, fromHigh, toLow, toHigh)

Fungsi dari map digunakan untuk memberi nilai dari range yang telah

ditentukan. Value adalah nilai hasil map, fromLow adalah nilai yang akan di petakan

menjadi nilai yang diinginkan yaitu toLow. Begitu juga dengan nilai fromHigh akan

Page 53: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 53/81

35

dipetakan menjadi nilai toHigh. Sedangkan fungsi constrain digunakan untuk 

memberi batasan nilai yang dihasilkan.

4.1.2 Pengujian Navigasi Robot

Pemberian variabel konter robot   line follower  difungsikan sebagai sistem

penanda robot untuk melakukan gerakan atau navigasi yang diinginkan agar berjalan

sesuai dengan tujuan. Selain itu konter digunakan untuk robot agar bisa kembali ke

tempat robot mengambil bola. Berikut listing program untuk konter.

void ngonter(){if (Status0 == 1)

{x = 1;}

else {x = 0;}

presentStatus = x;

if (presentStatus != lastStatus) {

if (presentStatus == HIGH)

{konter++;} }

lastStatus = presentStatus;

}

Pembacaan konter berdasarkan perhitungan nilai sensor 0 yang akan bertambah

 jika mendapatkan sinyal perubahan dari low ke high (rising edge). Kondisi ini akan

terpenuhi jika robot melewati lintasan simpang empat atau seluruh sensor garis

berada pada garis hitam. Berikut tabel hasil percobaan navigasi robot.

Page 54: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 54/81

36

Tabel 4.4 Pengujian navigasi robot

Percobaan

ke

Tujuan

di titik 

Aksi di titik 

simpangan (titik 2)

Ketercapaian Waktu tempuh

1 4a Belok kanan Berhasil 7 detik  

2 4a Belok kanan Berhasil 7 detik  

3 4a Belok kanan Berhasil 8 detik  

4 4b Belok kiri Berhasil 9 detik  

5 4b Belok kiri Berhasil 10 detik  

6 4b Belok kiri Berhasil 10 detik  

Dari hasil tabel di atas, secara keseluruhan robot sudah mampu mencapai titik 

yang dituju dengan waktu tempuh rata – rata 8,5 detik.

4.2 Pengujian Motor Servo

Motor servo digunakan untuk mengambil bola yang akan di sortir menuju

tempat yang sudah ditentukan. Motor servo yang terhubung dengan  Gripper  akan

membuat pergerakan lengan Gripper dalam mencapit bola. Berikut listing program

untuk menggerakkan servo.

#include <Servo.h>Servo myservo;

int pos = 0;

void setup()

{ myservo.attach(9); }

void loop()

{

if(pos == 0 && pos < 90)

{

pos += 45;

myservo.write(pos);

delay(2000); }

Page 55: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 55/81

37

if (pos ==5)

{pos += 40;

myservo.write(pos);

delay(2000); }

else

{

pos -= 40;

myservo.write(pos);

delay(2000);

}

Tabel 4.5 Pengujian motor servo

No Nilai posisi servo Berhasil Tidak  

1 0 V -

2 45 V -

3 90 V -

4 135 V -

5 180 V -

Dari data hasil pengujian motor servo di atas bahwa motor servo bekerja

dengan baik. Untuk posisi servo dengan nilai 0,  Gripper dalam kondisi menutup dan

untuk posisi servo dengan nilai 180  Gripper  dalam kondisi terbuka. Namun nilai

posisi servo yang ideal untuk membuka Gripper adalah 45.

4.3 Pengujian Kamera CMUcam4

Untuk menguji kinerja dari sensor kamera ini, digunakan beberapa  software

bawaan yang sudah disediakan oleh pengembang kamera ini. GUI (Graphic User

Interface) dari CMUcam4 digunakan untuk melihat aktifitas kamera yang sedang

berjalan. Berikut tampilan GUI dari CMUcam4:

Page 56: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 56/81

38

Gambar 4.4 Aktifitas kamera pada saat mengirimkan data Color Statistic

CMUcam4 GUI memiliki fasilitas untuk mengambil gambar dapat yang

disimpan dalam format JPEG dan Bitmap yaitu dengan menggunakan Dump Frame

atau Dump Bitmap. Adapun gambar yang dihasilkan kamera ini tidak terlalu bagus

namun sudah cukup untuk digunakan sebagai sensor warna. Berikut gambar yang

dihasilkan oleh ka mera CMUcam4.

Gambar 4.5 Gambar yang dihasilkan kamera

Page 57: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 57/81

39

4.3.1 Pengujian Komunikasi Serial CMUcam4 dengan Arduino

Berikut listing program untuk mendapatkan Color Statistic kamera

void camera()

{ Serial.begin(19200);

cam.begin();

cam.LEDOn(LED_BLINK);

delay(WAIT_TIME);

cam.autoGainControl(false);

cam.autoWhiteBalance(false);

cam.LEDOn(CMUCAM4_LED_ON);

{ CMUcam4_statistics_data_t data;

cam.getMean(); {

cam.getTypeSDataPacket(&data);

Serial.print(data.RMean); Serial.print('\t');

Serial.print(data.BMean); Serial.print('\t');

delay(5000); }}

Data dari kamera dikirim ke mikrokontroller menggunakan komunikasi serial.

Port serial yang digunakan adalah port serial 3 yaitu pada pin 14 (Tx) dan 15 (Rx).

Setting default baudrate yang digunakan untuk komunikasi antara kamera dengan

mikrokontroller adalah 19200 bps namun baudrate ini bisa dirubah sesuia dengan

kebutuhan. Agar tidak terjadi overflow disarankan untuk menggunakan baudrate

yang tinggi. Saat ini baudrate yang telah disediakan yaitu mencapai 19200 bps

dengan menggunakan port serial 1 pada pin 0 (Tx) dan pin 1 (Rx).

Page 58: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 58/81

40

Tabel 4.6 Perbandingan Nilai Data CMUcam4 GUI dengan Serial Monitor

No CMU GUI Serial Monitor Error Gambar

Rmean Gmean Bmean Rmean Gmean Bmean Rmean Gmean Bmean1 131 137 148 123 133 148 6,1 % 2,9 % 0 %

2 123 129 139 130 135 140 5,6 % 4,6 % 0,7 %

3 123 129 148 135 145 167 9,7 % 12,4 % 12,8 %

4 123 129 139 115 129 148 6,5 % 10,8 % 6,4 %

5 148 133 139 148 121 131 0 % 9 % 5,7 %

6 158 135 141 172 149 156 8,8 % 10,3 % 10,6 %

7 148 125 131 139 129 139 6 % 3,2 % 6,1 %

8 139 121 131 156 129 139 12,2 % 6,6 % 6,1 %

Dari gambar dan data komponen RGB di atas, bisa dilihat bahwa error

terbesar adalah pada saat pengujian benda berwarna biru. Kondisi ini bisa disebabkan

oleh intensitas cahaya yang dpantulkan oleh benda dan penempatan benda yang

berbeda pada saat pengambilan data dengan GUI dan dengan Serial Monitor. Selain

itu, error yang terjadi bisa juga disebabkan kecepatan frame kamera dalam mengirim

data. Kondisi ini bisa berpengaruh pada pengiriman data jika data yang dikirim oleh

Page 59: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 59/81

41

kamera mengalami overflow sehingga data yang terbaca di mikrokontroller bisa

berbeda.

Terlihat bahwa pada percobaan terakhir, nilai komponen dari warna merah

memiliki perbedaan yang sedikit dengan komponen warna yang lain jika dilihat dari

GUI. Namun pada Serial Monitor terlihat bahwa nilai komponen merah memliki

perbedaan yang jauh. Hal ini bisa disebabkan oleh penempatan benda pada saat

pengambilan data dengan GUI yang tidak sama dengan penempatan benda pada saat

pengambilan data dengan Serial Monitor.

4.3.2 Pengujian Penggolongan Warna

Dalam proses penentuan warna benda yang dilihat kamera, data yang

digunakan untuk menentukan keputusan adalah dengan melihat nilai rata-rata indeks

RGB yang dikirim oleh kamera. Dalam frame ukuran 80 x 60 pixel, kamera

menghitung komponen nilai RGB tiap-tiap pixel dan memberikan informasi data

statistik yang ada di depan kamera. Konsep yang digunakan yaitu dengan melihat

dan membandingkan nilai dari tiap-tiap komponen RGB. Jika komponen R lebih

besar dengan komponen lainnya yaitu komponen G dan B, maka bisa

diidentifikasikan bahwa benda yang ada di depan kamera memiliki warna merah.Jika komponen B lebih besar dari komponen R dan G, bisa diartikan benda di depan

kamera memiliki warna biru.

Namun dalam prakteknya, kondisi cahaya dan posisi penempatan bola sangat

mempengaruhi data RGB yang dilihat kamera. Untuk melihat pengaruh cahaya pada

kamera, diatur komposisi nilai   brightness dengan bantuan GUI dari CMUcam4.

Berikut tabel hasil pengambilan gambar dengan kondisi   brightness yang berbeda-

beda.

Page 60: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 60/81

42

Tabel 4.7 Pengaruh nilai Brightness pada nilai RGB benda warna biru

No   Brightness R Mean B Mean Selisih

1 -127 24 41 172 -112 32 49 17

3 -96 49 57 8

4 -80 65 74 9

5 -64 74 90 16

6 -48 90 98 8

7 -32 98 115 17

8 -16 115 131 16

9 0 131 148 17

10 16 148 164 16

11 32 164 172 812 48 180 189 9

13 64 189 205 16

14 80 205 213 8

15 96 213 222 9

16 112 222 230 8

17 127 230 238 8

Tabel 4.8 Pengaruh nilai Brightness pada nilai RGB benda warna merah

No   Brightness R Mean B Mean Selisih

1 -127 32 32 02 -112 49 41 8

3 -96 57 57 0

4 -80 74 65 9

5 -64 90 82 8

6 -48 106 98 8

7 -32 123 115 8

8 -16 139 123 16

9 0 148 139 9

10 16 164 156 8

11 32 180 172 8

12 48 205 189 1613 64 213 197 16

14 80 230 213 17

15 96 238 222 16

16 112 246 230 16

17 127 246 230 16

Page 61: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 61/81

43

Dari tabel pengujian di atas, terlihat bahwa kondisi pencahayaan pada kamera

sangat memengaruhi data komponen RGB yang dikirim dari kamera. Semakin kecil

nilai brightness yang diberikan maka nilai RGB semakin kecil. Semakin besar nilai

brightness yang diberikan, semakin besar pula nilai RGB yang terbaca. Dari kedua

komponen RGB di atas, yaitu komponen Rmean dan komponen Bmean nantinya bisa

dikenali warna benda yang ada di depan kamera. Jika komponen Rmean lebih besar

dai komponen Bmean maka mikrokontroller akan mendefinisikan benda berwarna

merah, sebaliknya jika komponen Bmean lebih besar dari Rmean mikrokontroller

akan mendefinisikan warna benda adalah biru.

4.3.3 Pengujian Jarak Jangkauan

Pengujian selanjutnya adalah untuk jarak jangkauan sistem dalam melihat

objek yang berada di depannya. Pengujian dilakukan dengan meletakkan objek 

utama berada di depan dengan jarak mulai 5 cm hingga 10 cm.

Berikut data hasil percobaan pengujian jarak jangkauan kamera terhadap

benda.

Tabel 4.9 Pengujian Jarak Jangkauan

NilaiJarak (cm)

5 6 7 8 9 10

R mean 135 130 120 113 98 81

B mean 96 95 95 92 90 80

Selisih 39 35 25 21 8 1

Dari data di atas terlihat bahwa jarak kamera terhadap benda mempunyai

pengaruh terhadap nila Rmean dan Bmean. Semakin jauh jarak benda terhadap

kamera maka selisih nilai Rmean dan Bmean akan semakin kecil. Nilai selisih yang

kecil ini bisa membuat kamera tidak bisa mengenali warna. Oleh karena jarak 

maksimal antara kamera dan benda agar kamera mampu mengenali objek dengan

baik adalah 9 cm.

Page 62: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 62/81

44

4.4 Pengujian keseluruhan sistem

Pengujian sistem ini dilakukan dengan beberapa cara untuk mengetahui

tingkat keberhasilan dari sistem mekanik dan program yang telah dibuat sebelumnya.

Dari hasil pengujian keseluruhan sistem ini dilakukan dengan beberapa cara dan

didapatkan hasil sebagai berikut :

1. Pengujian pemberian bola merah

Dalam pengujian ini robot diberi bola warna merah dan menempatkannya

pada titik 4a seperti yang terlihat pada lintasan yang dijelaskan pada bab 3. Dari hasil

pengujian ini diperoleh data sebagai berikut

Tabel 4.10 Percobaan pemberian bola merah

Keberhasilan

Uji ke-

Berhasil Tidak  

1 V -

2 V -

3 V -

4 - V

5 V -6 V -

7 V -

8 V -

Dari hasil pengujian di atas diperoleh bahwa pada pengujian pertama hingga

ketiga untuk mengambil bola berwarna merah robot berhasil mendeteksinya dan

kemudian menempatkannya sesuai aturan. Namun pada pengujian keempat robot

gagal untuk mengenali bola merah dan menempatkan bola pada sisi yang salah. Pada

pengujian yang kelima hingga kedelapan robot berhasil kembali mengambil bola

merah dan menempatkan bola pada posisi yang benar. Dari hasil ini dapat dikatakan

bahwa tingkat keberhasilan robot untuk mengambil bola merah adalah sebesar 87,5

%. Kegagalan dalam pengambilan bola merah ini dapat dikarenakan oleh

penempatan posisi bola yang kurang tepat.

Page 63: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 63/81

Page 64: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 64/81

46

Tabel 4.12 Pemberian bola secara acak 

No Pemberian Bola Berhasil Tidak  

1 Biru V -2 Biru V -

3 Merah V -

4 Biru - V

5 Merah V -

6 Merah V -

7 Biru V -

8 Merah V -

9 Merah V -

10 Biru - V

Dari tabel percobaan di atas diperoleh bahwa robot mampu mengenali warna

benda dan menempatkannya sesuai dengan aturan. Namun pada pemberian bola

keempat dan kesepuluh robot gagal meletakkan bola pada sisi yang benar. Hal ini

disebabkan perintah yang didapat robot dari hasil scan kamera tidak sesuai dengan

warna bola yang dideteksi. Kegagalan kamera dalam mendeteksi warna bila bisa

disebabkan posisi penempatan bola yang kurang tepat atau bisa disebabkan kamera

gagal mengirim informasi ke mikrokontroller. Pantulan dari cahaya LED kamera saat

scanning benda juga mempengaruhi hasil dari penentuan warna benda. Dari hasil ini

dapat dikatakan bahwa tingkat keberhasilan robot untuk menempatkan bola yang

diberi secara acak adalah sebesar 80%.

Page 65: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 65/81

47

BAB 5. KESIMPULAN

5.1 Kesimpulan

1. Secara keseluruhan sistem navigasi pada robot linefollower sortir benda

mampu bekerja dengan baik. Tingkat keberhasilan robot dalam menempatkan

bola warna biru adalah 75 %, sedangkan untuk bola warna merah adalah 87,5

% dan untuk pemberian bola secara acak sebesar 80 %.

2. Nilai   brightness yang diberikan mempengaruhi nilai komponen Rmean dan

Bmean yang didapat. Semakin besar nilai brightness semakin besar pula nila

komponen Rmean dan Bmean yang didapat. Nilai Rmean pada kondisi

brightness 127 adalah 246 sedangkan pada kondisi -127 nilainya adalah 32.

3. Semakin besar selisih komponen Rmean dengan Bmean semakin bagus kinerja

kamera dalam mengenali warna benda. Perbedaan nilai Rmean dengan Bmean

yang besar bisa diartikan kamera mampu membedakan waena benda. Nilai

selisih terbesar Rmean dengan Bmean adalah 17.

5.2 Saran

Adapun saran yang dapat diberikan penulis adalah :1. Perlu dikembangkan lebih lanjut algoritma penentuan dan pengenalan warna

dari data-data yang didapat dari sensor kamera agar kesalahan dalam

mengenali warna dapat ditanggulangi.

2. Perlu dilakukan penelitian lanjutan tentang sinkronisasi kamera dengan robot.

Page 66: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 66/81

48

DAFTAR PUSTAKA

Ahmad, Usman. 2005.   Pengolahan Citra Digital dan Teknik 

Pemrogramannya. Yogyakarta : Graha Ilmu.

Agyeman, Kwabena W. 2012.   CMUcam4 Reference. Carnegie Mellon

University.

Anymous, Fakultas Teknik Informatika Universitas Kristen Duta Wacana.

2005.   Kompresi citra. http://fmipa.usu.ac.id/bahankuliah.

html?download=7%3Abahan-kim-dan-cs

Banzi, Massimo. 2007.   Arduino Learning. San Francisco : Creative

Commons.

Budiharto, Widodo. 2010.  10 Proyek Robot Spektakuler . Yogyakarta : Elex

Media Komputindo.

Digiware. 2012. Panduan Basic Arduino Training 2012. Surabaya : Digiware

Unlimited Innovation.

Rowe, Anthony. 2007.   CMUcam4: An Open Programmable Embedded 

Vision Sensor. http://www.CMUcam3.org/.Sigit, Riyanto. 2006.   Praktikum Pengolahan Citra Bab Pendahuluan.   H

http://lecturer.eepis-its.edu/~riyanto/citra-bab1.pdf 

Sigit, Riyanto. 2006.   praktikum pengolahan citra bab dasar pengolahan

citra(1). http://lecturer.eepis-its.edu/~riyanto/citra-bab2.pdf 

Sigit, Riyanto. 2006.   praktikum pengolahan citra bab dasar pengolahan

citra(2).   Hhttp://lecturer.eepis-its.edu/~riyanto/citra-bab3.pdf 

Sutoyo,T, Edy Mulyanto, Vincent Suhartono, Oky DN, Wijanarto. 2009.

Teori Pengolahan Citra Digital. Yogyakarta : Andi Publisher.

Page 67: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 67/81

Lampiran . Listing program line follower robot 

#include <CMUcam4.h>

#include <CMUcom4.h>

#include <Servo.h>

Servo servoku; //buat objek servo utk ngontrol servo

int pos = 0 ; // variabel utk menyimpan posisi servo

#define LED_BLINK 5 // 5 Hz

#define WAIT_TIME 5000 // 5 seconds

CMUcam4 cam(CMUCOM4_SERIAL3);

const int sensor0 = A0;

const int sensor1 = A1; //pin sensor A0 - A7

const int sensor2 = A2;

const int sensor3 = A3;

const int sensor4 = A4;

const int sensor5 = A5;

const int sensor6 = A6;

const int sensor7 = A7;

const int ledPin = 10;

const int led1 = 26; //led konter 1

const int led2 = 30; //led konter 2

const int en1 = 6;

const int en2 = 7;

const int maju1 = 38;

const int maju2 = 39;

const int mundur1 = 40;

const int mundur2 = 41;

const int ledR = 15;

const int ledG = 16;

const int ledB = 17;

int Status0, Status1, Status2, Status3, Status4, Status5,

Status6, Status7, x, y, B, R, a, simpan ;

int lastStatus, konter, presentStatus = 0;

void setup() {

Serial.begin(19200);servoku.attach(9); //menentukan pin untuk servo

servoku.write(45);

delay(2000);

servoku.write(0);

pinMode(13, OUTPUT); //mode output

Page 68: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 68/81

pinMode(led1, OUTPUT);

pinMode(led2, OUTPUT);

pinMode(maju1, OUTPUT);pinMode(maju2, OUTPUT);

pinMode(mundur1, OUTPUT);

pinMode(mundur2, OUTPUT);

pinMode(ledR, OUTPUT);

pinMode(ledG, OUTPUT);

pinMode(ledB, OUTPUT);

digitalWrite(13, HIGH);

while (millis() < 5000)

{ nilai0 = analogRead(sensor0);

if (nilai0 > max0) {

max0 = nilai0; }

nilai1 = analogRead(sensor1);

if (nilai1 > max1) {

max1 = nilai1; }

nilai2 = analogRead(sensor2);

if (nilai2 > max2) {

max2 = nilai2; }

nilai3 = analogRead(sensor3);

if (nilai3 > max3) {

max3 = nilai3; }

nilai4 = analogRead(sensor4);

if (nilai4 > max4) {

max4 = nilai4; }nilai5 = analogRead(sensor5);

if (nilai5 > max5) {

max5 = nilai5; }

nilai6 = analogRead(sensor6);

if (nilai6 > max6) {

max6 = nilai6; }

nilai7 = analogRead(sensor7);

if (nilai7 > max7) {

max7 = nilai7; }

// record the minimum sensor value

if (nilai0 < min0) {min0 = nilai0; }

if (nilai1 < min1) {

min1 = nilai1; }

if (nilai2 < min2) {

min2 = nilai2; }

Page 69: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 69/81

if (nilai3 < min3) {

min3 = nilai3; }

if (nilai4 < min4) {min4 = nilai4; }

if (nilai5 < min5) {

min5 = nilai5; }

if (nilai6 < min6) {

min6 = nilai6; }

if (nilai7 < min7) {

min7 = nilai7; }

}

Serial.print(min0);Serial.print("

");Serial.print(min1);Serial.print(" ");

Serial.print(min2);Serial.print("

");Serial.print(min3);Serial.print(" ");

Serial.print(min4);Serial.print("

");Serial.print(min5);Serial.print(" ");

Serial.print(min6);Serial.print("

");Serial.println(min7);

Serial.print(max0);Serial.print("

");Serial.print(max1);Serial.print(" ");

Serial.print(max2);Serial.print("

");Serial.print(max3);Serial.print(" ");

Serial.print(max4);Serial.print("

");Serial.print(max5);Serial.print(" ");

Serial.print(max6);Serial.print("");Serial.println(max7);

delay(5000);

digitalWrite(13, LOW);

servoku.write(48);

}

void loop() {

{baca();

ngonter();

scan();

{if (konter == 11)

{konter=3;}if (konter % 2 == 0)

{

digitalWrite(led1,HIGH);

digitalWrite(led2,LOW);

}

Page 70: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 70/81

else

{digitalWrite(led1,LOW);

digitalWrite(led2,HIGH);}

}

if

((konter==0)||(konter==1)||(konter==2)||(konter==6)||(kon

ter==10) )

{jalanmaju();

}

else if ((konter==4)||(konter==8))

{ jalanmundur();

}

else if (((konter==9)&&(B==1))||((konter==5)&&(R==1))

)

{delay(50);

kanan();

delay(2000);

konter+=1;

maju();

delay(200);

}

else if (konter==3)

{ digitalWrite(ledB,LOW);

digitalWrite(ledR,LOW);

B=0;R=0;

ambilbola();

delay(200);

mundur();

delay(250);

}

else if (

((konter==5)&&(B==1))||((konter==9)&&(R==1)))

{ delay(150);

kiri();

delay(1550);konter += 1;

maju();

delay(200);

}

else if (konter==7){

Page 71: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 71/81

lepasbola();

delay(200);

mundur();delay(250);

}

{Serial.print(Status0);Serial.print(Status1);

Serial.print(Status2);Serial.print(Status3);

Serial.print(Status4);Serial.print(Status5);

Serial.print(Status6);Serial.println(Status7);

Serial.print(a); Serial.print(" ");

Serial.print("konter= ");

Serial.println(konter);

delay(100);}

}

}

void scan ()

{

if

((Status2==0)&&(Status3==0)&&(Status4==0)&&(Status5==0))

{a=0;}

else if

((Status2==1)&&(Status3==1)&&(Status4==0)&&(Status5==0))

{a=1;}

else if

((Status2==0)&&(Status3==1)&&(Status4==0)&&(Status5==0))

{a=2;}else if

((Status2==0)&&(Status3==1)&&(Status4==1)&&(Status5==0))

{a=4;}

else if

((Status2==1)&&(Status3==1)&&(Status4==1)&&(Status5==0))

{a=5;}

else if

((Status2==0)&&(Status3==1)&&(Status4==1)&&(Status5==0))

{a=6;}

else if

((Status2==1)&&(Status3==1)&&(Status4==1)&&(Status5==0)){a=7;}

else if

((Status2==0)&&(Status3==1)&&(Status4==0)&&(Status5==1))

{a=8;}

Page 72: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 72/81

else if

((Status2==1)&&(Status3==1)&&(Status4==0)&&(Status5==1))

{a=9;}else if

((Status2==1)&&(Status3==1)&&(Status4==0)&&(Status5==1))

{a=11;}

else if

((Status2==0)&&(Status3==1)&&(Status4==1)&&(Status5==1))

{a=12;}

else if

((Status2==1)&&(Status3==0)&&(Status4==1)&&(Status5==1))

{a=13;}

else if

((Status2==0)&&(Status3==1)&&(Status4==1)&&(Status5==1))

{a=14;}

else if

((Status2==1)&&(Status3==1)&&(Status4==1)&&(Status5==1))

{a=15;}

else if

((Status1==1)&&(Status2==1)&&(Status3==1)&&(Status4==0)&&

(Status5==0))

{a=16;}

else if

((Status1==1)&&(Status2==0)&&(Status3==1)&&(Status4==0)&&

(Status5==0))

{a=17;}else if

((Status2==0)&&(Status3==1)&&(Status4==0)&&(Status5==1)&&

(Status6==1))

{a=18;}

else if

((Status2==0)&&(Status3==1)&&(Status4==0)&&(Status5==0)&&

(Status6==1))

{a=19;}

else {a=20;}

}

void jalanmaju(){switch (a)

{case 1:

analogWrite(en1, 100);

digitalWrite(maju1,HIGH);

digitalWrite(mundur1, LOW);

Page 73: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 73/81

analogWrite(en2, 245);

digitalWrite(maju2,HIGH);

digitalWrite(mundur2, LOW);break;

case 2:

analogWrite(en1, 200);

digitalWrite(maju1,HIGH);

digitalWrite(mundur1, LOW);

analogWrite(en2, 245);

digitalWrite(maju2,HIGH);

digitalWrite(mundur2, LOW);

break;

case 4:

maju();

break;

case 5:

maju();

break;

case 6:

maju();

break;

case 7:

analogWrite(en1, 255);

digitalWrite(maju1,HIGH);

digitalWrite(mundur1, LOW);

analogWrite(en2, 200);digitalWrite(maju2,HIGH);

digitalWrite(mundur2, LOW);

break;

case 8:

analogWrite(en1, 255);

digitalWrite(maju1,HIGH);

digitalWrite(mundur1, LOW);

analogWrite(en2, 100);

digitalWrite(maju2,HIGH);

digitalWrite(mundur2, LOW);

break;case 9:

if (simpan<0){

kiri();}

if (simpan>0){

kanan();}

Page 74: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 74/81

break;

case 11:

analogWrite(en1, 255);digitalWrite(maju1,HIGH);

digitalWrite(mundur1, LOW);

analogWrite(en2, 100);

digitalWrite(maju2,HIGH);

digitalWrite(mundur2, LOW);

break;

case 12:

analogWrite(en1, 255);

digitalWrite(maju1,HIGH);

digitalWrite(mundur1, LOW);

analogWrite(en2, 100);

digitalWrite(maju2,HIGH);

digitalWrite(mundur2, LOW);

delay(15);

break;

case 13:

analogWrite(en1, 200);

digitalWrite(maju1,HIGH);

digitalWrite(mundur1, LOW);

analogWrite(en2, 245);

digitalWrite(maju2,HIGH);

digitalWrite(mundur2, LOW);

break;case 14:

analogWrite(en1, 200);

digitalWrite(maju1,HIGH);

digitalWrite(mundur1, LOW);

analogWrite(en2, 245);

digitalWrite(maju2,HIGH);

digitalWrite(mundur2, LOW);

break;

case 15:

maju();

break;case 16:

kiri();

delay(100);

maju();

delay(100);

Page 75: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 75/81

break;

case 17:

mundur();delay(300);

kiri();

delay(300);

maju();

delay(100);

break;

case 18:

kanan();

delay(300);

maju();

delay(100);

break;

case 19:

mundur();

delay(300);

kanan();

delay(300);

maju();

delay(100);

break;

}

}

void jalanmundur(){switch (a)

{case 1:

serongkanan1();

break;

case 2:

analogWrite(en1, 175);

digitalWrite(maju1,LOW);

digitalWrite(mundur1, HIGH);

analogWrite(en2, 245);

digitalWrite(maju2,LOW);

digitalWrite(mundur2, HIGH);break;

case 4:

mundur();

break;

case 5:

Page 76: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 76/81

mundur();

break;

case 6:mundur();

break;

case 7:

analogWrite(en1, 255);

digitalWrite(maju1,LOW);

digitalWrite(mundur1, HIGH);

analogWrite(en2, 200);

digitalWrite(maju2,LOW);

digitalWrite(mundur2, HIGH);

break;

case 8:

serongkiri1();

break;

case 9:

if (simpan<0){

kiri();}

if (simpan>0){

kanan();}

break;

case 11:

analogWrite(en1, 255);

digitalWrite(maju1,LOW);

digitalWrite(mundur1, HIGH);analogWrite(en2, 125);

digitalWrite(maju2,LOW);

digitalWrite(mundur2, HIGH);

break;

case 12:

analogWrite(en1, 255);

digitalWrite(maju1,LOW);

digitalWrite(mundur1, HIGH);

analogWrite(en2, 125);

digitalWrite(maju2,LOW);

digitalWrite(mundur2, HIGH);break;

case 13:

analogWrite(en1, 175);

digitalWrite(maju1,LOW);

digitalWrite(mundur1, HIGH);

Page 77: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 77/81

analogWrite(en2, 245);

digitalWrite(maju2,LOW);

digitalWrite(mundur2, HIGH);break;

case 14:

analogWrite(en1, 175);

digitalWrite(maju1,LOW);

digitalWrite(mundur1, HIGH);

analogWrite(en2, 245);

digitalWrite(maju2,LOW);

digitalWrite(mundur2, HIGH);

break;

case 15:

mundur();

break;

case 16:

kanan();

delay(300);

mundur();

delay(100);

break;

case 17:

kanan();

delay(300);

mundur();

delay(100);break;

case 18:

kiri();

delay(300);

mundur();

delay(100);

break;

case 19:

kiri();

delay(300);

mundur();delay(100);

break;

}

}

void serongkanan()

Page 78: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 78/81

{ Serial.print("serong kanan");

mundur();

delay (100);kanan();

delay(100);

maju();

delay(100);

}

void serongkiri()

{ Serial.print("serong kiri");

mundur();

delay(100);

kiri();

delay(100);

maju();

delay(100);

}

void serongkanan1()

{ Serial.print("serong kanan");

maju();

delay(100);

kanan();

delay(100);

mundur();

delay(100);

}void serongkiri1()

{ Serial.print("serong kiri");

maju();

delay(100);

kiri();

delay(100);

mundur();

delay(100);

}

void maju()

{ Serial.print("maju");analogWrite(en1, 255);

digitalWrite(maju1,HIGH);

digitalWrite(mundur1, LOW);

analogWrite(en2, 175);

digitalWrite(maju2,HIGH);

Page 79: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 79/81

digitalWrite(mundur2, LOW);

delay(15);

}void mundur ()

{ Serial.print("mundur");

analogWrite(en1, 255);

digitalWrite(maju1,LOW);

digitalWrite(mundur1, HIGH);

analogWrite(en2, 175);

digitalWrite(maju2,LOW);

digitalWrite(mundur2, HIGH);

delay(15);

}

void kanan()

{ simpan = 1;

analogWrite(en1, 255);

digitalWrite(maju1,HIGH);

digitalWrite(mundur1, LOW);

analogWrite(en2, 200);

digitalWrite(maju2,LOW);

digitalWrite(mundur2, HIGH);

Serial.println("kanan");

}

void kiri()

{ simpan = -1;

analogWrite(en1, 255);digitalWrite(maju1,LOW);

digitalWrite(mundur1, HIGH);

analogWrite(en2, 255);

digitalWrite(maju2,HIGH);

digitalWrite(mundur2, LOW);

Serial.println("kiri");

}

void ambilbola()

{analogWrite(en1,0);

analogWrite(en2,0);

delay(100);camera();

delay(100);

pos-=23;

servoku.write(23);

delay(1000);

Page 80: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 80/81

konter+=1;

}

void lepasbola(){analogWrite(en1,0);

analogWrite(en2,0);

delay(1000);

pos+=23;

servoku.write(48);

delay(1000);

konter+=1;

}

void baca()

{ nilai0 = analogRead(sensor0);

nilai0 = map(nilai0, min0, max0, 0, 1);

nilai0 = constrain(nilai0, 0, 1);

Status0 = nilai0;

nilai1 = analogRead(sensor1);

nilai1 = map(nilai1, min1, max1, 0, 1);

nilai1 = constrain(nilai1, 0, 1);

Status1 = nilai1;

nilai2 = analogRead(sensor2);

nilai2 = map(nilai2, min2, max2, 0, 1);

nilai2 = constrain(nilai2, 0, 1);

Status2 = nilai2;

nilai3 = analogRead(sensor3);

nilai3 = map(nilai3, min3, max3, 0, 1);nilai3 = constrain(nilai3, 0, 1);

Status3 = 1;

nilai4 = analogRead(sensor4);

nilai4 = map(nilai4, min4, max4, 0, 1);

nilai4 = constrain(nilai4, 0, 1);

Status4 = nilai4;

nilai5 = analogRead(sensor5);

nilai5 = map(nilai5, min5, max5, 0, 1);

nilai5 = constrain(nilai5, 0, 1);

Status5 = nilai5;

nilai6 = analogRead(sensor6);nilai6 = map(nilai6, min6, max6, 0, 1);

nilai6 = constrain(nilai6, 0, 1);

Status6 = nilai6;

nilai7 = analogRead(sensor7);

nilai7 = map(nilai7, min7, max7, 0, 1);

Page 81: Roqiqul Maani Teknik Elektro Libre

8/9/2019 Roqiqul Maani Teknik Elektro Libre

http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 81/81

nilai7 = constrain(nilai7, 0, 1);

Status7 = nilai7;

}void ngonter()

{if ((Status0 == 1)&&(Status1==1))

{x = 1;}

else {x = 0;}

presentStatus = x;

if (presentStatus != lastStatus) {

if (presentStatus == HIGH)

{konter++;} }

lastStatus = presentStatus;

}

void camera()

{ Serial.begin(19200);

cam.begin();

cam.LEDOn(LED_BLINK);

delay(WAIT_TIME);

cam.autoGainControl(false);

cam.autoWhiteBalance(false);

cam.cameraBrightness (-16);

cam.LEDOn(CMUCAM4_LED_ON);

{ CMUcam4_statistics_data_t data;

cam.getMean(); // Start streaming statistics data.

{ cam.getTypeSDataPacket(&data);

Serial.print(data.RMean);Serial.print('\t');

Serial.print(data.BMean);

Serial.println('\t');

}

if (data.RMean < BMean)

{digitalWrite(ledB,HIGH);

B=1;}

else{digitalWrite(ledR,HIGH);

R=1;}