TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN...

132

Click here to load reader

Transcript of TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN...

Page 1: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

TUGAS AKHIR

APLIKASI PENGENALAN WARNA MENGGUNAKAN

WEBCAM UNTUK LENGAN ROBOT PEMISAH

BENDA BERDASARKAN WARNA

Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Oleh :

RICHARD BAGUS DEAN MAHENDRA

NIM : 115114003

PROGRAM STUDI TEKNIK ELEKTRO

JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2015

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

i

TUGAS AKHIR

APLIKASI PENGENALAN WARNA MENGGUNAKAN

WEBCAM UNTUK LENGAN ROBOT PEMISAH

BENDA BERDASARKAN WARNA

Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Oleh :

RICHARD BAGUS DEAN MAHENDRA

NIM : 115114003

PROGRAM STUDI TEKNIK ELEKTRO

JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2015

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

ii

FINAL PROJECT PROPOSAL

COLOR RECOGNITION APPLICATION USING A

WEBCAM FOR OBJECT SEPARATION

ROBOTIC ARM BY COLOR

In partial fulfilment of the requirements

for the degree of Sarjana Teknik

In Electrical Engineering Study Program

RICHARD BAGUS DEAN MAHENDRA

NIM : 115114003

ELECTRICAL ENGINEERING STUDY PROGRAM

ELECTRICAL ENGINEERING DEPARTMENT

FALCUTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

2015

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

HALAMAN PERSETUJUAN

TUGAS AKHIR

APLIKASI PENGENALAN WARNA MENGGT]NAKAN WEBCAMUNTUKLENGAN ROBOT PEMISAH BEIYDA

BERDASARKAN WARNA(col,oR RECOGMTION APPLTCATTON USING A WEBCAM FOR

0BJECT SEPARATTON ROBOTTC ARM BY COLOR)

Pembimbing

/'wDr. Linggo Sumarno

llt

Tanggal:L6/e/?-o(y

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

HALAMAN PENGESAHAN

TUGAS AKHIR

APLIKASI PENGENALAN WARNA S{ENGGT'NAKAN WEBCA1UUNTUK LENGAN ROBOT PEMISAH BENDA

BERDASAAI(AI* WARI{A

(col,oR RECOGNTTTON APPLTCATTON USrNG A WEBCAM F',OR

0BJECT SEPARATION ROBOTTC ARM By COLOR)

2015

Ketua

Sekretaris

Anggota : lYiwien Widyastuti, S.T.,M.T.

Yogyakarta, 27 A$urtttr AEFakulks Sains dan Teknologi

tv

/^€glrl

weruningsih Prima Rosa, S.Si., M.Sc

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

PERTI"YATAAh{ KEASLIAN KARYA

Saya menyatakan dengan sesrmgguhnya bahwa tugas akhir yang berjudul*APLIKASI PENGENALAI\T OBJEK MENGGT]NAKAI\I WEBCAM T}NTUK

LENGAI{ ROBOT PEI{ISAH BENDA BERDASARKAIY WARNA" tidak memuatkarya

atau bagian orang lain, keuali yang telah disebutkan dalam kutipan dan daftar pustak4

sebagaimana layaknya karya ilmiah.

Apabila dikemudian hari ditemukan indikasi plagiatisme dalam naskah ini, maka saya

bersedia m€nanggung segala sanksi sesuai peraturan perundang - undangan yang berlaku.

Yogyakarta, 4 Agustus 2015

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

vi

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO :

“Keluar dan buat ceritamu sendiri maka kamu akan

mendapatkan cerita baru dan pengalamanmu

yang sesungguhnya”

Atas rahmat Yesus Kristus dan Bunda Maria dengan segala

kerendahan hati kupersembahkan skripsi ini kepada :

Papa (Sebastian Trobus Rahardjo) dan Mama (Rosalia Kartikawati)

tercinta.

Terimakasih atas segala lelah, pengorbanan, kasih saying, doa, dan

dukungan dalam setiap langkah yang kupilih.

Kakak (Marsya Arista) dan Adek (Aji Pangestu).

Terimakasih untuk semangat, motivasi, dukungan, serta tawa yang

kalian berikan.

Kepada segenap keluarga besarku, trimakasih atas segalanya semoga

kelak saya dapat membahagiakan, membanggakan, dan bisa membuat

kalian tersenyum dalam kebahagiaan.

Almamaterku tercinta Teknik Elektro Universitas Sanata Dharma.

Tempatku memperoleh ilmu dan merancang mimpi yang menjadi

sebagian jejak langkahku menuju kesuksesan…

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

HALAMAN PERI\IYATAAII PERSE TUJUAII

PUBLIKASI KARYA ILMIAH T]NTUK

KEPENTINGAII AKADEMIS

Yang bertandatangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :

Nama : RICHARD BAGUS DEAN MAHENDRA

NomorMahasiswa : 115114003

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas

Sanata Dharma karya ilmiah saya yang berjudul :

APLIKASI PENGENALAI\ OBJEK MENGGUNAKAN WEBCAM

UNTUK LENGAN ROBOT PEMISAII BENDA

BEDASARKAN WARNA

beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada

Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk

media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan

mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu

meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan

nama saya sebagai penulis. Demikian pernyataan ini yang saya buat dengan sebenamya.

Yogyakarta, 4 Agustus 20 1 5

fuchard Bagus Dean Mahendra

vlt

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

viii

INTISARI

Dunia teknologi maupun kehidupan manusia sehari – hari, saat ini penggunaan robot

sangat membantu dalam menyelesaikan tugas atau pekerjaan yang tidak bisa dilakukan oleh

manusia. Oleh karena itu, agar dapat membantu manusia, lengan robot pemisah benda dibuat

dengan tujuan untuk menghemat waktu dalam menyelesaikan pekerjaan dalam mengambil

dan memisahkan benda berdasarkan warna, dan mengurangi resiko yang dapat

membahayakan manusia.

Lengan robot otomatis sebagai pemisah benda berdasarkan warna ini menggunakan

ATmega32 yang terdiri dari minimum sistem berfungsi untuk mengontrol pergerakan motor

servo, GUI pada software MATLAB digunakan untuk tampilan nilai warna benda, warna

benda dan jumlah warna benda terdeteksi. Data citra RGB yang dihasilkan oleh webcam

Logitecth C270H. Benda tersebut akan dibawa menggunakan conveyor.

Hasil dari penelitian ini adalah sistem lengan robot yang dapat mengambil dan

memindahkan benda berdasarkan warna secara realtime. Dalam pengujian untuk pengenalan

warna pada benda menggunakan range yang digunakan penulis untuk dapat membedakan

warnanya. Tingkat keberhasilan 100% untuk posisi benda berada di tengah conveyor dan

jarak antar benda minimal 2 cm, sedangkan jika jarak kurang dari 2 cm tingkat keberhasilan

62,5%.

Kata kunci : Lengan robot, webcam, MATLAB, citra RGB, ATmega32.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

ix

ABSTRACT

The world of technology and human daily life, nowadays the use of robots is very helpful for

completing a task or job that can not be done by humans. Therefore, in order to help humans, the

robot arm separator objects created with the purpose to save time in completing the work in taking

and separating objects by color, and reduce the risks that can be harmful to humans. Automatic robot arm as the sepatator objects by color using ATmega32 minimum system

consisting of functions to control the movement of servo motors, the GUI in MATLAB software is

used to display color values of objects, color of objects and the number of colors of objects detected.

RGB image data produced will be taken by the webcam Logitecth C270H. The item will be carried

using a conveyor.

Results from this research is the robotic arm system that can pick up and move objects based

on color in real time. In testing for the introduction of color on the object using a range that is used by

the author to be able to distinguish colors. Rate of success is 100% for the position of objects in the

middle of the conveyor and the distance between objects at least 2 cm, at the same time if the distance

is less than 2 cm rate of success is 62.5%.

Keywords: Robotic arm, webcam, MATLAB, RGB image, ATmega32.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

x

KATA PENGANTAR

Puji dan Syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas segala berkat

dan rahmat-Nya, sehingga penulis dapat menyelesaikan tugas akhir ini dengan baik. Penulis

menyadari bahwa banyak pihak yang telah memberikan doa, dukungan, perhatian serta bantuan

kepada penulis sehingga dapat menyelesaikan tugas akhir ini. Oleh karena itu, penulis

mengucapkan terima kasih yang sebesar-besarnya kepada:

1) Paulina Heruningsih Prima Rosa, S.Si., M.Sc selaku dekan Fakultas Sains dan

Teknologi Universitas Sanata Dharma Yogyakarta.

2) Petrus Setyo Prabowo, S.T.,M.T., Ketua Program Studi Teknik Elektro Universitas

Sanata Dharma Yogyakarta.

3) Theresia Prima Ari Setiyani S.T., M.T., selaku dosen pembimbing akademik yang telah

mendampingi dan membimbing penulis selama perkuliahan.

4) Dr. Linggo Sumarno, dosen pembimbing yang dengan penuh pengertian, sabar dan

ketulusan hati memberi bimbingan, kritik, saran, serta motivasi dalam penulisan tugas

akhir ini.

5) Ibu Wiwin Widyastuti S.T., M.T., dan Bapak Martanto S.T., M.T., selaku dosen penguji

yang telah bersedia memberikan masukan, bimbingan, dan saran dalam memperbaiki

tugas akhir ini.

6) Bapak/ Ibu dosen yang telah mengajarkan banyak hal selama penulis menempuh

pendidikan di Program Studi Teknik Elektro, Fakultas Sains dan Teknologi, Universitas

Sanata Dharma.

7) Kedua orang tua tercinta, papah Sebastian Trobus Rahardjo dan mamah Rosalia

Kartikawati atas kasih sayang, dukungan dan doa yang tiada henti.

8) Kakak tercinta Marcia Arista dan adik tercinta Aji Pangestu yang selalu mendukung

dan mendoakan saya, sehingga dapat menyelesaikan tugas belajar dengan baik.

9) Yacinta Laksmi Mayang Nariswari sebagai teman, sahabat, dan kekasih yang selalu

menyemangati dan mendukung penulis sampai terselesaikannya tugas akhir ini.

10) Staff sekretariat Teknik Elektro yang telah membantu dalam hal administrasi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

l1) Staff dan petugas laboratorium Teknik Elektro yang telah membantu banyak hal untuk

kelancaran tugas-tugas pedculiahan.

12) Teman-teman seperjuangan angkatan 2011 Teknik Elektro yang selalu mendukung dan

menyemangati saya dalam menyelesaikan tugas akhir ini.

13) Semua pihak yang tidak dapat disebutkan satu persatu atas semua dukungan yang telah

diberikan dalam penyelesaian tugas akhir ini.

Penulis menyadari bahwa dalam penulisan tugas alctrir ini masih banyak kekurangan,

kelemahan dan jauh dari sempurna. Oleh sebab itu, dengan segala kerendahan hati, penulis

mengharapkan kritik dan saran yang membangun untuk penyempurnaan tugas akhir ini. Dan

semoga tugas akfiir ini dapat bermanfaat sebagaimana mestinya.

Richard Bagus Dean Mahendra

xt

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

xii

DAFTAR ISI

HALAMAN JUDUL ............................................................................................... i

HALAMAN PERSETUJUAN ............................................................................... iii

HALAMAN PENGESAHAN ................................................................................ iv

PERNYATAAN KEASLIAN KARYA ................................................................. v

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ..................................... vi

HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI KARYA

ILMIAH UNTUK KEPENTINGAN AKADEMIS ............................................. vii

INTISARI ................................................................................................................ viii

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

KATA PENGANTAR ............................................................................................ x

DAFTAR ISI ........................................................................................................... xii

DAFTAR GAMBAR .............................................................................................. xvi

DAFTAR TABEL ................................................................................................... xix

BAB I PENDAHULUAN

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

1.2. Tujuan dan Manfaat ..................................................................................... 2

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

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

BAB II DASAR TEORI

2.1. Lengan Robot .............................................................................................. 4

2.2. Gripper ........................................................................................................ 5

2.3. Inverse Kinematics ...................................................................................... 6

2.4. Mikrokontroler AVR ATmega32 ................................................................ 7

2.4.1. Arsitektur AVR ATmega32 ............................................................... 7

2.4.2. Deskripsi Mikrokontroler ATmega32 ................................................ 8

2.4.3. Organisasi Memori AVR ATmega32 ................................................. 9

2.4.3.1. Memori Program. .................................................................... 9

2.4.3.1. Memori Data. ........................................................................... 9

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

xiii

2.4.4. Interupsi .............................................................................................. 9

2.4.5. Timer/Counter .................................................................................... 10

2.4.5.1. Timer/Counter0. ...................................................................... 10

2.4.5.2. Mode Operasi . ........................................................................ 11

2.4.6. Komunikasi Serial USART ................................................................ 12

2.4.6.1. Inisialisasi USART. ................................................................. 13

2.5. Motor Servo ................................................................................................. 16

2.5.1. Torsi / Momen Gaya ........................................................................... 19

2.6. LCD (Liquid Crystal Display) ..................................................................... 19

2.7. Webcam ....................................................................................................... 21

2.8. Photodiode ................................................................................................... 22

2.9. Led Infrared ................................................................................................. 24

2.10. Transistor Sebagai Saklar .......................................................................... 24

2.11. Relay .......................................................................................................... 25

2.12. Regulator Tegangan IC 78xx dan Transistor Penguat Arus ...................... 26

2.13. Citra ........................................................................................................... 28

2.13.1. Definisi Citra .................................................................................. 28

2.14. Pengolahan Citra Digital ........................................................................... 28

2.15. Pemrosesan Citra ....................................................................................... 29

2.15.1. RGB ................................................................................................ 29

2.15.2. Cropping ......................................................................................... 29

2.16. Metode Pengenalan Warna ........................................................................ 30

BAB III PERANCANGAN PENELITIAN

3.1. Proses Kerja dan Mekanisme Lengan Robot ............................................... 31

3.2. Perancangan Mekanik .................................................................................. 32

3.3. Perancangan Perangkat Keras ..................................................................... 37

3.3.1. Minimum System ATmega32 + LCD 16x2 ........................................ 37

3.3.1.1. Minimum System ATmega32 .................................................. 37

3.3.1.2. Rangkaian Konfigurasi LCD 16x2 ......................................... 38

3.3.2. Webcam Logitech Seri C270H........................................................... 39

3.3.3. Motor Servo ...................................................................................... 39

3.3.4. Regulator Tegangan IC 7805 dan Penguat Arus .............................. 43

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

xiv

3.3.5. Sensor Photodiode ............................................................................ 43

3.3.6. Metode Pengenalan Warna ............................................................... 44

3.4. Perancangan Perangkat Lunak ..................................................................... 45

3.4.1. Program Mikrokontroler ................................................................... 47

3.4.2. Program Pengenalan Warna Benda Pada MATLAB ........................ 48

3.4.3. Program Pengaturan Awal Posisi Siaga Lengan Robot .................... 49

3.4.4. Program Pengendalian Sudut Putar Motor Servo dalam

Pengambilan dan Peletakan Benda ................................................... 50

3.4.5. Perancangan GUI Matlab .................................................................. 55

BAB IV HASIL PENGAMATAN DAN PEMBAHASAN

4.1. Bentuk Fisik dan Sistem Kerja Lengan Robot ............................................ 56

4.2. Hasil Data Pengujian dan Pembahasan ....................................................... 58

4.2.1. Pengujian Nilai Batasan pada RGB ............................................. 58

4.2.2. Pengujian Nilai Citra RGB Warna Benda ..................................... 60

4.2.3. Sudut Motor Servo ........................................................................ 64

4.2.4. Pengujian Tingkat Keberhasilan Sistem Mendeteksi Warna

Benda ............................................................................................ 67

4.2.5. Pengujian Tingkat Keberhasilan Lengan Robot Saat

Mengambil dan Memindahkan Benda Berdasarkan Warna ......... 71

4.2.6. Pengujian Sistem Dalam Proses Pengenalan Benda dan Proses

Pemindahan Benda ....................................................................... 74

4.2.7.1. Menggunakan Looping ................................................... 74

4.2.7.2. Tidak Menggunakan Looping ........................................ 75

4.3. Analisa dan Pembahasan Perangkat Lunak ................................................. 75

4.3.1. Aplikasi CodeVision AVR ............................................................ 75

4.3.1.1. Pengendali Sensor Photodiode ....................................... 75

4.3.1.2. Pengendali Komunikasi USART ................................... 76

4.3.1.3. Pengendali Motor Servo ................................................. 77

4.3.1.4. Subrutin Program Utama ............................................... 79

4.3.2. Aplikasi MATLAB ...................................................................... 80

4.3.2.1. Tampilan Gui MATLAB ............................................... 80

4.3.2.2. Inisialisasi Komunikasi Serial ........................................ 81

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

xv

4.3.2.3. Inisialisasi Webcam ........................................................ 81

4.3.2.4. Proses Pengolahan Citra ................................................. 82

4.3.2.5. Proses Pengenalan Warna Benda ................................... 82

Kesimpulan dan Saran ........................................................................................... 85

Daftar Pustaka ........................................................................................................ 86

Lampiran ................................................................................................................. L1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

xvi

DAFTAR GAMBAR

Gambar 1.1. Diagram Blok Sistem ........................................................................ 3

Gambar 2.1. Anatomi Lengan Robot ..................................................................... 4

Gambar 2.2. Sistem Lengan Robot ........................................................................ 5

Gambar 2.3. Jenis Gripper Mekanik ...................................................................... 6

Gambar 2.4. Konfigurasi Robot ............................................................................. 6

Gambar 2.5. Konfigurasi Pin Mikrokontroler ATmega32 .................................... 8

Gambar 2.6. Mode Phase Correct PWM ............................................................... 11

Gambar 2.7. Mode fast PWM ................................................................................ 12

Gambar 2.8. Register UDR .................................................................................... 13

Gambar 2.9. Register UCSRA ............................................................................... 13

Gambar 2.10. Register UCSRB ............................................................................... 14

Gambar 2.11. Register UCSRC ............................................................................... 16

Gambar 2.12. Motor Servo ...................................................................................... 17

Gambar 2.13. Konfigurasi Pin Motor Servo ............................................................ 17

Gambar 2.14. Sinyal untuk Mengendalikan Motor Servo ....................................... 18

Gambar 2.15. Lebar Pulsa dan Posisi Servo ............................................................ 18

Gambar 2.16. Baris dan Kolom Karakter pada LCD 16x2 ...................................... 19

Gambar 2.17. Konfigurasi Kaki Pin LCD 16x2 ...................................................... 20

Gambar 2.18. Webcam Logitech Seri C270H .......................................................... 21

Gambar 2.19. Simbol dan Bentuk Photodiode ........................................................ 22

Gambar 2.20. Respon Relatif Spektral Untuk Si, Ge, dan Selenium

Dibandingkan dengan Mata Manusia ............................................... 23

Gambar 2.21. Hubungan Iλ Dengan Fc Pada Photodiode ....................................... 23

Gambar 2.22. Rangkaian Sensor Photodiode .......................................................... 24

Gambar 2.23. Aplikasi Sensor Photodiode .............................................................. 24

Gambar 2.24. Contoh Rangkaian Transistor sebagai Saklar ................................... 25

Gambar 2.25. Bentuk Fisik Relay ............................................................................ 25

Gambar 2.26. Konfigurasi Pin IC Regulator ........................................................... 26

Gambar 2.27. Rangkaian Umum Regulator 78xx .................................................... 27

Gambar 2.28. Rangkaian Catu Daya dengan Penguat ............................................. 27

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

xvii

Gambar 2.29. Pengaturan Citra RGB ...................................................................... 29

Gambar 2.30. (a) Citra sebelum di Crop, (b) Citra Sesudah Cropping ................... 30

Gambar 3.1. Blok Diagram Sistem ........................................................................ 31

Gambar 3.2. Keseluruhan Sistem Lengan Robot ................................................... 32

Gambar 3.3. Model Anatomi Lengan Robot ......................................................... 32

Gambar 3.4. Komponen 1 ...................................................................................... 33

Gambar 3.5. Komponen 2 ...................................................................................... 33

Gambar 3.6. Komponen 3 ...................................................................................... 33

Gambar 3.7. Gripper Tampak Atas ....................................................................... 34

Gambar 3.8. Benda Berbentuk Kotak 3x3x3cm .................................................... 34

Gambar 3.9. Jarak Lengan Robot dengan Benda dan Wadahnya .......................... 35

Gambar 3.10. Konfigurasi Robot ............................................................................. 35

Gambar 3.11. Rangkaian Osilator ATmega32 ......................................................... 37

Gambar 3.12. Rangkaian Reset ATmega32 ............................................................. 38

Gambar 3.13. Rangkaian LCD 16x2 ....................................................................... 38

Gambar 3.14. Setting Port LCD ............................................................................... 38

Gambar 3.15. Webcam Logitech C270H ................................................................. 39

Gambar 3.16. Towerpro MG946R ........................................................................... 39

Gambar 3.17. Towerpro SG90 ................................................................................. 39

Gambar 3.18. Pin Motor Servo ke Mikrokontroler ................................................. 40

Gambar 3.19. Lebar Pulsa Motor Servo .................................................................. 41

Gambar 3.20. Konstruksi Lengan Robot ................................................................. 42

Gambar 3.21. Rangkaian Regulator 7805 Dengan Penguat Arus ............................ 43

Gambar 3.22. Rangkaian Sensor Photodiode .......................................................... 44

Gambar 3.23. Rangkaian Transistor Sebagai Saklar dan Relay .............................. 44

Gambar 3.24. Diagram Alir Utama ......................................................................... 46

Gambar 3.25. Diagram Alir Pengendalian Motor servo pada Mikrokontroler ........ 47

Gambar 3.26. Diagram Alir Pengenalan Warna Pada Matlab ................................. 49

Gambar 3.27. Diagram Alir Pengaturan Awal Posisi Siaga Lengan Robot ............ 50

Gambar 3.28. Diagram Alir Gerak Servo Mode Merah .......................................... 52

Gambar 3.29. Diagram Alir Gerak Servo Mode Hijau ............................................. 53

Gambar 3.30. Diagram Alir Gerak Servo Mode Biru ............................................... 54

Gambar 3.31. Perancangan GUI pada MATLAB ..................................................... 55

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

xviii

Gambar 3.32. Flowchart Menghitung Jumlah Benda yang Telah Terdeteksi ......... 55

