Upload
agung-haryono
View
255
Download
0
Embed Size (px)
Citation preview
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
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
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.
8/9/2019 Roqiqul Maani Teknik Elektro Libre
http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 4/81
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
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.
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
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
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
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.
8/9/2019 Roqiqul Maani Teknik Elektro Libre
http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 11/81
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;
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
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
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
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
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
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
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
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
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.
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.
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
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
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
8/9/2019 Roqiqul Maani Teknik Elektro Libre
http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 26/81
8/9/2019 Roqiqul Maani Teknik Elektro Libre
http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 27/81
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
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.
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
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.
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,
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.
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
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.
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 :
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
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).
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
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
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:
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
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
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
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
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
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
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
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);
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
8/9/2019 Roqiqul Maani Teknik Elektro Libre
http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 51/81
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
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.
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); }
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:
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
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).
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
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.
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
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.
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.
8/9/2019 Roqiqul Maani Teknik Elektro Libre
http://slidepdf.com/reader/full/roqiqul-maani-teknik-elektro-libre 63/81
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%.
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.
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.
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
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; }
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);
}
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){
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;}
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);
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();}
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);
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:
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);
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()
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);
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);
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);
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;}