Gambar 4.1. Sistem Minimum ATmega32 ............................................................ 56

Gambar 4.2. Regulator Tegangan .......................................................................... 56

Gambar 4.3. Lengan Robot Keseluruhan ............................................................... 57

Gambar 4.4. Conveyor ........................................................................................... 57

Gambar 4.5. Lengan Robot .................................................................................... 57

Gambar 4.6. Benda Berwarna ................................................................................ 57

Gambar 4.7. Wadah Benda Berwarna ................................................................... 57

Gambar 4.8. Sudut 0o ............................................................................................. 65

Gambar 4.9. Sudut 10o ........................................................................................... 65

Gambar 4.10. Sudut 20o ........................................................................................... 65

Gambar 4.11. Sudut 30o ........................................................................................... 65

Gambar 4.12. Sudut 40o ........................................................................................... 65

Gambar 4.13. Sudut 50o ........................................................................................... 65

Gambar 4.14. Sudut 60o ........................................................................................... 65

Gambar 4.15. Sudut 70o ........................................................................................... 65

Gambar 4.16. Sudut 80o ........................................................................................... 65

Gambar 4.17. Sudut 90o ........................................................................................... 65

Gambar 4.18. Sudut 100o ......................................................................................... 65

Gambar 4.19. Sudut 110o ......................................................................................... 65

Gambar 4.20. Sudut 120o ......................................................................................... 66

Gambar 4.21. Sudut 130o ......................................................................................... 66

Gambar 4.22. Sudut 140o ......................................................................................... 66

Gambar 4.23. Sudut 150o ......................................................................................... 66

Gambar 4.24. Sudut 160o ......................................................................................... 66

Gambar 4.25. Sudut 170o ......................................................................................... 66

Gambar 4.26. Sudut 180o ......................................................................................... 66

Gambar 4.27. Pengujian Benda Warna Merah ........................................................ 68

Gambar 4.28. Pengujian Benda Warna Hijau .......................................................... 69

Gambar 4.29. Pengujian Benda Warna Biru ............................................................ 70

Gambar 4.30. Pengujian Benda Bukan Warna Dasar .............................................. 70

Gambar 4.31. Tampilan GUI MATLAB ................................................................. 80

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

xix

DAFTAR TABEL

Tabel 2.1. Hubungan PIN dan Interupsi ................................................................. 10

Tabel 2.2. Penentuan Ukuran Karakter ................................................................... 15

Tabel 2.3. Konfigurasi Kaki Pin LCD 16x2 ........................................................... 19

Tabel 2.4. Operasi Dasar LCD 16x2 ....................................................................... 21

Tabel 2.5. Konfigurasi Setting LCD 16x2 .............................................................. 21

Tabel 2.6. Karakteristik Regulator Tegangan ic 78xx ............................................ 26

Tabel 2.7. Contoh Nilai Matriks Setelah dijumlahkan ........................................... 30

Tabel 3.1. Nilai Sudut Tiap Motor Servo ............................................................... 36

Tabel 3.2. Perhitungan Nilai OCR .......................................................................... 41

Tabel 3.3. Perhitungan Torsi Motor Servo ............................................................. 42

Tabel 3.4. Contoh Nilai RGB pada Benda .............................................................. 45

Tabel 4.1. Data Pengujian Nilai Batasan RGB ....................................................... 59

Tabel 4.2. Data Citra RGB Masing – masing Warna Benda .................................. 60

Tabel 4.3. Perhitungan Lebar Pulsa Motor Servo Towerpro MG946R .................. 67

Tabel 4.4. Nilai Sudut Tiap Motor Servo ............................................................... 67

Tabel 4.5. Pengujian Tingkat Keberhasilan Sistem Mendeteksi Warna Benda ..... 68

Tabel 4.6. Pengujian Tingkat Keberhasilan Lengan Robot Mengambil

dan Memindahkan Benda dengan Posisi Benda 0,5 cm ke Atas ............ 72

Tabel 4.7. Pengujian Tingkat Keberhasilan Lengan Robot Mengambil

dan Memindahkan Benda dengan Posisi Benda 0,5 cm ke Bawah ........ 72

Tabel 4.8. Pengujian Tingkat Keberhasilan Lengan Robot Mengambil

dan Memindahkan Benda dengan Posisi Benda di Tengah .................... 72

Tabel 4.9. Pengujian Tingkat Keberhasilan Lengan Robot Mengambil

dan Memindahkan Benda dengan Jarak 0 cm ........................................ 73

Tabel 4.10. Pengujian Tingkat Keberhasilan Lengan Robot Mengambil

dan Memindahkan Benda dengan Jarak 1 cm ....................................... 73

Tabel 4.11. Pengujian Tingkat Keberhasilan Lengan Robot Mengambil

dan Memindahkan Benda dengan Jarak 2 cm ....................................... 73

Tabel 4.12. Pengujian Tingkat Keberhasilan Lengan Robot Mengambil

dan Memindahkan Benda dengan Jarak 3 cm ....................................... 74

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Perkembangan teknologi robotika saat ini telah membuat kualitas kehidupan manusia

semakin tinggi. Saat ini perkembangan teknologi robotika telah mampu meningkatkan kualitas

maupun kuantitas produksi di berbagai industri. Teknologi robotika juga telah menjangkau sisi

hiburan dan pendidikan bagi manusia. Salah satunya topik yang saat ini sedang dikembangkan

dan banyak aplikasinya di industri adalah robot dan image processing. Penggunaan robot

sebagai alat bantu kerja merupakan alternatif yang aman bagi manusia untuk bekerja. Selain

itu, penggunaan image processing memudahkan manusia untuk mengetahui jenis suatu benda

secara jelas. Sebagian besar industri hanya menggunakan sensor untuk mengetahui keberadaan

benda, namun tidak dapat mengidentifikasi warna, bentuk dan ukurannya dengan

menggunakan satu sensor. Saat ini diketahui industri sekarang berusaha meminimalkan man

power untuk memproduksi suatu benda dalam jangka besar, salah satunya adalah aktivitas

pengelompokan benda. Pengelompokan benda yang dilakukan manual oleh manusia

membutuhkan waktu yang lama, disamping itu manusia tidak dapat melakukan suatu aktivitas

secara terus menerus dengan waktu istirahat yang singkat, apabila manusia dipaksa melakukan

hal itu maka ketelitiannya akan berkurang secara otomatis dan mengakibatkan kekeliruan

dalam aktivitas tersebut.

Sistem pengenalan benda berdasarkan warna menggunakan lengan robot sudah pernah

dilakukan, antara lain oleh Rio Arismarjito[1]. Metode yang digunakan untuk dapat mendeteksi

warna menggunakan sensor TCS3200. Peneliti lainnya adalah Syarifah Hamidah yang

membuat sistem pengendalian lengan robot menggunakan pemrograman visual basic[2]. Pada

Penulisan ini, penulis membuat sistem aplikasi pengenalan benda berdasarkan warna

menggunakan lengan robot dengan webcam sebagai sensor untuk image processing yang akan

diproses dan dikenali warnanya.

Prinsip kerja sistem ini, input berupa benda berbentuk kubus berupa citra RGB yang

akan diletakan di atas conveyor berjalan. Proses pengambilan warna dan bentuk tersebut

menggunakan webcam di proses pada program matlab, kemudian data dikirim menggunakan

komunikasi serial ke mikrokontroler dan lengan robot mulai menjalankan perintah mengambil

dan meletakan benda ke wadah sesuai dengan warna yang terdeteksi oleh webcam.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

2

1.2. Tujuan dan Manfaat

Tujuan yang ingin dicapai dalam penulisan tugas akhir ini adalah membuat lengan robot

sebagai pemindah dan menempatkan benda pada wadahnya berdasarkan warna menggunakan

webcam secara realtime.

Manfaat dari penelitian ini adalah :

a. Membantu memudahkan pekerjaan manusia pada industri-industri besar baik dari segi

efisiensi waktu, tenaga, kualitas, dan hasil yang didapat.

b. Untuk penelitian awal pengenalan benda menggunakan webcam dengan lengan robot

pemindah dan menempatkannya pada wadah berdasarkan warna.

c. Untuk media pembelajaran mengenai image processing dan pengenalan warna dasar

seperti merah, hijau, dan biru.

1.3. Batasan Masalah

Penulis menetapkan beberapa batasan masalah pada perancangan ini, yaitu :

1. Mikrokontroler ATmega32 menggunakan AVR Code Vision untuk memogram

empat buah servo pada lengan robot.

2. Menggunakan laptop mengoprasikan aplikasi matlab untuk pengenalan warna

dasar dan bukan warna dasar pada benda dengan menggunakan webcam

Logitech C270h sebagai sensor untuk image processing. Webcam akan

diletakan 20cm di atas benda yang diletakkan pada conveyor. Menggunakan

GUI untuk menampilkan warna benda, menghitung banyak benda sesuai warna,

dan nilai warna pada benda. Terdapat tiga tombol yaitu start, reset dan stop.

3. Benda berbentuk kubus berwarna merah, hijau, dan biru. Tambahan warna

bukan warna dasar ditentukan oleh penulis. Berukuran 3x3x3 cm terbuat dari

akrilik dengan berat masing- masing benda berwarna adalah 20gram.

4. Lengan robot serta gripper terbuat dari bahan akrilik dengan tebal 3mm terdiri

dari empat buah servo. Didesain menggunakan aplikasi google sketchup.

5. Conveyor yang dapat menampung enam buah benda kubus berwarna yang

diletakkan di tengahnya secara rapi dan tersusun pada tiap benda. Sensor

photodiode yang digunakan untuk mendeteksi benda.

6. Jarak lengan robot dengan benda yang diletakkan di atas conveyor serta lengan

robot dengan wadah benda adalah 15cm.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

3

7. USB TO TTL Converter sebagai komunikasi serial laptop dengan

mikrokontroler ATmega32 dan barang sudah tersedia dipasaran.

8. Keluaran yang akan ditampilkan pada LCD 16 x 2 berupa warna benda.

1.4. Metodologi Penelitian

Metodologi yang digunakan dalam penelitian ini adalah sebagai berikut :

1. Studi pustaka mengenai penggunaan webcam untuk image processing pada

matlab, pengendalian motor servo, serta penggunaan mikrokontroler

ATmega32.

2. Perancangan subsistem hardware dan software. Tahap ini bertujuan untuk

mencari bentuk model yang optimal dari sistem yang akan dibuat dengan

mempertimbangkan dari berbagai faktor permasalahan dan kebutuhan yang

telah ditentukan. Gambar 1.1 adalah model diagram blok.

Gambar 1.1. Diagram Blok Sistem

3. Membuat program GUI menggunakan aplikasi matlab untuk pengolahan citra

digital RGB menggunakan webcam Logitech C270h sebagai pengidentifikasi

warna pada benda.

4. Merancang serta menguji minimum system mikrokontroler ATmega32 dengan

software CodeVision AVR sebagai pengendali sistem secara keseluruhan.

5. Proses pengambilan data. Teknik pengambilan data dilakukan dengan mendata

pada masing – masing warna benda, melihat tanggapan sistem dalam

mendeteksi warna benda, serta sudut motor pada lengan robot.

6. Analisa dan penyimpulan hasil percobaan. Analisa dan penyimpulan hasil

percobaan dapat dilakukan dengan melihat presentase error yang terjadi pada

kinerja sistem secara keseluruhan, yaitu kondisi webcam Logitech C270H

terhadap nilai citra RGB, dan tingkat keberhasilan lengan robot saat

memindahkan benda sesuai warnanya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

4

BAB II

DASAR TEORI

2.1. Lengan Robot

Lengan robot merupakan gabungan dari beberapa segmen dan sendi yang secara umum

dibagi menjadi tiga bagian , yaitu : arm, wirst, dan gripper. Robotic Industries Association

(RIA) mendefinisikan lengan robot sebagai lengan yang didesain untuk memindahkan

material, benda, alat tertentu lewat pergerakan yang terprogram untuk melakukan berbagai

macam tugas [3].

Gambar 2.1. Anatomi Lengan robot [3]

Lengan robot diilustrasikan pada Gambar 2.1 adalah lengan robot yang memiliki dua

lengan dan pergelangan. Di ujung pergelangan dapat diinstal berbagai tool sesuai dengan fungsi

yang diharapakan. Jika dipandang dari sudut pergerakan maka terdiri dari tiga pergerakan

utama yaitu badan robot yang dapat berputar ke kiri dan ke kanan, lengan masing-masing dapat

bergerak ke atas dan ke bawah, dan gerak pergelangan sesuai dengan sifat tool [3].

Perangkat pendukung lengan robot secara umum dapat ditunjukan pada Gambar 2.2

yang terdiri dari beberapa komponen, yaitu :

1. Manipulator

2. Sensor

3. Kontroler

4. Aktuator

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

5

Gambar 2.2. Sistem Lengan robot

Manipulator adalah bagian mekanik yang dapat difungsikan untuk memindah,

mengangkat dan memanipulasi benda kerja. Sensor adalah komponen berbasis instrumentasi

(pengukuran) yang berfungsi sebagai pemberi informasi tentang berbagai keadaan atau

kedudukan dari bagian-bagian robot. Kontroler adalah rangkaian elekronik berbasis

mikroprosesor yang berfungsi sebagai pengatur seluruh komponen. Aktuator adalah komponen

penggerak yang jika dilihat dari prinsip penghasil geraknya dapat dibagi menjadi tiga bagian

yaitu penggerak berbasi motor listrik (motor servo, motor steper, motor DC dan sebagainya),

penggerak pneumatik (berbasis kompresi: udara, nitrogen) dan penggerak hidrolik (berbasis

benda cair: minyak pelumas).

2.2. Gripper

Gripper adalah sebuah efektor yang berfungsi untuk menggenggam dan menahan

objek. Objek merupakan sebuah komponen yang akan dipindahkan oleh robot dapat berupa

kertas, botol, bahan mentah dan peralatan – peralatan lain. Menurut jumlah peralatan

penggenggam dan penahan, gripper dapat diklasifikasikan menjadi dua, yaitu: gripper tunggal

dan gripper ganda, masing – masing memiliki kelebihan dan kekurangan sesuai dengan tujuan

sistem robot. Gripper tunggal diartikan bahwa hanya ada satu peralatan untuk menggenggam

dan menahan yang dipasang pada wrist. Gripper ganda diartikan bahwa ada dua peralatan yang

berfungsi sebagai penggenggam dan penahan objek yang dipasang pada wrist [5].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

6

Gambar 2.3. Jenis Gripper Mekanik [5]

Ada 3 jenis gripper yang dikenal seperti Gripper mekanik, gripper vacuum dan gripper

magnetic. Mechanical gripper didesain untuk menggenggam dan menahan objek dengan

memberikan kontak pada objek. Biasanya menggunakan finger/jari mekanik yang disebut

dengan jaws. Finger ini dapat dilepas dan dipasang sehingga sangat fleksibel pemakaiannya.

Sumber tenaga yang diberikan pada gripper ini bisa berupa pneumatic, hidrolik, dan elektrik.

2.3. Inverse Kinematics

Kinematika robot adalah studi analitis pergerakan lengan robot terhadap sistem

kerangka koordinat acuan yang diam/bergerak tanpa memperhatikan gaya yang menyebabkan

pergerakan tersebut. Lengan robot 2 sendi yaitu sebuah lengan robot yang terdiri dari 2 buah

lengan dan 2 buah derajat kebebasan. Ilustrasi dari lengan robot ini ditunjukan oleh gambar

2.4.

Gambar 2.4. Konfigurasi Robot [4]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

7

Pada inverse kinematics, nilai koordinat x dan y serta l1 dan l2 sudah ditentukan

sehingga hanya dicari nilai 𝜃1 dan 𝜃2. Rumus untuk mendapatkan nilai 𝜃1 dan 𝜃2 ditunjukan

pada persamaan 2.1 dan 2.2 [4].

𝜃2 = arccos(𝑥2+𝑦2−𝑙12−𝑙22

2𝑙1𝑙2) (2.1)

𝜃1 = arcsin(𝑙2sin(𝜃2)

√𝑥2+𝑦2 ) + arctan(

𝑦

𝑥) (2.2)

2.4. Mikrokontroler AVR ATmega32

AVR (Alf and Vegard’sRiscProcessor) merupakan seri mikrokontroler CMOS 8-bit

yang diproduksi oleh Atmel berbasis arsitektur RISC (Reduced Instruction Set Computer). Chip

AVR yang digunakan untuk tugas akhir ini adalah ATmega32. Hampir semua instruksi

dieksekusi dalam satu siklus clock dan mempunyai 32 register general-purpose, timer/counter

fleksibel dengan mode compare, interupsi internal dan eksternal, serial UART, programmable

Watchdog Timer, dan power saving mode. AVR juga mempunyai ADC, PWM internal dan In-

System Programmable Flash on-chip yang mengijinkan memori program untuk diprogram

ulang [6].

2.4.1. Arsitektur AVR ATmega32

Mikrokontroler ATmega32 memiliki arsitektur sebagai berikut [6]:

a. Saluran IO sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D.

b. ADC 10 bit sebanyak 8 Channel.

c. Tiga buah timer/counter yaitu Timer 0, Timer 1, dan Timer 2.

d. Watchdog Timer dengan osilator internal.

e. SRAM sebanyak 512 byte.

f. Memori Flash sebesar 8 kb.

g. Sumber Interupsi internal dan eksternal.

h. Port SPI (Serial Pheriperal Interface)

i. EEPROM on board sebanyak 512 byte.

j. Komparator analog.

k. Port USART (Universal Shynchronous Ashynchronous Receiver Transmitter)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

8

2.4.2. Deskripsi Mikrokontroler ATmega32

Konfigurasi Pin Mikrokontroller ATmega32 dengan kemasan 40-pin DIP (dual in-line

package) dapat dilihat pada Gambar 2.5. Untuk memaksimalkan performa dan paralelisme,

AVR menggunakan arsitektur Harvard (dengan memori dan bus terpisah untuk program dan

data). Ketika sebuah instruksi sedang dikerjakan maka instruksi berikutnya diambil dari

memori program [6].

Gambar 2.5. Konfigurasi Pin Mikrokontroler ATmega32 [6]

Mikrokontroler Atmega 32 memiliki konfigurasi Pin sebagai berikut [6]:

a. VCC (power supply)

b. GND (ground)

c. Port A (PA7..PA0) Port A berfungsi sebagai input analog pada ADC (analog

i. digital converter). Port A juga berfungsi sebagai suatu Port I/O 8-bit dua arah.

d. Port B (PB7..PB0) Port B adalah suatu Port I/O 8-bit dua arah dengan

i. resistor internal pull-up (yang dipilih untuk beberapa bit).

e. Port C (PC7..PC0) Port C adalah suatu Port I/O 8-bit dua arah dengan

i. resistor internal pull-up (yang dipilih untuk beberapa bit).

f. Port D (PD7..PD0) Port D adalah suatu Port I/O 8-bit dua arah dengan

i. resistor internal pull-up (yang dipilih untuk beberapa bit).

g. RESET (Reset input)

h. XTAL1 (Input Oscillator)

i. XTAL2 (Output Oscillator)

j. AVCC adalah pin penyedia tegangan untuk Port A dan ADC.

k. AREF adalah pin referensi analog untuk ADC.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

9

Port A berfungsi sebagai input analog pada A/D Konverter dan port I/O 8-bit dua arah.

Port B, Port C, Port D adalah suatu port I/O 8-bit dua arah dengan resistor internal pull-up

(yang dipilih untuk beberapa bit). Pada rangkaian reset, waktu pengosongan kapasitor dapat

dihitung dengan persamaan 2.3.

T = R x C (2.3)

2.4.3. Organisasi Memori AVR ATmega32

Mikrokontroler ATmega32 memiliki 3 jenis memori yaitu memori program, memori

data dan EEPROM. Ketiganya memiliki ruang sendiri dan terpisah.

2.4.3.1.Memori Program

Kode program disimpan dalam flash memory, yaitu memori jenis non-volatile yang

tidak akan hilang datanya meskipun catu daya dimatikan [7]. Dalam ATmega32 terdapat

8Kbyte On-Chip di dalam sistem Memory Flash Reprogrammable untuk penyimpanan

program. Untuk keamanan perangkat lunak, flash memori dibagi menjadi dua bagian, yaitu

boot program dan bagian aplikasi program [6].

2.4.3.2.Memori Data

Memori data adalah memori RAM (Random Access Memory) yang digunakan untuk

keperluan program. Memori data terdiri dari 32 General Purpose Register (GPR) yang

merupakan register khusus yang bertugas untuk membantu eksekusi program oleh Arithmetic

Logic Unit (ALU) dan I/O register dan additional I/O register yang difungsikan khusus untuk

mengendalikan berbagai peripheral dalam mikrokontroler antara lain pin, port, timer/counter,

USART. ATmega32 memiliki kapasitas memori data sebesar 608 Byte yang terbagi menjadi 3

bagian yaitu register serba guna, register I/O dan SRAM [8].

2.4.4. Interupsi

Interupsi adalah suatu kondisi dimana mikrokontroler akan berhenti sementara dari

program utama untuk melayani instruksi-instruksi pada interupsi kemudian kembali

mengerjakan instruksi program utama setelah instruksi-instruksi pada interupsi selesai

dikerjakan [9].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

10

Tabel 2.1. Hubungan PIN dan Interupsi [9]

Jenis interrupt PIN pada Atmega 32

INT0 PORTD.2

INT1 PORTD.3

INT2 PORTB.2

ATmega32 menyediakan tiga interupsi eksternal yaitu, INT0, INT1, dan INT2. Masing-

masing interupsi tersebut terhubung dengan pin ATmega32 seperti ditunjukan pada Tabel 2.1.

Interupsi eksternal bisa dilakukan dengan memberikan logika 0 atau perubahan logika (rissing

edge dan falling edge) pada pin interupsi yang bersangkutan.

2.4.5. Timer/Counter

Atmega 32 memiliki tiga modul timer yang terdiri dari dua buah timer/counter 8 bit

dan satu buah timer/counter 16 bit. Ketiga modul ini dapat diatur dalam mode yang berbeda-

beda secara individu dan tidak saling mempengaruhi satu sama lain. Selain itu semua

timer/counter juga dapat difungsikan sebagai pencacahan waktu seperti pada jam digital

maupun untuk menghasilkan sinyal PWM (Pulse Width Modulation) yakni sinyal kotak

dengan frekuensi dan duty cycle yang nilainya bisa diatur [7].

2.4.5.1.Timer/counter0

Timer/counter0 merupakan modul timer/counter 8 bit dengan fitur sebagai berikut :

a. timer/counter 1 kanal.

b. Auto reload yaitu timer akan dinolkan kembali saat match compare.

c. Dapat menghasilkan pulsa PWM (pulse width modulation) dengan glitch free.

d. Frequency generator.

e. External event counter.

f. Prescalar 10 bit untuk timer.

g. Membangkitkan interupsi saat timer overflow dan atau match compare.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

11

Perhitungan overflow interrupt sebagai pembangkit PWM ditunjukan pada persamaan 2.4,

2.5, dan 2.6 berikut [7].

𝑇 =1

𝑓 (2.4)

𝑜𝑣𝑒𝑟𝑓𝑙𝑜𝑤𝑖𝑛𝑡𝑒𝑟𝑟𝑢𝑝𝑡 = 𝑁 × 256 × 𝑇 (2.5)

OCR =𝑝𝑢𝑙𝑠𝑒

𝑜𝑣𝑒𝑟𝑓𝑙𝑜𝑤𝑖𝑛𝑡𝑒𝑟𝑟𝑢𝑝𝑡 (2.6)

Keterangan :

f = frekuensi yang digunakan untuk eksekusi program

T = periode

N = prescaller yang digunakan

OCR = nilai cacahan pulsa

Pulse = lebar pulsa

2.4.5.2.Mode Operasi

1. Mode normal, timer digunakan untuk menghitung saja, membuat delay, dan mengitung

selang waktu [10].

2. Mode phase correct PWM (PCP), digunakan untuk menghasilkan sinyal PWM dimana

nilai register counter (TCNT0) yang mencacah naik dan turun secara terus menerus

akan selalu dibandingakan dengan register pembanding OCR0 [5]. Hasil perbandingan

register TCNT0 dan OCR0 digunakan untuk membangkitkan sinyal PWM yang

dikeluarkan pada OC0 seperti ditunjukan Gambar 2.6.

Gambar 2.6. Mode Phase Correct PWM [6]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

12

3. CTC (Clear timer on compare match), register counter (TCNT0) akan mencacah naik

kemudian di-reset atau kembali menjadi 0x00 pada saat nilai TCNT0 sama dengan

OCR0. Sebelumnya OCR diset dulu, karena timer 0 dan 2 maksimumnya 255, maka

range OCR 0-255 [7].

4. Fast PWM, mode ini hampir sama dengan mode phase correct PWM, hanya

perbedaannya adalah register counter TCNT0 mencacah naik saja dan tidak pernah

mencacah turun seperti terlihat pada Gambar 2.7 [7].

Gambar 2.7. Mode Fast PWM [6]

2.4.6 Komunikasi Serial USART [6]

Komunikasi data adalah perpindahan data antara dua atau lebih peranti, baik yang

berjauhan maupun yang berdekatan. Perpindahan data antara dua atau lebih peranti dapat

dilaksanakan secara paralel atau seri. Komunikasi seri dapat dibedakan menjadi 2 macam, yaitu

komunikasi dara seri sinkron dan komunikasi data asinkron. Dikatakan sinkron jika sisi

pengirim dan sisi penerima ditabuh (clocked) oleh penabuh (clock) yang sama, satu sumber

penabuh, data dikirim beserta penabuh. Dikatakan asinkron jika sisi pengirim dan sisi penerima

ditabuh oleh penabuh yang terpisah dengan frekuensi yang hampir sama, data dikirim disertai

informasi sinkronisasi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

13

Pada proses inisialisasi ini setiap perangkat yang terhubung harus memiliki baudrate

yang sama. Beberapa fasilitas yang disediakan USART AVR adalah sebagai berikut:

a) Operasi full duplex (mempunyai register receive dan transmit yang terpisah)

b) Mendukung kecepatan multiprosesor

c) Mode kecepatan berorde Mbps

d) Operasi asinkron atau sinkron

e) Operasi master atau slave clock sinkron

f) Dapat menghasilkan baud-rate (laju data) dengan resolusi tinggi

g) Modus komunikasi kecepatan ganda pada asinkron

2.4.6.1.Inisialisasi USART

Pada mikrokontroler AVR untuk mengaktifkan dan mengeset komunikasi USART

dilakukan dengan cara mengaktifkan register-register yang digunakan untuk komunikasi

USART. Register-register yang digunakan untuk komunikasi USART antara lain:

1. USART I/O Data Register (UDR)

UDR merupakan register 8 bit yang terdiri dari 2 buah dengan alamat yang sama, yang

digunakan sebagai tempat untuk menyimpan data yang akan dikirimkan (TXB) atau tempat

data diterima (RXB) sebelum data tersebut dibaca.

Gambar 2.8. Register UDR [6]

Gambar 2.9. Register UCSRA [6]

Penjelasan bit penyusun UCSRA :

a) RXC (USART Receive Complete)

Bit ini akan set ketika data yang masuk ke dalam UDR belum dibaca dan akan berlogika

nol ketika sudah dibaca. Flag ini dapat digunakan untuk membangkitkan interupsi RX

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

14

jika diaktifkan dan akan berlogika nol secara otomatis bersamaan dengan eksekusi

vektor interupsi yang bersangkutan.

b) TXC (USART Transmit Complete)

Bit ini akan set ketika data yang dikirim telah keluar. Flag ini akan membangkitkan

interupsi TX jika diaktifkan dan akan clear secara otomatis bersamaan dengan eksekusi

vektor interupsi yang bersangkutan.

c) UDRE (USART Data Register Empty)

Flag ini sebagai indikator isi UDR. Jika bernilai satu maka UDR dalam keadaan kosong

dan siap menerima data berikutnya, jika flag bernilai nol berarti sebaliknya.

d) FE (Frame Error)

Bit ini sebagai indikator ketika data yang diterima error, misalnya ketika stop bit

pertama data dibaca berlogika nol maka bit FE bernilai satu. Bit akan bernilai 0 ketika

stop bit data yang diterima berlogika nol.

e) DOR (Data OverRun)

Bit ini berfungsi untuk mendeteksi jika ada data yang tumpang tindih. Flag akan

bernilai satu ketika terjadi tumpang tindih data.

f) PE (Parity Error)

Bit yang menentukan apakah terjadi kesalahan paritas. Bit ini berfungsi jika ada

kesalahan paritas. Bit akan berlogika satu ketika terjadi bit parity error apabila bit

paritas digunakan.

g) U2X (Double the USART Transmission Speed)

Bit yang berfungsi untuk menggandakan laju data manjadi dua kalinya. Hanya berlaku

untuk modus asinkron, untuk mode sinkron bit ini diset nol.

h) MPCM (Multi Processor Communication Mode)

Bit untuk mengaktifkan modus multi prosesor, dimana ketika data yang diterima oleh

USART tidak mengandung informasi alamat akan diabaikan.

2. USART CONTROL AND STATUS REGISTER B (UCSRB)

Gambar 2.10. Register UCSRB [6]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

15

Penjelasan bit penyusun UCSRB :

a) RXCIE (RX Complete Interrupt Enable)

Bit pengatur aktivasi interupsi penerimaan data serial, akan berlogika satu jika

diaktifkan dan berlogika nol jika tidak diaktifkan.

b) TXCIE (TX Complete Interrupt Enable)

Bit pengatur aktivasi pengiriman data serial, akan berlogika satu jika diaktifkan dan

berlogika nol jika tidak diaktifkan.

c) UDRIE (USART Data Register Empty Interrupt Enable)

Bit ini berfungsi untuk mengaktifkan interupsi data register kosong, berlogika satu jika

diaktifkan dan sebaliknya.

d) RXEN (Receiver Enable)

Bit ini berfungsi untuk mengaktifkan pin RX saluran USART. Ketika pin diaktifkan

maka pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena sudah digunakan

sebagai saluran penerima USART.

e) TXEN (Transmitter Enable)

Bit ini berfungsi untuk mengaktifkan pin TX saluran USART. Ketika pin diaktifkan

maka pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena sudah digunakan

sebagai saluran pengirim USART.

f) UCSZ2 (Character Size)

Bit ini bersama dengan UCSZ1 dan UCSZ0 dalam register UCSRC digunakan untuk

memilih tipe lebar data bit yang digunakan.

Tabel 2.2. Penentuan Ukuran Karakter [6]

g) RXB8 (Receive Data Bit 8)

Bit ini digunakan sebagai bit ke-8 ketika menggunakan format data 9-10 bit, dan bit ini

harus dibaca dahulu sebelum membaca UDR.

UCSZ[2..0] Ukuran Karakter dalam bit

0 5

1 6

10 7

11 8

100-110 Tidak dipergunakan

111 9

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

16

h) TXB8 (Transmit Data Bit 8)

Bit ini digunakan sebagai bit ke-8 ketika menggunakan format data 9-10 bit, dan bit ini

harus ditulis dahulu sebelum membaca UDR.

3. USART CONTROL AND STATUS REGISTER C (UCSRC)

Gambar 2.11. Register UCSRC [6]

Penjelasan bit penyusun UCSRC :

a) URSEL (Register Select)

Bit ini berfungsi untuk memilih register UCSRC dengan UBBRH, dimana untuk

menulis atau membaca register UCSRC maka bit harus berlogika satu.

b) UMSEL (USART Mode Select)

Bit pemilih mode komunikasi serial antara sinkron dan asinkron.

c) UPM[1…0] (Parity Mode)

Bit ini berfungsi untuk memilih mode paritas bit yang akan digunakan. Transmittter

USART akan membuat paritas yang akan digunakan secara otomatis.

d) USBS (Stop Bit Select)

Bit yang berfungsi untuk memilih jumlah stop bit yang akan digunakan.

e) UCSZ1 dan UCSZ0

Merupakan bit pengatur jumlah karakter serial Bit yang berfungsi untuk memilih lebar

data yang digunakan dikombinasikan dengan bit UCSZ2 dalam register UCSRB [13].

f) UCPOL (Clock Parity)

Bit yang berguna hanya untuk modus sinkron. Bit in berhubungan dengan perubahan

data keluaran dan sampel masukkan, dan clock sinkron (XCK).

2.5. Motor Servo

Motor servo biasanya digunakan untuk robot berkaki, lengan robot atau actuator pada

mobil robot. Motor servo adalah sebuah motor dengan sistem umpan balik tertutup dimana

posisi dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor

servo. Motor servo terdiri dari sebuah motor DC, beberapa gear, sebuah potensiometer, sebuah

output shaft dan sebuah rangakaian kontrol elektronik [11].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

17

Gambar 2.12. Motor Servo [12]

Motor servo dikemas dalam bentuk kotak segiempat seperti ditunjukan pada Gambar

2.12, terdiri dari tiga kabel konektor yaitu power (Vdd), control (I/O pin) dan ground (Vss)

seperti ditunjukan pada gambar 2.13. Gear motor servo ada yang terbuat dari plastik, metal

atau titanium. Di dalam motor servo terdapat potensiometer yang digunakan sebagai sensor

posisi. Potensiometer tersebut dihubungkan dengan output shaft untuk mengetahui posisi

aktual shaft. Ketika motor dc berputar maka output shaft juga berputar dan sekaligus memutar

potensiometer. Rangkaian kontrol dapat membaca kondisi potensiometer tersebut untuk

mengetahui posisi akutal shaft. Jika posisinya sesuai dengan yang diingikan , maka motor dc

akan berhenti [9].

Gambar 2.13. Konfigurasi Pin Motor Servo [12]

Ada dua jenis motor servo yaitu :

1. Motor servo standard, yaitu yang mampu bergerak CW (clockwise) dan CCW

(counter clockwise) dengan sudut operasi tertentu, misalnya 60°, 90°, atau 180°.

2. Motor servo continous, motor servo yang mampu bergerak CW dan CCW tanpa

batasan sudut operasi (berputar secara kontiyu)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

18

Motor servo biasanya menggunakan tegangan 4,8 V hingga 7,2 V. Motor servo

dikendalikan dengan cara mengirimkan sebuah pulsa yang lebarnya bervariasi. Lebar pulsa

antara 1 ms sampai 2 ms dengan periode pulsa sebesar 20 ms.

Gambar 2.14. Sinyal untuk Mengendalikan Motor Servo [9]

Lebar pulsa akan mengakibatkan perubahan posisi pada motor servo. Misalnya sebuah

pulsa 1,5 ms akan memutar motor pada posisi 90° (posisi netral). Agar posisi servo tetap pada

posisi maka pulsa harus terus diberikan pada servo. Jadi mesikipun ada gaya yang melawan,

servo akan tetap bertahan pada posisinya. Gaya maksimum servo tergantung dari rentang torsi

servo.

Gambar 2.15. Lebar Pulsa dan Posisi Servo [10]

Ketika sebuah pulsa yang dikirim ke servo kurang dari 1 ms servo akan berputar CCW

menuju ke posisi tertentu dari posisi netral. Jika pulsa yang dikirim lebih dari 1,5 ms servo

akan berputar CW menuju posisi tertentu dari posisi netral seperti di tunjukan pada gambar

2.15. Setiap servo memiliki spesifikasi lebar pulsa minimum dan maksimum sendiri – sendiri,

tergantung jenis dan merk servo. Umumnya antara 1 ms sampai 2 ms. Parameter lain yang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

19

berbeda antara servo satu dengan servo lainnya adalah kecepatan servo untuk berubah dari

posisi satu ke posisi lainnya (operating speed) [9].

2.5.1 Torsi / Momen Gaya

Momen Gaya (Torsi (τ)) adalah kemampuan gaya F memutar/merotasi benda terhadap

poros diam. Sehingga semakin besar torsi (τ) maka gaya F memutar benda pun semakin besar

[13].

Rumus :

τ = F r sin θ (2.7)

τ = Torsi (N-m)

F = Gaya (N), F = m x g

r = Jarak dari titik pangakal gaya sampai sumbu putar

θ = Derajat sumbu putar

2.6. LCD (Liquid Crystal Display)

Terdapat 2 jenis LCD yaitu LCD karakter dan LCD grafik. LCD karakter, adalah LCD

yang tampilannya terbatas pada tampilan karakter, khususnya karakter ASCII (seperti karakter-

karakter yang tercetak pada keyboard komputer). Sedangkan LCD grafik, adalah LCD yang

tampilannya tidak terbatas, bahkan dapat menampilkan foto. LCD grafik inilah yang terus

berkembang seperti layar LCD yang biasa dilihat di notebook/laptop [14]. Jenis LCD karakter

yang beredar di pasaran biasa dituliskan dengan bilangan matriks dari jumlah karakter yang

dapat dituliskan pada LCD tersebut, yaitu jumlah kolom karakter dikali jumlah baris karakter.

Sebagai contoh, LCD16x2, artinya terdapat 16 kolom dalam 2 baris ruang karakter seperti

ditunjukan pada Gambar 2.16, yang berarti total karakter yang dapat dituliskan adalah 32

karakter [14].

Gambar 2.16. Baris dan Kolom Karakter pada LCD 16x2 [14]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

20

Agar dapat mengendalikan LCD karakter dengan baik, tentu diperlukan koneksi yang

benar. Untuk itu perlu diketahui pin-pin antarmuka yang dimiliki oleh LCD karakter seperti

yang ditunjukan pada Gambar 2.17 dan Tabel 2.3.

Gambar 2.17. Konfigurasi kaki pin LCD 16x2

Tabel 2.3. Konfigurasi kaki pin LCD 16x2

Nomor PIN PIN Keterangan

1 VSS GND

2 VDD 5V

3 Vo Kontras

4 RS

5 R/W Read / Write

6 EN Enable

7 DB0 Data 0

8 DB1 Data 1

9 DB2 Data 2

10 DB3 Data 3

11 DB4 Data 4

12 DB5 Data 5

13 DB6 Data 6

14 DB7 Data 7

15 - -

16 - -

Operasi dasar pada LCD 16x2 terdiri dari empat, yaitu instruksi mengakses proses

internal, instruksi menulis data, instruksi membaca kondisi sibuk, dan instruksi membaca data

[14]. Operasi dasar LCD 16x2 dapat dilihat pada tabel 2.4 dan tabel 2.5 adalah konfigurasi

setting LCD 16x2.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

21

Tabel 2.4. Operasi Dasar LCD 16x2

RS R/W Operasi

0 0 Input instruksi ke LCD

0 1 Membaca status flag (DB7) dan alamat counter (DB0-DB6)

1 0 Menulis data

1 1 Membaca data

Tabel 2.5. Konfigurasi Setting LCD 16x2

Pin Bilangan biner Keterangan

RS 0 Inisialisasi

1 Data

RW 0 Tulis LCD/W (Write)

1 Baca LCD/R (Read)

E 0 Pintu data terbuka

1 Pintu data tertutup

2.7. Webcam Logitech Seri C270h

Webcam adalah kamera digital yang dikoneksikan ke computer, digunakan untuk

telekonferensi video atau tujuan lain. Pengoperasian webcam cukup mudah karena webcam

memiliki fitur fungsionalitas USB untuk koneksi menggunakan computer. Sehingga banyak

digunakan untuk mengolah image processing yang kemudian akan diolah dengan perangkat

lunak untuk pemrosesan berbasis pixel, RGB dan lain-lain. Salah satu contoh webcam

ditunjukan pada gambar 2.18[15].

Gambar 2.18. Webcam Logitech Seri C270h [15]

Sebuah webcam yang sederhana terdiri dari sebuah lensa, dipasang di sebuah papan

sirkuit untuk menangkap sinyal citra. Webcam memiliki casing (pelindung/cover) depan dan

casing samping untuk menutupi lensa standar dan memiliki sebuah lubang lensa di casing

depan yang digunakan sebagai lokasi masuknya sinyal citra. Sebuah webcam biasanya

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

22

dilengkapi dengan software yang digunakan untuk mengambil citra hasil tangkapan kamera

digital secara terus menerus ataupun dalam interval waktu tertentu.

2.8. Photodiode

Photodiode adalah dioda yang bekerja berdasarkan intensitas cahaya, jika photodiode

terkena cahaya maka photodiode bekerja seperti dioda pada umumnya, tetapi jika tidak

mendapat cahaya maka photodiode akan berperan seperti resistor dengan nilai tahanan yang

besar sehingga arus listrik tidak dapat mengalir.

Photodiode merupakan sensor cahaya semikonduktor yang dapat mengubah besaran

cahaya menjadi besaran listrik. Photodiode merupakan sebuah dioda dengan sambungan p-n

yang dipengaruhi cahaya dalam kerjanya. Cahaya yang dapat dideteksi oleh photodiode ini

mulai dari cahaya infra merah, cahaya tampak, ultra ungu sampai dengan sinar-X.

Karena photodiode terbuat dari semikonduktor p-n junction maka cahaya yang diserap

oleh photodiode akan mengakibatkan terjadinya pergeseran foton yang akan menghasilkan

pasangan electron-hole dikedua sisi dari sambungan. Ketika elektron-elektron yang dihasilkan

itu masuk ke pita konduksi maka elektron-elektron itu akan mengalir ke arah positif sumber

tegangan sedangkan hole yang dihasilkan mengalir ke arah negatif sumber tegangan sehingga

arus akan mengalir di dalam rangkaian. Besarnya pasangan elektron ataupun hole yang

dihasilkan tergantung dari besarnya intensitas cahaya yang diserap oleh photodiode [28].

Photodiode digunakan sebagai penangkap gelombang cahaya yang dipancarkan oleh

infrared. Besarnya tegangan atau arus listrik yang dihasilkan oleh photodiode tergantung besar

kecilnya radiasi yang dipancarkan oleh infrared.

Gambar 2.19. Simbol dan Bentuk Photodiode

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

23

Gambar 2.20. Respon Relatif Spektral Untuk Si, Ge, Dan Selenium Dibandingkan Dengan

Mata Manusia.[28]

Gambar 2.21. Hubungan Iλ Dengan Fc Pada Photodiode[28]

Grafik pada gambar 2.21 menunjukan bahwa arus maksimal pada sensor photodiode

adalah sebesar 800 µA, sehingga untuk penentuan nilai hambatan agar arus sensor photodiode

tidak terlalu besar yaitu [28]:

𝑅 =𝑉𝑐𝑐

𝐼 (2.8)

Sehingga nilai hambatan untuk sensor photodiode dengan asumsi bahwa Vcc = 5 Volt yaitu :

200 µA 25 KΩ

400 µA 12,5 KΩ

600 µA 8,33 KΩ

800 µA 6,25 KΩ

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

24

Rangkaian umum sensor photodiode dapat ditunjukan pada gambar 2.22.

Gambar 2.22. Rangkaian Sensor Photodiode

Gambar 2.23. Aplikasi Sensor Photodiode [28]

2.9. Led InfraRed

Led infrared merupakan sumber cahaya dengan panjang gelombang 750nm-1000nm

dan arus maksimal sebesar 100 mA [28]. Aplikasi led infrared biasa dijumpai pada

modul sensor yang berhubungan dengan cahaya seperti photodiode dan photo

transistor. Menurut gambar 2.23, led infrared merupakan sumber cahaya yang paling

baik untuk sumber sensor cahaya. Penentuan nilai hambatan untuk led infrared dengan

rumus :

𝑅 =𝑉𝑐𝑐

𝐼 (2.9)

2.10. Transistor Sebagai Saklar

Keluaran dari op-amp memiliki arus yang kecil, oleh karena itu biasanya dipergunakan

suatu penguat untuk menguatkan arus keluaran dengan menggunakan transistor atau ic

penguat. Contoh rangkaia dapat dilihat pada gambar 2.24 [24].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

25

Gambar 2.24. Contoh Rangkaian Transistor sebagai Saklar [24]

Transistor dapat digunakan sebagai saklar elektronika dengan membuat transistor

tersebut berada dalam kondisi cut-off (saklar terbuka, arus tidak mengalir) atau saturasi (saklar

tertutup, sehingga arus mengalir).

2.11. Relay

Relai merupakan suatu komponen elektronika yang berfungsi untuk menghubungkan

atau memutuskan aliran arus listrik yang dikontrol dengan memberikan tegangan dan arus

tertentu pada koilnya. Ada 2 macam relay berdasarkan tegangan untuk menggerakan koilnya

yaitu AC dan DC [23].

Pada dasarnya relay adalah sebuah kumparan yang dialiri arus listrik, sehingga

kumparan mempunyai sifat seperti magnet. Magnet sementara tersebut digunakan untuk

menggerakan suatu sistem saklar yang terbuat dari logam sehingga pada saat relay dialiri arus

listrik maka kumparan akan terjadi kemagnetan dan menarik logam tersebut. Saat arus listrik

diputus, maka logam akan kembali pada posisi semula [23].

Gambar 2.25. Bentuk Fisik Relay

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

26

2.12. Regulator Tegangan IC 78xx dan Transistor Penguat Arus

Rangkaian penyearah pada dasarnya sudah cukup bagus jika tegangan ripple-nya kecil,

namun ada masalah pada stabilitas tegangan yang dihasilkan. Regulator tegangan tipe 78xx

adalah salah satu regulator tegangan tetap dengan tiga terminal, yaitu terminal Vin, GND dan

Vout. Regulator tegangan 78xx dirancang sebagai regulator tegangan tetap, meskipun

demikian keluaran dari regulator ini dapat diatur tegangan dan arusnya melalui tambahan

komponen eksternal. kongifurasi pin IC regulator ditunjukan pada Gambar 2.26.

Gambar 2.26. Konfigurasi Pin IC Regulator [20]

Tabel 2.6 menunjukan spesifikasi IC regulator seri 78xx denga keluaran dan masukan

minimum dan maksimum.

Tabel 2.6 Karakteristik Regulator Tegangan IC 78xx [21]

Type VOUT (Volt)

VIN (Volt)

Min Maks

7805 5 7,3 20

7806 6 8,3 21

7808 8 10,5 23

7810 10 12,5 25

7812 12 14,6 27

7815 15 17,7 30

7818 18 21 33

7824 24 27,1 38

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

27

Gambar 2.27. Rangkaian Umum Regulator 78xx [21]

Komponen eksternal yang digunakan yaitu transistor 2N3055 karena kemampuan arus

maksimal adalah 15 A [22]. Untuk gambar rangkaian lengkap dengan ic regulator dapat

ditunjukan gambar 2.28.

Gambar 2.28. Rangkaian Catu Daya dengan Penguat [22]

Dari gambar 2.28, maka diperleh persamaan-persamaan sebagai berikut[22] :

VB = Vreg + VD (2.10)

Tegangan keluaran rangkaian menjadi[22],

Vo = VB – VBE (2.11)

Jika VD≈VBE, maka

Vo = Vreg (2.12)

Tegangan diantara kolektor dan emittor transistor 2N3055 adalah[22],

VCE = VIN – VR1 (2.13)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

28

Disipasi daya transistor NPN 2N3055 adalah[22],

PD = VCE x IC (2.14)

Untuk nilai penguatan arus diperoleh dengan persamaan dibawah ini[21] :

Ic = β IB (2.15)

Ie = (β+1) IB (2.16)

2.13. Citra

2.13.1.Definisi Citra

Citra adalah gambar dua dimensi yang dihasilkan dari gambar analog dua dimensi yang

kontinus menjadi gambar diskrit melalui proses sampling. Gambar analog dibagi menjadi N

baris dan M kolom sehingga menjadi gambar diskrit. Persilangan antara baris dan kolom

tertentu disebut dengan piksel. Contohnya adalah gambar/titik diskrit pada baris n dan kolom

m disebut dengan piksel[n,m] [16]. Definisi lain dari citra menurut Kamus Webster adalah

“suatu representasi, kemiripan, atau imitasi dari suatu objek atau benda”. Secara harafiah, citra

(image) adalah gambar pada bidang dwimatra (dua dimensi). Sedangkan ditinjau dari sudut

pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada

bidang dwimatra. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari

berkas cahaya tersebut. Pantulan cahaya ini ditangkap oleh alat – alat optik, misalnya mata

pada manusia, kamera pemindai (scanner), dan sebaginya, sehingga bayangan objek yang

disebut citra tersebut terekam [17].

2.14. Pengolahan Citra Digital

Pengolahan citra digital adalah kegiatan memperbaiki kualitas citra agar mudah

diinterpretasi oleh manusia/mesin(komputer).Inputannya adalah citra dan keluarannya juga

citra tapi dengan kualitas lebih baik daripada citra masukan. Misal citra warnanya kurang

tajam, kabur (blurring), mengandung noise (misal bintik-bintik putih), dll sehingga perlu ada

pemrosesan untuk memperbaiki citra karena citra tersebut menjadi sulit diinterpretasikan

karena informasi yang disampaikan menjadi berkurang.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

29

Teknik-teknik pengolahan citra mentransformasikan citra menjadi citra lain. Jadi,

masukkannya adalah suatu citra dan keluarannya juga citra, namun citra keluaran mempunyai

kualitas lebih baik dari pada citra masukkan [17].

2.15. Pemrosesan Citra

2.15.1.RGB [18]

Suatu citra biasanya mengacu ke citra RGB. Sebenarnya bagaimana citra disimpan dan

dimanipulasi dalam komputer diturunkan dari teknologi televisi, yang pertama kali

mengaplikasikannya untuk tampilan grafis komputer. Jika dilihat dengan kaca pembesar,

tampilan monitor komputer akan terdiri dari sejumlah triplet titik warna merah (RED), hijau

(GREEN) dan biru (BLUE). Tergantung pada pabrik monitornya untuk menentukan apak titik

tersebut merupakan titik bulat atau kotak kecil, tetapi akan selalu terdiri dari 3 triplet red, green

dan blue.

Citra dalam komputer tidak lebih dari sekumpulan sejumlah triplet dimana setiap triplet

terdiri atas variasi tingkat keterangan (brightness) dari elemen red, green dan blue.

Representasinya dalam citra, triplet akan terdiri dari 3 angka yang mengatur intensitas dari Red

(R), Green (G) dan Blue (B) dari suatu triplet. Setiap triplet akan merepresentasikan 1 piksel

(picture element). Suatu triplet dengan nilai 67, 228 dan 180 berarti akan mengeset nilai R ke

nilai 67, G ke nilai 228 dan B ke nilai 180. Angka-angka RGB ini yang seringkali disebut

dengan color values. Pada format .bmp, citra setiap piksel pada citra direpresentasikan dengan

dengan 24 bit, 8 bit untuk R, 8 bit untuk G dan 8 bit untuk B. Pengaturan citra RGB dapat

dilihat pada gambar 2.29.

Gambar 2.29. Pengaturan Citra RGB

2.15.2.Cropping

Cropping citra bertujuan untuk memotong bagian tertentu dari suatu citra yang tidak

diperlukan dalam proses pengolahan citra. Penentuan titik-titik yang akan diambil dalam proses

cropping menggunakan matrik_titiksudut_crop yang merepresentasikan nilai [x,y,Δx,Δy] . x :

posisi kolom dari pojok kiri atas area yang mau di crop, y : posisi baris dari pojok kiri atas area

yang mau di crop, Δx : lebar area yang mau di crop, Δy : tinggi area yang mau di crop. [19].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

30

Contoh cropping dapat dilihat pada gambar 2.30.

(a) (b)

Gambar 2.30. (a) Citra sebelum di Crop, (b) Citra sesudah Cropping

2.16. Metode Pengenalan Warna

Metode yang digunakan adalah untuk melihat nilai hasil jumlah matriks red, green, dan

blue. Dari hasil jumlah tersebut dicari nilai terbesar pada penjumlahan masing - masing nilai

matriks. Jumlah nilai terbesar menunjukan warna pada benda. Pada table 2.7 adalah contoh

nilai yang didapat setelah di jumlahkan.

Tabel 2.7. Contoh Nilai Matriks setelah dijumlahkan

Gambar benda

berwarna

Gambar setelah

di crop Nilai RGB benda

Pengenalan warna

benda

Merah = 0,0344

Hijau = 10,8446

Biru = 8,1087

Benda berwarna

hijau

Dapat dilihat pada tabel 2.7 menunjukan nilai RGB pada benda yang lebih besar yaitu hijau,

sehingga dapat disimpulkan bahwa gambar pada benda berwarna hijau.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

31

BAB III

PERANCANGAN PENELITIAN

Dalam bab III ini akan dibahas mengenai perancangan perangkat keras dan

perancangan perangkat lunak. Pembahasan meliputi :

a. Proses kerja dan mekanisme lengan robot

b. Perancangan mekanik

c. Perancangan perangkat keras (hardware)

d. Perancangan perangkat lunak (software)

3.1. Proses Kerja dan Mekanisme Gerak Lengan Robot

Sistem dirancang menggunakan lengan robot yang mampu memindahkan dan

menempatkan benda secara otomatis berdasarkan warna. Dengan menggunakan conveyor

sebagai pembawa benda, sensor photodiode yang akan memberhentikan conveyor apabila

mendeteksi benda, lalu webcam sebagai sensor untuk image processing mengenali warna

dan bentuk pada benda yang akan di proses melalui laptop, USB to TTL converter yang

akan mentransfer data ke mikrokontroler dan akan memerintahkan lengan robot dalam

mengambil dan meletakan benda pada wadah sesuai warnanya. Seperti ditunjukan pada

gambar 3.1 yang merupakan diagram blok sistem.

Gambar 3.1. Diagram Blok Sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

32

3.2. Perancangan Mekanik

Pada perancangan mekanik dari robot tersebut, antara lain mendesain ukuran robot,

penggunaan bahan dasar untuk mekanik robot yaitu akrilik setebal 3mm. Desain robot

menggunakan software Google Sketchup untuk gambar robotnya. Lengan robot terdiri dari

empat bagian utama yaitu poros, gripper, komponen 1, komponen 2, komponen 3.

Gambar 3.2. Keseluruhan Sistem Lengan Robot.

Gambar 3.3. Model Anatomi Lengan Robot

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

33

Perancangan mekanik lengan robot menggunakan metode puzzle dalam membentuk

setiap bagian dari anatomi lengan robot. Berikut adalah gambar dua dimensi menggunakan

software Google Sketchup untuk setiap bagian dari lengan robot seperti terlihat pada

gambar 3.4, gambar 3.5, gambar 3.6.

Gambar 3.4. Komponen 1

Gambar 3.5. Komponen 2

Gambar 3.6. Komponen 3

Gambar 3.7 adalah model Gripper penjepit benda, untuk bahan gripper digunakan

akrilik 3 mm dan motor servo towerpro SG90 yang digunakan untuk menggerakan gripper

dalam menjepit benda. Penggunaan engsel bertujuan agar gripper memiliki sendi gerak

dalam membuka dan menutup.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

34

Gambar 3.7. Gripper Tampak Atas

Gambar 3.8 adalah benda yang berbentuk kubus dengan ukuran 3x3x3cm yang

terbuat dari akrilik dengan berat 20gram. Benda berwarna merah, hijau dan biru.

Gambar 3.8. Benda Berbentuk Kotak 3x3x3cm

Jarak antara lengan robot dengan benda dan conveyor diatur sedemikian rupa

sehingga robot dapat menjangkau benda dalam proses pengambilan dan peletakan benda.

Dengan menggunakan software Google Sketchup sebagai gambar tiga dimensi lengan robot

dapat dilihat dan memperkirakan posisi lengan robot dengan benda dan wadah

penampungnya. Gambar 3.9 menunjukan jarak antara lengan robot dengan benda dan

wadahnya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

35

Gambar 3.9. Jarak Lengan Robot dengan Benda dan Wadahnya

Pada gambar 3.9 dapat dilihat penentuan sudut peletakan benda yang telah

ditentukan sendiri. Pada proses ini motor servo satu pada poros robot mempunyai peran

utama, motor tersebut akan menggerakan poros lengan robot dengan sudut putar yang telah

diatur sesuai dengan warna benda yang telah terdeteksi. Jika benda berwarna merah maka

sudut putar motor servo satu bergerak dari 90º ke 135º, jika benda berwarna hijau maka

sudut putar motor servo satu bergerak dari 90º ke 180º, jika benda berwarna biru maka

sudut putar motor servo satu bergerak dari 90º ke 45º. Nilai tiap motor servo terdapat pada

tabel 3.1.

Saat posisi siaga sudut motor servo pada lengan robot ditentukan sendiri sesuai

keinginan dan saat posisi pengambilan dan peletakan benda dilakukan perhitungan

menggunakan inverse kinematics, nilai koordinat x dan y serta l1 dan l2 sudah ditentukan

sehingga hanya dicari nilai 𝜃1 dan 𝜃2 [4].

Gambar 3.10. Konfigurasi Robot

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

36

Dengan melihat konfigurasi robot pada gambar 3.10 didapat rumus untuk

mendapatkan nilai 𝜃1 dan 𝜃2 adalah sebagai berikut [4] :

𝜃2 = arccos(𝑥2+𝑦2−𝑙12−𝑙22

2𝑙1𝑙2)

𝜃1 = arcsin(𝑙2sin(𝜃2)

√𝑥2+𝑦2 ) + arctan(

𝑦

𝑥)

Keterangan :

x = jarak antara robot dan benda

y = tinggi benda

l1 = panjang lengan 1

l2 = panjang lengan 2

Pemberian nilai :

x = 15cm, y = 3cm, l1 = 14cm, l2 = 17cm

sehingga didapat nilai :

𝜃2 = arccos(152+32−142−172

2𝑥14𝑥17) = 121,824º = 122º

𝜃1 = arcsin(17sin(122)

√152+32) + arctan(

3

15) = 81,778º = 82º

Nilai sudut pada motor servo dapat dilihat pada tabel 3.1.

Tabel 3.1. Nilai Sudut Tiap Motor Servo

Posisi Sudut

Servo 1 Servo 2 Servo 3 Servo 4

Siaga 90º 110º 90º 90º

Ambil Benda 90º 82º 122º 180º

Meletakan Benda

Benda Merah 135º 82º 122º 90º

Benda Hijau 180º 82º 122º 90º

Benda Biru 45º 82º 122º 90º

Pada tabel 3.1 servo empat nilai sudut motor servonya adalah 90º posisi membuka

gripper, sedangkan saat nilai sudut motor servo adalah 180º posisi gripper mencengkram

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

37

benda. Dan posisi mengambil dengan meletakan bendanya berdasarkan warna adalah sama

yang berbeda hanya pada poros motor satu sesuai dengan warna benda yang dituju.

3.3. Perancangan Perangkat Keras

Ada beberapa bagian utama dalam perancangan subsistem perangkat keras lengan

robot otomatis, yaitu :

a. Minimum system ATmega32 + LCD 16x2

b. Webcam Logitech seri C270h

c. Motor servo

d. Regulator Tegangan IC 7805 + penguat arus

e. Sensor photodiode

f. Metode pengenalan warna

3.3.1. Minimum System ATmega32 + LCD 16x2

3.3.1.1.Minimum System ATmega32

Rangkaian minimum system berfungsi sebagai I/O untuk mengontrol/ atau

mengendalikan sudut putar motor servo yang telah diprogram dalam mikrokontroler

ATmega32 pada lengan robot. Mikrokontroler membutuhkan minimum system yang terdiri

dari rangkaian eksternal yaitu, rangkaian osilator, rangkaian reset.

Untuk rangkaian osilator digunakan crystal dengan frekuensi sebesar 11,0592 MHz

dan menggunakan kapasitor 22 pf pada pin XTAL1 dan XTAL2 di mikrokontroler.

Rangkaian osilator ini berfungsi sebagai sumber clock bagi mikrokontroler. Pemberian

kapasitor bertujuan untuk memperbaiki kestabilan frekuensi yang diberikan oleh osilator

eksternal. Gambar 3.11 menunjukan rangkaian osilator.

Gambar 3.11. Rangkaian Osilator ATmega32[6]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

38

Perancangan rangkaian reset bertujuan untuk memaksa proses kerja pada

mikrokontroler dapat diulang dari awal. Saat tombol reset ditekan maka mikrokontroler

mendapat input logika rendah, sehingga akan me-reset seluruh proses yang sedang

dilakukan mikrokontroler. Gambar 3.12 adalah rangkaian reset untuk ATmega32.

Gambar 3.12. Rangkaian Reset ATmega32[6]

Pada gambar 3.12 terdapat resistor yang memiliki resistansi sebesar 4,7 KΩ yang

difungsikan sebagai pull-up. Resistor pull-up eksternal dapat digunakan untuk menjaga

agar pin RESET tidak berlogika 0 secara tidak disengaja. Kapasitor 10nF digunakan untuk

menghilangkan noise yang disusun seri dengan resistor. Rangkaian reset minimum system

ATmega32 merupakan gabungan dari rangkaian push-button dan low-pass filter.

3.3.1.2.Rangkaian Konfigurasi LCD 16x2

Rangkaian LCD berfungsi untuk menampilkan nama benda yang terdeteksi oleh

webcam agar user dapat melihat apakah webcam mendeteksi benda dengan baik.

Rangkaian LCD dapat dilihat pada gambar 3.13. Penentuan konfigurasi kaki LCD menuju

mikrokontroler ditentukan dengan melihat pada software compiler CodeVisionAVR seperti

pada Gambar 3.14.

Gambar 3.13. Rangkaian LCD 16x2 Gambar 3.14. Setting Port LCD

Secara keseluruhan rangkaian Minimum System Atmega32 + LCD 16x2 dapat

dilihat pada lampiran.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

39

3.3.2. Webcam Logitech Seri C270h

Webcam yang digunakan adalah webcam Logitech seri C270h. Fungsinya untuk

melakukan capture benda dan output dari gambar data yang diambil merupakan nilai

matriks citra RGB (Red Green Blue) sudah dalam bentuk digital yang datanya akan diolah

menggunakan aplikasi matlab. Dapat dilihat pada gambar 3.15. Webcam ini sudah

mempunyai dudukan sendiri serta mempunyai software pendukung yang bisa zoom in dan

zoom out sehingga memudahkan pengaturan dari komputer. Pada proses pengambilan citra

menggunakan resolusi 320 x 240 piksel. Spesifikasinya webcam bisa dilihat pada lampiran.

Instalasi webcam dengan laptop menggunakan aplikasi matlab, yaitu :

imaqhinfo;

Vid = videoinput (‘winvideo’,1,’RGB24_320X240’);

preview(vid);

Gambar 3.15. Webcam Logitech Seri C270h

3.3.3. Motor Servo

Motor servo digunakan untuk menggerakan lengan robot. Motor servo yang

digunakan yaitu Towerpro MG946R sebanyak tiga buah, dan Towerpro SG90 sebanyak

satu buah. Spesifikasi servo Towerpro MG946R dan spesifikasi servo Towerpro SG90

dapat dilihat pada lampiran. Servo Towerpro MG946R dapat dilihat pada Gambar 3.16,

dan servo Towerpro SG90 dapat dilihat pada Gambar 3.17.

Gambar 3.16. Towerpro MG946R Gambar 3.17. Towerpro SG90

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

40

Rangkaian servo terdiri dari tiga port yaitu vcc, ground, dan data. Jalur data

terhubung dengan port pada mikrokontroler sebagai jalur pengiriman pulsa PWM untuk

mengaktifkan motor servo dan mengatur sudut putarnya. Gambar 3.18 berikut merupakan

pin motor servo yang terhubung ke mikrokontroler.

Gambar 3.18. Pin Motor Servo ke Mikrokontroler

Digunakan interrupt timer sebagai pembangkit PWM. Secara prinsip, sebuah timer

adalah sebuah counter (penghitung). Tugas timer hanya menghitung, timer selalu

menyimpan hitungannya saat menghitung “satu, dua, tiga, …” hingga 255 (8 bit). Naiknya

hitungan timer dan berapa lama jeda antar hitungan ini ditentukan dari siklus pencacah

mikrokontroler, mode timer. Pada perancangan motor servo, timer diset agar menghitung

sampai 255. Dan jika sudah mencapai 255, maka timer (overflow) akan memberikan sinyal,

disinilah PWM bekerja dan mengintruksikan timer untuk menghitung lagi dari 0. Demikian

seterusnya terjadi jika nilai 255 tercapai. Perbandingan nilai lebar pulsa terhadap nilai

overflow motor servo selama T= 20ms adalah nilai OCR, yang merupakan cacahan pulsa

selama 1ms dan 2ms. Sebagai berikut perhitung overflow interrupt sebagai pembangkit

PWM untuk mengatur sudut putar motor servo.

Rumus yang digunakan untuk mendapatkan nilai periode dari frekuensi yaitu[7] :

𝑇 =1

f

Frekuesi kristal = 11,059200 MHz

Dengan menggunakan timer0/8bit dan nilai prescaler sebagai pengatur kecepatan

clock maka timer overflow yang dihasilkan (0,09 x 10−6) x 256 = 23,04 x 10−6. Sehingga

pemberian nilai untuk membuat interrupt dapat mencacah selama 20ms yaitu

(20ms/23,148 x 10-6 ) = 864. Tabel 3.2 menunjukan pemberian nilai OCR untuk

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

41

mengontrol pergerakan motor servo secara umum. Dan gambar 3.19 menunjukan lebar

pulsa motor servo. Rumus yang digunakan untuk mendapatkan nilai OCR yaitu[7] :

OCR =lebarpulsamotorservo

Tx𝑝𝑟𝑒𝑠𝑐𝑎𝑙𝑒𝑟𝑥256

Tabel 3.2. Perhitungan nilai OCR

SUDUT

LEBAR PULSA

NILAI OCR

OCR =lebarpulsamotorservo

Tx𝑝𝑟𝑒𝑠𝑐𝑎𝑙𝑒𝑟𝑥256

0o 1 ms OCR = 1×10−3

0,090422×10−6×1×256 = 43,20

90o 1,5 ms OCR = 1,5×10−3

0,090422×10−6×1×256 = 64,8

180o 2 ms OCR = 2×10−3

0,090422×10−6×1×256 = 86,40

Gambar 3.19. Lebar Pulsa Motor Servo

Perhitungan Torsi Motor Servo

Untuk menghitung besar torsi pada masing-masing motor servo, digunakan rumus[13] :

𝐹 = 𝑚 × 𝑔

𝜏 = 𝐹 × 𝑟 × sin 𝜃

Dengan :

F = Gaya (N) r = jari-jari link (m)

m = Masa benda (kg) ϴ= sudut (derajat)

g = Grafitasi (m/s2) τ = Torsi (kg-cm)

Gambar 3.20 merupakan gambar konstruksi lengan robot untuk menghitung besar

torsi masing-masing motor servo. Tabel 3.3 merupakan tabel perhitungan torsi motor

servo.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

42

Keterangan :

Berat benda = 20 Gram

Berat servo 1,2,3 = 60 Gram

Berat servo 4 = 10 Gram

Gambar 3.20. Konstruksi Lengan Robot

Tabel 3.3. Perhitungan Torsi Motor Servo

GAYA TORSI

Motor servo 1 (m = 150 gr)

F = m x g

= 0,150 x 9,8

= 1,47 N

Ket : servo 1 bergerak 45o , 135o, dan 180o

Ket : 1 N-m = 10,1971621298 Kg-cm

Sudut 45o (r = 370 mm)

Τ = 1,47 x 0,370 x sin(45)

= 0,3846 N-m = 3,922 kg-cm

Sudut 135o (r = 370 mm)

Τ = 1,47 x 0,370 x sin(135)

= 0,3846 N-m = 3,922 kg-cm

Sudut 180o (r = 370 mm)

Τ = 1,47 x 0,370 x sin(180)

= 0 N-m = 0 kg-cm

Motor servo 2 (m = 90 gr)

F = m x g

= 0,090 x 9,8

= 0,882 N

Ket : servo 2 bergerak 82o dan 110o

Sudut 82o (r = 370 mm)

Τ = 0,882 x 0,370 x sin(82)

= 0,323 N-m = 3,294 kg-cm

Sudut 110o (r = 370 mm)

Τ = 0,882 x 0,370 x sin(110)

= 0,3067 N-m = 3,127 kg-cm

Motor servo 3 (m = 30 gr)

F = m x g

= 0,030 x 9,8

= 0,294 N

Ket : servo 3 bergerak 90º dan 122o

Sudut 90o (r = 230 mm)

Τ = 0,294 x 0,230 x sin(90)

= 0,068 N-m = 0,6934 kg-cm

Sudut 122o (r = 230 mm)

Τ = 0,294 x 0,230 x sin(122)

= 0,057 N-m = 0,5812 kg-cm

Motor servo 4 (m = 20 gr)

F = m x g

= 0,020 x 9,8

= 0,196 N

Ket : servo 4 bergerak 90o dan 180o

Sudut 0o (r = 60 mm)

Τ = 0,196 x 0,060 x sin(90)

= 0,0105 N-m = 0,1071 kg-cm

Sudut 50o (r = 60 mm)

Τ = 0,196 x 0,060 x sin(180)

= 0,009 N-m = 0,092 kg-cm

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

43

3.3.4. Regulator Tegangan IC 7805 dan Penguat Arus

Pada pembuatan tugas akhir ini, regulator digunakan sebagai pemberi daya pada

motor servo, minimum system ATmega32, conveyor, dan sensor photodiode. Untuk men-

supply motor servo Towerpro MG946R dibutuhkan arus sebesar 500 mA-900 mA dan

servo Towerpro SG90 50 mA. Dengan demikian maka digunakan transistor 2N3055 agar

arus keluaran ic7805 menjadi lebih besar. Tegangan 5 Volt merupakan tegangan kerja pada

masing-masing servo yaitu kurang lebih 4 volt-7,2 volt. Sumber yang digunakan untuk

regulator menggunakan adaptor switching yang telah tersedia di pasaran dengan spesifikasi

keluaran tegangan 19Vdc dan arus 4A.

Gambar 3.21. Rangkaian Regulator 7805 dengan Penguat Arus

3.3.5. Sensor Photodiode

Sensor photodiode digunakan untuk mendeteksi benda yang diletakan pada

conveyor. Cara kerjanya yaitu jika sensor photodiode terhalang oleh benda atau mendeteksi

benda, maka motor pada conveyor akan berhenti. Sensor photodiode ditunjukan oleh

Gambar 3.22. Penentuan nilai hambatan untuk led infrared dengan asumsi Vcc = 5 Volt

dan arus maksimal pada led infrared sebesar 100mA yaitu [28] :

𝑅 =𝑉𝑐𝑐

𝐼 R =

5

100𝑚𝐴 = 50 Ω

Agar aman, maka digunakan resistor sebesar 100 Ω yang bertujuan untuk membuat

led infrared tidak berlebihan arus. Sedangkan untuk nilai hambatan sensor photodiode

menggunakan resistor yang mengacu pada dasar teori yang ada, sehingga diperoleh nilai

hambatan antara 6,25 KΩ – 25 KΩ. Pada perancangan ini menggunakan resistor 20 KΩ

untuk sensor photodiode.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

44

Gambar 3.22. Rangkaian Sensor Photodiode

Output pada mikrokontroler ATmega32 memiliki arus yang kecil sehingga tidak

bisa digunakan untuk mengendalikan motor dc yang membutuhkan arus satu ampere untuk

dapat berputar. Oleh sebab itu dibutuhkan rangkaian external agar keluaran dari

mikrokontroler dapat mengendalikan motor dc. Rangkaian yang digunakan yaitu berupa

rangkaian transistor sebagai saklar menggunakan transistor 2N3904 karena merupakan

transistor switching dengan nilai R2 10 KΩ didapat pada datasheet dilampirkan dan dioda

yang tersusun secara parallel dengan relay bertujuan agar mencegah arus balik pada

rangkaian yang bisa merusak gulungan relay (koil). Gambar 3.23 menunjukan rangkaian

transistor sebagai saklar beserta relay.

Gambar 3.23. Rangkaian transistor sebagai saklar dan relay

3.3.6. Metode Pengenalan Warna

Metode ini dilakukan untuk melihat nilai hasil jumlah matriks pada red, green, dan

blue. Ketika gambar telah di capture, maka didapat yaitu nilai RGB dalam bentuk matriks

yang nantinya akan dijumlahkan sehingga mendapatkan satu nilai terbesar untuk

mendapatkan warna sesungguhnya pada gambar. Langkah selanjutnya yaitu proses croping

(pemotongan) yang sudah ditentukan x=124,51 y=140,51 Δx=31,98 Δy=27,98, proses ini

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

45

berfungsi untuk menentukkan bagian citra yang dibutuhkan untuk proses selanjutnya

sehingga untuk bagian citra yang tidak dibutuhkan akan dipotong atau dihilangkan.

Setelah croping, maka selanjutnya harus dijadikan matrik real agar memiliki nilai-

nilai yang sesungguhnya dari sebuah matrik gambar. Setelah semua proses sudah

dilakukan, maka langkah yang paling penting yaitu menjumlahkan matrik agar memiliki

suatu nilai yang digunakan untuk mereprentasikan nilai suatu gambar. Karena ingin

mengetahui warna dari benda. Setelah mendapatkan suatu nilai akhir dari selisih masing-

masing gambar, maka selanjutnya menentukan selisih yang paling terbesar dari nilai-nilai

yang telah diperoleh. Kemudian warna benda akan dikenali dan ditampilkan.

Tabel 3.4. Contoh Nilai RGB pada Benda

No. Gambar benda

berwarna

Gambar setelah

di crop Nilai RGB benda

Pengenalan warna

benda

1

Merah = 16,5477

Hijau = 3,6244

Biru = 2,9525

Benda berwarna

merah

2

Merah = 0

Hijau = 10,6929

Biru = 6,9174

Benda berwarna

hijau

3

Merah = 3,9344

Hijau = 7,9253

Biru = 12,1942

Benda berwarna biru

3.4. Perancangan Perangkat Lunak

Perancangan perangkat lunak merupakan tahap pembuatan program yang nantinya

difungsikan untuk menjalankan robot lengan agar sesuai dengan tugas dan tujuannya.

Perancangan perangkat lunak meliput program utama dan program perantara. Gambar 3.24

menunjukan program utama proses kerja secara keseluruhan. Proses diawali dengan

inisialisasi seluruh alat, posisi robot siaga, conveyor aktif dengan membawa benda yang

akan dideteksi oleh sensor photodiode sehingga conveyor berhenti, pada proses ini motor

servo dalam posisi siaga diatur pada posisi sudut putar yang berbeda-beda,motor 1 pada

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

46

posisi 90°, motor 2 pada posisi 110°, motor 3 pada posisi 90° dan motor 4 pada posisi 0°.

Kemudian dilanjutkan proses pengenalan warna benda oleh webcam Logitech C270h.

Setelah webcam mendeteksi warna benda maka, data pada komputer akan di transfer

melalui USB to TTL converter ke mikrokontroler dan mulai menjalankan intruksi untuk

menggerakan motor servo. Pengaturan sudut putar motor 1 tergantung pada warna benda

yang dideteksi oleh webcam. Proses selanjutnya lengan robot mengambil benda dan

meletakannya pada wadah yang telah tersedia sesuai dengan warna benda tersebut. Proses

akan terus berjalan selama webcam masih mengidentifikasi adanya benda berwarna merah,

biru, dan hijau dan akan selesai jika benda yang dibawa conveyor telah habis dan jika

sensor tidak mendeteksi adanya benda maka robot kembali pada posisi awal.

Gambar 3.24. Diagram Alir Utama

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

47

3.4.1. Program Mikrokontroler

Pada mikrokontroler digunakan sebagai proses pengaturan servo pada lengan robot.

Awalnya mikrokontroler memposisikan lengan robot dalam posisi siaga, kemudian

mengaktifkan dan mematikan conveyor saat photodiode mendeteksi benda. Setelah itu

mikrokontroler akan memproses karakter sesuai dengan perintah karakter yang dikirimkan

pada laptop. Apabila mikrokontroler menerima karakter a maka mikrokontroler akan

mengaktifkan conveyor kembali karena karakter tersebut merupakan warna bukan warna

dasar. Dan apabila menerima karakter r atau g atau b maka mikrokontroler akan

menjalankan lengan robot untuk mengambil dan memindahkan benda pada tempatnya

sesuai dengan warna yang telah diperintahkan. Ditunjukkan pada gambar 3.25.

Gambar 3.25. Diagram Alir Pengendalian Motor servo pada Mikrokontroler

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

48

3.4.2. Program Pengenalan Warna Benda Pada MATLAB

Program image processing diproses oleh software MATLAB. Pada gambar 3.26

menunjukkan cara kerja dimana awalnya webcam harus dikenali terlebih dahulu oleh

software MATLAB. Setelah dikenali maka langkah selanjutnya yaitu mengambil gambar

RGB benda yang akan dikenali dan menonaktifkan webcam. Ketika gambar telah di

capture, maka didapat yaitu nilai RGB dalam bentuk matriks yang nantinya akan

dijumlahkan sehingga mendapatkan satu nilai terbesar untuk mendapatkan warna

sesungguhnya pada gambar. Langkah selanjutnya yaitu proses croping (pemotongan) yang

sudah ditentukan x=124,51 y=140,51 Δx=31,98 Δy=27,98, proses ini berfungsi untuk

menentukkan bagian citra yang dibutuhkan untuk proses selanjutnya sehingga untuk bagian

citra yang tidak dibutuhkan akan dipotong atau dihilangkan.

Setelah croping, maka selanjutnya harus dijadikan matrik real agar memiliki nilai-

nilai yang sesungguhnya dari sebuah matrik gambar. Setelah semua proses sudah

dilakukan, maka langkah yang paling penting yaitu menjumlahkan matrik agar memiliki

suatu nilai yang digunakan untuk mereprentasikan nilai suatu gambar. Karena ingin

mengetahui warna dari benda. Setelah mendapatkan suatu nilai akhir dari selisih masing-

masing gambar, maka selanjutnya menentukan selisih yang paling terbesar dari nilai-nilai

yang telah diperoleh. Apabila nilai yang didapat tidak sesuai dengan warna dasar yang

sudah ditentukan maka warna pada benda tersebut dapat dikatakan benda bukan warna

dasar. Kemudian warna benda akan dikenali dan ditampilkan nilai serta jumlah benda yang

telah terdeteksi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

49

Gambar 3.26. Diagram Alir Pengenalan Warna Pada Matlab

3.4.3. Program Pengaturan Awal Posisi Siaga Lengan Robot

Gambar 3.27 menunjukan proses pengaturan awal posisi siaga lengan robot. Pada

proses ini, semua motor servo diatur dengan sudut putar yang berbeda karena posisi

peletakan motor pada lengan robot tidak sama, motor 1 pada sudut 90°, motor 2 pada sudut

110°, motor 3 pada sudut 90° dan motor 4 pada sudut 90°. Hal ini bertujuan agar lengan

robot berada pada posisi siaga untuk menjangkau benda yang akan diambil dan dapat

bergerak dalam proses peletakan benda pada tempatnya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

50

Gambar 3.27. Diagram Alir Pengaturan Awal Posisi Siaga Lengan Robot

3.4.4 Program Pengendali Sudut Putar Motor Servo dalam Pengambilan

dan Peletakan Benda

Pada perancangan program untuk mengendalikan motor servo dibagi dalam tiga

bagian berdasarkan warna benda, yaitu :

a) Gerak Servo mode merah

b) Gerak Servo mode hijau

c) Gerak Servo mode biru

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

51

Data cacahan yang diberikan untuk menggerakan motor servo memiliki range yang

disesuaikan dengan penggunaan Kristal 11,059200Mhz dan mode timer0 adalah 8bit

dengan nilai prescaller adalah 256. Dengan periode servo selama 20ms maka diperoleh

nilai frekuensi 50hz, sehingga didapat nilai cacahan overflow dengan persamaan sebagai

berikut[7] :

Cacahan = 1/50

(1

𝑓𝑟𝑒𝑘𝑢𝑒𝑛𝑠𝑖𝑘𝑟𝑖𝑠𝑡𝑎𝑙)∗256

Cacahan = 1/50

(1

11059200)∗256

Cacahan = 864

Pada proses pengambilan benda, pergerakan motor servo mode merah, mode hijau,

dan mode biru adalah sama. Diawali dengan pergerakan motor 2 dengan sudut dari 110°

menuju 82° kemudian motor 3 dengan sudut pergerakan 122°, lalu dilanjutkan dengan

proses pencengkraman benda yang dilakukan oleh motor 4 dengan sudut 180°. Setelah

proses pengambilan dilakukan, motor 2 bergerak kembali ke posisi awal lalu motor 1

sebagai penggerak poros bergerak sesuai dengan warna benda yang telah dideteksi oleh

webcam. Untuk benda berwarna merah sudut putar motor 1 adalah 135°, benda berwarna

hijau sudut putar motor poros adalah 180° dan benda berwarna biru sudut putar motor

poros adalah 45°. Proses tersebut akan berjalan terus sampai webcam masih mendeteksi

adanya benda berwarna. Dan untuk lebih detailnya sebagai berikut diagram alir servo,

Gambar 3.28 menunjukan diagram alir servo mode merah, Gambar 3.29 menunjukan

diagram alir servo mode hijau, Gambar 3.30 menunjukan diagram alir servo mode biru.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

52

a. Gerak Servo Mode Merah

Gambar 3.28. Diagram Alir Gerak Servo Mode Merah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

53

b. Gerak Servo Mode Hijau

Gambar 3.29. Diagram Alir Gerak Servo Mode Hijau

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

54

c. Gerak Servo Mode Biru

Gambar 3.30. Diagram Alir Gerak Servo Mode Biru

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

55

3.4.5. Perancangan GUI Matlab

Tujuan pembuatan GUI (Graphical User Interface) yaitu agar mempermudah

dalam pengawasan program yang sedang terjadi atau dieksekusi. GUI memiliki peran yang

sangat baik karena pengguna akan dapat melihat apa yang sedang terjadi didalam program

seperti pemrosesan data dan lain – lain. Perancangan GUI yang akan dibuat dapat

ditunjukan pada gambar 3.31. Terdapat tombol start untuk memulai proses, tombol stop

untuk menghentikan proses, dan terdapat tampilan benda berdasarkan warna dimana

nantinya benda serta warnanya dapat terlihat dan diketahui nilainya. Ditampilkan pula

jumlah pada masing – masing warna yang telah terdeteksi.

Gambar 3.31. Perancangan GUI pada MATLAB

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

56

BAB IV

HASIL PENGAMATAN DAN PEMBAHASAN

Pada bab ini akan dibahas mengenai hasil pengamatan dari lengan robot sebagai

pemindah barang berdasarkan warna. Hasil pengamatan berupa pengujian webcam Logitech

C270H terhadap warna dasar seperti merah, hijau dan biru serta warna bukan dasar pada

ketepatan menganalisis warna benda dengan benda di bawa oleh konveyor yang diletakan tepat

di bawah webcam berjarak 20cm,tingkat keberhasilan lengan robot serta pengamatan terhadap

pergerakan motor servo sebagai aktuator lengan robot.

4.1. Bentuk Fisik dan Sistem Kerja Lengan Robot

Perangkat keras lengan robot tersusun atas sistem minimum ATmega32 berserta LCD

16x2 dan regulator sebagai penguat arus seperti pada gambar 4.1 dan gambar 4.2 dan bentuk

fisik lengan robot ditunjukkan pada gambar 4.3, gambar 4.4, gambar 4.5, gambar 4.6, dan

gambar 4.7.

Gambar 4.1. Sistem Minimum ATmega32 Gambar 4.2. Regulator Tegangan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

57

Gambar 4.3. Lengan Robot Keseluruhan Gambar 4.4. Conveyor

Gambar 4.5. Lengan Robot Gambar 4.6. Benda Berwarna

Gambar 4.7. Wadah Benda Berwarna

Gambar 4.1 menunjukan board dari sistem minimum ATmega32 sebagai pemrosesan

data yang diterima dari hasil pengolahan data yang dikirim oleh computer/laptop untuk

menjalankan lengan robot, gambar 4.2 menunjukan board dari regulator tegangan sebagai

penguat arus, gambar 4.3, 4.4, 4.5, 4.6, 4.7 menunjukan sistem keseluruhan lengan robot dan

bagian – bagiannya yang terdiri dari penempatan benda, webcam Logitech C270H, sistem

minimum, regulator, lengan robot, letak webcam terhadap benda berwarna, konveyor, benda

berwarna dasar dan bukan warna dasar yang berbentuk kotak, dan wadah penampung benda

berwarna.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

58

Mekanisme kerja sistem lengan robot adalah robot bekerja secara otomatis sesuai

dengan perintah yang telah diprogram. Proses yang terjadi ketika catu daya regulator pada

posisi “ON” yaitu mula – mula conveyor akan berjalan membawa benda menuju tepat dibawah

webcam yang akan dideteksi oleh sensor photodiode. Ketika sensor photodiode terhalang

benda, maka mikrokontroler ATmega32 akan mengirimkan karakter ‘a’ secara serial melalui

komunikasi serial USART. Kemudian laptop akan merima karakter tersebut sebagai isyarat

bahwa benda telah berada tepat dibawah webcam. Proses selanjutnya yaitu GUI pada

MATLAB dengan menekan tombol START akan menjalankan program pengenalan warna

benda. Setelah warna benda telah dikenali, maka laptop akan mengirimkan sebuah karakter

yang mendefinisikan warna benda. Karakter ‘r’ yang dikirim merupakan benda berwarna yang

terdeteksi yaitu “merah”, Karakter ‘g’ yang dikirim merupakan benda berwarna yang terdeteksi

yaitu “hijau”, Karakter ‘b’ yang dikirim merupakan benda berwarna yang terdeteksi yaitu

“biru”, dan karakter ‘a’ yang dikirim merupakan benda berwarna yang terdeteksi yaitu “bukan

warna dasar. Setelah mikrokontroler ATmega32 menerima karakter tersebut, maka lengan

robot akan mengambil benda dan memindahkan benda tersebut ke tempat peletakan sesuai

dengan warna benda yang terdeteksi. Proses ini akan terus berlangsung hingga photodiode

tidak mendeteksi adanya benda atau catu daya pada posisi “OFF”.

4.2. Hasil Data Pengujian dan Pembahasan

Pada sub bab ini, dilakukan pengujian dan pembahasan terhadap nilai batasan pada

RGB, nilai citra RGB dari masing-masing warna benda sebanyak 20 kali pengambilan data,

sudut motor servo, tingkat keberhasilan sistem saat mendeteksi warna benda dan counting

benda yang terdeteksi sebanyak 10 kali pengambilan data, tingkat keberhasilan lengan robot

saat mengambil dan memindahkan benda berdasarkan warna yang dilakukan sebanyak 10 kali

percobaan, dan pengujian sistem dalam proses pengenalan warna benda dan pengambilan

benda.

4.2.1. Pengujian Nilai Batasan pada RGB

Pemberian nilai batasan pada RGB dilakukan dengan membandingkan nilai di ruang

TTL. Pengujian dilakukan dengan tiga kali pengambilan data karena nilai tiap pengambilan

data tidak jauh berbeda atau dapat dikatakan cukup dalam pembandingan nilai yang nantinya

akan dicari nilai rata – rata kemudian membandingkannya dan membuat nilai batasan dengan

mencari nilai terbaik pada nilai tiap RGB. Nilai tersebut yang nantinya akan digunakan untuk

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

59

pengambilan data pada ruangan TTL. Berikut tabel 4.1 adalah Data pengujian nilai batasan

RGB.

Tabel 4.1. Data Pengujian Nilai Batasan RGB

Warna

Benda

Ruang TTL Nilai Rata - Rata

R G B R G B

Merah

17,58 6,093 6,712

17,58 6,142 6,775 17,58 6,127 6,775

17,59 6,205 6,838

Range Data Merah >=15 <=8 <=8

Hijau

0,652 16,2 9,997

0,654 16,24 10,05 0,611 16,38 10,11

0,7 16,14 10,03

Range Data Hijau <=3 >=14 <=12

Biru

6,262 9,828 16,71

7,32 10,87 17,27 7,88 11,51 17,57

7,817 11,28 17,54

Range Data Biru <=9 <=13 >=15

Hitam

5,127 5,224 5,446

5,849 6,229 6,29 6,296 6,784 6,834

6,123 6,677 6,591

Kuning

17,92 17,13 7,066

17,92 17,28 6,978 17,92 17,62 6,771

17,92 17,09 7,098

Pada data tabel 4.1 menunjukan nilai batasan RGB pada masing – masing tempat yang

berbeda. Terlihat adanya perbedaan data yang dihasilkan, hal ini dipengaruhi oleh

ketidakmerataan warna pada saat proses pengecatan, ataupun pengaruh dari cahaya tiap

ruangan. Rata – rata nilai tersebut diperoleh dengan menjumlahkan setiap nilai RGB dan dibagi

terhadap banyaknya jumlah warna tiap sisi yang terdeteksi. Dengan memasukan dua warna

bukan warna dasar yaitu warna hitam dan kuning sebagai pembanding. Pada range data adalah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

60

nilai pembulatan dari rata – rata batasan RGB, maka, untuk mempermudah sistem mengenali

warna benda, dibuat sebuah range dengan nilai terbaik dari rata – rata nilai tiap tempat yang

nantinya digunakan dalam menentukan warna benda tersebut. Untuk benda berwarna merah

range data yang digunakan yaitu R>=15 && G<=8 && B<=8, sedangkan untuk benda

berwarna hijau range data yang digunakan yaitu R<=3 && G>=14 && B<=12, kemudian

untuk benda berwarna biru range data yang digunakan yaitu R<=9 && G<=13 && B>=15 dan

untuk bukan warna dasar yaitu selain dari range ketiga warna dasar tersebut.

Range data yang digunakan sengaja dibuat lebih dengan alasan mengantisipasi apabila

data yang terdeteksi lebih besar atau lebih kecil dari data yang telah diambil sampelnya.

4.2.2. Pengujian Nilai Citra RGB Warna Benda

Pengujian nilai citra RGB dari masing-masing warna benda dimaksudkan untuk

mengetahui data citra RGB dari masing-masing warna benda yang akan diproses dan dikenali.

Dilakukan sebanyak 20 kali percobaan dari masing-masing warna benda. Terdapat lima warna

benda dalam pengambilan data tersebut, tiga warna dasar yaitu benda merah, benda hijau, dan

benda biru, dan dua warna bukan warna dasar yang sudah ditentukan oleh penulis yaitu benda

hitam dan benda kuning. Menggunakan nilai range yang sudah ditentukan sebelumnya pada

batasan warna benda sehingga pada saat pengambilan data tidak terjadi kesalahan warna saat

proses pengenalan warna. Dari pengujian tersebut, diperoleh tabel 4.2 sebagai berikut.

Tabel 4.2. Data Citra RGB Masing – Masing Warna Benda

Benda

Ke-

Warna

Benda

Pengambilan

Data ke-

Nilai Citra RGB

R G B

1 Merah

1 17,591 6,1662 6,8262

2 17,5892 6,1607 6,8676

3 17,5867 6,1993 6,4038

4 17,6001 6,0133 6,1932

5 17,5993 5,5835 6,4367

6 17,6079 5,7005 6,2758

7 17,92 5,087 5,8419

8 17,5973 5,9313 6,2509

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

61

Tabel 4.2. (Lanjutan) Data Citra RGB Masing – Masing Warna Benda

Benda

Ke-

Warna

Benda

Pengambilan

Data ke-

Nilai Citra RGB

R G B

1 Merah 9 17,5988 5,4543 6,3312

10 17,604 5,8325 6,1967

2 Merah

1 17,4843 6,6135 6,807

2 17,5885 6,2325 6,9177

3 17,5791 6,0931 6,7115

4 17,5836 6,1269 6,775

5 17,5854 6,2053 6,8381

6 17,5949 6,2214 6,5359

7 17,5913 5,7478 6,4057

8 17,599 6,1969 6,4252

9 17,5963 5,6587 6,2706

10 17,5976 5,6965 6,3763

1 Hijau

1 0,5006 14,6417 9,1878

2 0,446 14,6638 9,0195

3 0,679 14,5263 9,176

4 0,5955 14,5511 9,2585

5 0,4733 14,5969 9,1945

6 0,6156 14,5661 9,2384

7 0,4922 14,5438 9,2173

8 0,4721 14,7035 8,8192

9 0,446 14,6105 9,2403

10 0,5482 14,7079 9,0576

2 Hijau

1 0,6081 14,6984 9,0104

2 0,5723 14,595 9,1636

3 0,6131 14,8419 9,4337

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

62

Tabel 4.2. (Lanjutan) Data Citra RGB Masing – Masing Warna Benda

Benda

Ke-

Warna

Benda

Pengambilan

Data ke-

Nilai Citra RGB

R G B

2 Hijau

4 0,6169 14,2976 9,0559

5 0,6517 16,2019 9,9969

6 0,6113 16,3841 10,1071

7 0,7005 16,1389 10,0291

8 0,6429 16,2422 10,914

9 0,6495 16,2951 10,0659

10 0,0034 13,5121 8,6284

1 Biru

1 6,1005 9,8613 16,9451

2 6,262 9,8275 16,7101

3 7,8795 11,5133 17,5736

4 7,8165 11,2808 17,5379

5 7,7646 11,276 17,5809

6 7,6632 11,3547 17,5635

7 7,7392 11,3867 17,5675

8 7,5963 11,398 17,4273

9 7,7795 11,5096 17,572

10 6,3823 9,2222 14,8201

2 Biru

1 7,4246 11,3354 17,607

2 7,4858 11,43 17,5904

3 7,4299 11,5484 17,5773

4 7,272 11,4993 17,5936

5 7,2991 11,3775 17,6148

6 7,4786 11,4435 17,5898

7 6,907 11,4167 17,92

8 7,5708 11,446 17,583

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

63

Tabel 4.2. (Lanjutan) Data Citra RGB Masing – Masing Warna Benda

Benda

Ke-

Warna

Benda

Pengambilan

Data ke-

Nilai Citra RGB

R G B

2 Biru 9 7,5482 11,3247 17,5948

10 7,418 11,4338 17,5917

1 Hitam

1 6,078 6,6365 6,6539

2 5,0169 5,1145 5,2639

3 5,1342 5,2861 5,4945

4 5,1518 5,2722 5,4776

5 5,1266 5,2235 5,446

2 Hitam

1 6,2964 6,7842 6,8343

2 6,1231 6,6767 6,5907

3 6,3493 6,9965 6,7278

4 6,3231 6,7936 6,8427

5 6,3284 6,6925 6,7241

1 Kuning

1 17,92 17,92 8,87

2 17,92 17,92 8,1316

3 17,8501 16,8146 7,1481

4 17,92 17,2542 7,368

5 17,592 17,261 7,362

2 Kuning

1 17,692 17,92 7,237

2 17,92 17,9003 7,2682

3 17,92 17,1318 7,0657

4 17,92 17,6211 6,7709

5 17,92 17,0909 7,0975

Dari tabel 4.2 menunjukan data citra RGB masing – masing warna benda yang telah

diambil datanya pada ruangan TTL (teknik tenaga listrik). Terlihat adanya beberapa perbedaan

nilai yang dihasilkan, hal ini dipengaruhi oleh ketidakmerataan warna pada masing – masing

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

64

benda dan kondisi pencahayaan pada ruangan. Jika pada saat webcam membaca warna salah

satu sisi benda yang lebih merata warnanya maka nilai RGB yang dihasilkan lebih besar

dibanding dengan warna yang kurang merata warnanya. Misalnya untuk nilai B pada benda

biru pengambilan data ke-10 pada benda pertama dan data pertama pada benda kedua, nilai B

pada benda kedua data pertama lebih besar dari benda biru pertama data ke-10 yang artinya

benda biru data pertama pada benda kedua memiliki tingkat warna dan pencahayaan yang lebih

bagus dibandingkan dengan benda biru pertama data ke-10 .

Nilai pada tabel 4.2 tersebut diperoleh dari nilai batasan pada RGB. Untuk benda

berwarna merah range data yang digunakan yaitu R>=15 && G<=8 && B<=8, sedangkan

untuk benda berwarna hijau range data yang digunakan yaitu R<=3 && G>=14 && B<=12,

kemudian untuk benda berwarna biru range data yang digunakan yaitu R<=9 && G<=13 &&

B>=15. Misalnya untuk membuktikan nilai merah pada data citra RGB benda merah sesuai

dengan nilai range data merah adalah dengan mencari nilai minimal pada data R=17,4843, nilai

maksimal pada data G=6,6135 dan nilai maksimal pada data B=6,9177, maka dari data citra

RGB benda merah dapat disimpulkan bahwa nilai batasan range data merah yang diperoleh

sesuai pada nilai citra RGB benda merah. Begitu juga dengan nilai citra RGB pada benda hijau

dengan mencari nilai minimal pada data G, nilai maksimal pada data R dan B, sedangkan pada

benda biru dengan mencari nilai minimal pada data B, nilai maksimal pada data R dan G,

sehingga dapat disimpulkan juga bahwa dengan nilai batasan range data dari masing – masing

warna adalah sesuai pada data yang diperoleh.

Melihat nilai data citra RGB yang diperoleh pada ruangan TTL, maka nilai RGB yang

dihasilkan adalah stabil atau relatif sama artinya kondisi pencahayaan dan kemerataan warna

pada benda tidak berdampak pada kinerja webcam saat mendeteksi warna suatu benda.

Berdasarkan nilai – nilai dari tabel 4.1, maka dapat dipastikan bahwa dari masing – masing

warna benda dapat dibedakan menggunakan metode nilai dari citra RGB.

4.2.3. Sudut Motor Servo

Berdasarkan data pengujian sudut motor servo yang diukur menggunakan busur derajat,

didapat nilai OCR seperti pada gambar 4.8 hingga gambar 4.26 dibawah ini. Pengujian sudut

dilakukan dengan melihat nilai OCR pada masing-masing sudut motor servo yang dilakukan

setiap 10o yang akan dibandingkan dengan perhitungan secara teori.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

65

Gambar 4.8. Sudut 0o Gambar 4.9. Sudut 10o Gambar 4.10. Sudut 20o

Gambar 4.11. Sudut 30o Gambar 4.12. Sudut 40o Gambar 4.13. Sudut 50o

Gambar 4.14. Sudut 60o Gambar 4.15. Sudut 70o Gambar 4.16. Sudut 80o

Gambar 4.17. Sudut 90o Gambar 4.18. Sudut 100o Gambar 4.19. Sudut 110o

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

66

Gambar 4.20. Sudut 120o Gambar 4.21. Sudut 130o Gambar 4.22. Sudut 140o

Gambar 4.23. Sudut 150o Gambar 4.24. Sudut 160o Gambar 4.25. Sudut 170o

Gambar 4.26. Sudut 180o

Pada teori yang diperlihatkan tabel 3.2, terdapat perbedaan antara perhitungan nilai

OCR secara teori dan praktek. Menurut tabel 3.2 pada saat sudut 0o nilai OCR yang didapat

yaitu 43,20, sedangkan sudut 90o nilai OCR yang didapat yaitu 64,8, dan pada sudut 180o nilai

OCR yang didapat yaitu 86,40.

Hal ini berbeda ketika saat praktek, yakni pada saat sudut 0o nilai OCR yang didapat

yaitu 29, sedangkan sudut 90o nilai OCR yang didapat yaitu 69, dan pada sudut 180o nilai OCR

yang didapat yaitu 111. Untuk mengetahui lebar pulsa, maka digunakan T sebesar 0,090422 x

10-6 dan prescaler sebesar 1.

Lebar Pulsa = OCR x T x 𝑝𝑟𝑒𝑠𝑐𝑎𝑙𝑒𝑟 x 256

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 87: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

67

Tabel 4.3. Perhitungan Lebar Pulsa Motor Servo Towerpro MG946R

SUDUT

Nilai OCR

Lebar Pulsa = OCR x T x 𝑝𝑟𝑒𝑠𝑐𝑎𝑙𝑒𝑟 x 256

Error

(%)

0o 29 0,671 ms 32,87 %

90o 69 1,59 ms 6,48 %

180o 111 2,57 ms 28,47 %

Dari gambar 4.8 hingga gambar 4.26, maka dapat dianalisa bahwa perhitungan secara

teori dan praktek terjadi perbedaan atau tidak sesuai tetapi terdapat satu kondisi saat motor

servo berada pada sudut 90o yang memiliki lebar pulsa tidak jauh berbeda dengan teori yakni

1,59 ms sedangkan pada teori memiliki lebar pulsa 1,5 ms. Hal tersebut dikarenakan setiap

motor servo memiliki karakteristik yang berbeda-beda sesuai dengan jenisnya.

Pada tabel 4.4 menunjukan nilai sudut tiap servo yang sudah ditentukan dari penataan

seluruh sistem lengan robot.

Tabel 4.4. Nilai Sudut Tiap Motor Servo

Posisi Sudut Error (%)

Servo 1 Servo 2 Servo 3 Servo 4 Servo 2 Servo 3

Siaga 90º 75º 115º 90º 31,84% 27,78%

Ambil Benda 90º 105º 100º 180º 28,05% 18,03%

Meletakan Benda

Benda Merah 135º 100º 90º 90º 21,95% 26,23%

Benda Hijau 180º 75º 110º 90º 8,54% 9,84%

Benda Biru 45º 100º 90º 90º 21,95% 26,23%

Dari tabel 3.1 dan tabel 4.4 maka dapat dianalisa bahwa perhitungan secara teori dan

percobaan saat praktek terjadi perbedaan atau tidak sesuai karena posisi sudut yang didapat

saat perhitungan teori tidak sama dengan keseluruhan sistem lengan robot yang sudah dibuat,

sehingga dicari nilai sudut yang sesuai agar lengan robot dapat mengambil benda dan

menempatkannya berdasarkan warna dengan tepat dan benar.

4.2.4. Pengujian Tingkat Keberhasilan Sistem Mendeteksi Warna Benda

Pada tugas akhir ini, dilakukan analisa tingkat keberhasilan robot saat proses

pengenalan benda berwarna merah, hijau, dan biru. Namun jika tidak ada benda lain selain

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 88: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

68

warna tersebut atau webcam tidak mendeteksi apa – apa maka tidak akan terdeteksi. Untuk

mengenalinya digunakan range data yang sudah dibikin sesuai ruangan TTL (teknik tenaga

listrik). Tetapi apabila terdapat warna benda selain warna tersebut, maka yang terdeteksi adalah

benda bukan warna dasar. Tingkat keberhasilan sistem ditunjukan tabel 4.5 dan gambar 4.27,

gambar 4.28, gambar 4.29, dan gambar 4.30 adalah gambar benda terdeteksi dengan visualisasi

lima kali hasil counting benda masing – masing warna.

Tabel 4.5. Pengujian Tingkat Keberhasilan Sistem Mendeteksi Warna Benda

PENGUJIAN TINGKAT KEBERHASILAN SISTEM

MENDETEKSI WARNA BENDA

WARNA BENDA 1 2 3 4 5 6 7 8 9 10

MERAH V V V V V V V V V V

HIJAU V V V V V V V V V V

BIRU V V V V V V V V V V

BUKAN WARNA DASAR V V V V V V V V V V

Keterangan : V(Berhasil) X(Tidak Berhasil)

Gambar 4.27. Pengujian Benda Warna Merah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 89: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

69

Gambar 4.27. (Lanjutan) Pengujian Benda Warna Merah

Gambar 4.28. Pengujian Benda Warna Hijau

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 90: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

70

Gambar 4.29. Pengujian Benda Warna Biru

Gambar 4.30. Pengujian Benda Bukan Warna Dasar

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 91: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

71

Gambar 4.30. (Lanjutan) Pengujian Benda Bukan Warna Dasar

Peletakan benda saat dibawa conveyor adalah urut, rapi dan tersusun. Artinya yaitu

mulai dari warna merah, hijau, biru dan bukan warna dasar yang berada didalam conveyor

sampai pengujian tingkat keberhasilan hingga sepuluh kali.

Berdasarkan tabel 4.5, gambar 4.27, gambar 4.28, gambar 4.29, dan gambar 4,30, maka

dapat disimpulkan bahwa sistem mampu mengenali warna benda dengan benar dan sudah

termasuk sistem yang handal dalam mendeteksi warna benda yang dilakukan sebanyak sepuluh

kali pengambilan data. Selain itu, sistem berhasil melakukan counting terhadap jumlah benda

yang telah terdeteksi yang di visualisasikan sebanyak lima kali pngambilan data.

4.2.5. Pengujian Tingkat Keberhasilan Lengan Robot saat Mengambil dan

Memindahkan benda Berdasarkan Warna

Pada pengujian lengan robot mengambil dan memindahkan benda berdasarkan warna

dilakukan sebanyak sepuluh kali percobaan dari masing-masing warna benda. Ketika sistem

telah mengenali warna dari benda, maka sistem akan mengirimkan sebuah karakter secara

serial kepada mikrokontroler ATmega32 untuk selanjutnya mengontrol pergerakan lengan

robot mengambil dan memindahkan benda sesuai warna peletakan yang telah ditentukan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 92: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

72

Tabel 4.6. Pengujian Tingkat Keberhasilan Lengan Robot Mengambil dan Memindahkan

Benda dengan Peletakan Posisi Benda 0,5 cm ke Atas Dari Tengah

PENGUJIAN TINGKAT KEBERHASILAN LENGAN ROBOT

MENGAMBIL DAN MINDAHKAN BENDA

WARNA BENDA 1 2 3 4 5 6 7 8 9 10

MERAH V V V V V V V V V V

HIJAU X X V X V V V V V X

BIRU X X X X V V V X V X

BUKAN WARNA DASAR V V V V V V V V V V

Keterangan : V(Berhasil) X(Tidak Berhasil)

Tabel 4.7. Pengujian Tingkat Keberhasilan Lengan Robot Mengambil dan Memindahkan

Benda dengan Peletakan Posisi Benda 0,5 cm ke Bawah Dari Tengah

PENGUJIAN TINGKAT KEBERHASILAN LENGAN ROBOT

MENGAMBIL DAN MINDAHKAN BENDA

WARNA BENDA 1 2 3 4 5 6 7 8 9 10

MERAH V V V V V V V V V V

HIJAU V V V V V V V V V V

BIRU V V V V V V V V V V

BUKAN WARNA DASAR V V V V V V V V V V

Keterangan : V(Berhasil) X(Tidak Berhasil)

Tabel 4.8. Pengujian Tingkat Keberhasilan Lengan Robot Mengambil dan Memindahkan

Benda dengan Peletakan Posisi Benda di Tengah

PENGUJIAN TINGKAT KEBERHASILAN LENGAN ROBOT

MENGAMBIL DAN MINDAHKAN BENDA

WARNA BENDA 1 2 3 4 5 6 7 8 9 10

MERAH V V V V V V V V V V

HIJAU V V V V V V V V V V

BIRU V V V V V V V V V V

BUKAN WARNA DASAR V V V V V V V V V V

Keterangan : V(Berhasil) X(Tidak Berhasil)

Pada tabel 4.6, tabel 4.7, dan tabel 4.8 dilakukan pengujian peletakan posisi benda

dengan membedakan peletakan posisi benda berwarna yang diletakan diatas conveyor. Data

pengujian yang diperoleh, benda dapat berada dibawah webcam dengan posisi terbaik pada

benda adalah diletakan di tengah conveyor dengan toleransi 0,5 cm ke bawah dari posisi tengah.

Karena pada posisi ini saat conveyor membawa benda akan tepat berada dibawah webcam dan

pada saat lengan robot mencengkram benda tersebut memiliki tingkat keberhasilan 100%

sedangkan tabel 4.6 memiliki tingkat keberhasilan 75%, sehingga pada tugas akhir ini posisi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 93: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

73

yang disarankan benda berada diatas conveyor adalah di tengah dengan toleransi 0,5 cm ke

bawah dari posisi tengah.

Tabel 4.9. Pengujian Tingkat Keberhasilan Lengan Robot Mengambil dan Memindahkan

Benda dengan Jarak 0 cm

PENGUJIAN TINGKAT KEBERHASILAN LENGAN ROBOT

MENGAMBIL DAN MEMINDAHKAN BENDA

WARNA BENDA 1 2 3 4 5 6 7 8 9 10

MERAH V X V X V X V X V X

HIJAU V X V X V X V X V X

BIRU V X V X V X V X V X

BUKAN WARNA DASAR V V V V V V V V V V

Keterangan : V(Berhasil) X(Tidak Berhasil)

Tabel 4.10. Pengujian Tingkat Keberhasilan Lengan Robot Mengambil dan Memindahkan

Benda dengan Jarak 1 cm

PENGUJIAN TINGKAT KEBERHASILAN LENGAN ROBOT

MENGAMBIL DAN MEMINDAHKAN BENDA

WARNA BENDA 1 2 3 4 5 6 7 8 9 10

MERAH V X V X V X V X V X

HIJAU V X V X V X V X V X

BIRU V X V X V X V X V X

BUKAN WARNA DASAR V V V V V V V V V V

Keterangan : V(Berhasil) X(Tidak Berhasil)

Tabel 4.11. Pengujian Tingkat Keberhasilan Lengan Robot Mengambil dan Memindahkan

Benda dengan Jarak 2 cm

PENGUJIAN TINGKAT KEBERHASILAN LENGAN ROBOT

MENGAMBIL DAN MEMINDAHKAN BENDA

WARNA BENDA 1 2 3 4 5 6 7 8 9 10

MERAH V V V V V V V V V V

HIJAU V V V V V V V V V V

BIRU V V V V V V V V V V

BUKAN WARNA DASAR V V V V V V V V V V

Keterangan : V(Berhasil) X(Tidak Berhasil)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 94: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

74

Tabel 4.12. Pengujian Tingkat Keberhasilan Lengan Robot Mengambil dan Memindahkan

Benda dengan Jarak 3 cm

PENGUJIAN TINGKAT KEBERHASILAN LENGAN ROBOT

MENGAMBIL DAN MEMINDAHKAN BENDA

WARNA BENDA 1 2 3 4 5 6 7 8 9 10

MERAH V V V V V V V V V V

HIJAU V V V V V V V V V V

BIRU V V V V V V V V V V

BUKAN WARNA DASAR V V V V V V V V V V

Keterangan : V(Berhasil) X(Tidak Berhasil)

Berdasarkan tabel 4.9, tabel 4.10, tabel 4.11, dan tabel 4.12 data pengujian yang

diperoleh, benda dapat berada dibawah webcam dengan jarak terbaik pada benda selanjutnya

adalah 2 cm. Karena pada jarak ini saat conveyor membawa benda selanjutnya akan tepat

berada dibawah webcam kembali dan benda disebelahnya pada saat lengan robot mencengkram

benda tersebut tidak mengganggu atau tersentuh oleh lengan robot, sehingga pada tugas akhir

ini jarak yang disarankan antar benda adalah 2 cm.

Maka dapat dianalisa bahwa lengan robot dapat mengambil dan memindahkan benda

sesuai warna dengan baik. Hal ini dapat dibuktikan dengan melihat tingkat keberhasilan lengan

robot mengambil dan memindahkan benda dengan jarak terbaik seperti tabel 4.11, dan tabel

4.12 Tingkat keberhasilan lengan robot yaitu 100% untuk posisi benda berada di tengah

conveyor dan jarak antar benda minimal 2 cm, sedangkan pada tabel 4.9 dan tabel 4.10 jika

jarak kurang dari 2 cm tingkat keberhasilan 62,5%.

4.2.6. Pengujian Sistem Dalam Proses Pengenalan Warna Benda dan Proses

Pemindahan Benda

4.2.7.1. Menggunakan Looping

Looping merupakan suatu proses dimana sistem akan terus bekerja dan selalu

mengeksekusi program secara otomatis sampai tombol atau pemicu berhenti ditekan.

Kelebihan dari sistem yang menggunakan looping yaitu sistem dan lengan robot mampu

bekerja secara otomatis tanpa harus menekan tombol untuk memberikan isyarat tertentu.

Namun sistem menggunakan looping memiliki kelemahan yaitu proses pengenalan warna

benda dan proses pemindahan benda menjadi lebih lama. Waktu yang diperlukan untuk proses

pengenalan warna benda dan proses pemindahan benda yaitu 33 detik.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 95: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

75

4.2.7.2. Tidak Menggunakan Looping

Sistem tidak menggunakan looping memiliki kelebihan dan kelemahan. Kelebihan dari

sistem tanpa menggunakan looping yaitu keseluruhan sistem dan lengan robot dapat

menyelesaikan tugas pengenalan warna benda dan proses pemindahan benda lebih cepat

dibanding menggunakan looping yaitu 25 detik. Kelemahan dari sistem tanpa menggunakan

looping yaitu sistem dan lengan robot tidak mampu bekerja secara otomatis karena dibutuhkan

peran user untuk menekan tombol untuk memulai proses pengenalan warna benda.

4.3. Analisa dan Pembahasan Perangkat Lunak

Pada sub bab ini akan dibahas mengenai listing program pada CodeVision AVR dan

MATLAB.

4.3.1. Aplikasi CodeVision AVR

Pada sub bab ini akan dijabarkan dan dijelaskan masing-masing fungsi pada listing

program yang diprogram menggunakan software CodeVision AVR diantaranya program

pengendali sensor photodioda menggunakan fasilitas ADC (Analog to Digital Converter),

program untuk komunikasi serial menggunakan USART (Universal Synchronous

Asynchronous Receiver Transmiter), program pengendali motor servo menggunakan fasilitas

interrupt.

4.3.1.1. Pengendali Sensor Photodiode

Program pengendali sensor photodioda menggunakan fasilitas yang dimiliki oleh

mikrokontroler ATmega32 yaitu ADC (Analog to Digital Converter). Fungsinya yaitu untuk

mengubah tegangan analog menjadi tegangan digital. Tegangan digital tersebut akan

digunakan untuk mengontrol conveyor saat membawa benda.

#define ADC_VREF_TYPE 0x40

// Read the AD conversion result

unsigned int read_adc(unsigned char adc_input)

{

ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);

// Delay needed for the stabilization of the ADC input voltage

delay_us(10);

// Start the AD conversion

ADCSRA|=0x40;

// Wait for the AD conversion to complete

while ((ADCSRA & 0x10)==0);

ADCSRA|=0x10;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 96: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

76

return ADCW;

}

void photodioda()

{ sensor=read_adc(0)/2;

lcd_gotoxy(0,1);

sprintf(sens,"sensor=%d",sensor);

lcd_puts(sens);

delay_ms(10); }

Pada listing program diatas, digunakan read_adc(0) yang artinya menggunakan

PORTA.0 sebagai PORT masukan untuk mengubah tegangan analog menjadi tegangan digital.

Pada bagian sensor= read_adc(0)/2 maksud dari pembagian 2 yaitu agar nilai desimal ADC

maksimal yaitu 1023 dibagi 2 yaitu 511. Sehingga apabila tegangan masukan 0 Volt sampai 5

Volt, akan diubah melalui ADC menjadi 0 desimal hingga 511 desimal.

Pada bagian listing program diatas, fungsinya yaitu untuk mengendalikan motor

penggerak conveyor yang dikontrol menggunakan PORTD.2. Terdapat nilai 200 pada bagian

if (sensor>=200) ini dimaksudkan untuk membuat PORTD.2 bernilai “0” jika nilai sensor lebih

besar sama dengan dari 200 desimal ADC. Hal ini berarti menyebabkan motor pada conveyor

berhenti berputar. Jika kondisi sensor kurang dari 200, maka PORTD.2 akan bernilai “1” yang

artinya motor conveyor akan terus berputar.

4.3.1.2. Pengendali Komunikasi USART

Pada bagian ini berfungsi sebagai komunikasi serial USART untuk menghubungkan

antara mikrokontroler ATmega32 dengan laptop. Baudrate yang digunakan yaitu 9600 bps.

Fungsi “getchar()” yaitu untuk menerima karakter dari laptop agar mikrokontroler dapat

mengerti apa yang dimaksud oleh laptop saat mengirimkan karakter yang mendefinisikan

warna benda. Sedangkan fungsi “putchar()” yaitu untuk mengirimkan suatu karakter kepada

laptop agar laptop dapat memulai proses pengenalan warna benda.

int a;

unsigned char b[16];

void komunikasi()

{

if (sensor>=200)

{PORTD.2=0;delay_ms(5);}

else

{PORTD.2=1;delay_ms(5);}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 97: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

77

a=getchar();

lcd_gotoxy(0,0);

sprintf(b,"komunikasi= %d" ,a);

lcd_puts(b);

delay_ms(100);

lcd_clear();delay_ms(10);

}

void main(void)

{

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity

// USART Receiver: On

// USART Transmitter: On

// USART Mode: Asynchronous

// USART Baud Rate: 9600

UCSRA=0x00;

UCSRB=0x18;

UCSRC=0x86;

UBRRH=0x00;

UBRRL=0x47;

}

if (sensor>=200)

{PORTD.2=0;delay_ms(5);putchar(‘a’);delay_ms(1000);}

else

{PORTD.2=1;delay_ms(5);}

4.3.1.3. Pengendali Motor Servo

Program pengendali motor servo menggunakan interrupt timer0 sebagai pembangkit

pulsa untuk menggerakan motor servo. Listing program pengendali sudut putar motor servo

sebagai berikut :

#define servo1 PORTB.0

#define servo2 PORTB.1

#define servo3 PORTB.2

#define servo4 PORTB.3

signed int i=0,data1=0,data2=0,data3=0,data4=0;

// Timer 0 overflow interrupt service routine

interrupt [TIM0_OVF] void timer0_ovf_isr(void)

{

i++;

if (i>864){i=0;}

else

{

if (i<data1){servo1=1;}

else{servo1=0;}

if (i<data2) {servo2=1;}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 98: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

78

else{servo2=0;}

if (i<data3){servo3=1;}

else{servo3=0;}

if (i<data4) {servo4=1;}

else{servo4=0;}

}

}

Listing program di atas adalah penyetingan port yang digunakan motor servo. Kodisi

nilai i++ artinya adalah timer mulai mencacah dari 0 hingga 255, jika lebih dari itu maka timer

overflow dan mulai mengaktifan PWM. Nilai 864 adalah nilai overflow selama perioda motor

servo yaitu 20ms. Kemudian pemberian logika high pada tiap port, jika kondisi nilai i lebih

kecil dari pada nilai variabel data1, data2, data3, data4 sehingga mulai memberikan pulsa agar

motor servo bergerak dan logika low jika kondisinya tidak terpenuhi maka portb akan direset.

void siaga()

{

data1=72;

delay_ms(100);

data3=94;

delay_ms(100);

data2=53;

delay_ms(100);

data4=89;

delay_ms(100);

}

………………………

Listing program di atas adalah pemberian nilai OCR yang merupakan cacahan pulsa

selama 1ms dan 2ms untuk menggerakan motor servo sesuai dengan sudut yang diinginkan.

Pergerakan motor servo tersebut adalah secara bertahap satu persatu. Untuk mempermudah

dalam penentuan tahapan sudut motor servo, digunakan fungsi for untuk mencacah nilai OCR

secara satu per satu. Dengan cara ini, maka tidak diperlukan menulis nilai OCR secara satu per

satu. Tujuannya yaitu agar pergerakan motor servo menjadi lebih halus ketika menggerakan

lengan robot. “Void()” merupakan perintah untuk membuat suatu fungsi agar ketika dieksekusi

selama proses tidak perlu menulis ulang subrutin yang terdapat didalam void. Untuk lanjutan

listing program diatas dapat dilihat pada lampiran program CVAVR.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 99: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

79

4.3.1.4. Subrutin Program Utama

Pada bagian ini akan dibahas mengenai subrutin program yang akan dieksekusi secara

terus menerus karena terdapat didalam fungsi while. Listing program dapat dilihat dibawah ini:

while (1)

{

photodioda();

delay_ms(10);

if (sensor>=200)

{

delay_ms(100);

PORTD.2=0;delay_ms(5);

z=1;

while(z)

{

a=getchar( );

if(a==114)

{

lcd_gotoxy(0,1);lcd_putsf("BENDA MERAH");delay_ms(1000);

gerak_merah();delay_ms(10);

lcd_clear();delay_ms(10);z=0;

}

else if(a==103)

{

lcd_gotoxy(0,1);lcd_putsf("BENDA HIJAU");delay_ms(1000);

gerak_hijau();delay_ms(10);

lcd_clear();delay_ms(10); z=0;

}

else if(a==98)

{

lcd_gotoxy(0,1);lcd_putsf("BENDA BIRU");delay_ms(1000);

gerak_biru();delay_ms(10);

lcd_clear();delay_ms(10); z=0;

}

else if(a==97)

{

lcd_gotoxy(0,1);lcd_putsf("BUKAN WARNA DASAR");delay_ms(1000);

PORTD.2=1;delay_ms(10);

lcd_clear();delay_ms(10); z=0;

}

}

else

{PORTD.2=1;delay_ms(5);}

};

Pada bagian listing program diatas, nilai variabel ‘a’ berisi nilai suatu karakter yang

dikirim oleh laptop melalui modul USB TO TTL converter. Nilai karakter 114 yang dikirim

laptop merupakan nilai yang mendeskripsikan bahwa warna benda yang terdeteksi merupakan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 100: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

80

merah, sedangkan nilai karakter 103 yang dikirim laptop merupakan nilai yang

mendeskripsikan bahwa warna benda yang terdeteksi merupakan hijau, sedangkan nilai

karakter 98 yang dikirim laptop merupakan nilai yang mendeskripsikan bahwa warna benda

yang terdeteksi merupakan biru, kemudian nilai karakter 97 yang dikirim laptop merupakan

nilai yang mendeskripsikan bahwa warna benda yang terdeteksi merupakan bukan warna dasar.

Subrutin yang terdapat didalam “while(1)” akan dieksekusi secara terus menerus hingga

power “OFF” atau tombol reset ditekan. Hal ini dikarenakan didalam kurung while diberi

angka “1” yang berarti bernilai true atau akan dieksekusi secara terus menerus.

4.3.2. Aplikasi MATLAB

Pada sub bab ini akan dijabarkan listing program yang diprogram menggunakan

software MATLAB diantaranya penjelasan tampilan GUI, inisialisasi komunikasi serial,

inisialisasi webcam, proses pengolahan citra, dan proses pengenalan warna benda.

4.3.2.1. Tampilan GUI MATLAB

GUI (Graphical User Interface) yaitu suatu tampilan yang berfungsi untuk

mempermudah dalam pengawasan program yang sedang terjadi atau dieksekusi. GUI memiliki

peran yang sangat baik karena dengan adanya GUI, pengguna akan dapat melihat apa yang

sedang terjadi didalam program seperti pemrosesan data dan lain-lain. Tampilan GUI yang

dibuat dapat ditunjukan pada Gambar 4.31.

Gambar 4.31. Tampilan GUI MATLAB

Terdapat beberapa fasilitas pada tampilan GUI yang digunakan yaitu axes, edit text,

popupmenu, dan push butoon. Fasilitas axes berfungsi untuk menampilkan gambar, grafik,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 101: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

81

ataupun diagram. Axes digunakan untuk menampilkan gambar dari benda yang telah diproses

menjadi gambar berwarna. Selain axes, terdapat fasilitas edit text yang berfungsi untuk

menampilkan jumlah benda yang telah terdeteksi, nilai data citra RGB, dan menampilkan hasil

deteksi sistem. Sedangkan popupmenu berfungsi untuk menampilkan daftar pilihan PORT

komunikasi yang digunakan untuk melakuan komunikasi serial agar laptop dan mikrokontroler

dapat saling berhubungan. Bagian yang terakhir yaitu push button. Push button berfungsi

sebagai sebuah tombol yang digunakan untuk mengontrol suatu program yang akan diesekusi

dengan cara diklik.

4.3.2.2. Inisialisasi Komunikasi Serial

Sebelum menghubungkan laptop dengan mikrokontroler Atmega32, maka pada bagian

program MATLAB harus di inisialisasi terlebih dahulu. Hal ini dikarenakan pada bagian laptop

dengan mikrokontroler harus memiliki baudrate yang sama. Jika kedua perangkat tidak

memiliki baudrate yang sama, maka sudah dapat dipastikan kedua perangkat ini tidak akan

dapat berkomunikasi satu sama lainnya. Program inisialisasi adalah sebagai berikut:

%data yang dikirimkan

komunikasi=serial(‘COM13’);

set(komunikasi,'BaudRate',9600,'DataBits',8,'parity','none','StopBits',1,'FlowControl','none');

fopen(komunikasi); %membuka port untuk komunikasi

out=fscanf(komunikasi); %melihat komunikasi yang diterima

out1=sprintf('%s',out);

fclose(komunikasi) %menutup komunikasi

delete(komunikasi) %menghapus komunikasi

clear komunikasi

4.3.2.3. Inisialisasi Webcam

Untuk melakukan proses pengolahan citra, maka dibutuhkan perangkat keras berupa

webcam. Oleh karena itu, maka diperlukannya proses inisialisasi perangkat keras tersebut agar

dapat dikenali oleh MATLAB.

%proses inisialisasi webcam

Imaqhwinfo;

vid=videoinput('winvideo',1,'RGB24_320x240');

Perintah program “imaqhwinfo” adalah perintah program untuk menampilkan

informasi yang akan disampaikan oleh webcam dan kemudian informasi tersebut akan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 102: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

82

diinisialisasi ke dalam program. Hal ini bertujuan agar antara webcam dengan software Matlab

dapat melakukan komunikasi. Informasi yang tampil adalah adaptor kamera, port webcam,

jenis warna dan resolusi piksel.

4.3.2.4. Proses Pengolahan Citra

Proses pengolahan citra merupakan suatu proses untuk mengolah suatu kualitas gambar

atau citra yang telah diambil webcam agar gambar tersebut dapat dikenali dan memiliki nilai-

nilai tertentu. Nilai-nilai yang telah didapat kemudian diproses untuk mengklasifikasikan

gambar-gambar tertentu. Proses secara berurutan yaitu mula-mula gambar diambil dengan

fungsi “getsnapshoot”, kemudian proses cropping atau pemotongan gambar. Hal ini bertujuan

untuk menghilangkan background atau latar belakang yang tidak dibutuhkan untuk diproses.

gambar yang telah diambil diproses dan diubah menjadi gambar RGB dengan tujuan untuk

mempermudah dalam pemrosesan. Langkah selanjutnya yaitu mengubah ke matrik real agar

nilai citra RGB dapat dihitung. Kemudian langkah terakhir yaitu proses penjumlahan data nilai

citra RGB yang telah diubah ke matrik real menjadi sebuah nilai.

%proses capture gambar

gambar=getsnapshot(vid);

%croping

crop=imcrop(gambar,[124,51 140,51 31,98 27,98]);

%proses merubah ke bentuk rgb

red=crop(:,:,1);

green=crop(:,:,2);

blue=crop(:,:,3);

%ubah ke matrik real

c=double(red)/255;

c1=double(green)/255;

c2=double(blue)/255;

merah=sum(sum(c/50))

hijau=sum(sum(c1/50))

biru=sum(sum(c2/50))

4.3.2.5. Proses Pengenalan Warna Benda

Berdasarkan nilai-nilai dari tabel 4.2, maka dibuat sebuah range yang menentukan

warna benda tersebut. Untuk benda merah range data yang digunakan yaitu

((merah>=15)&&(hijau<=8)&&(biru<=8)), sedangkan untuk benda hijau range data yang

digunakan yaitu ((merah<=3)&&(hijau>=13)&&(biru<=12)), kemudian untuk benda biru

range data yang digunakan yaitu ((merah<=9)&&(hijau<=13)&&(biru>=15)), dan untuk

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 103: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

83

benda bukan warna dasar range data yang digunakan yaitu selain warna merah, hijau dan biru.

Dari data tersebut, maka dapat dibuat range nilai untuk mengetahui dan mengenali dari masing-

masing warna benda. Listing programnya adalah sebagai berikut:

if ((merah>=15)&&(hijau<=8)&&(biru<=8))

set(handles.edit4, 'string', 'MERAH');

merah1=merah1 +1;

set(handles.edit5, 'String', merah1);

guidata(hObject,handles);

fprintf(komunikasi,'r');

pause(1);

guidata(hObject,handles);

elseif ((merah<=3)&&(hijau>=14)&&(biru<=12))

set(handles.edit4, 'string', 'HIJAU');

hijau1=hijau1 +1;

set(handles.edit6, 'String', hijau1);

guidata(hObject,handles);

fprintf(komunikasi,'g');

pause(1);

guidata(hObject,handles);

elseif ((merah<=9)&&(hijau<=13)&&(biru>=15))

set(handles.edit4, 'string', 'BIRU');

biru1=biru1 +1;

set(handles.edit7, 'String', biru1);

guidata(hObject,handles);

fprintf(komunikasi,'b');

pause(1);

guidata(hObject,handles);

else

set(handles.edit4, 'string', 'BUKAN WARNA DASAR');

bukandasar=bukandasar +1;

set(handles.edit8, 'String', bukandasar);

guidata(hObject,handles);

fprintf(komunikasi,'a');

pause(1);

guidata(hObject,handles);

end

Proses berjalannya program jika data memiliki nilai R>=15 && G<=8 && B<=8 maka

akan tampil pada “edit4” bahwa benda yang terdeteksi yaitu merah, kemudian menjumlahkan

nilai merah yang terdeteksi sebanyak satu kemudian hasil penjumlahan tersebut ditampilkan

pada “edit5” lalu mengirimkan karakter ‘r’ secara serial dan memberi jeda selama satu detik.

Jika data memiliki nilai R<=3 && G>=14 && B<=12 maka akan tampil pada “edit4” bahwa

benda yang terdeteksi yaitu hijau, kemudian menjumlahkan nilai hijau yang terdeteksi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 104: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

84

sebanyak satu kemudian hasil penjumlahan tersebut ditampilkan pada “edit6” lalu

mengirimkan karakter ‘g’ secara serial dan memberi jeda selama satu detik.

Jika data memiliki nilai R<=9 && G<=13 && B>=15 maka akan tampil pada “edit4”

bahwa benda yang terdeteksi yaitu biru, kemudian menjumlahkan nilai biru yang terdeteksi

sebanyak satu kemudian hasil penjumlahan tersebut ditampilkan pada “edit7” lalu

mengirimkan karakter ‘b’ secara serial dan memberi jeda selama satu detik. apabila data tidak

berada didalam range yang ada maka akan tampil pada “edit4” bahwa benda yang terdeteksi

yaitu bukan warna dasar, kemudian menjumlahkan nilai bukan warna dasar yang terdeteksi

sebanyak satu kemudian hasil penjumlahan tersebut ditampilkan pada “edit8” lalu

mengirimkan karakter ‘a’ secara serial dan memberi jeda selama satu detik.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 105: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

85

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Dari hasil pengujian serta pengambilan data pada aplikasi pengenalan objek

menggunakan webcam untuk lengan robot pemisah benda berdasarkan warna, dapat diambil

kesimpulan:

1. Lengan robot sudah dapat bekerja dengan baik dalam proses pengambilan dan

pemindahan benda berdasarkan warnanya sesuai dengan tempat yang telah

ditentukan. Tingkat keberhasilannya adalah 100% untuk posisi benda berada di

tengah conveyor dan jarak antar benda minimal 2 cm, sedangkan jika jarak

kurang dari 2 cm tingkat keberhasilan 62,5%.

2. Metode pengenalan warna benda dengan menggunakan nilai citra RGB pada

masing-masing warna benda dapat berfungsi sesuai dengan rencana. Dan sistem

berhasil melakukan counting sesuai dengan jumlah warna benda yang telah

terdeteksi.

3. Waktu yang dibutuhkan keseluruhan sistem tanpa looping untuk menyelesaikan

proses yaitu 25 detik sedangkan waktu yang dibutuhkan sistem dengan

menggunakan looping untuk menyelesaikan proses yaitu 33 detik.

5.2. Saran

Saran-saran bagi pengembangan selanjutnya adalah:

1. Memberikan tambahan variasi warna pada benda agar dapat membandingkan

tingkat keakuratan nilai RGB yang range nilainya sudah ditentukan.

2. Menggunakan metode pengenalan warba benda lain untuk mendeteksi benda

berwarna dengan webcam.

3. Waktu keseluruhan sistem untuk proses pengenalan benda dibuat lebih cepat.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 106: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

86

DAFTAR PUSTAKA

[1] Arismarjito, R., 2011, Robot Lengan Otomatis Sebagai Pemisah Barang Berdasarkan

Warna dengan Menggunakan ATmega8535, Skripsi, Universitas Sanata Dharma

Yogyakarta.

[2] Hamidah, S., 2013, Sistem Pengendalian Robot Lengan Menggunakan Pemrograman

Visual Basic, Skripsi, Universitas Tanjungpura Pontianak.

[3] Suyantoro, F.S., 2010, Robotika – Teori dan implementasinya, 1st ed, C.V ANDI

OFFSET, Yogyakarta.

[4] Goto, S., 2011, Robot Arms, InTech, Croatia.

[5] Sumbodo, W., 2008, Jilid 3, Teknik Produksi Mesin Industri, Direktorat Pembinaan

Sekolah Menengah Kejuruan, Dirjen Manajemen Pendidikan Dasar dan Menengah,

Hak Cipta Depdiknas.

[6] ---, 2014, Data sheet Mikrokontroler Atmega32, Atmel

[7] Bejo, A., 2008, C dan AVR Rahasia Kemudahan Bahasa C dalam Mikrokontroler

ATMEGA32, 1st ed, GRAHA ILMU, Yogyakarta.

[8] Winoto, A., 2002, Mikrokontroler AVR ATEMEGA8/8535/32 dan Pemrogramannya

dengan Bahasa C pada WinAVR, INFORMATIKA, Bandung.

[9] Heryanto M.A., ST., Ir. Wisni Adi P., 2008, Pemrograman Bahasa C untuk

Mikrokontroler ATMEGA32, 1st ed, C.V ANDI OFFSET, Yogyakarta.

[10] Adrianto, H., 2008, Pemrograman Mikrokontroler AVR ATMEGA 16, 1st ed,

INFORMATIKA, Bandung.

[11] http://www.electroniclab.com, diakses 27 November 2014.

[12] http://www.parralax.com/motor servo, diakses 27 November 2014.

[13] Tipler, P.A., 1998, FISIKA Untuk Sains dan Teknik, edisi 3 jilid 1, Erlangga,

Bandung.

[14] http://depokinstruments.com/2010/02/08/teknik-pengendalian-lcd-karakteri/#more-

585, diakses tanggal 27 November 2014.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 107: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

87

[15] Laksmito, B., 2010, Pengertian webcam dan jenis – jenisnya,

http://shaleholic.com/pengertian-webcam-dan-jenisnya, diakses 27 November 2014.

[16] http://thesis.binus.ac.id/Doc/Bab2/, diakses 1 Desember 2014

[17] Erwi, J., 2010, Pembuatan Perangkat Lunak Menggunakan Paradigma Perangkat

Lunak Secara Waterfall, UNIKOM.

[18] Alfatah, H., 2007, Konversi Format Citra RGB ke Grayscale Menggunakan Visual

Basic, STMIK AMIKOM Yogyakarta.

[19] Matlab, 2012, Cara Crop Gambar, http://matlab-cara-crop-gambar.html, diakses 1

Desember 2014

[20] http://www.fairchildsemi.com/regulator7805, diakses 27 November 2014.

[21] Honeycutt, R.A., 1988, Op Amps and Linear Integrated Circuits, Delmar

Publishers Inc., New York.

[22] Fathoni, 2010, Unjuk Kerja Catu Daya 12 Volt 2A dengan Pass Element Transistor

NPN dan PNP, Politeknik Negeri Malang.

[23] Zuhal, dan Zhanggischan, 2004, Prinsip Dasar Elektroteknik, PT Gramedia Pustaka

Utama, Jakarta.

[24] Budiharto, W., 2008, Panduan Praktikum Mikrokontroler AVR ATmega16, PT Elex

Media Komputindo, Jakarta.

[25] www.modmypi.com/mg996r-servo-motor, diakses 29 November 2014.

[26] http://www.vcc2gnd.com/2014/05/sg90-tower-pro-9g-micro-servo.html, diakses 29

November 2014.

[27] ----, 2002, Data Sheet Transistor 2N3904, KEC.

[28] Boylestad, R. and Nashelsky. L., Electronic Devices and Circuit Theory, seventh

edition, Prentice Hall, New Jersey Columbus, Ohio.

[29] ----, 1999, Data Sheet Transistor 2N3055, STMicroelectronics.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 108: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

LAMPIRAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 109: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L1

Berat benda setelah ditimbang

Rangkaian Regulator

Rangkaian Sensor Photodioda

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 110: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L2

Rangkaian Minimum System Atmega8535

Spesifikasi Servo Towerpro MG946R [17]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 111: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L3

Spesifikasi Servo Towerpro SG90 [26]

Spesifikasi Webcam Logitech C270h [15]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 112: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L4

Datasheet Transistor 2N3904 [22]

Datasheet Transistor 2N3055 [29]

Listing Program CVAVR

/*****************************************************

Project : APLIKASI PENGENALAN OBJEK MENGGUNAKAN WEBCAM UNTUK

LENGAN ROBOT

PEMISAH BENDA BERDASARKAN WARNA

Date : 22/06/2015

Chip type : ATmega32

Program type : Application

Clock frequency : 11,059200 MHz

Memory model : Small

External RAM size : 0

Data Stack size : 512

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 113: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L5

*****************************************************/

#include <mega32.h>

// Alphanumeric LCD Module functions

#asm

.equ __lcd_port=0x15 ;PORTC

#endasm

#include <lcd.h>

// Standard Input/Output functions

#include <stdio.h>

#define servo1 PORTB.0

#define servo2 PORTB.1

#define servo3 PORTB.2

#define servo4 PORTB.3

signed int i=0,data1=0,data2=0,data3=0,data4=0;

int sensor,a,z;

unsigned char sens[16],b[16];

// Timer 0 overflow interrupt service routine

interrupt [TIM0_OVF] void timer0_ovf_isr(void)

{

// Place your code here

i++;

if (i==864)

{i=0;}

else

{

if (i<data1)

{servo1=1;}

else

{servo1=0;}

if (i<data2)

{servo2=1;}

else

{servo2=0;}

if (i<data3)

{servo3=1;}

else

{servo3=0;}

if (i<data4)

{servo4=1;}

else

{servo4=0;}

}

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 114: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L6

#include <delay.h>

#define ADC_VREF_TYPE 0x40

// Read the AD conversion result

unsigned int read_adc(unsigned char adc_input)

{

ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);

// Delay needed for the stabilization of the ADC input voltage

delay_us(10);

// Start the AD conversion

ADCSRA|=0x40;

// Wait for the AD conversion to complete

while ((ADCSRA & 0x10)==0);

ADCSRA|=0x10;

return ADCW;

}

// Declare your global variables here

void photodioda()

{

sensor=read_adc(0)/2;

lcd_gotoxy(0,1);

sprintf(sens,"sensor=%d",sensor);

lcd_puts(sens);

delay_ms(10);

}

void komunikasi()

{

a=getchar();

lcd_gotoxy(0,0);

sprintf(b,"komunikasi= %d" ,a);

lcd_puts(b);

delay_ms(100);

lcd_clear();delay_ms(10);

}

void siaga()

{

data1=72;

delay_ms(100);

data3=94;

delay_ms(100);

data2=53;

delay_ms(100);

data4=89;

delay_ms(100);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 115: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L7

}

void siaga_grip()

{

data1=72;

delay_ms(100);

data2=53;

delay_ms(100);

data3=94;

delay_ms(100);

data4=129;

delay_ms(100);

}

void ambil_benda()

{

data1=72;

delay_ms(100);

data3=80;

delay_ms(100);

data2=84;

delay_ms(100);

data4=129;

delay_ms(100);

}

void merah()

{

data1=92;

delay_ms(100);

data3=67;

delay_ms(100);

data2=82 ;

delay_ms(100);

data4=89;

delay_ms(100);

}

void hijau()

{

data1=111;

delay_ms(100);

data2=53 ;

delay_ms(100);

data3=90;

delay_ms(100);

data4=89;

delay_ms(100);

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 116: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L8

void biru()

{

data1=48;

delay_ms(100);

data3=67;

delay_ms(100);

data2=82 ;

delay_ms(100);

data4=89;

delay_ms(100);

}

void gripper()

{

data4=89;

delay_ms(100);

}

void gerak_ambil()

{

siaga();

delay_ms(500);

for (data3=94;data3>=78;data3--)

{

delay_ms(50);

};

for (data2=53;data2<=84;data2++)

{

delay_ms(50);

};

for (data4=89;data4<=111;data4++)

{

delay_ms(50);

};

ambil_benda();

delay_ms(500);

for (data2=84;data2>=53;data2--)

{

delay_ms(50);

};

delay_ms(50);

for (data3=72;data3<=94;data3++)

{

delay_ms(50);

};

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 117: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L9

siaga_grip();

delay_ms(500);

}

void gerak_merah()

{

//merah

gerak_ambil();

delay_ms(500);

for (data3=94;data3>=67;data3--)

{

delay_ms(50);

};

for (data1=72;data1<=92;data1++)

{

delay_ms(50);

};

for (data2=53;data2<=82;data2++)

{

delay_ms(50);

};

for (data4=129;data4>=89;data4--)

{

delay_ms(50);

};

merah();

delay_ms(500);

gripper();

delay_ms(500);

for (data2=82;data2>=53;data2--)

{

delay_ms(50);

};

for (data1=92;data1>=71;data1--)

{

delay_ms(50);

};

for (data3=67;data3<=94;data3++)

{

delay_ms(50);

};

}

void gerak_hijau()

{

//hijau

gerak_ambil();

delay_ms(500);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 118: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L10

for (data3=94;data3>=90;data3--)

{

delay_ms(50);

};

for (data1=72;data1<=111;data1++)

{

delay_ms(50);

};

for (data4=129;data4>=89;data4--)

{

delay_ms(50);

};

hijau();

delay_ms(500);

gripper();

delay_ms(500);

for (data1=111;data1>=71;data1--)

{

delay_ms(50);

};

for (data3=90;data3<=94;data3++)

{

delay_ms(50);

};

}

void gerak_biru()

{

//biru

gerak_ambil();

delay_ms(500);

for (data3=94;data3>=67;data3--)

{

delay_ms(50);

};

for (data1=72;data1>=48;data1--)

{

delay_ms(50);

};

for (data2=53;data2<=82;data2++)

{

delay_ms(50);

};

for (data4=129;data4>=89;data4--)

{

delay_ms(50);

};

biru();

delay_ms(500);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 119: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L11

gripper();

delay_ms(500);

for (data2=82;data2>=53;data2--)

{

delay_ms(50);

};

for (data1=48;data1<=71;data1++)

{

delay_ms(50);

};

for (data3=67;data3<=94;data3++)

{

delay_ms(50);

};

}

void main(void)

{

// Declare your local variables here

// Input/Output Ports initialization

// Port A initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTA=0x00;

DDRA=0x00;

// Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTB=0x00;

DDRB=0xFF;

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTC=0x00;

DDRC=0x00;

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTD=0x00;

DDRD=0xFF;

// Timer/Counter 0 initialization

// Clock source: System Clock

// Clock value: 11059,200 kHz

// Mode: Normal top=FFh

// OC0 output: Disconnected

TCCR0=0x01;

TCNT0=0x00;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 120: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L12

OCR0=0x00;

// Timer/Counter 1 initialization

// Clock source: System Clock

// Clock value: Timer 1 Stopped

// Mode: Normal top=FFFFh

// OC1A output: Discon.

// OC1B output: Discon.

// Noise Canceler: Off

// Input Capture on Falling Edge

// Timer 1 Overflow Interrupt: Off

// Input Capture Interrupt: Off

// Compare A Match Interrupt: Off

// Compare B Match Interrupt: Off

TCCR1A=0x00;

TCCR1B=0x00;

TCNT1H=0x00;

TCNT1L=0x00;

ICR1H=0x00;

ICR1L=0x00;

OCR1AH=0x00;

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00;

// Timer/Counter 2 initialization

// Clock source: System Clock

// Clock value: Timer 2 Stopped

// Mode: Normal top=FFh

// OC2 output: Disconnected

ASSR=0x00;

TCCR2=0x00;

TCNT2=0x00;

OCR2=0x00;

// External Interrupt(s) initialization

// INT0: Off

// INT1: Off

// INT2: Off

MCUCR=0x00;

MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=0x01;

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity

// USART Receiver: On

// USART Transmitter: On

// USART Mode: Asynchronous

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 121: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L13

// USART Baud Rate: 9600

UCSRA=0x00;

UCSRB=0x18;

UCSRC=0x86;

UBRRH=0x00;

UBRRL=0x47;

// Analog Comparator initialization

// Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80;

SFIOR=0x00;

// ADC initialization

// ADC Clock frequency: 691,200 kHz

// ADC Voltage Reference: AVCC pin

ADMUX=ADC_VREF_TYPE & 0xff;

ADCSRA=0x84;

// LCD module initialization

lcd_init(16);

// Global enable interrupts

#asm("sei")

siaga();

delay_ms(500);

while (1)

{

// Place your code here

photodioda();

delay_ms(10);

if (sensor>=200)

{

delay_ms(100);

PORTD.2=0;delay_ms(5);

z=1;

while(z)

{

a=getchar();

if(a==114)

{

lcd_gotoxy(0,1);lcd_putsf("BENDA MERAH");delay_ms(1000);

gerak_merah();delay_ms(10);

lcd_clear();delay_ms(10);z=0;

}

else if(a==103)

{

lcd_gotoxy(0,1);lcd_putsf("BENDA HIJAU");delay_ms(1000);

gerak_hijau();delay_ms(10);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 122: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L14

lcd_clear();delay_ms(10); z=0;

}

else if(a==98)

{

lcd_gotoxy(0,1);lcd_putsf("BENDA BIRU");delay_ms(1000);

gerak_biru();delay_ms(10);

lcd_clear();delay_ms(10); z=0;

}

else if(a==97)

{

lcd_gotoxy(0,1);lcd_putsf("BUKAN WARNA DASAR");delay_ms(1000);

PORTD.2=1;delay_ms(500);

lcd_clear();delay_ms(10); z=0;

}

}

}

else

{PORTD.2=1;delay_ms(5);}

};

}

Listing Program GUI Matlab

function varargout = rgb(varargin)

% RGB M-file for rgb.fig

% RGB, by itself, creates a new RGB or raises the existing

% singleton*.

%

% H = RGB returns the handle to a new RGB or the handle to

% the existing singleton*.

%

% RGB('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in RGB.M with the given input arguments.

%

% RGB('Property','Value',...) creates a new RGB or raises the

% existing singleton*. Starting from the left, property value pairs are

% applied to the GUI before rgb_OpeningFcn gets called. An

% unrecognized property name or invalid value makes property application

% stop. All inputs are passed to rgb_OpeningFcn via varargin.

%

% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one

% instance to run (singleton)".

%

% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help rgb

% Last Modified by GUIDE v2.5 25-Jun-2015 01:08:56

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 123: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L15

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @rgb_OpeningFcn, ...

'gui_OutputFcn', @rgb_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before rgb is made visible.

function rgb_OpeningFcn(hObject, eventdata, handles, varargin)

clc;

global merah1

global hijau1

global biru1

global bukandasar

merah1=0;

hijau1=0;

biru1=0;

bukandasar=0;

guidata(hObject, handles);

% This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to rgb (see VARARGIN)

% Choose default command line output for rgb

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes rgb wait for user response (see UIRESUME)

% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.

function varargout = rgb_OutputFcn(hObject, eventdata, handles)

% varargout cell array for returning output args (see VARARGOUT);

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 124: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L16

% Get default command line output from handles structure

varargout{1} = handles.output;

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles)

global merah1

global hijau1

global biru1

global bukandasar

guidata(hObject,handles);

%komunikasi serial setting baudrate and etc

baudr=9600;

databit=8;

stopbit=1;

%data yang dikirimkan

komunikasi=serial(handles.PORT);

guidata(hObject,handles);

%setting hardware diperlukan

set(komunikasi,'BaudRate',baudr,'DataBits',databit,'parity','none','StopBits',stopbit,'FlowCo

ntrol','none');

%membuka port untuk komunikasi

fopen(komunikasi);

if (out1==97)

%proses inisialisasi webcam

vid=videoinput('winvideo',1,'RGB24_320x240');

%proses capture gambar

gambar=getsnapshot(vid);

crop=imcrop(gambar,[124.51 140.51 31.98 27.98]);

imshow(crop);

%proses merubah ke bentuk rgb

red=crop(:,:,1);

green=crop(:,:,2);

blue=crop(:,:,3);

%ubah ke matrik real

c=double(red)/255;

c1=double(green)/255;

c2=double(blue)/255;

merah=sum(sum(c/50));

hijau=sum(sum(c1/50));

biru=sum(sum(c2/50));

%tampilkan pada axes

axes(handles.axes1);

imshow(crop);

set(handles.edit4, 'string', '');

set(handles.edit1, 'string', merah);

set(handles.edit2, 'string', hijau);

set(handles.edit3, 'string', biru);

if ((merah>=15)&&(hijau<=8)&&(biru<=8))

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 125: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L17

set(handles.edit4, 'string', 'MERAH');

merah1=merah1 +1;

set(handles.edit5, 'String', merah1);

guidata(hObject,handles);

fprintf(komunikasi,'r');

guidata(hObject,handles);

elseif ((merah<=3)&&(hijau>=14)&&(biru<=12))

set(handles.edit4, 'string', 'HIJAU');

hijau1=hijau1 +1;

set(handles.edit6, 'String', hijau1);

guidata(hObject,handles);

fprintf(komunikasi,'g');

guidata(hObject,handles);

elseif ((merah<=9)&&(hijau<=13)&&(biru>=15))

set(handles.edit4, 'string', 'BIRU');

biru1=biru1 +1;

set(handles.edit7, 'String', biru1);

guidata(hObject,handles);

fprintf(komunikasi,'b');

guidata(hObject,handles);

else

set(handles.edit4, 'string', 'BUKAN WARNA DASAR');

bukandasar=bukandasar +1;

set(handles.edit8, 'String', bukandasar);

guidata(hObject,handles);

fprintf(komunikasi,'a');

guidata(hObject,handles);

end

%menghapus koneksi

pause(0.5);

fclose(komunikasi);

delete(komunikasi)

clear komunikasi

clc;

end

% hObject handle to pushbutton1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in pushbutton2.

function pushbutton2_Callback(hObject, eventdata, handles)

global merah

global hijau

global biru

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 126: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L18

global bukandasar

guidata(hObject,handles);

cla;

merah=0;

set(handles.edit5, 'String', merah);

set(handles.edit1, 'String', merah);

hijau=0;

set(handles.edit6, 'String', hijau);

set(handles.edit2, 'String', hijau);

biru=0;

set(handles.edit7, 'String', biru);

set(handles.edit3, 'String', biru);

bukandasar=0;

set(handles.edit8, 'String', bukandasar);

set(handles.edit4, 'String', bukandasar);

guidata(hObject,handles);

% hObject handle to pushbutton2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in pushbutton3.

function pushbutton3_Callback(hObject, eventdata, handles)

guidata(hObject,handles);

close all;

clear all;

% hObject handle to pushbutton3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% --- Executes on selection change in popupmenu1.

function popupmenu1_Callback(hObject, eventdata, handles)

contents = get(hObject,'Value');

switch contents

case 1

handles.PORT='COM1';

case 2

handles.PORT='COM2';

case 3

handles.PORT='COM3';

case 4

handles.PORT='COM4';

case 5

handles.PORT='COM5';

case 6

handles.PORT='COM6';

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 127: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L19

case 7

handles.PORT='COM7';

case 8

handles.PORT='COM8';

case 9

handles.PORT='COM9';

case 10

handles.PORT='COM10';

case 11

handles.PORT='COM11';

case 12

handles.PORT='COM12';

case 13

handles.PORT='COM13';

case 14

handles.PORT='COM14';

case 15

handles.PORT='COM15';

case 16

handles.PORT='COM33';

case 17

handles.PORT='COM34';

case 18

handles.PORT='COM35';

end

guidata(hObject,handles);

% hObject handle to popupmenu1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: contents = get(hObject,'String') returns popupmenu1 contents as cell array

% contents{get(hObject,'Value')} returns selected item from popupmenu1

% --- Executes during object creation, after setting all properties.

function popupmenu1_CreateFcn(hObject, eventdata, handles)

% hObject handle to popupmenu1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit5_Callback(hObject, eventdata, handles)

% hObject handle to edit5 (see GCBO)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 128: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L20

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit5 as text

% str2double(get(hObject,'String')) returns contents of edit5 as a double

% --- Executes during object creation, after setting all properties.

function edit5_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit5 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit6_Callback(hObject, eventdata, handles)

% hObject handle to edit6 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit6 as text

% str2double(get(hObject,'String')) returns contents of edit6 as a double

% --- Executes during object creation, after setting all properties.

function edit6_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit6 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit7_Callback(hObject, eventdata, handles)

% hObject handle to edit7 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit7 as text

% str2double(get(hObject,'String')) returns contents of edit7 as a double

% --- Executes during object creation, after setting all properties.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 129: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L21

function edit7_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit7 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit8_Callback(hObject, eventdata, handles)

% hObject handle to edit8 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit8 as text

% str2double(get(hObject,'String')) returns contents of edit8 as a double

% --- Executes during object creation, after setting all properties.

function edit8_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit8 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit1_Callback(hObject, eventdata, handles)

% hObject handle to edit1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as text

% str2double(get(hObject,'String')) returns contents of edit1 as a double

% --- Executes during object creation, after setting all properties.

function edit1_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 130: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L22

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit2_Callback(hObject, eventdata, handles)

% hObject handle to edit2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit2 as text

% str2double(get(hObject,'String')) returns contents of edit2 as a double

% --- Executes during object creation, after setting all properties.

function edit2_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit3_Callback(hObject, eventdata, handles)

% hObject handle to edit3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit3 as text

% str2double(get(hObject,'String')) returns contents of edit3 as a double

% --- Executes during object creation, after setting all properties.

function edit3_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit4_Callback(hObject, eventdata, handles)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 131: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L23

% hObject handle to edit4 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit4 as text

% str2double(get(hObject,'String')) returns contents of edit4 as a double

% --- Executes during object creation, after setting all properties.

function edit4_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit4 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit9_Callback(hObject, eventdata, handles)

% hObject handle to edit9 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit9 as text

% str2double(get(hObject,'String')) returns contents of edit9 as a double

% --- Executes during object creation, after setting all properties.

function edit9_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit9 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit10_Callback(hObject, eventdata, handles)

% hObject handle to edit10 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit10 as text

% str2double(get(hObject,'String')) returns contents of edit10 as a double

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 132: TUGAS AKHIR APLIKASI PENGENALAN WARNA MENGGUNAKAN … · APLIKASI PENGENALAN WARNA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT P EMISAH ... GUI pada software MATLAB digunakan untuk …

L24

% --- Executes during object creation, after setting all properties.

function edit10_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit10 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit11_Callback(hObject, eventdata, handles)

% hObject handle to edit11 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit11 as text

% str2double(get(hObject,'String')) returns contents of edit11 as a double

% --- Executes during object creation, after setting all properties.

function edit11_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit11 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI