TUGAS AKHIR PROTOTIPE PEMILAH BENDA BERDASARKAN...
Transcript of TUGAS AKHIR PROTOTIPE PEMILAH BENDA BERDASARKAN...
TUGAS AKHIR
PROTOTIPE PEMILAH BENDA
BERDASARKAN BENTUK DAN WARNA
MENGGUNAKAN CONVEYOR
Diajukan untuk memenuhi salah syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
disusun oleh :
ERIK FIRMANTO DA LOVES
Nim : 125114013
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
i
TUGAS AKHIR
PROTOTIPE PEMILAH BENDA
BERDASARKAN BENTUK DAN WARNA
MENGGUNAKAN CONVEYOR
Diajukan untuk memenuhi salah syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
disusun oleh :
ERIK FIRMANTO DA LOVES
Nim : 125114013
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
FINAL PROJECT
PROTOTYPE OF SEPARATOR OBJECTS BASED
ON OBJECT SHAPE AND COLOR
BY USING CONVEYOR
In partial fulfilment of the requirements
for the degree of Sarjana Teknik
in Electrical Engineering Study Program
Faculty of Science and Technology Sanata Dharma University
ERIK FIRMANTO DA LOVES
Nim : 125114013
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTEMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO :
“Sabar dalam mengatasi kesulitan dan
bertindak bijaksana dalam mengatasinya
adalah sesuatu hal yang utama”
Skripsi ini kupersembahkan untuk :
Tuhan Yesus Kristus penyelamatku
Bunda Maria dan Malaikat pelindungku…
Papa dan Mama tercinta, untuk doanya, serta
dukungannya secara moral maupun materi
Untuk adik-adik ku terkasih yang selalu memberi semangat
Kekasih hati ku yang selalu setia mendukungku
Almamaterku tercinta Teknik Elektro Universitas Sanata Dharma.
Tempatku mengali ilmu untuk membangun cita-cita dan
kesuksesan...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
INTISARI
Di dunia teknologi yang semakin berkembang pesat ini banyak sekali pengaruhnya
pada kehidupan manusia. Oleh karena itu, agar dapat mempermudah pekerjaan manusia,
conveyor pintar dibuat dengan tujuan meringankan pekerjaan manusia dan memisahkan
benda berdasarkan bentuk dan warna serta mengurangi resiko terjadinya kecelakaan pada
manusia.
Conveyor pintar ini berkerja secara otomatis sebagai pemisah benda berdasarkan
bentuk dan warna menggunakan ATmega32 yang terdiri dari minimum sistem yang
berfungsi untuk mengontrol pergerakan conveyor satu dan conveyor dua, GUI pada software
MATLAB yang digunakan untuk menampilkan nilai warna benda, mencari bentuk benda
dan jumlah warna benda yang terdeteksi. Data citra RGB yang dihasilkan oleh webcam
Logitech C170H. Benda tersebut diletakkan pada conveyor satu dan dihantar ke conveyor
dua sebagai penerima.
Hasil dari penelitian ini adalah conveyor pintar sudah mampu berkerja secara
otomatis dalam proses memilah benda berdasarkan bentuk dan warna. Untuk proses
pengenalan bentuk dan warna benda sudah berhasil 100% dalam proses pengidentifikasi
benda menggunakan program MATLAB GUI. Untuk dibagian mekanik conveyor pintar ini
juga sudah berkerja sesuai dengan perancangan awal dan berhasil memilah benda dengan
benar serta akurat dan memiliki keberhasilan 100%.
Kata kunci : Conveyor pintar, webcam, MATLAB, citra RGB, ATmega32.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
In a world of rapidly evolving technology that is getting a lot of influence on human
life. Therefore, in order to facilitate the work of human beings, intelligent conveyor made
with the goal of easing the work of human and separates objects based on shape and color
as well as reducing the risk of accidents in human.
Smart conveyor work automatically as the separation of objects by shape and color
using ATmega32 consisting of minimum system that functions to control the movement of
the conveyor one and conveyor two, GUI in MATLAB software is used to display the color
values of objects, searching for shapes and the color number of objects detected. RGB image
data generated by a Logitech webcam C170H. The object is placed on a conveyor one and
the conveyor conductivity to two recipients.
The results of this study are smart conveyor has been able to work automatically in
the process of sorting objects by shape and color. For the process of recognition of shapes
and colors of objects already succeeded 100% in the process of identifying objects using
MATLAB programs GUI. For the mechanical conveyor section is also already working
smart in accordance with the initial design and managed to sort objects correctly and
accurately and have a 100% success.
Keywords: Smart conveyor, webcam, MATLAB, RGB image, ATmega32.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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) Sudi Mungkasi, S.Si., M.Math.Sc., Ph.D 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) Ir. Tjendro.,M.Kom., 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 Wiwien Widyastuti, S.T., M.T. dan Bapak Dr.Iswanjono 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, papa Remi Gius Elang dan mama Agustina Pali atas kasih
sayang dan dukungan serta doa yang tiada henti.
8) Adik-adik tercinta Jon Martin, Roy Martin dan Jenny Martin yang selalu mendukung
dan mendoakan saya, sehingga dapat menyelesaikan tugas belajar dengan baik.
9) Tresia Jawa Liwun sebagai teman, sahabat, dan kekasih yang selalu menyemangati
baik dalam suka maupun duka serta mendukung penulis sampai terselesaikannya
tugas akhir ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 ........................................................................................... vx
DAFTAR TABEL ............................................................................................... xviii
BAB I PENDAHULUAN
1.1. Latar Belakang ......................................................................................... 1
1.2. Tujuan dan Manfaat .................................................................................. 2
1.3. Batasan Masalah ....................................................................................... 3
1.4. Metodologi Penelitian ............................................................................... 4
1.5. Sistematika Penulisan ............................................................................... 5
BAB II DASAR TEORI
2.1. Belt Conveyor ........................................................................................... 6
2.2. Mikrokontroler AVR ATmega32 ............................................................... 6
2.2.1. Arsitektur AVR ATmega32 ............................................................. 7
2.2.2. Deskripsi Mikrokontroler ATmega32 ............................................... 7
2.2.3. Organisasi Memori AVR ATmega32 ............................................... 8
2.2.3.1. Memori Program .................................................................. 8
2.2.3.2. Memori Data ........................................................................ 9
2.4.4. Interupsi ........................................................................................... 9
2.4.5. Timer/Counter ................................................................................. 9
2.2.5.1. Timer/counter0 .................................................................... 10
2.2.5.2. Mode Operasi ....................................................................... 10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
2.4.6. Komunikasi Serial USART .............................................................. 11
2.2.6.1. Inisialisasi Serial USART .................................................... 12
2.3. Regulator ic 78xx dan Transistor Penguat Arus ....................................... 16
2.4. Photodioda .............................................................................................. 18
2.5. Infrared ................................................................................................... 21
2.6. Limit switch Sebagai Saklar ..................................................................... 22
2.7. Webcam .................................................................................................. 22
2.8. Motor DC ................................................................................................. 23
2.9. Modul Relay 5v ........................................................................................ 24
2.9.1. Prinsip Kerja Relay ........................................................................ 25
2.9.2. Fungsi dan Aplikasi Relay ............................................................. 26
2.10. Benda Tiga Dimensi ............................................................................... 26
2.11. Citra ....................................................................................................... 26
2.10.1. Definisi Citra ............................................................................... 26
2.10.2. Pengolahan Citra Digital .............................................................. 27
2.12. Pemrosesan Citra .................................................................................... 27
2.11.1. RGB ............................................................................................ 27
2.11.2. Cropping ..................................................................................... 28
2.12. Metode Pengenalan Warna dan Bentuk .................................................... 29
BAB III PERANCANGAN PENELITIAN
3.1. Proses Kerja dan Mekanisme Conveyor Pintar ........................................... 30
3.2. Perancangan Mekanik .............................................................................. 31
3.3. Perancangan Perangkat Keras ................................................................... 33
3.3.1. Minimum System ATmega32 ......................................................... 34
3.3.2. Webcam Logitech Seri C170h ........................................................ 35
3.3.3. Sensor Photodioda ........................................................................ 36
3.3.4. Regulator dan Penguat Arus .......................................................... 37
3.3.5. Modul Relay 5 Volt Dc ................................................................. 38
3.3.6. Benda Tiga Dimensi ...................................................................... 39
3.3.7. Metode Pengenalan Warna dan Bentuk ......................................... 39
3.4. Perancangan Perangkat Lunak .................................................................. 40
3.4.1. Flowchart Program Keseluruhan Sistem ........................................ 40
3.4.2. Flowchart Program Interrupt Motor Conveyor Satu dan Dua ........ 42
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
3.4.3. Flowchart Program Pengenalan Bentuk dan Warna Pada Matlab .... 45
3.4.4. Perancangan GUI MATLAB ......................................................... 46
3.4.5. Flowchart Program Rangkaian Photodioda Pada Conveyor Dua .... 47
3.4.6. Bagaimana Proses Pengenalan Bentuk dan Warna Benda ............... 48
BAB IV HASIL PENGAMATAN DAN PEMBAHASAN
4.1. Bentuk Fisik dan Sistem Kerja Conveyor Pintar ........................................ 49
4.2. Hasil Data Pengujian dan Pembahasan ..................................................... 52
4.2.1. Pengujian Nilai Batasan Pada RGB ............................................ 52
4.2.2. Pengujian Nilai Citra RGB Warna dan Bentuk Benda ................ 56
4.2.3. Pengujian Tingkat Keberhasilan Sistem Mendeteksi Benda ....... 61
4.2.4. Pengujian Tingkat keberhasilan Sistem conveyor Pintar Memilah
Benda Berdasarkan Bentuk Dan Warna ..................................... 65
4.3. Analisa dan Pembahasan Perangkat Lunak ............................................... 69
4.3.1. Aplikasi CodeVision AVR .......................................................... 69
4.3.1.1. Pengendali Sensor Photodioda ................................... 69
4.3.1.2. Pengendali Komunikasi USART ................................ 71
4.3.1.3. Pengendali Motor Dc ................................................. 72
4.3.1.4. Subrutin Program Utama ............................................ 75
4.3.2. Aplikasi MATLAB .................................................................... 76
4.3.2.1. Tampilan Gui MATLAB ............................................ 77
4.3.2.2. Inisialisaisi Komunikasi Serial ................................... 77
4.3.2.3. Inisialisasi Webcam .................................................... 78
4.3.2.4. Proses Pengelolahan Citra .......................................... 79
4.3.2.5. Proses Pengenalan Bentuk dan Warna Benda .............. 81
Kesimpulan dan Saran ........................................................................................ 84
Daftar Pustaka .................................................................................................... 85
Lampiran ............................................................................................................. L1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
DAFTAR GAMBAR
Gambar 2.1. Conveyor ......................................................................................... 6
Gambar 2.2. Konfigurasi Pin mikrokontroler ATmega32 .................................... 7
Gambar 2.3. Mode Phase Correct PWM ............................................................. 11
Gambar 2.4. Mode Fast PWM ............................................................................ 11
Gambar 2.5. Register UDR .................................................................................. 12
Gambar 2.6. Register UCSRA ............................................................................. 13
Gambar 2.7. Register UCSRB ............................................................................ 14
Gambar 2.8. Register UCSRC ............................................................................ 15
Gambar 2.9. Konfigurasi Pin IC Regulator ......................................................... 16
Gambar 2.10. Rangkaian Umum Regulator 78xx .................................................. 17
Gambar 2.11. Rangkaian Catu Daya Dengan Penguat ........................................... 18
Gambar 2.12. Bentuk Photodioda dan Simbol ...................................................... 19
Gambar 2.13. Respon Relatif Spektral Untuk Si, Ge, Dan Selenium Dibandingkan
Dengan Mata Manusia ................................................................... 19
Gambar 2.14. Hubungan I𝜆 Dengan Fc Pada Photodioda ............................................. 20
Gambar 2.15. Rangkaian Sensor Photodioda ...................................................... 21
Gambar 2.16. Aplikasi Sensor Photodioda ...................................................... 21
Gambar 2.17. Konstruksi, Simbol dan Bentuk Limit Switch ................................. 22
Gambar 2.18. Webcam Logitech Seri C170h ...................................................... 22
Gambar 2.19. Susunan Komponen pada Motor DC .............................................. 23
Gambar 2.20. Modul Relay 2 Channel 5v ...................................................... 24
Gambar 2.21. Modul Relay 1 Channel 5v ...................................................... 24
Gambar 2.22. Simbol Relay ........................... ..................................................... 24
Gambar 2.23. Struktur Sederhana Relay ...................................................... 25
Gambar 2.24. Contoh Benda Tiga Dimensi ...................................................... 26
Gambar 2.25. Pengaturan Citra RGB .................................................................... 28
Gambar 2.26. (a) Citra sebelum dicrop, (b) Citra sesudah dicrop ........................... 28
Gambar 3.1. Diagram Blok Sistem ..................................................................... 31
Gambar 3.2. keseluruhan Sistem Conveyor Dilihat Dari Depan .......................... 31
Gambar 3.3. Conveyor Dilihat Dari Samping ...................................................... 32
Gambar 3.4. Conveyor Dilihat Dari depan .......................................................... 32
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
Gambar 3.5. Ukuran Conveyor ........................................................................... 32
Gambar 3.6. Rangkaian Osilator ATmega32 ....................................................... 34
Gambar 3.7. Rangkaian Reset ATmega32 .......................................................... 35
Gambar 3.8. Webcam Logitech Seri C170h ........................................................ 35
Gambar 3.9. Rangkaian Sensor Photodioda ........................................................ 36
Gambar 3.10. A. Rangkaian Regulator 5v dan B. Rangkaian Regulator Dengan
Penguat Arus 12v ........................................................................... 37
Gambar 3.11. Rangkaian Modul Relay 5v ............................................................ 38
Gambar 3.12. Benda Tiga Dimensi ....................................................................... 39
Gambar 3.13. Flowchat Keseluruhan Sistem ........................................................ 41
Gambar 3.14. Flowchat Gerak Motor Conveyor Satu Dan Motor Conveyor Dua .. 42
Gambar 3.15. Flowchat Pengenalan Warna dan Bentuk Benda ............................. 45
Gambar 3.16. Perancangan GUI Pada Matlab ....................................................... 46
Gambar 3.17. Flowchat Rangkaian Photodioda pada Conveyor Kedua ................. 47
Gambar 4.1. Minimum System ATmega32 ......................................................... 49
Gambar 4.2. Modul Relay 5v .............................................................................. 49
Gambar 4.3. Regulator ....................................................................................... 50
Gambar 4.4. Rangkaian Sensor ........................................................................... 50
Gambar 4.5. Conveyor Dua ................................................................................ 50
Gambar 4.6. Conveyor Satu ................................................................................ 50
Gambar 4.7. Benda ............................................................................................. 50
Gambar 4.8. Wadah Untuk Benda ...................................................................... 50
Gambar 4.9. Conveyor Pintar .............................................................................. 51
Gambar 4.10. Pengujian Benda Kotak Merah ....................................................... 62
Gambar 4.11. Pengujian Benda Kotak Hijau ......................................................... 63
Gambar 4.12. Pengujian Benda Bola Merah ......................................................... 64
Gambar 4.13. Pengujian Benda Bola Hijau ........................................................... 64
Gambar 4.14. Pengujian Benda Reject .................................................................. 65
Gambar 4.15. Grafik Perbandingan Antara Bentuk Kotak Dan Bola ..................... 67
Gambar 4.16. Grafik Perbandingan Merah Dan Hijau Untuk Benda Kotak Merah . 67
Gambar 4.17. Grafik Perbandingan Merah Dan Hijau Untuk Benda Bola Merah ... 68
Gambar 4.18. Grafik Perbandingan Merah Dan Hijau Untuk Benda Kotak hijau ... 68
Gambar 4.19. Grafik Perbandingan Merah Dan Hijau Untuk Benda Bola hijau ..... 69
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
Gambar 4.20. Listing Program ADC ..................................................................... 70
Gambar 4.21. Listing Program Pengendali Conveyor ............................................ 70
Gambar 4.22. Listing Program Komunikasi USART ............................................ 71
Gambar 4.23. Program Pengerak Conveyor .......................................................... 71
Gambar 4.24. Listing Program Benda Reject ......................................................... 72
Gambar 4.25. Listing Program Benda Bola Merah ................................................. 73
Gambar 4.26. Listing Program Benda Bola Hijau .................................................. 73
Gambar 4.27. Listing Program Benda Kotak Merah ............................................... 74
Gambar 4.28. Listing Program Benda Kotak Hijau ................................................ 75
Gambar 4.29. Tampilan GUI MATLAB ................................................................ 77
Gambar 4.30. Inisialisasi Komunikasi Serial ........................................................ 78
Gambar 4.31. Inisialisasi Webcam ........................................................................ 78
Gambar 4.32. Adalah Fungsi Yang Dipakai Untuk Komunikasi Antara Webcam
Dan Matlab .................................................................................... 79
Gambar 4.33. Proses Pengolahan Citra ................................................................. 80
Gambar 4.34. Listing Program Pengenalan Bentuk dan Warna ............................. 81
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviii
DAFTAR TABEL
Tabel 2.1. Hubungan PIN Dan Interupsi ................................................................ 9
Tabel 2.2. Penentuan Ukuran ................................................................................ 15
Tabel 2.3. Karakteristik Regulator Tegangan Ic 78xx ............................................ 17
Tabel 2.4. Hubungan Arus Dengan Hambatan ....................................................... 20
Tabel 2.5. Nilai Matriks sementara setelah dijumlahkan ........................................ 29
Tabel 4.1. Data Pengujian Nilai Batasan RGB (Kotak Merah) ............................... 52
Tabel 4.2. Data Pengujian Nilai Batasan RGB (Bola Merah) ................................. 53
Tabel 4.3. Data Pengujian Nilai Batasan RGB (Kotak Hijau) ................................ 53
Tabel 4.4. Data Pengujian Nilai Batasan RGB (Bola Hijau) .................................. 54
Tabel 4.5. Data Pengujian Nilai Batasan RGB (Reject Balok Merah) .................... 54
Tabel 4.6. Data Pengujian Nilai Batasan RGB (Reject Balok Hijau) ...................... 55
Tabel 4.7. Data Pengujian Nilai Batasan RGB (Reject Bola Kuning) ..................... 55
Tabel 4.8. Data RGB Masing-Masing Warna Dan Bentuk Benda .......................... 57
Tabel 4.9. Pengujian Tingkat Keberhasilan Sistem Mendeteksi Warna dan
Bentuk Benda ..................................................................................... 62
Tabel 4.10.Pengujian Tingkat Keberhasilan Sistem Memilah Benda Berdasarkan
Warna Dan Bentuk Benda .................................................................... 66
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Dewasa ini perkembangan ilmu pengetahuan dan teknologi terutama dalam bidang
elektronika semakin berkembang pesat. Perkembangan ini sedikit sebanyak telah
meningkatkan kualitas kehidupan manusia, seiring berjalannya waktu dengan banyaknya
tuntutan masyarakat akan produk-produk yang memiliki kualitas bagus dan bermutu yang
dihasilkan oleh industri. Hal ini telah membuat banyak proses industri beralih dari sebuah
sistem manual ke sistem otomatis yang lebih mudah dikendalikan dengan peran manusia
yang semakin lama semakin berkurang. Salah satunya topik yang saat ini sedang
dikembangkan dan banyak sekali yang bisa ditemukan aplikasinya di dunia industri adalah
conveyor dan image processing. Conveyor merupakan alat bantu yang umum dijumpai pada
pada industri-industri pengolahan, alat ini digunakan untuk memindahkan satu produk
ketempat lain secara berurutan. Selain itu, penggunaan image processimg akan sangat
memudahkan manusia untuk mengetahui jenis suatu benda secara jelas. Di era teknologi
yang semakin canggih ini, bahan-bahan yang digunakan kadang-kala merupakan bahan yang
berat maupun berbahaya bagi manusia. Untuk itu diperlukan suatu alat yang pintar yang
mampu mendeteksi serta memindahkan atau mengangkut bahan-bahan tersebut mengingat
keterbatasan kemampuan tenaga manusia baik itu berupa kapasitas bahan yang akan
diangkut maupun keselamatan kerja dari karyawan.
Sebelumnya pernah ada penelitian tentang sistem pengenalan benda berdasarkan
warna menggunakan lengan robot sebagai pemindah yaitu Richard Bagus Dean Mahendra
[1] yang memiliki tingkat keberhasilan 100% dalam proses pemindahan benda berdasarkan
warnanya sesuai dengan tempat yang telah ditentukan dan proses metode pengenalan warna
menggunakan hasil penjumlahan nilai citra RGB berfungsi sesuai dengan rencana.
Sedangkan penelitian lainnya adalah Irvan Hasan [2] yang membuat sistem pengenalan
benda berdasarkan bentuk menggunakan lengan robot sebagai pemindah benda dan memiliki
tingkat keberhasilan yang sama yaitu 100% yang sesuai dengan rencana, dari proses
pemindahan benda berdasarkan bentuk dan proses atau metode pengenalan bentuk yaitu
mengubah citra RGB menjadi citra grayscale untuk mengidentifikasi bentuk benda berkerja
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
dengan baik. Dari penelitian tersebut, maka penelitian ini memiliki gagasan untuk membuat
sebuah convveyor pintar yang mampu berkerja dengan sendirinya dan mampu memisahkan
benda berdasarkan warna dan bentuk kedalam wadah yang telah disediakan dengan
menggunakan webcam sebagai sensor pengidentifikasi benda.
Prinsip kerja sistem ini, yaitu input berupa benda berbentuk kotak dan berwarna
merah ditangkap oleh webcam citranya berupa RGB yang akan diletakan di atas conveyor
berjalan. Proses pengenalan warna dan bentuk tersebut menggunakan webcam dimana di
proses pada program MATLAB, kemudian data dikirim menggunakan komunikasi serial ke
mikrokontroler dan diproses perintahnya lalu conveyor pertama akan bergerak menghantar
benda tersebut ke conveyor kedua dimana diatasnya terdapat wadah sesuai dengan warna
dan bentuk yang telah terdeteksi oleh webcam dan jika benda kotak merah maka akan
dimasukan kedalam wadah yang bertanda khusus untuk benda kotak merah, demikian juga
berlaku untuk benda kotak hijau, bola merah serta bola hijau dan jika bukan atau tidak sesuai
maka akan dimasukan kedalam wadah khusus untuk benda yang tidak sesuai dengan
keinginan atau reject.
1.2. Tujuan dan Manfaat Penelitian
Tujuan yang ingin dicapai dalam penelitian ini adalah untuk membuat sebuah alat
yaitu conveyor pintar yang mampu berkerja secara otomatis memindahkan benda dan
diletakan pada suatu wadah berdasarkan warna dan bentuk menggunakan webcam sebagai
alat bantu pengidentifikasi benda secara realtime.
Manfaat dari penelitian ini adalah :
a. Sebagai alat bantu memudahkan pekerjaan manusia khususnya pada industri-
industri sekala besar baik dari segi efisiensi waktu, tenaga, kualitas serta hasil
yang diperolehi.
b. Sebagai penelitian awal pengenalan benda menggunakan webcam dengan
conveyor satu sebagai penghantar benda dan conveyor dua sebagai pemilah benda
serta menempatkannya pada wadah berdasarkan bentuk dan warna.
c. Sebagai bahan untuk penelitian yang selanjutnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
1.3. Batasan Masalah
Penulis menetapkan beberapa batasan masalah pada perancangan ini, yaitu :
a. Masukan berupa empat macam benda yaitu, kotak merah, kotak hijau, bola
merah, bola hijau yang terbuat dari styrofoam untuk kotak dan bola terbuat dari
plastik.
b. Ukuran input untuk kotak adalah 5x5x5 cm sedangkan untuk diameter bola
adalah 5 cm.
c. Outputnya dalam bentuk wadah berupa kotak merah, kotak hijau, bola merah,
bola hijau dan benda reject.
d. Sensor photodiode yang dipakai untuk mendeteksi benda di atas conveyor 1 dan
mendeteksi adanya wadah di conveyor 2.
e. Menggunakan Motor dc 24 Volt sebanyak tiga buah untuk mengerakan masing-
masing dua conveyor.
f. Terdapat tampilan GUI dan MATLAB sebagai user interface agar dapat melihat
data benda yang akan dikenali, serta jumlah yang terdeteksi.
g. Monitoring menunjukan posisi benda di atas conveyor, mendeteksi benda
menggunakan webcam, pemilahan benda dan selanjutnya peletakan benda-
benda yang terdeteksi kedalam wadah sesuai tempatnya.
h. Komunikasi antara laptop dengan ATmega32 menggunakan komunikasi serial
USART yang dihubungkan dengan modul yang sudah tersedia dipasaran yaitu
modul USB to TTL converter.
i. Menggunakan webcam logitech c170h untuk melakukan aktivitas
mengidentifikasi bentuk dan warna benda yang terhubung dengan software
MATLAB.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
1.4. Metode Penelitian
Metodologi yang digunakan dalam penelitian ini adalah sebagai berikut :
1. Pengumpulan bahan-bahan referensi pendukung berupa buku dan jurnal
penelitian yang menelitih tentang conveyor, pemrograman dengan CodeVision
AVR, Atmega32, image processing dengan menggunakan MATLAB serta buku-
buku sarana pendukung lainnya.
2. Studi pustaka mengenai pengendalikan conveyor serta penggunaan
mikrokontroler Atmega32 dan penggunaan webcam untuk image processing
pada MATLAB.
3. Pembuatan hardware dan software. Tahapan ini berisi tentang pembuatan alat
sesuai dengan desain conveyor yang telah dirancang beserta program-program
yang akan mengacu pada flowchat yang telah di buat.
4. Merancang serta menguji minimum system mikrokontroler Atmega32 dengan
software CodeVision AVR sebagai sistem secara keseluruhan.
5. Pembuatan program GUI menggunakan aplikasi MATLAB untuk pengolahan
citra digital RGB gambar dengan menggunakan webcam Logitech seri C170h
sebagai alat bantu pengidentifikasi warna dan bentuk pada benda.
6. Analisa dan penyimpulan hasil percobaan dapat dilakukan dengan melihat
presentase error yang terjadi pada kinerja sistem alat secara keseluruhan, yaitu
tingkat keberhasilan conveyor memindahkan benda berdasarkan bentuk dan
warna dari titik awal ke wadah yang telah ditetapkan dan webcam berfungsi
sebagai sensor pendeteksi warna dan bentuk benda dimana saat benda berhenti
dibawa webcam, kemudian webcam akan aktif mengambil gambar kemudian
diproses nilai citra RGB gambar benda untuk dikenali di aplikasi MATLAB.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
1.5. Sistematika Penulisan
Sistematika penulisan tugas akhir ini adalah sebagai berikut :
BAB I: PENDAHULUAN
Bab ini berisi latar belakang masalah, tujuan dan manfaat, batasan masalah,
metodologi penelitian dan sistematika penulisan.
BAB II : DASAR TEORI
Bab ini berisi teori-teori yang mendukung kerja sistem dan teori yang digunakan
dalam perancangan Conveyor pintar.
BAB III : PERANCANGAN PENELITIAN
Bab ini berisi penjelasan alur perancangan Conveyor pintar serta flow chart program
pendukung.
BAB IV : HASIL PENGAMATAN DAN PEMBAHASAN
Bab ini berisi pengamatan dan pembahasan data yang diperoleh, berupa data tingkat
keberhasilan sistem mendeteksi benda, data motor dc dan tingkat keberhasilan keseluruhan
sistem Conveyor pintar.
BAB V : KESIMPULAN DAN SARAN
Bab ini berisi ringkasan hasil penelitian yang telah dilakukan dan usulan yang berupa
gagasan-gagasan untuk perbaikan atau pengembangan terhadap penelitian yang telah
dilakukan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
BAB II
DASAR TEORI
Pada bab ini akan dibahas mengenai landasan-landasan teori yang digunakan dalam
pembuatan tugas akhir “Prototipe Pemilah Benda Berdasarkan Bentuk Dan Warna
Menggunakan Conveyor Berbasis Mikrokontroler”.
2.1. Belt Conveyor
Belt Conveyor adalah sebuah peralatan yang sangat sederhana dan biasanya
digunakan untuk mengangkut benda-benda kecil hingga yang memiliki kapasitas besar. Alat
tersebut terdiri dari sabuk yang akan berkerja sebagai pengangkut benda. Sabuk yang
digunakan pada belt conveyor ini dapat dibuat dari berbagai jenis bahan tergantung sifat
benda yang diangkut. Contoh gambar 2.1 [3].
Gambar 2.1.Conveyor [3]
Conveyor pintar yang dirancang ada dua buah dimana satu berfungsi sebagai
penghantar benda sedangkan conveyor selanjutnya berfungsi sebagai penerima benda sesuai
dengan wadah yang disiapkan untuk menerima input.
2.2. Mikrokontroler AVR Atmega32
AVR (Alf and Vegard’sRisc Processor) 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-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
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 [4].
2.2.1. Arsitektur AVR ATmega32
Fitur-fitur yang dimiliki mikrokontroler Atmega32 adalah sebagai berikut [4]:
1. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D.
2. ADC 10 bit sebanyak 8 channel.
3. Tiga buah Timer/Counter yaitu Timer 0, Timer 1, dan Timer 2.
4. Watchdog Timer dengan osilator internal.
5. SRAM sebesar 512 byte.
6. Memori Flash sebesar 8 kb.
7. Sumber Interupsi internal dan eksternal.
8. Port SPI (Serial Pheriperal Interface).
9. EEPROM on board sebanyak 512 byte.
10. Komparator analog.
11. Port USART (Universal Shynchronous Ashynchronous Receiver Transmitter)
2.2.2. Deskripsi Mikrokontroler ATmega32
Konfigurasi Pin Mikrokontroler Atmega32 dengan kemasan 40-pin DIP (dual in-
line package) dapat dilihat pada gambar 2.2. Untuk memaksimalkan perform 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. Seperti gambar 2.2 [4].
Gambar 2.2. Konfigurasi Pin Mikrokontroler Atmega32 [4]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
Mikrokontroler Atmega32 memiliki konfigurasi Pin sebagai berikut [4] :
a. VCC (power supply)
b. GND (ground)
c. Port A (PA7..PA0) Port A berfungsi sebagai input analog pada ADC (analog 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 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 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 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
Port A berfungsi sebagai input analog pada A/D konverter pada port I/O 8-bit dua
arah 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.1.
T = R x C (2.1)
2.2.3.Organisasi Memori AVR Atmega32
Mikrokontroler ATmega32 memiliki 3 jenis memori yaitu memori program,
memori data dan EEPROM. Ketiganya memiliki ruangan sendiri dan terpisah [4].
2.2.3.1.Memori Program
Kode program disimpan dalam flash memory, yaitu memori jenis non-volatile yang
tidak akan hilang datanya meskipun catu daya dimatikan. Dalam ATmega32 terdapat 8Kbty
On-Chip didalam sistem Memory Flash Reprogrammable untuk penyimpanan program.
Untuk keamanan perangkat lunak, flash memori dibagi menjadi dua bagian, yaitu boot
program dan bagian aplikasi program [4].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
2.2.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,
timer/counter, USART. ATmega32 memiliki kapasitas memori data sebesar 608 Byte yang
berbagi menjadi 3 bagian yaitu register serba guna, register I/O dan SRAM [5].
2.2.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. Seperti yang terlihat pada tabel 2.1 [6]
Tabel 2.1. Hubungan PIN dan Interupsi [6]
Jenis Interrupt PIN pada ATmega32
INT0 PORTD.2
INT1 PORTD.3
INT2 PORTD.2
ATmega32 menyediakan tiga interupsi eksternal yaitu, INT0, INT1, dan INT2.
Masing-masing interupsi tersebut terhubung dengan pin ATmega32 seperti 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.2.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].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
2.2.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
Perhitungan overflow interrupt sebagai pembangkit PWM ditunjukan pada persamaan 2.2,
2.3, dan 2.4 berikut [7].
T = 1
𝑓 (2.2)
Overflow interrupt = N x 256 x T (2.3)
OCR = 𝑝𝑢𝑙𝑠𝑒
𝑜𝑣𝑒𝑟𝑓𝑙𝑜𝑤 𝑖𝑛𝑡𝑒𝑟𝑟𝑢𝑝𝑡 (2.4)
Keterangan :
f = frekuensi yang digunakan untuk eksekusi program
T = periode
N = prescaller yang digunakan
OCR = nilai cacahan pulsa
Pulse = lebar pulsa
2.2.5.2.Mode Operasi
1. Mode normal, timer digunakan untuk menghitung saja, membuat delay, dan
menghitung selang waktu [8].
2. Mode phase correct PWM (PCP), digunakan untuk menghasilkan sinyal PWM
dimana nilai resistor counter (TCNT0) yang mencacah naik dan turun secara terus
menerus akan selalu dibandingkan dengan register pembanding OCR0 [9]. Hasil
perbandingan register TCNT0 dan OCR0 digunakan membangkitkan sinyal PWM
yang dikeluarkan pada OC0 seperti ditunjukan pada gambar 2.3.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
Gambar 2.3. Mode Phase Correct PWM [4]
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.4. [7].
Gambar 2.4. Mode Fast PWM [4]
2.2.6.Komunikasi Serial USART
Komunikasi data adalah perpindahan data antara dua atau lebih piranti, baik yang
berjauhan maupun yang berdekatan. Perpindahan data antara dua atau lebih piranti dapat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
dilaksanakan secara paralel atau seri. Komunikasu seri dapat dibedakan menjadi 2 macam,
yaitu komunikasi data 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 [4].
Pada proses inisialisasi ini setiap perangkat yang terhubung harus memiliki bandrate
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 dan sinkron
e) Operasi master atau slave clock sinkron
f) Dapat menghasilkan band-rate (laju data) dengan resolusi tinggi
g) Modus komunikasi kecepatan ganda pada asinkron
2.2.6.1.Inisialisasi Serial 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. Seperti gambar 2.5. registre UDR
[4].
Gambar 2.5. Register UDR [4]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
2. USART Control and Status Register A (UCSRA)
Gambar 2.6. Register UCSRA [4]
Penjelasan bit penyusun UCSRA [4] :
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 jika diaktifkan dan akan berlogi nol secara otomatis bersamaan dengan
eksekusi vektor interupsi yang bersangkutan.
b) TXC (USART Transmit Complete)
Flag 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 ini 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 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)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
Bit yang berfungsi untuk menggandakan laju data menjadi 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 data yang diterima oleh
USART tidak mengandung informasi alamat akan diabaikan.
1. USART CONTROL AND STATUS REGISTER B (UCSRB)
Gambar 2.7. Register UCSRB [4]
Penjelasan bit penyusun UCSRA dari gambar 2.7. [4] :
a) RXCIE (RX Complete Interrupt Enable)
Bit pengatur aktivitas interupsi penerima data serial, akan berlogika satu jika
diaktifkan dan berlogika nol jika tidak diaktifkan.
b) TXCIE (TX Complete Interrupt Enable)
Bit pengatur aktivitas pengiriman data serial, akan berlogika satu jika diaktifkan fan
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
sebagai memilih tipe lebar data bit yang digunakan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
Tabel 2.2. Penentuan Ukuran [4]
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
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
2. USART CONTROL AND STATUS REGISTER C (UCSRC)
Gambar 2.8. Register UCSRC [4]
Penjelasan bit penyusun UCSRA dari gambar 2.8. [4] :
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) UMP [1...0] (Parity Mode)
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 TERPUJI
16
Bit ini berfungsi untuk memilih mode paritas bit yang akan digunakan. Transmitter
USART akan membuat paritas yang akan digunakan secara otomatis
d) USBS (Stop Bit Select)
Bit ini berfungsi untuk memilih jumlah stop bit yang akan digunakan.
e) UCSZ1 dan UCSZ0
Merupakan bit pengatur jumlah serial bit yang berfungsi untuk memilih lebar data
yang digunakan dikombinasikan bit UCSZ2 dalam register UCSRB.
f) UCPOL (Clock Parity)
Bit yang berguna hanya untuk modus sinkron. Bit ini berhubungan dengan perubahan
data keluaran dan sampel masukkan, dan clock sinkron (XCK).
2.3. 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. Ini adalah konfigurasi pin IC regulator ditunjukan pada
Gambar 2.9. [10].
Gambar 2.9. Konfigurasi Pin IC Regulator [10]
Tabel 2.3. menunjukan spesifikasi IC regulator seri 78xx dengan keluaran dan masukan
minimm dan maksimum [11].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Tabel 2.3. Karakteristik Regulator Tegangan Ic 78xx [11]
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
Gambar 2.10. Rangkaian Umum Regulator 78xx [11]
Nilai komponen c1 dan c2 difungsikan sebagai filter kapasitor yang bertujuan untuk
menghilangkan tegangan ripple agar tegangan keluaran menjadi lebih stabil. Untuk
mendapatkan nilai kapasitor yang sesuai dapat mengacu pada persamaan 2.1 dan 2.2.
Vr(rms) =𝐼𝑑𝑐
4√3𝑓𝑐=
2.4 𝐼𝑑𝑐
𝐶=
2.4 𝑉𝑑𝑐
𝑅𝐿.𝐶 (2.5)
r = 𝑉𝑟(𝑟𝑚𝑠)
𝑉𝑑𝑐 x 100% (2.6)
Komponen eksternal yang digunakan yaitu transistor 2N3055 karena kemampuan arus
maksimal adalah 15 A [10]. Untuk gambar rangkaian lengkap dengan Ic regulator dapat
ditunjukan pada gambar 2.11.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
Gambar 2.11. Rangkaian Catu Daya Dengan Penguat [10]
Darri gambar 2.11. maka diperolehi persamaan-persamaan sebagai berikut [10] :
VB = Vreg + VD (2.7)
Tegangan keluaran rangkain menjadi,
Vo = Vreg - VBE (2.8)
Jika VD≈VBE, maka
Vo = Vreg (2.9)
Tegangan diantara kolektor dan emittor transistor 2N3055 adalah [10],
VCE = VIN - VRI (2.10)
Disipasi daya transistor NPN 2N3055 adalah [10],
PD =VCE x IC (2.11)
Untuk nilai penguatan arus diperoleh dengan persamaan dibawah ini [11]:
Ic = β IB (2.12)
Ie = (β+1) IB (2.13)
2.4. Photodioda
Photodioda adalah dioda yang berkerja berdasarkan intensitas cahaya, jika photodioda
terkena cahaya maka photodioda berkerja seperti dioda pada umumnya, tetapi jika tidak
mendapat cahaya maka photodioda akan berperan seperti resistor dengan nilai tahanan yang
besar sehingga arus listrik tidak dapat mengalir.
Photodioda merupakan sensor cahaya semikonduktor yang dapat mengubah besaran
cahaya menjadi besaran listrik. Photodioda merupakan sebuah dioda dengan sambungan p-
n yang dipengaruhi cahaya dalam kerjanya. Cahaya yang dapat dideteksi oleh photodioda
ini mulai dari cahaya infra merah,cahaya tampak, ultra ungu sampai dengan sinar-X.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
Karena photodioda terbuat dari semikonduktor p-n junction maka cahaya yang diserap
oleh photodioda 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 hingga arus akan mengalir di dalam rangkaian. Besarnya pasangan elektron
ataupun hole yang dihasilkan tergantung dari besarnya intensitas cahaya yang diserap oleh
photodioda.
Photodioda digunakan sebagai penangkap gelombang cahaya yang dipancarkan oleh
infrared. Besarnya tegangan atau arus listrik yang dihasilkan oleh photodioda tergantung
besar kecilnya radiasi yang dipancarkan oleh infrared. Gambar 2.12. adalah contoh bentuk
dan simbol photodioda [12].
Gambar 2.12. Bentuk Photodioda dan Simbol. [12]
Gambar 2.13. Respon Relatif Spektral Untuk Si,Ge, Dan Selenium Dibandingkan Dengan
Mata Manusia [12].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Gambar 2.14. Hubungan I𝜆 Dengan Fc Pada Photodioda [12].
Grafik pada gambar 2.14. menunjukan bahwa arus maksimal pada sensor
photodioda adalah sebesar 800 µA, sehingga untuk penentuan nilai hambatan agar arus
sensor photodioda tidak terlalu besar yaitu [12] :
R = 𝑉𝑐𝑐
𝐼 (2.14)
Sehingga nilai hambatan untuk sensor photodioda dengan asumsi bahwa Vcc = 5 Volt seperti
pada tabel 2.4.
Tabel 2.4. Hubungan Arus Dengan Hambatan
ARUS (µA) HAMBATAN (KΩ)
200 25
400 12,5
600 8,33
800 6,25
Rangkaian umum sensor photodioda dapat ditunjukan pada gambar 2.15.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
Gambar 2.15. Rangkaian Sensor Photodioda
Gambar 2.16 Aplikasi Sensor Photodioda [12]
2.5. Led InfraRed
Led infrared merupakan sumber cahaya dengan panjang gelombang 750nm-
1000nm dan arus maksimal sebesar 100 mA [12]. Aplikasi led infrared biasa dijumpai pada
modul sensor yang berhubungan dengan cahaya seperti photodioda dan photo transistor.
Menurut gambar 2.16, led infrared merupakan sumber cahaya yang paling baik untuk
sumber sensor cahaya. Penentuhan nilai hambatan untuk led infrared dengan rumus :
R = 𝑉𝑐𝑐
𝐼 (2.11)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
2.6. Limit Switch Sebagai Saklar
Limit switch merupakan jenis saklar yang dilengkapi dengan katup yang berfungsi
untuk menggantikan tombol. Prinsip kerjanya sama seperti saklar Push ON yaitu hanya akan
menghubungkan pada saat katupnya ditekan pada batas penekanan tertentu yang telah
ditentukan dan akan memutus saat katup tidak ditekan. Limit switch termasuk dalam kategori
sensor mekanis yaitu sensor yang akan memberikan perubahan elektrik saat terjadi
perubahan mekanik pada sensor tersebut. Contoh Gambar konstruksi, simbol dan bentuk
limit switch 2.17 [14].
Gambar 2.17. Konstruksi, Simbol dan Bentuk Limit Switch [14]
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.7. Webcam Logitech Seri C170h
Webcam adalah kamera digital yang dikoneksikan ke komputer dan digunakan
untuk telekomferensi video atau tujuan lain. Pengoperasian webcam cukup mudah karena
webcam memiliki fitur fungsionalitas USB untuk koneksi menggunakan komputer.
Sehingga banyak dipergunakan 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 C170h [15]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
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
dilengkapi dengan software yang digunakan untuk mengambil citra hasil tangkapan kamera
digital secara terus menerus maupun dalam interval waktu tertentu.
2.8. Motor DC
Motor adalah mesin listrik yang mampu mengubah energi listrik menjadi energi
mekanik berupa putar motor. Motor DC adalah salah satu jenis motor yang menggunakan
tegangan searah (DC) sebagai sumber tegangan. Dua bagian utama pada motor DC yaitu
rotor sebagai bagian yang berputar dan stator sebagai bagaian yang diam. Bagian rotor
berupa koil yang akan dialiri arus listrik. Bagian stator menghasilkan medan magnet dari
pengaruh elektromagnetik koil ataupun magnet permanen seperti yang di tunjukan pada
gambar 2.19 [16].
Gambar 2.19. Susunan Komponen pada Motor DC [16]
Arah putaran pada motor DC dapat diatur dengan mengubah polaritas tegangan
pada terminal, sehingga gerak putaran motor berupa clockwise atau counterclocwise.
Kecepatan putaran motor DC berbanding lurus dengan besar beda potensial yang diberikan
pada terminal. Pemberian beda potensial yang semakin meningkat akan berdampak pada
kenaikan nilai arus lisrik. Hal tersebut akan meningkatnya pula gaya Lorentz yang
dihasilkan, sehingga motor berputar semakin cepat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
2.9. Modul Relay 5v
Relay adalah saklar (switch) yang dioperasikan secara listrik dan merupakan
komponen electromechanical (elektromekanikal) yang terdiri dari 2 bagian utama yakni
elektromagnet (coil) dan mekanikal (seperangkat kontak saklar/switch). Relay
menggunakan prinsip elektromagnetik untuk menggerakkan kontak saklar sehingga dengan
arus listrik yang kecil (low power) dapat menghantarkan listrik yang bertegangan lebih
tinggi. Sebagai contoh, relay yang menggunakan elektromagnet 5v dan 50 mA mampu
menggerakan armature relay (yang berfungsi sebagai saklarnya) untuk menghantarkan lisrik
220v dan 2a.
Gambar 2.20. Modul Relay 2 Channel 5v [30]
Gambar 2.21. Modul Relay 1 Channel 5v [30] Gambar 2.22. Simbol Relay [29]
Relay 2 channel dan relay 1 channel ini memerlukan arus sekitar 15 – 20mA untuk
mengontrol masing-masing channel. Disertai dengan relay high-current sehingga dapat
menghubungkan perangkat dengan AC250v 10A. Dan relay ini mampu hidup hanya dengan
tegangan kerja 3.3v yang diperolehi dari mikrokontroler.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
2.9.1 Prinsip Kerja Relay
Pada dasarnya, relay terdiri dari 4 komponen dasar yaitu :
1. Electromagnet (Coil)
2. Armature
3. Switch Contact Point (Saklar)
4. Spring
Gambar 2.23. Struktur Sederhana Relay
Kontak poin (contact point) relay terdiri dari 2 jenis yaitu :
Normally Close (NC) yaitu kondisi awal sebelum diaktifkan akan selalu berada
diposisi CLOSE (tertutup).
Normally Open (NO) yaitu kondisi awal sebelum diaktifkan akan selalu berada
diposisi OPEN (terbuka).
Berdasarkan gambar diatas, sebuah besi (iron core) yang dililit oleh sebuah
kumparan coil yang berfungsi untuk mengendalikan besi tersebut. Apabila kumparan coil
diberikan arus listrik, maka akan timbul gaya elektromagnet yang kemudian menarik
armature untuk berpindah dari posisi sebelumnya (NC) ke posisi baru (NO) sehingga
menjadi saklar yang dapat menghantar arus listrik di posisi barunya (NO). Posisi dimana
armature tersebut berada sebelumnya (NC) akan menjadi OPEN atau tidak terhubung. Pada
saat tidak dialiri arus listrik, armature akan kembali lagi ke posisi awal (NC). Coil yang
digunakan oleh relay untuk menarik contact poin ke posisi close pada umumnya hanya
membutuhkan arus listrik yang relatif kecil.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
2.9.2 Fungsi dan Aplikasi Relay
Beberapa fungsi relay yang telah umum diaplikasikan kedalam peralatan
elektronika diantaranya adalah :
1. Relay digunakan untuk menjalankan fungsi logika (Logic Function)
2. Relay digunakan untuk memberikan fungsi penundaan waktu (Time Delay
Function)
3. Relay digunakan untuk mengendalikan sirkuit tegangan tinggi dengan bantuan
dari signal tegangan rendah.
4. Relay yang berfungsi untuk melindungi motor ataupun komponen lainnya dari
kelebihan tegangan ataupun hubung singkat (short).
2.10. Benda Tiga Dimensi
Benda 3 dimensi merupakan benda yang memiliki ruang atau volume sehingga
benda akan tampak lebih nyata. Benda 3 dimensi memiliki ukuran panjang, lebar, dan tinggi.
Contoh benda 3 dimensi dapat dilihat pada gambar 2.20 [17].
Gambar 2.24. Contoh Benda Tiga Dimensi [17]
2.11. Citra
2.11.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 [18]. Secara harafiah, citra (image) adalah gambar pada
bidang dwimatra (dua dimensi). Sedangkan jika dilihat dari sudut pandang matematis, citra
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
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 kemudian ditangkap oleh optik, misalnya mata pada manusia, kamera
pemindai dan sebagainya, sehingga bayangan objek yang disebut citra tersebut terekam [19].
2.11.2.Pengolahan Citra Digital
Pengolahan citra digital adalah kegiatan memperbaiki kualitas citra agar mudah
diinterpretasi oleh manusia atau mesin (komputer). Inputnya adalah citra dan keluarannya
juga citra tapi dengan kualitas yang lebih baik daripada citra masukan. Misalnya citra
warnanya kurang tajam, kabur, mengandungi noise dan lain-lain sehingga perlu ada
pemrosesan untuk memperbaiki citra karena informasi yang disampaikan menjadi kurang.
Teknik pengolahan citra mentransformasikan citra menjadi citra lain. Sehingga
masukkannya adalah suatu citra dan keluarannya juga citra, namun citra keluaran
mempunyai kualitas yang lebih baik daripada citra masukkan [19].
2.12. Pemrosesan Citra
2.12.1.RGB
Suatu citra biasanya akan langsung mengacu ke citra RGB. Sebelumnya bagaimana
citra disimpan dan dimanipulasi dalam komputer diturunkan dari teknologi televisi, yang
pertama kali mengaplikasikannya untuk tampilan grafis komputer. Jika dilihat dari 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 apakah titik tersebut merupakan titik bulat atau kotak kecil, tetapi akan selalu
terdiri dari 3 triplet red, green dan blue [20].
Citra dalam komputer tidak lebih dari sekumpulan piksel 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
direpresentasikan dengan 24 bit, 8 bit untuk R, 8 bit untuk G dan 8 bit untuk B. Pengaturan
citra RGB dapat dilihat pada gambar 2.21 [13].
Gambar 2.25. Pengaturan Citra RGB [13]
2.12.2.Cropping
Cropping citra bertujuan untuk memotong bagian tertentu dari suatu citra yang tidak
diperlukan dalam proses pengolahan citra. Penentuhan 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. Contoh cropping dapat dilihat pada gambar 2.22 [21].
(a) (b)
Gambar 2.26. (a) Citra sebelum dicrop, (b) Citra sesudah dicrop
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
2.13.Metode Pengenalan Warna dan Bentuk
Metode yang digunakan adalah penjumlahan nilai matriks red, green dan blue. Dari
hasil jumlah tersebut akan dicari nilai terbesar pada masing-masing nilai matriks. Dimana
jumlah dari nilai terbesar menunjukan warna pada benda tersebut. Pada tabel 2.5. adalah
hasil nilai sementara yang diperolehi setelah dijumlahkan [22].
Tabel 2.5. Nilai Matriks sementara setelah dijumlahkan
Gambar benda
berwarna
Gambar setelah di
crop
Nilai RGB benda Pengenalana warna
benda
Merah = 17,92
Hijau =10,442
Benda kotak
berwarna merah
Merah = 17,13
Hijau = 7,23
Benda bola
berwarna merah
Dapat dilihat pada tabel 2.5 menunjukan nilai RGB gambar benda yang lebih besar
adalah nilai warna merah maka dari itu disimpulkan bahwa gambar tersebut adalah benda
berwarna merah. Sedangkan untuk mengenali bentuk maka, dilakukan perbandingan nilai
besaran antara nilai RGB kotak dengan nilai RGB bola yang sudah ditetapkan. Dimana yang
memiliki nilai yang paling besar adalah bentuk kotak sedangkan nilai terkecil adalah bentuk
bola. Benda kotak berwarna merah memiliki nilai matriks 17,92 sedangkan benda bola
berwarna merah memiliki nilai matriks 17,13.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
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 conveyor pintar
b) Perancangan mekanik conveyor pintar
c) Perancangan perangkat keras (handware)
d) Perancangan perangkat lunak (software)
3.1. Proses Kerja dan Mekanisme Conveyor Pintar
Pada pembuatan tugas akhir ini, dirancang sebuah prototipe menggunakan sebuah
conveyor pintar yang dapat mengenali dua jenis warna dan dua jenis bentuk, dimana
conveyor pintar mampu memindahkan dan menempatkan benda secara otomatis berdasarkan
bentuk dan warna ke suatu wadah khusus yang telah disediakan. Komponen yang digunakan
dalam pembuatan tugas akhir ini meliputi rangkaian minimum system Atmega32, conveyor,
rangkaian sensor photodioda, rangkaian limit switch, relay 5v, webcam logitech seri C170h,
software AVR, software MATLAB, laptop dan motor dc 24V.
Cara kerja conveyor pintar yaitu mula-mula benda diletakan pada conveyor pertama
yang akan membawa benda tersebut mendekati webcam. Webcam akan mendeteksi benda
tersebut, kemudian akan diproses oleh laptop melalui software matlab untuk mengenali
bentuk dan warna benda. Setelah benda dikenali, maka disiapkan laptop melalui aplikasi
MATLAB akan mengirimkan kode benda yang dikomunikasikan secara serial kepada
minimum system ATmega32 menggunakan modul USB to TTL untuk mengerakan conveyor
kedua, dimana conveyor kedua ini berfungsi menyiapkan wadah yang sesuai dengan benda
yang diinginkan. Gambar 3.1 merupakan diagram blok sistem.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Gambar 3.1. Diagram Blok Sistem
3.2. Perancangan Mekanik
Pada perancangan mekanik dari conveyor pintar tersebut, antara lain mendesain
ukuran converyor pintar, penggunaan bahan dasar untuk mekanik conveyor yaitu besi
bolongan setebal 3mm dan pipa plastik 3inch, untuk ukuran lebar belt 20cm untuk converyor
pertama sedangkan untuk converyor kedua 25cm, panjang converyor pertama 100cm dan
converyor kedua panjangnya 300cm, kemudian untuk wadah tempat benda dijatuhkan
berukuran 20cm x 20cm x 15cm yang terbuat dari bahan papan kayu tipis Desain conveyor
menggunakan software AutoCad 2010 untuk gambar conveyor. Conveyor ini di bagi
menjadi dua bagian dimana satunya berfungsi sebagai penghantar benda dan conveyor
selanjut berfungsi sebagai pemilah benda. Gambar 3.2, 3.3, 3.4, dan 3.5 adalah bentuk
seluruh sistem dan ukurannya.
Gambar 3.2. keseluruhan Sistem Conveyor Dilihat Dari Depan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
x
Gambar 3.3. Conveyor Dilihat Dari Samping
Gambar 3.4. Conveyor Dilihat Dari depan
Gambar 3.5. Ukuran Conveyor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Pada perancangan conveyor pintar ini memiliki rincian desain dengan ukuran yang
berbeda-beda untuk dua buah conveyor dimana untuk conveyor pertama memiliki panjang
100cm, lebarnya 15cm dan memiliki tinggi 35cm. Kemudian untuk ketinggian tempat
webcam adalah 25cm. Selanjutnya untuk conveyor kedua memiliki panjang 300cm, lebar
25cm dan memiliki tinggi 30cm. Untuk ukuran wadah tempat input adalah 20cm x 20cm x
15cm. Kemudian untuk jarak wadah antara kiri dan kanan dinding conveyor adalah 2,5cm
masing-masingnya dengan tujuan wadah tersebut tidak mengenai dinding kiri atau kanan
saat conveyor beroperasi. Selanjutnya untuk jarak antara wadah adalah 9cm dan jarak antara
sensor adalah 29cm.
Perhitungan jarak wadah : conveyor kedua memilik panjang 300cm dimana untuk
jarak antara wadah 9cm x 6 = 54cm, untuk ukuran wadah 20cm x 5 = 100cm, untuk jarak
antara sensor photodioda adalah 29cm x 5 = 145cm sehingga memiliki total jarak yang
diperolehi adalah 54cm + 100cm + 145cm = 299cm. Jarak ini digunakan karena telah sesuai
dengan perhitungan agar saat conveyor kedua aktif, wadah diatas conveyor tersebut tidak
terjatuh atau bertabrakan antara satu sama lain.
Jarak antara conveyor pertama dan conveyor kedua adalah 10cm agar saat input
dipindahkan dari conveyor pertama ke conveyor kedua langsung masuk kedalam wadah yang
telah disediakan.
3.3. Perancangan Perangkat Keras (hardware)
Ada beberapa komponen dalam perancangan subsistem perangkat keras Conveyor
pemisah benda berdasarkan bentukdan warna, diantaranya yaitu :
1. Minimum System ATmega32
2. Webcam Logitech seri C170h
3. Sensor photodioda
4. Regulator 12v + penguat arus
5. Modul Relay 5v + limit switch
6. Benda
7. Metode pengenalan warna dan bentuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
3.3.1.Minimum System ATmega32
Rangkaian minimum system berfungsi sebagai I/O untuk mengontrol atau
mengendalikan gerakan motor conveyor yang telah diprogram dalam mikrokontroler
ATmega32 pada conveyor serta sebagai pengolahan data secara serial yang dikirimkan dari
laptop melalui USB to TTL converter. Mikrokontoler membutuhkan minimum system yang
terdiri dari rangkaian eksternal yaitu rangkaian osilator serta rangkaian reset.
Untuk rangkaian osilator ini menggunakan crystal dengan frekuensi sebesar 11,0592
Mhz dan dua buah kapasitor masing-masing sebesar 22pF. Penggunaa crystal dengan
frekuensi sebesar 11,0592 Mhz bertujuan untuk menghasilkan komunikasi yang sesuai
dengan baud rate piranti yang dituju sedangkan fungsi kapasitor disini adalah untuk
menstabilkan osilasi yang dihasilkan oleh kristal. Penempatan antara kapasitor dengan
kristal diusahakan sedekat mungkin untuk menghindari terjadinya noise. Rangkaian osilator
adalah subsistem dari mikrokontroler yang berfungsi untuk membangkitkan clock pada
mikrokontroler. Clock tersebut diperlukan oleh mikrokontroler untuk mensinkronkan proses
yang sedang berlangsung dalam mikrokontroler. Gambar 3.6. menunjukan rangkaian
osilator [1].
Gambar 3.6. Rangkaian Osilator ATmega32 [1]
Perancangan rangkaian reset ini bertujuan untuk memaksa proses kerja pada
mikrokontroler agar dapat diulang dari awal atau memulai membaca program kembali. Saat
tombol reset ditekan maka mikrokontroler mendapat input logika rendah, sehingga akan me-
reset seluruh proses yang sedang dilakukan mikrokontroler. Gambar 3.7. adalah rangkaian
reset untuk ATmega32 [25].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
Gambar 3.7. Rangkaian Reset ATmega32 [25]
Pada gambar 3.7. 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 sengaja. Kapasitor 10nF digunakan untuk
menghilangkan noise yang disususn seri dengan resistor. Rangkaian reset minimum system
ATmega32 merupakan gabungan dari rangkaian push-button dan low-pass filter.
3.3.2.Webcam Logitech Seri C170h
Webcam yang digunakan pada tugas akhir ini adalah webcam Logitech seri C170h.
Fungsinya untuk melakukan capture benda dan output dari gambar data yang dimiliki
merupakan nilai matriks citra RGB (Red Green Blue) sudah dalam bentuk digital yang
datanya akan diolah menggunakan aplikasi matlab. Webcam jenis ini sudah memiliki
dudukan sendiri serta mempunyai software pendukung yang bisa melakukan zoom in dan
zoom out sehingga memudahkan pengaturan dari laptop. Pada proses pengambilan citra
menggunakan resolusi 320 x 240 piksel. Spesifikasinya webcam bisa dilihat pada lampiran.
Gambar 3.8 webcam Logitech Seri C170h [15].
Gambar 3.8. Webcam Logitech Seri C170h [15]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
3.3.3. Sensor Photodioda
Sensor photodioda digunakan untuk mendeteksi benda yang diletakan pada conveyor
satu dan conveyor dua. Cara kerjanya yaitu jika sensor photodioda terhalang oleh benda atau
mendeteksi benda, maka motor pada conveyor akan berhenti. Rangkaian sensor photodioda
ditunjukan oleh Gambar 3.9 [26].
Gambar 3.9. Rangkaian Sensor Photodioda [26]
Dengan nilai vcc sebesar 5 volt dan arus maksimal infrared 100mA, maka hambatan
dapat dihitung menggunakan rumus :
𝑅 =𝑉𝑐𝑐
𝐼 sehingga, (3.1)
R = 5
100 𝑚𝐴 = 50 Ω
Karena nilai resistor sebesar 50 Ω tidak tersedia di pasaran dan agar infrared tidak
kelebihan arus, maka digunakan resistor sebesar 100 Ω. Sedangkan untuk nilai hambatan
sensor photodioda menggunakan resistor yang mengacu pada gambar 2.14 dan persamaan
2.14 sehingga diperoleh nilai hambatan antara 6,25 KΩ – 25 KΩ. Pada perancangan ini
menggunakan resistor 20 KΩ untuk sensor photodioda.
Output mikrokontroller ATmega32 memiliki arus yang kecil sehingga tidak bisa
digunakan untuk mengendalikan motor dc yang membutuhkan arus cukup besar. Oleh
karena itu dibutuhkan rangkaian external agar keluaran dari mikrokontroller dapat
mengendalikan motor dc.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
3.3.4. Regulator dan Penguat Arus
Pembuatan rangkaian regulator dan penguat arus yang nantinya dipakai sebagai
penyetabil tegangan pada minimum system ATmega32 dan motor dc. Komponennya terdiri
dari ic 7805, ic 7812, transistor 2N3055, kapasitor, dan diode. Ic 7805 dipakai sebagai
penurun tegangan dimana untuk ic tipe ini memiliki tegangan keluaran (output) sebesar 5
volt, arus maksimumnya adalah 1 A, tegangan masukan (input) minimum 7 volt dan
maksimal 20 volt dan dipakai untuk memberikan daya pada minimum system Atmega32
yang hanya membutuhkan 5 volt, kemudian untuk komponen pendukung yaitu kapasitor
berfungsi sebagai penghilang riple sedangkan untuk ic 7812 digunakan untuk menstabilkan
tegangan sekaligus menggunakan transistor 2N3055 sebagai penguat arus, karena bisa
dipakai sebagai rangkaian power suplay dengan tegangannya yang bisa diset. Ic ini memiliki
tegangan keluaran (output) sebesar 12 volt, arus maksimumnya adalah 1 A, tegangan
masukan (input) minimum 14,6 volt dan maksimal 27 volt dan digunakan untuk memberikan
daya pada motor dc 24 volt. Maka dari itu trasistor harus dibias tegangan yang konstan pada
basisnya, agar pada emitor keluaran tegangannya tetap. Selanjutnya untuk mengatur
tegangan basis mengunakan dioda 1N4002. Untuk ic 7812 digunakan untuk memberikan
daya pada motor dc 24 volt. Gambar dibawah adalah A. Rangkaian regulator minimum
system ATmega32 dan B. Rangkaian regulator dengan penguat arus motor dc 3.10 [23] dan
[27].
Gambar 3.10. A. Rangkaian Regulator 5v [23] Dan B. Rangkaian Regulator Dengan
Penguat Arus 12v [27].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
3.3.5. Modul Relay 5 Volt Dc
Rangkaian modul relay ini digunakan untuk mengendalikan motor dc 24v. Untuk
conveyor pertama menggunakan satu channel relay 5v untuk menggerakan motor dc 24v
dengan menggunakan sumber power sebesar 12v agar kecepatan motor dc berputar tidak
terlalu kencang dan khusus untuk conveyor kedua memakai modul relay dua channel relay
5v sebanyak dua buah untuk mengendalikan putaran motor dc 24v sebanyak 2 buah motor
dengan sumber power yang dipakai 24v agar bisa kearah kanan dan kearah kiri secara
bergantian dengan metode sinyal logika dasar TTL (High) dan (Low). Untuk conveyor dua
untuk membuat agar motor bisa bergerak kekanan menggunakan dua modul relay 5v
sedangkan untuk membuat motor bergerak kekiri juga menggunakan dua modul relay 5v
yang hanya bisa diaktifkan secara bergantian. Karena menggunakan metode logika TTL 0
dan 1 maka rangkaian ini hanya dapat mengendalikan arah putaran motor dc 24v dengan
kecepatan putaran motor dc maksimum.
Gambar 3.11. Rangakain Modul Relay 5v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
3.3.6.Benda Tiga Dimensi
Benda yang dapat dikenali oleh webcam terbuat dari styrofoam khusus bentuk kotak
dan terbuat dari plastik khusus bentuk bola dimana bendanya adalah kotak merah, bola
merah, kotak hijau dan bola hijau. Dapat dilihat pada gambar 3.12 [17]. Ukuran masing-
masing benda yaitu :
Kotak merah : 5cm x 5cm x 5cm (p x l x t)
Kotak hijau : 5cm x 5cm x 5cm (p x l x t)
Bola merah : 5cm (diameter)
Bola hijau : 5cm (diameter)
Gambar 3.12. Benda Tiga Dimensi [17]
3.3.7.Metode Pengenalan Warna dan Bentuk
Metode ini dilakukan adalah penjumlahan nilai 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 nilai terbesar untuk mendapatkan warna
benda sesungguhnya pada gambar. Langkah selanjutnya yaitu proses croping (pemotongan)
yang sudah ditentukan yaitu x=17,51 y=60,51 ∆x=255,98 ∆y=176,98 [1]. Proses ini
berfungsi untuk menentukkan bagian citra yang dibutuhkan untuk proses perhitungan
selanjutnya sehingga untuk bagian citra yang tidak dibutuhkan akan 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 matriks agar memiliki nilai yang
nantinya digunakan untuk mereprentasikan nilai warna suatu gambar. Selanjutnya untuk
mencari bentuk benda, apakah bentuknya bola atau kotak dengan cara membandingkan
selisih nilai RGB yang paling terbesar yang telah ditetapkan dari kedua bentuk benda
tersebut dari nilai-nilai yang telah diperolehi apakah sesuai dengan nilai yang telah
ditetapkan. Kemudian warna dan bentuk benda akan dikenali dan ditampilkan pada aplikasi
GUI MATLAB.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
3.4. Perancangan Perangkat Lunak (Software)
Pada perancangan perangkat lunak ini akan dibahas mengenai program kendali
conveyor pintar secara keseluruhan diantaranya :
a) Flowchart program interrupt conveyor pintar
b) Flowchart program pengenalan warna dan bentuk benda
c) Perancangan GUI pada MATLAB
Pada pembuatan flowchat program interrupt conveyor pintar akan dibahas dan
dipaparkan mengenai cara conveyor satu bergerak menghantarkan benda hingga berhenti
kemudian dilanjutkan cara conveyor dua menyesuaikan wadah dengan benda yang
diinginkan. Pada pembuatan flowchat ini menggunakan software CodeVision AVR yang
merupakan suatu perangkat lunak untuk mem-program ic keluarga AVR menggunakan
bahasa c. Flowchat yang akan dibuat yaitu flowchat keseluruhan sistem dan flowchat motor
dc aktif conveyor satu dan motor conveyor dua.
Pada pembuatan flowchat program pengenalan warna dan bentuk benda akan dibahas
dan dipaparkan mengenai pembuatan program image processing dengan menggunakan
metode RGB dengan software MATLAB.
3.4.1. Flowchart Program Keseluruhan Sistem
Secara keseluruhan sistem kerja pada perancangan tugas akhir ini dapat ditunjukan
flowchart pada gambar 3.13. cara kerja dari conveyor pintar ini yaitu mula-mula benda
diletakan pada conveyor satu. Ketika benda terdeteksi oleh sensor photodioda maka
conveyor satu berhenti yang artinya benda berada dibawah webcam, maka mikrokontroler
ATmega32 akan mengirimkan suatu karakter secara serial kepada laptop untuk menjalankan
program image processing agar benda dapat dikenali. Setelah benda dikenali, maka laptop
melalui software MATLAB akan mengirimkan karakter secara serial kepada minimum
system ATmega32 untuk menggerakan motor dc conveyor dua untuk menyiapkan wadah
sesuai dengan warna dan bentuk benda.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Mulai
Konveyor kedua
siaga
Konveyor
pertama bergerak
Sensor
photodioda
deteksi benda
Kirim karakter
secara serial
ke laptop
Matlab menerima
karakter ?
Proses
pengenalan
bentuk dan warna
Benda kotak
merah
Benda yang
tidak sesuai
Benda kotak
hijau
Benda bola
merah
Benda bola
hijau
Rangkaian
photodioda
deteksi adanya
wadah (1)
Port (1)
( 1 0 0 0 0 )
Rangkaian
photodioda
deteksi adanya
wadah (2)
Port (2)
( 0 1 0 0 0 )
Rangkaian
photodioda
deteksi adanya
wadah (3)
Port (3)
( 0 0 1 0 0 )
Rangkaian
photodioda
deteksi adanya
wadah (4)
Port (4)
( 0 0 0 1 0 )
Rangkaian
photodioda
deteksi adanya
wadah (5)
Port (5)
( 0 0 0 0 1 )
Tombol stop
ditekan ?Selesai
Tidak
Tidak Tidak Tidak Tidak
Tidak
Tidak
Ya
Ya
Konveyor Kedua aktif (gerak)
selama 5 detik
Konveyor Kedua berhenti selama 5 detik
Konveyor pertama aktif (gerak) selama 5 detik
Konveyor Kedua kembali pada posisi awal
Ya
Ya Ya Ya Ya Ya
Gambar 3.13. Flowchat Keseluruhan Sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
3.4.2. Flowchart Program Interrupt Motor Conveyor Satu dan Dua
Rangkaian
photodioda
deteksi
adanya
wadah (1)
Port (1)
( 1 0 0 0 0 )
Rangkaian
photodioda
deteksi
adanya
wadah (2)
Port (2)
( 0 1 0 0 0 )
Rangkaian
photodioda
deteksi
adanya
wadah (3)
Port (3)
( 0 0 1 0 0 )
Rangkaian
photodioda
deteksi
adanya
wadah (4)
Port (4)
( 0 0 0 1 0 )
Rangkaian
photodioda
deteksi
adanya
wadah (5)
Port (5)
( 0 0 0 0 1 )
Benda bola
warna hijau
(G)
Benda
kotak
warna hijau
(G)
Benda bola
warna
merah (R)
Benda
kotak
warna
merah (R)
Benda yang
di reject
Benda
kotak atau
bola ?
Webcam
mengenali
warna benda.
R atau G ?
Rangkaian
photodioda
konveyor pertama
mendeteksi
benda
Motor konveyor
kedua siagaMulai
Motor konveyor
pertama gerak
(aktif)
Motor konveyor
pertama berhenti
(5 detik)
Benda
berwarna
R atau G ?
Benda
kotak atau
bola ?
TidakYa
Tidak
Ya
Hijau (G)
Merah (R)
Bola Kotak Bola Kotak
AB
Gambar 3.14. Flowchat Gerak Motor Conveyor Satu Dan Motor Conveyor Dua
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
B
Selesai
Motor konveyor
kedua gerak (aktif)
port (6)
Rangkaian
photodioda pada
konveyor kedua
deteksi adanya
wadah, maka
Motor konveyor
kedua berhenti
selama 5 detik
port (7)
Motor konveyor
pertama gerak (aktif)
selama 5 detik
Saat
sensor limit switch
mendeteksi adanya
wadah maka konveyor
kedua berhenti
Tombol
stop di
tekan ?
Tidak
Tidak
Ya
Ya
A
Gambar 3.14. (Lanjutan) Flowchat Gerak Motor Conveyor Satu Dan Motor Conveyor Dua
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
3.4.3 .Flowchart Program Pengenalan Bentuk dan Warna Benda Pada
MATLAB
Program image processing diproses oleh software MATLAB. Cara kerja proses secara
keseluruhan yaitu mula-mula webcam harus dikenali terlebih dahulu oleh software
MATLAB. Setelah dikenali dan menonaktifkan webcam. Ketika gambar telah di capture,
maka langkah selanjutnya diperolehi 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=17,51 y=60,51 ∆x=255,98 ∆y=176,98 [1]. Proses ini berfungsi untuk
menentuhkan bagian citra yang dibutuhkan untuk proses selanjutnya sehingga untuk bagian
citra yang tidak dibutuhkan akan dipotong.
Setelah croping, maka selanjutnya harus dijadikan matriks real agar memiliki nilai-
nilai yang sesungguhnya dari sebuah matriks gambar. Setelah semua proses sudah dilakukan,
maka langkah yang paling penting yaitu menjumlahkan nilai matriks agar memiliki suatu
nilai yang digunakan untuk mereprentasikan nilai suatu gambar guna untuk mengetahui
warna dari benda. Setelah memperolehi suatu nilai akhir dari selisih masing-masing gambar,
maka dihitung luasan dari masing-masing benda, jika salah satu dari nilai yang diperolehi
paling besar dari masing-masing gambar tersebut maka ia adalah benda kotak dan sebaliknya
jika nilai nya kecil maka ia termasuk benda bola. Apabila inputnya berwarna hijau dan
memiliki nilai yang lebih besar dari warna merah berarti inpunya berwarna hijau. Kemudian
untuk mendeteksi bentuk tinggal membandingkan nilai warna kotak hijau dengan warna
bola hijau, jika nilainya lebih besar maka bisa diartikan bahwa benda tersebut adalah bentuk
kotak dan jika sebaliknya maka itu adalah bentuk bola. Jika nilai yang diperolehi tidak sesuai
dengan warna dan bentuk yang ditentukan maka warna dan bentuk benda tersebut tergolong
bukan warna yang di inginkan jadi dianggap sebagai benda reject.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Benda yang tidak
di inginkan atau
Reject
Benda bola
berwarna hijau
(G)
Benda kotak
berwarna hijau
(G)
Benda bola
berwarna merah
(R)
Benda kotak
berwarna merah
(R)
Mengirim
karakter warna
dan bentuk
secara serial
ke
mikrokontroler
Tombol stop di
tekan ?
Selesai
Benda adalah
kotak atau
bola ?
Benda adalah
kotak atau
bola ?
Benda
adalah
warna
R atau
G ?
Benda
termasuk
warna R atau
G ?
Menjumlahkan
masing-masing
nilai matriks R
atau G
Pengambilan
matriks berwarna
R atau G
Ubah ukuran matriks
gambar
proses cropping
crop=imcrop(gambar);
Inisialisasi webcam
imaqhwinfo;
vid=videoinput('winvi
deo',1,'RGB24_320x2
40');
preview(vid)
getsnapshot(vid);
closepreview(vid);
Terima
karakterMulai
Tidak
Ya
Tidak
Ya
Tidak
Ya
Merah (R)
Hijau (G)
Bola Kotak Bola KotakReject
Gambar 3.15. Flowchat Pengenalan Warna dan Bentuk Benda
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
3.4.4.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 dengan adanya GUI, 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.16. Proses pembuatannya menggunakan aplikasi Visio.
Gambar 3.16. Perancangan GUI Pada MATLAB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
3.4.5. Flowchat Rangkaian Photodioda Pada Conveyor Kedua.
Mulai
Pada konveyor kedua
rangkaian photodioda
siaga
(aktif)
Saat ada wadah
yang terdeteksi
maka
Konveyor kedua akan
berhenti selama 5 detikKonveyor kedua akan
aktif
Tombol stop di
tekan ?
Selesal
Ya Tidak
Tidak
Ya
Gambar 3.17. Flowchat rangkaian photodioda pada conveyor kedua.
Cara kerja atau prosesnya adalah rangkaian photodioda pada conveyor kedua siap
berkerja. Disaat ada wadah yang terdeteksi maka secara otomatis maka conveyor kedua akan
berhenti berkerja selama 5 detik dan menunggu conveyor pertama mengantarkan input
kedalam wadah yang sesuai. Dan jika tidak ada wadah yang terdeteksi maka conveyor kedua
akan aktif berkerja. Proses ini akan berkerja terus sampai pada akhirnya tombol stop ditekan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
3.4.6.Bagaimana Proses Pengenalan Bentuk Dan Warna Benda
Pertama siapkan input yang akan dipakai yang terbuat dari styrofoam untuk kotak
dan untuk bola terbuat dari plastik yang memiliki dua ukuran dan dua bentuk. Untuk bentuk
kotak berukuran 5x5x5cm dan bentuk bola berdiameter 5cm, kemudian memiliki dua jenis
warna yaitu warna merah dan warna hijau serta memiliki dua jenis bentuk berupa bentuk
bola dan bentuk kotak.
Proses awalnya adalah webcam harus dikenali terlebih dahulu oleh software
MATLAB. Selanjutnya pengambilan gambar RGB benda yang akan dikenali dan
menonaktifkan webcam. Ketika gambar telah di capture, maka didapatlah nilai RGB gambar
dalam bentuk matriks yang nantinya akan dijumlahkan sehingga mendapatkan satu nilai
terbesar untuk membuktikan warna yang sesungguhnya pada gambar. Setelah itu dilakukan
proses croping (pemotongan) yang telah ditentukan dimana x=17,51 y=60,51 ∆x=255,98
∆y=176,98 [1]. Proses ini bertujuan untuk menghilangkan bagian yang tidak dibutuhkan
dan mempertahankan bagian citra yang hendak dipakai.
Setelah melalui proses croping, selanjutnya nilai yang diperolehi tadi dijadikan nilai
matriks real agar memiliki nilai yang sesungguhnya dari sebuah matriks gambar. Kemudian
melakukan proses penjumlahan nilai matriks agar memiliki suatu nilai yang digunakan untuk
mereprentasikan nilai suatu gambar guna untuk mengetahui warna dari benda. Setelah
mendapatkan suatu nilai dari selisih masing-masing gambar, maka selanjutnya menentuhkan
selisih yang paling besar dari nilai-nilai yang diperolehi. Apabila memperolehi nilai yang
tidak sesuai dengan warna dasar yang telah ditentukan maka ia termasuk bukan warna dasar.
Untuk mengetahui bentuk dari benda tersebut apakah benda termasuk bentuk bola
atau bentuk kotak. Dengan cara menghitung luasan dari masing-masing benda tersebut dari
hasil pemotongan citra gambar hasil capture.
Selesai proses pengenalan benda, benda yang tadinya diatas conveyor 1 akan dihantar
ke dalam wadah yang telah disedihkan diatas conveyor 2 sesuai dengan benda yang dikenali.
Conveyor 2 akan bergerak sesuai dengan benda yang terdeteksi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
BAB IV
HASIL PENGAMATAN DAN PEMBAHASAN
Pada bab ini akan dibahas mengenai hasil pengamatan dari conveyor pintar
pemindah barang berdasarkan bentuk dan warna. Hasil pengamatan berupa pengujian
webcam logitech C170h terhadap warna dan bentuk seperti kotak merah, bola merah, kotak
hijau, bola hijau dan bukan warna dan bentuk pilihan (reject) pada ketepatan menganalisis
warna dan bentuk benda dan tingkat keberhasilan conveyor memindahkan benda ketempat
yang telah disiapkan berdasarkan masing-masing bentuk dan warna benda.
4.1. Bentuk Fisik serta Sistem Conveyor Pintar
Perangkat keras untuk conveyor pintar ini terdiri atas dua buah conveyor yang dapat
dilihat pada gambar berikut ini 4.1, minimum system ATmega32, modul relay 5 vdc seperti
pada gambar 4.2, regulator 12 vdc sebagai penguat arus seperti pada gambar 4.3, dan
rangkaian untuk sensor seperti pada gambar 4.4, conveyor dua seperti pada gambar 4.5,
conveyor satu seperti pada gambar 4.6, benda seperti pada gambar 4.7 dan wadah untuk
benda 4.8.
Gambar 4.1. Minimum System ATmega32 Gambar 4.2. Modul Relay 5vdc
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
Gambar 4.3. Regulator 12vdc Gambar 4.4. Rangkaian Sensor
Gambar 4.5. Conveyor Dua Gambar 4.6. Conveyor Satu
Gambar 4.7. Benda
Gambar 4.8. Wadah Untuk Benda
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
Gambar 4.9. Conveyor Pintar
Untuk sistem kerja conveyor pintar ini adalah kedua conveyor tersebut berkerja
secara otomatis sesuai dengan perintah yang diprogram. Proses akan mulai berkerja saat
catu daya regulator di hidupkan “ON” dimana awalnya conveyor pertama akan berjalan
membawa sebuah benda kearah tepat dibawah sebuah webcam yang nanti akan terdeteksi
oleh sensor photodioda. Ketika sensor photodioda terhalang oleh benda, maka
mikrokontroler ATmega32 akan mengirimkan karakter ‘A’ secara serial melalui
komunikasi serial USART. Kemudian laptop akan menerima karakter tersebut sebagai
sebuah tanda bahwa benda telah berada tepat dibawah webcam. Kemudian proses
selanjutnya yaitu GUI pada MATLAB akan secara otomatis akan menjalankan program
pengenalan bentuk dan warna benda. Setelah benda telah dikenali, maka laptop akan
mengirimkan sebuah karakter yang mendefinisikan bentuk dan warna benda tersebut.
Karakter ‘A’ yang dikirim ada benda yang terdeteksi yaitu “kotak merah”, Karakter ‘B’
yang terkirim adalah benda yang terdeteksi yaitu “kotak hijau”, Karakter ‘C’ yang terkirim
adalah benda yang terdeteksi yaitu “bola merah”, Karakter ‘D’ yang terkirim adalah benda
yang terdeteksi yaitu “bola hijau”, dan karakter ‘E’ yang terkirim adalah benda yang tidak
terdeteksi.
Setelah mikrokontroler ATmega32 menerima karakter tersebut, maka selanjutnya
conveyor kedua akan aktif dan membawa wadah diatasnya sesuai dengan benda yang akan
dimasukan kedalam wadah dimana conveyor kedua berhenti tepat dibawah conveyor
pertama untuk menerima benda. Proses tersebut akan berlangsung sehingga tombol pada
GUI MATLAB ditekan atau catu daya pada posisi “OFF”.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
4.2. Hasil Data Pengujian dan Pembahasan
Pada sub bab ini, dilakukan pengujian dan pembahasan terhadap nilai batasan pada
RGB, mencari nilai batasan citra RGB dari masing-masing warna benda sebanyak 5 kali
pengambilan data, tingkat keberhasilan sistem saat mendeteksi warna dan bentuk yang
terdeteksi sebanyak 10 kali pengambilan data, pengujian tingkat keberhasilan sistem
mendeteksi warna dan bentuk benda yang dilakukan sebanyak 10 kali percobaan dan
pengujian tingkat keberhasilan sistem memilah benda berdasarkan warna dan bentuk benda
dilakukan sebanyak 10 kali percobaan.
4.2.1. Hasil Data Pengujian dan Pembahasan
Pemberian nilai batasan pada RGB dilakukan dengan membandingakan nilai di
ruang TTL. Pengujian dilakukan sebanyak 5 kali pengambilan data karena nilai setiap
pengambilan data tidak jauh berbeda kemudian dilakukan perbandingan nilai yang
nantinya dicari nilai rata-rata dan dibandingkan serta membuat nilai batasan dengan
mencari nilai terbaik pada nilai tiap RGB. Nilai tersebut yang nantinya akan digunakan
untuk pengambilan data pada ruangan Tugas Akhir. Berikut tabel 4.1 adalah Data
pengujian nilai batasan RGB.
Tabel 4.1. Data Pengujian Nilai Batasan RGB (Kotak Merah)
Warna
Benda
Ruang TA
Nilai
R & G
Bentuk
Benda
&
Range
Nilai
Data
R
G
Merah
17,92 10,47
R > G
Kotak
Range =
>30 &&<=45
39
17,92 10,49 40
17,67 10,21 39
17,41 10 39
17,92 10,36 35
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
Tabel 4.2. Data Pengujian Nilai Batasan RGB (Bola Merah)
Tabel 4.3. Data Pengujian Nilai Batasan RGB (Kotak Hijau)
Warna
Benda
Ruang TA
Nilai
R & G
Bentuk
Benda
&
Range
Nilai
Data
R
G
Merah
16,423 6,716
R > G
Bola
Range =
>15 &&<=30
18
5,818 5,766 15
4,822 1,860 19
9,036 4,444 17
9,024 4,428 17
Warna
Benda
Ruang TA
Nilai
R & G
Bentuk
Benda
&
Range
Nilai
Data
R
G
Hijau
14,1 16,9
R < G
Kotak
Range =
>30 &&<=45
43
14,41 16,97 41
14,5 16,9 43
14,52 16,96 41
14,27 16,69 42
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
Tabel 4.4. Data Pengujian Nilai Batasan RGB (Bola Hijau)
Tabel 4.5. Data Pengujian Nilai Batasan RGB (Reject Balok Merah)
Warna
Benda
Ruang TA
Nilai
R & G
Bentuk
Benda
&
Range
Nilai
Data
R
G
Hijau
16,04 17,912
R < G
Bola
Range =
>15 &&<=30
27
12,32 15,66 25
6,682 7,435 28
5,97 8,640 27
14,86
17,580 28
Warna
Benda
Ruang TA
Nilai
R & G
Bentuk
Benda
Nilai
Data
R
G
Merah
8,8 6,92
Reject
Balok
2
14,61 8 10
12,78 8,111 6
14,768 8,525 12
14,57 8,170 10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Tabel 4.6. Data Pengujian Nilai Batasan RGB (Reject Balok Hijau)
Tabel 4.7. Data Pengujian Nilai Batasan RGB (Reject Bola Kuning)
Warna
Benda
Ruang TA
Nilai
R & G
Bentuk
Benda
Nilai
Data
R
G
Hijau
8,6 13,46
Reject
Balok
53
8,66 13,40 53
8,3 13,1 52
8,12 13,06 53
7,60 12,8 60
Warna
Benda
Ruang TA
Nilai
R & G
Bentuk
Benda
Nilai
Data
R
G
Kuning
17,92 17,92
Reject
Bola
31
17,92 17,92 30
17,92 17,92 30
17,92 17,92 30
17,92 17,92 29
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Pada tabel 4.1, 4.2, 4.3, 4.4, 4.5, 4.6 dan 4.7 menunjukan nilai batasan RGB pada
masing-masing tempat yang berbeda. Terlihat adanya perbedan data yang dihasilkan, hal
ini dipengaruhi oleh beberapa faktor yaitu ketidakmerataan warna pada saat pengecatan
dan pengaruh dari cahaya di ruangan. Rata-rata nilai tersebut diperolehi dengan
menjumlahkan setiap nilai RGB dan dibagi terhadap banyaknya jumlah warna tiap sisi
yang terdeteteksi. Dengan memasukan warna reject yaitu dua bentuk benda reject yaitu
balok dan bola sebagai pembanding. Pada range data adalah nilai pembulatan dari rata-rata
batasan RGB, maka untuk mempermudah sistem mengenali warna dan bentuk benda,
dibuat lah sebuah range dengan nilai terbaik dari rata-rata nilai tempat yang nantinya
digunakan dalam menentukan warna dan bentuk benda tersebut. Untuk benda kotak merah
range data yang digunakan yaitu merah>hijau dan data >30 && <=45, kemudian untuk
bola merah range yang digunakan yaitu merah>hijau dan data >=15 &&<=30 sedangkan
untuk kotak hijau range merah<hijau dan data >30 && <=45 terakhir untuk bola hijau
range merah<hijau dan data >=15 && <=30 dan khusus untuk warna reject selain keempat
range tersebut.
4.2.2. Pengujian Nilai Citra RGB Warna dan Bentuk Benda
Pengujian nilai citra RGB dari masing-masing warna benda dimaksudkan untuk
mengetahui data citra RGB dari masing-masing warna dan bentuk benda yang akan
dikenali. Dilakukan sebanyak 10 kali percobaan dari masing-masing warna dan bentuk
benda. Terdapat tiga warna dan tiga bentuk benda dalam pengambilan data tersebut, yaitu
kotak merah, kotak hijau, bola merah, bola hijau dan benda reject yaitu balok merah dan
balok hijau. Menggunakan nilai range yang sudah ditentukan sebelumnya pada batasan
warna dan bentuk benda sehingga pada saat pengambilan data tidak terjadi kesalahan
warna dan bentuk benda saat proses pengenalan. Dari pengujian tersebut, diperoleh tabel
4.8 sebagai berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Tabel 4.8. Data RGB Masing-Masing Warna Dan Bentuk Benda
Benda
Ke-
Warna
Benda
Pengambilan
Data Ke-
Nilai Citra RGB Nilai Biner
R
G
Bentuk
Benda
Nilai
Data
1
Merah
1 17,92 10,44
Kotak
42
2 17,92 10,5 42
3 17,9 10,4 42
4 17,91 10,5 42
5 17,92 10,6 42
6 17,91 10,5 42
7 17,92 10,6 42
8 17,92 10,66 42
9 17,919 10,6 42
10 17,919 10,68 42
2
Merah
1 17,13 7,23
Bola
19
2 7,78 4,4 18
3 16,76 6,93 17
4 6,45 2,78 17
5 17,31 7,18 16
6 4,72 3,16 16
7 4,75 3,22 16
8 13,1 4,93 16
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
Tabel 4.8. (Lanjutan) Data RGB Masing-Masing Warna Dan Bentuk Benda
Benda
Ke-
Warna
Benda
Pengambilan
Data Ke-
Nilai Citra RGB Nilai Biner
R
G
Bentuk
Benda
Nilai
Data
2
Merah
9 5,7 5,68
Bola
19
10 13,4 5,52 16
3
Hijau
1 14,3 16,9
Kotak
41
2 14,34 16,89 40
3 14,27 16,86 42
4 9,28 11,05 40
5 13,9 16,77 40
6 13,966 16,7 41
7 12,3 14,57 40
8 11,14
13 40
9 14,55 16.9 40
10 14,53 16,96 40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
Tabel 4.8. (Lanjutan) Data RGB Masing-Masing Warna Dan Bentuk Benda
Benda
Ke-
Warna
Benda
Pengambilan
Data Ke-
Nilai Citra RGB Nilai Biner
R
G
Bentuk
Benda
Nilai
Data
4
Hijau
1 15,52 17,8
Bola
26
2 9,05 11,88 28
3 14,13 16,9 27
4 9,21 11,22 28
5 14,55 17,45 28
6 14,57 17,63 29
7 12,78 16,11 27
8 15,39 17,87 28
9 13,88 17,32 27
10 13,88 17,34 27
5
Merah
1 8,8 6,92
Balok
2
2 14,61 8 10
3 12,78 8,111 6
4 14,768 8,525 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
Tabel 4.8. (Lanjutan) Data RGB Masing-Masing Warna Dan Bentuk Benda
Benda
Ke-
Warna
Benda
Pengambilan
Data Ke-
Nilai Citra RGB Nilai Biner
R
G
Bentuk
Benda
Nilai
Data
5
Merah
5 14,57 8,170 Balok 10
6
Hijau
1 8,6 13,46
Balok
53
2 8,66 13,40 53
3 8,3 13,1 52
4 8,12 13,06 53
5 7,60 12,8 60
Dari tabel 4.8 menunjukan data citra RGB masing-masing warna dan bentuk benda
yang telah diambil datanya pada ruangan TA (Tugas Akhir) diatas conveyor. Terlihat
adanya beberapa perbedaan nilai yang dihasilkan, hal ini dipengaruhi oleh ketidakmerataan
warna pada masing-masing benda serta 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.
Sama halnya dengan pencarian bentuk benda bila pencahayaan terlalu terang atau bahkan
kurang akan membuat bentuk yang terdeteksi berubah sesuai kondisi.
Nilai pada tabel 4.8 tersebut diperolehi dari nilai batasan pada RGB dan batasan
citra biner. Untuk benda Untuk benda kotak merah range data yang digunakan yaitu R>G
dan data >30 && <=45, kemudian untuk bola merah range yang digunakan yaitu R>G dan
data >=15 &&<=30 sedangkan untuk kotak hijau range R<G dan data >30 && <=45
terakhir untuk bola hijau range R<G dan data >=15 && <=30 dan khusus untuk warna
reject selain keempat range tersebut. Misalnya untuk membuktikan nilai bola merah pada
citra RGB dan biner tinggal disesuaikan saja dengan nilai range merah adalah dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
mencari nilai minimal pada warna merah R lebih besar daripada G dan nilai data untuk
bentuk bola minimal =15 dan maksimal =30, maka dari data tersebut dapat disimpulkan
bahwa nilai batasan range bola merah diperolehi sesuai pada nilai citra RGB dan biner
benda bola merah. Begitu juga untuk mencari nilai citra RGB bola hijau dengan mencari
nilai minimal pada data G dan maksimal pada data R sedangkan bentuk tinggal
menyesuaikan minimal data biner minimal =15 dan maksimal =30 untuk pembuktian bola
hijau sehingga dapat disimpulkan bahwa dengan nilai batasan range data dari masing-
masing warna dan bentuk sesuai dengan data yang diperoleh.
Melihat nilai data hasil citra RGB dan data biner yang diperolehi diruangan TA,
maka nilai RGB dan biner yang dihasilkan stabil atau relatif didalam ruangan Ta
dikarnakan kondisi pencahayaan dan kemerataan warna benda sangat berdampak sekali
pada kinerja webcam sangat sensitif saat sedang mendeteksi benda sehingga terkadang
nilai yang telah diberika range terkadang meleset sedikit dan tidak sesuai dengan nilai saat
proses kalibrasi mencari range dengan saat pengambilan data terdapat sedikit perbedaan
khususnya pada pencarian nilai biner untuk pembuktian bahwa benda tersebut berbentuk
kotak atau bola.
4.2.3. Pengujian Tingkat Keberhasilan Sistem Mendeteksi Benda
Pada tugas akhir ini, dilakukan analisi tingkat keberhasilan conveyor pintar saat
proses pengenalan bentuk dan warna benda dilakukan yaitu kotak merah, kotak hijau, bola
merah dan bola hijau. Dan jika terdapat bentuk dan warna yang lain maka webcam tidak
akan mendeteksi dan akan mereject. Untuk mengenalinya digunakan range data yang
sudah dibuat diruang Ta (ruangan Tugas Akhir). Tetapi apabila terdapat warna dan bentuk
lain maka akan terdeteksi reject. Tingkat keberhasilan sistem ditunjukan pada tabel 4.10
dan gambar 4.10, gambar 4.11, gambar 4.12, gambar 4.13 dan gambar 4.14 adalah gambar
benda terdeteksi dengan lima kali hasil counting benda.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
Tabel 4.9. Pengujian Keberhasilan Sistem Mendeteksi Warna dan Bentuk Benda
PENGUJIAN KEBERHASILAN SISTEM MENDETEKSI
WARNA DAN BENTUK BENDA
WARNA BENTUK
BENDA
1 2 3 4 5 6 7 8 9 10
KOTAK MERAH V V V V V V V V V V
KOTAK HIJAU V V V V V V V V V V
BOLA MERAH V V V V V V V V V V
BOLA HIJAU V V V V V V V V V V
REJECT V V V V V V V V V V
Keterangan : V(Berhasil) X(Tidak berhasil)
Tabel 4.9 adalah hasil data yang diambil sebanyak sepuluh kali percobaan, dimana
kelima jenis benda ini dikenali satu persatu sebanyak sepuluh kali percobaan tiap benda
yaitu kotak merah, kotak hijau, bola merah, bola hijau dan benda reject diatas conveyor
yang sedang aktif (nyala).
Berdasarkan percobaan tersebut, semua benda berhasil dikenali dengan benar dan
akurat satu persatu. Sepuluh kali percobaan tersebut dilampirkan lima jenis gambar benda
sebagai bukti keperhasilan pengambilan data yang bisa dilihat pada gambar 4.10, 4.11,
4.12, 4.13, dan 4.14. Benda-benda tersebut diambil citranya dengan bantuan webcam
kemudian diolah di program matlab gui dengan berbagai posisi benda dan semuanya
berhasil. Kesimpulannya adalah untuk program matlab gui pengenalan bentuk dan warna
benda ini memiliki tingkat keberhasilan 100%.
Gambar 4.10. Pengujian Benda Kotak Merah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
Gambar 4.10. (Lanjutan) Pengujian Benda Kotak Merah
Gambar 4.11. Pengujian Benda Kotak Hijau
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
Gambar 4.12. Pengujian Benda Bola Merah
Gambar 4.13.Pengujian Benda Bola Hijau
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
Gambar 4.13. (Lanjutan) Pengujian Benda Bola Hijau
Gambar 4.14. Pengujian Benda Reject
.
Gambar 4.10, 4.11, 4.12, 4.13 dan 4.14 adalah gambar benda dari hasil percobaan
pengambilan data sebanyak sepuluh kali.
4.2.4. Pengujian Keberhasilan Sistem Conveyor Pintar Memilah Benda
Berdasarkan Bentuk Dan Warna
Pada pengujian conveyor pintar ini sudah mampu melalukan proses memilah dan
memindahkan benda kedalam wadah sesuai warna dan bentuk sebanyak sepuluh kali
percobaan. Ketika sistem telah mengenali benda, maka sistem akan langsung mengirimkan
sebuah karakter secara serial kepada mikrokontroler ATmega32 untuk selanjutnya
mengontrol pergerakan conveyor satu untuk memindahkan benda tersebut ke conveyor dua
yang diatasnya ada wadah sesuai bentuk dan warna benda.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
Tabel 4.10. Pengujian Keberhasilan Sistem Memilah Benda Berdasarkan Warna Dan
Bentuk Benda
PENGUJIAN KEBERHASILAN SISTEM MEMILAH BENDA
BERDASARKAN WARNA DAN BENTUK BENDA
WARNA BENTUK
BENDA
1 2 3 4 5 6 7 8 9 10
KOTAK MERAH V V V V V V V V V V
KOTAK HIJAU V V V V V V V V V V
BOLA MERAH V V V V V V V V V V
BOLA HIJAU V V V V V V V V V V
REJECT V V V V V V V V V V
Keterangan : V(Berhasil) X(Tidak berhasil)
Tabel 4.10 adalah hasil data percobaan benda yang berhasil dipilah-pilah oleh
conveyor sebanyak sepuluh kali percobaan tiap masing-masing benda yaitu kotak merah,
kotak hijau, bola merah, bola hijau dan benda reject. Cara kerjanya adalah benda kotak
merah di simpan diatas conveyor satu kemudian dikenali dan selanjutnya dihantar ke
conveyor dua dan dimasukan kedalam wadah diatas conveyor dua yang sesuai dengan
benda kotak merah dan proses ini berlaku sama untuk kotak hijau, bola merah, bola hijau
dan benda reject. Dari hasil pengambilan data sebanyak sepuluh kali tersebut conveyor
pintar ini sudah memiliki tingkat keberhasilan 100%.
Motor yang dipakai untuk menggerakan conveyor pertama menggunakan tegangan
sebesar 12v sehingga gerakkan yang dihasilkan oleh conveyor pertama tidak terlalu pelan
dan tidak juga terlalu kencang. Berdasarkan percobaan diatas, jika menggunakan tegangan
lain misalnya 24v maka benda yang mau dikenali akan kesulitan untuk dikenali oleh
webcam dikarenakan benda saat berada diatas conveyor pertama tidak bisa berhenti tepat
dibawa webcam sehingga webcam salah melakukan pengidentifikasi benda. Jika
menggunakan tegangan dibawa 12v maka gerakkan conveyor akan sangat lambat sehingga
membutuhkan waktu yang lama dalam proses pengenalan bentuk dan warna benda.
Conveyor dua menggunakan tegangan 24v untuk menggerakan kedua motor dc tersebut
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
0
5
10
15
20
25
30
35
40
45
1 2 3 4 5 6 7 8 9 10Ran
ge D
ata
Bin
er
An
tara
Ko
tak
& B
ola
(P
erb
an
din
gan
Dat
a)
10 Kali Pengambilan Data Biner Bentuk Benda (Kotak & Bola)
Perbandingan Bentuk Benda Antara Kotak danBola
Benda Kotak Benda Bola
0
2
4
6
8
10
12
14
16
18
1 2 3 4 5 6 7 8 9 10
Dat
a N
ilai C
itra
(P
erb
and
inga
n W
arn
a R
& G
)
10 kali Pengambilan Data Nilai Citra Khusus Kotak Merah
Perbandingan Nilai Citra R & G Khusus Untuk Kotak Merah
Warna Merah Warna Hijau
kekiri dan kekanan. Berdasarkan percobaan tersebut, apabila conveyor dua menggunakan
tegangan dibawa 24v maka motor dc tidak bisa aktif bergerak.
Gambar 4.15. Grafik Perbandingan Antara Bentuk Kotak Dan Bola
Gambar 4.16. Grafik Perbandingan Merah Dan Hijau Untuk Benda Kotak Merah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
0
2
4
6
8
10
12
14
16
18
1 2 3 4 5 6 7 8 9 10
Dat
a N
ilai C
itra
(Per
ban
din
gan
War
na
R &
G)
10 Kali Pengambilan Data Nilai Citra Khusus Bola Merah
Perbandingan Nilai Citra R & G Khusus Untuk Bola Merah
Warna Merah Warna Hijau
0
2
4
6
8
10
12
14
16
18
1 2 3 4 5 6 7 8 9 10
Dat
a N
ilai C
itra
(Per
ban
din
gan
War
na
R &
G)
10 Kali Pengambilan Data Nilai Citra Khusus Kotak HIjau
Perbandingan Nilai Citra R & G Khusus Untuk Kotak Hijau
Warna Merah Warna Hijau
Gambar 4.17. Grafik Perbandingan Merah Dan Hijau Untuk Benda Bola Merah
Gambar 4.18. Grafik Perbandingan Merah Dan Hijau Untuk Benda Kotak Hijau
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
0
2
4
6
8
10
12
14
16
18
20
1 2 3 4 5 6 7 8 9 10
Da
ta N
ilai C
itra
(Per
ban
din
gan
War
na
R &
G)
10 Kali Pengambila Data Nilai Citra Khusus Bola Hijau
Perbandingan Nilai Citra R & G Khusus UntukBola Hijau
Warna Merah Warna Hijau
Gambar 4.19. Grafik Perbandingan Merah Dan Hijau Untuk Benda Bola Hijau
4.3. Analisis dan Pembahasan Perangkat Lunak
Pada sub bab ini akan dibahas mengenai listing program dan CodeVision AVR,
MATLAB dan analisis.
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 ADC (Analog to Digital Converter), dan
program untuk komunikasi serial menggunakan USART (Universal Synchronous
Asynchronous Receiver Transmitter).
4.3.1.1. Pengendali Sensor Photodioda
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
Gambar 4.20. Listing Program ADC
Pada listing program yang ditunjukan gambar 4.15, menggunakan PORTA.0
sebagai PORT masukan untuk mengubah tegangan analog menjadi tegangan digital. 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.
Gambar 4.21. Listing Program Pengendali Conveyor
Pada bagian listing program gambar 4.21 fungsinya yaitu untuk mengendalikan
motor penggerak conveyor yang dikontrol menggunakan PORTA.0. Terdapat nilai pd1<
900 ini dimaksudkan untuk membuat PORTA.0 bernilai “1”yang mengidentifikasi adanya
benda dan jika nilai sensor kurang dari atau sama dengan 900 maka tidak ada objek yang
menghalang yang artinya motor conveyor akan terus berputar sampai ada benda yang
menghalang.
// ADC initialization
// ADC Clock frequency: 691.200 kHz
// ADC Voltage Reference: AVCC pin
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x84;
// SPI initialization
// SPI disabled
SPCR=0x00;
// TWI initialization
// TWI disabled
TWCR=0x00;
//= Ada Objek di PD 1
pd1=read_adc(0);
if(pd1>=900){
flag1=1;
} else if(pd1<900){
flag1=0;
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
// Konveyor1ON
void konOn(){
relay5ON();
}
// Konveyor 1OFF
void konOff(){
relay5OFF();
}
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 “getString()” yaitu untuk menjalankan fungsi baca
komunikasi dari laptop agar mikrokontroler dapat mengerti apa yang dimaksud oleh laptop
saat mengirimkan karakter yang mendefinisikan bentuk benda. Sedangkan fungsi
“bacasensor()” yaitu untuk menjalankan fungsi baca sensor dan untuk terakhirnua
“kondisi()”untuk mengkondisikan sensor yang terbaca apakah ada objek atau tidak ada
objek yang terdeteksi. Listing program dapat dilihat pada gambar 4.22.
Gambar 4.22. Listing Program Komunikasi USART
4.3.1.3. Pengendali Motor DC
Program pengendali motor dc. Ini lisiting program untuk mengerakan motor 1 dan
2 sesuai dengan input yang di kenali. Listing program pengendali motor dc ditunjukan pada
gambar 4.23.
Gambar 4.23 Program Pengerak Conveyor
//Fungsi Komunikasi USART
// Membersihkan variabel penampung untuk menerima
data selanjutnya
void clearStringBuffer(){
unsigned char i=0;
for (i=0;i<16;i++){
dataString[i]='';
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
Gambar 4.23 (Lanjutan) Program Pengerak Conveyor
Listing program pada gambar 4.21 adalah pergerakan motor dc untuk conveyor 1
dan conveyor 2 dalam kegiatan memilah benda. “Void()” adalah perintah untuk membuat
suatu fungsi agar ketika dieksekusi salam proses tidak perlu menulis ulang subrutin yang
terdapat didalam void. Gambar 4.24 merupakan listing program untuk memilah benda
reject, Gambar 4.25 merupakan listing program untuk memilah bola benda, Gambar 4.26
merupakan listing program untuk memilah bola hijau, Gambar 4.27 merupakan listing
program untuk memilah benda kotak merah, Gambar 4.28 merupakan listing program
untuk memilah benda kotak hijau.
Gambar 4.24 Listing Program Benda Reject
// Motor Searah Jarum Jam ON
void kananOn(){
relay1ON();
relay2ON();
}
// Motor Searah Jarum Jam OFF
void kananOff(){
relay1OFF();
relay2OFF();
}
// Motor Berlawanan Arah Jarum Jam ON
void kiriOn(){
relay3ON();
relay4ON();
}
// Motor Berlawanan Arah Jarum Jam OFF
void kiriOff(){
relay3OFF();
relay4OFF();
}
// Barang Reject
void barangReject(){
// Jika Limit switch ditekan
if (flag7==1){
kiriOff(); // Motor OFF <-
konOn(); // Jalankan kembali konveyor 1
cleanObjek(); // Menjauhkan objek dari sensor
k=0; // Keluar dari rutin while
// Jika limit switch tidak ditekan
else if(flag7==0){
kiriOn(); // Motor ON <-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
Gambar 4.25 Listing Program Benda Bola Merah
Gambar 4.26 Listing Program Benda Bola Hijau
// Bola Merah
void bolaMerah(){
// Jika Limit Switch ditekan
if(flag7==1){
kiriOff(); // Motor OFF <-
kananOn(); // Motor ON ->
x=1; // Mengatur objek
}
// Jika Limit Switch tidak ditekan
else if(flag7==0){
// Jika Objek belum diatur
if(x==0){
kiriOn(); // Motor ON <-
}
// Jika Objek telah diatur
else if(x==1){
// Jika tidak ada objek di PD2 dan ada objek di PD1
if(flag1==1){
cleanObjek(); // Menjauhkan objek dari sensor
kananOff(); // Motor OFF ->
kiriOff(); // Motor OFF <-
konOn(); // Jalankan kembali konveyor 1
cleanObjek(); // Menjauhkan objek dari sensor
l=0; // Keluar dari while
x=0; // Mengaktifkan kembali prosedur mengatur objek
}
}
// Bola Hijau
void bolaHijau(){
//Jika Limit switch tertekan
if(flag7==1){
kiriOff(); // Motor OFF <-
kananOn(); // Motor ON ->
x=1; // Mengatur Objek
}
// Jika limit switch tidak ditekan
else if(flag7==0){
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
Gambar 4.26 (Lanjutan) Listing Program Benda Bola Hijau
Gambar 4.27 Listing Program Benda Kotak Merah
// Jika objek belum teratur
if(x==0){
kiriOn(); // Motor ON <-
}
// Jika objek telah diatur
else if(x==1){
// Jika Objek telah berada pada PD2
if(flag2==1){
cleanObjek(); // Delay untuk menjauhkan objek dengan sensor
kananOff(); // Motor OFF ->
kiriOff(); // Motor OFF <-
konOn(); // Jalankan kembali konveyor 1
cleanObjek(); // Menjauhkan objek dari sensor
m=0; // Keluar dari rutin while
x=0; // Mengaktifkan fungsi mengatur objek
// Kotak Merah
void kotakMerah(){
// Jika limit switch tertekan
if(flag7==1){
kiriOff();
kananOn();
x=1;
}
// Jika limit switch tidak ditekan
else if(flag7==0){
if(x==0){
kiriOn();
}
else if(x==1){
if(flag3==1){
cleanObjek();
kananOff();
kiriOff();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
Gambar 4.27 Listing Program Benda Kotak Hijau
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.
// Kotak Hijau
void kotakHijau(){
if(flag7==1){
kiriOff();
kananOn();
x=1;
}
else if(flag7==0){
if(x==0){
kiriOn();
}
else if(x==1){
if(flag4==1){
cleanObjek();
kananOff();
kiriOff();
konOn(); // Jalankan kembali konveyor 1
cleanObjek();
o=0;
x=0;
}
}
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
Pada bagian listing program diatas, nilai variabel ‘a’ berisi nilai wadah reject yang
dikirim oleh laptop melalui modul USB TO TTL converter. Sama halnya dengan variabel
‘b’ untuk bola merah, variabel ‘c’ untuk bola hijau, variabel ‘d’ untuk kotak merah dan
terakhir untuk variabel ‘e’ untuk kotak hijau
Subrutin yang terdapat didalam “while(1)” akan dieksekusi secara terus menerus
sehingga 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 bentuk dan warna
benda.
while (1) // Program yang terus menerus berjalan sehingga
Minsis Powernya dimatin
{
// Status komunikasi OFF
if (status==0){
bacaSensor();
if(flag6==1){
konOff(); //matikan konveyor
status=1;
fungsiPanggil();
}
//Jika tidak ada objek di konveyor 1
else if(flag6==0){
konOn();
status=0;
}
}
// Status komunikasi ON
else if(status==1){
Objek();
}
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
4.3.2.1. Tampilan Gui MATLAB
GUI (Graphical User Interface) yaitu suatu tampila 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.24.
Gambar 4.29 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,
ataupun diagram. Axes digunaka untuk menampilkan gambar dari benda yang telah
diproses. Selain axes, terdapat fasilitas edit text yang berfungsi untuk menampilkan jumlah
benda yang telah terdeteksi, nilai data citra biner, 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 diekseusi
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
perangkat tidak memiliki baudrate yang sama, maka sudah dapat dipastikan kedua
perangkat ini tidak akan dapat berkomunikasi satu sama lainnya. Program inisialisasi
komunikasi serial ditunjukan gambar 4.30.
Gambar 4.30. Inisialisasi Komunikasi Serial
4.3.2.3. Inisialisasi Webcam
Untuk melakukan proses pengolahan citra, maka dibutuhkan perangkat keras
berupa webcam. Oleh karena itu, diperlukannya proses inisialisasi perangkat keras tersebut
agar dapat dikenali oleh MATLAB. Inisialisasi webcam dapat dilihat pada gambar 4.31
Gambar 4.31. Inisialisasi Webcam
Perintah program “2,’YUY2” adalah perintah program untuk menampilkan
informasi yang akan disampaikan oleh webcam dan kemudian informasi tersebut akan
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. Gambar 4.32. Adalah fungsi yang dipakai.
%Hardware Setting
set(komunikasi,'BaudRate',baudr,'DataBits',databit,'parity','none','StopBits',stopbit
,'FlowControl','none');
% Open Port
fopen(komunikasi); %--open the serial port to the PIC
% Send Serial Data
fprintf(komunikasi,'d#'); %'d' = untuk kotak merah
pause(0.5)
% Close Connection
fclose(komunikasi);
guidata(hObject,handles);
% ----- Proses inisialisasi webcam ----- %
vid=videoinput('winvideo',2,'YUY2_320x240');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
Gambar 4.32 Adalah Fungsi Yang Dipakai Untuk Komunikasi Antara Webcam Dan
Matlab
4.3.2.4. Proses Pengolahan Citra
Proses pengolahan citra merupakan suatu proses untuk mengolah suatu kualitas
gambar atau citra yang telah diambil kamera atau 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 gambar yang telah diambil
diproses dan diubah menjadi gambar grayscale dengan tujuan untuk pemrosesan. Langkah
selanjutnya yaitu mengubah citra grayscale menjadi citra biner, hal ini dikarenakan saat
pengenalan bentuk benda menggunakan metode citra biner. Setelah citra biner, langkah
selanjutnya yaitu proses pemotongan gambar. Hal ini bertujuan untuk menghilangkan
background atau latar belakang yang tidak dibutuhkan untuk diproses. Fungsi “imresize”
bertujuan untuk memperkecil kualitas citra yang telah diolah agar memiliki nilai yang tidak
terlalu besar kemudian gambar diubah kembali menjadi gambar RGB dengan tujuan yamg
sama dan selanjutnya pengubahan ke matrik real agar citra RGB dapat dihitung. Kemudian
langkah terakhir yaitu proses penjumlahan data nilai citra RGB yang diubah ke matrik real
menjadi sebuah nilai yang nantinya nilai tersebut mewakili sebuah benda kemudian akan
function newdata=yuy2torgb(data)
Y=single(data(:,:,1));
U=single(data(:,:,2));
V=single(data(:,:,3));
C=Y-16;
D=U-128;
E=V-128;
R=uint8((298*C+409*E+128)/256);
G=uint8((298*C-100*D-208*E+128)/256);
B=uint8((298*C+516*D+128)/256);
newdata=uint8(zeros(size(data)));
newdata(:,:,1)=R;
newdata(:,:,2)=G;
newdata(:,:,3)=B;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
ditampilan pada layar axes benda apa yang dikenali oleh webcam. seperti yang ditunjukan
pada gambar 4.33.
Gambar 4.33. Proses Pengolahan Citra
% ----- Proses inisialisasi webcam ----- %
vid=videoinput('winvideo',2,'YUY2_320x240');
% ----- Proses capture gambar ----- %
gambar1=getsnapshot(vid); %--Ambil gambar--%
gambar=yuy2torgb(gambar1); %--Kemudian di ubah ke RGB--%
% ----- Proses rgb ke gray ----- %
grey=rgb2gray(gambar);
% ----- Proses grey ke biner ----- %
biner=im2bw(grey);
% ----- Proses cropping ----- %
crop1=imcrop(biner,[17.51 60.51 255.98 176.98]);
crop2=imcrop(gambar,[125.51 140.51 31.98 27.98]);
crop3=imcrop(gambar,[17.51 60.51 255.98 176.98]);
% ----- Proses resizing ----- %
y=imresize(crop1,[16 16]);
c=double(y);
% ----- Menjumlahkan keseluruhan ----- %
data=sum(sum(c));
% ----- Proses merubah ke bentuk rgb ----- %
red=crop2(:,:,1);
green=crop2(:,:,2);
% ----- Ubah ke nilai matrik real ----- %
c1=double(red)/255;
c2=double(green)/255;
merah=sum(sum(c1/50));
hijau=sum(sum(c2/50));
% ----- Tampilkan pada axes ----- %
axes(handles.axes1);
imshow(crop3);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
4.3.2.5. Proses Pengenalan Bentuk dan Warna Benda
Berdasarkan nilai-nilai dari tabel 4.10, maka dibuat sebuah range yang menentukan
bentuk benda tersebut. Untuk benda kotak range data yang digunakan yaitu untuk warna
kotak merah ((R > G) dan (data>30)&&(data<=45)), bola merah ((R > G) dan
(data>=15)&&(data<=30)), kotakhijau ((R<G) dan (data>30)&&(data<=45)), bola hijau
((R>G) dan (data>=15)&&(data<=30)), maka dapat dibuat range nilai untuk mengetahui
dan mengenali dari masing-masing bentuk benda. Listing program ditunjukan gambar
4.31.
Gambar 4.34. Listing Program Pengenalan Bentuk dan Warna
% ----- Proses pengenalan Warna dan Bentuk ----- %
if(((merah>hijau))&&((data>30)&&(data<=45)))
set(handles.edit9, 'String', 'KOTAK MERAH');
kotakmerah=kotakmerah +1;
set(handles.edit1,'String', kotakmerah);
guidata(hObject,handles);
elseif(((merah>hijau))&&((data>=15)&&(data<=30)))
set(handles.edit9, 'String', 'BOLA MERAH');
bolamerah=bolamerah +1;
set(handles.edit2,'String', bolamerah);
guidata(hObject,handles);
set(handles.edit9, 'String', 'KOTAK HIJAU');
kotakhijau=kotakhijau +1;
set(handles.edit3,'String', kotakhijau);
guidata(hObject,handles);
elseif(((merah<hijau))&&((data>=15)&&(data<=30)))
set(handles.edit9, 'String', 'BOLA HIJAU');
bolahijau=bolahijau +1;
set(handles.edit4,'String', bolahijau);
guidata(hObject,handles);
else
set(handles.edit9, 'String', 'REJECT');
reject=reject +1;
set(handles.edit5,'String', reject);
guidata(hObject,handles);
% Open Port
fopen(komunikasi); %--open the serial port to the
PIC
% Send Serial Data
fprintf(komunikasi,'a#'); %'a' = untuk Reject
pause(0.5)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
Proses akan beroperasi jika data memiliki nilai antara ((R>G) dan
(data>30)&&(data<=45)) maka ditampilan pada “edit9” bahwa benda yang terdeteksi
adalah kotak merah, kemudian menjumlahkan nilai warna dan nilai biner benda yang
terdeteksi sebanyak satu kemudian hasil penjumlahan tersebut ditampilkan pada “edit1”
lalu mengirimkan karakter ‘d’ secara serial dan memberi jeda selama satu detik. Jika data
memiliki nilai ((R>G) dan (data>=15)&&(data<=30)) maka akan ditampilkan pada “edit9“
bahwa benda yang terdeteksi adalah bola merah, kemudian menjumlahkan nilai warna dan
nilai biner benda yang terdeteksi sebanyak satu kemudian hasil penjumlahan tersebut
ditampilkan pada “edit2” lalu mengirimkan karakter ‘b’ secara serial dan memberi jeda
selama satu detik.
Jika data memiliki nilai ((R<G) dan (data>30)&&(data<=45)) maka akan
ditampilkan pada “edit9” bahwa yang terdeteksi adalah kotak hijau kemudian
menjumlahkan nilai warna dan nilai biner benda yang terdeteksi sebanyak satu kemudian
hasil penjumlahan tersebut ditampilkan pada “edit3” lalu mengirimkan karakter ‘e’ secara
serial dan memberi jeda selama satu detik. Bila nilai ((R<G) dan
(data>=15)&&(data<=30)), maka akan ditampilkan pada “edit9” bahwa yang terdeteksi
adalah bola hijau kemudian menjumlahkan nilai warna dan nilai biner benda yang
terdeteksi sebanyak satu kemudian hasil penjumlahan tersebut ditampilkan pada “edit4”
lalu mengirimkan karakter ‘c’ secara serial dan memberi jeda selama satu detik. Apabila
data berada pada nilai selain data yang telah disebutkan maka akan ditampilkan “edit9”
bahwa yang terdeteksi reject kemudian menjumlahkan nilai warna dan nilai biner benda
yang terdeteksi sebanyak satu kemudian hasil penjumlahan tersebut ditampilkan pada
“edit5” lalu mengirimkan karakter ‘a’ secara serial dan memberi jeda selama satu detik.
4.3.3. Analisis
a. Sumber tegangan yang digunakan untuk menghidupkan conveyor diperolehi dari
inverter yang menghasilkan tegangan 24v kemudian disambungkan ke regulator
12v kemudian digunakan untuk mengaktifkan mikrokontroler,motor dc serta
komponen-komponen pendukung lainnya.
b. Benda yang dipakai sebagai input masukan terbuat dari styrofoam yang dibagian
luarnya dibungkus kertas payung untuk bentuk kotak dan untuk bentuk bola terbuat
dari plastik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
c. Pada proses pengambilan data yaitu proses pengenalan bentuk benda dan warna
menggunakan aplikasi matlab berhasil diperolehi sesuai dengan keinginan.
d. Pada bagian mekanik alat conveyor pintar ini sudah sepenuhnya berhasil
dioperasikan secara otomatis. Komunikasi serialnya berjalan sesuai dengan
perancangan.
4.4. Pembahasan Software
Pada tugas akhir ini software yang digunakan antara lain:
a. CodeVision AVR Evalution versi 2.05.0 dengan Compiler Bahasa C. IC
(Integrated Circuit) yang digunakan adalah ATMega32 jenis DT-AVR Low
Cost Micro System Merk Innovattive Electronics.
b. Software simulasi yang digunakan adalah Proteus ISIS 7.1 SPO (Build
12325). Simulasi ini bertujuan untuk mengetahui rangkaian yang akan
digunakan telah berkerja dengan baik atau belum.
c. Proses pembuatan PCB juga menggunakan Proteus ISIS 7.1 SPO (Build
12325). Jenis komponen yang digunakan sampai desain rangkaian sudah
dirancang dengan baik, selanjutnya membuat rangkaian PCB hingga rapi.
d. Program Mikrokontroler yang sudah dibuat lalu disimulasikan, kemudian
dimasukkan kedalam ATMega32. Downloder yang digunakan adalah
USBasp for Atmel AVR controller 2011. Proses download program ke
mikrokontroler menggunakan program Extreme Burner.
e. Program Matlab R2010a digunakan untuk menunjukkan benda tersebut
memiliki bentuk dan warna apa. Selain itu, program ini juga mampu
melakukan perhitungan berapa banyak benda yang telah terdeteksi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Dari hasil pengujian serta pengambilan data pada aplikasi pengenalan benda
menggunakan webcam untuk conveyor pintar pemilah benda berdasarkan warna dan bentuk
benda, dapat diambil kesimpulan:
1. Program Matlab Gui untuk proses pengenalan bentuk dan warna benda yang
menggunakan webcam sebagai pengenal benda sudah mampu untuk
mengenali bentuk serta warna benda sehingga mampu melakukan proses
pemilah dan berhasil melakukan counting sesuai dengan jumlah benda yang
terdeteksi. Memiliki tingkat keberhasilan 100% dalam proses
pengindentifikasi benda.
2. Program avr untuk menggerakan conveyor sudah berhasil sepenuhnya dan
bisa diterapkan pada hardware sehingga bisa membuat conveyor bergerak
sesuai dengan perancangan dan bagian mekanik ini juga sama memiliki
tingkat keberhasilan 100% dalam proses memilah benda berdasarkan bentuk
dan warna benda. Untuk komunikasi serial juga sudah mampu mengirim
data string dari program Matlab ke mikrokontroler untuk mengendalikan
gerakkan conveyor 1 dan conveyor 2.
3. Sistem conveyor pintar ini sudah mampu berkerja sesuai dengan
perancangan awal dan memiliki tingkat keberhasilan 100%.
5.2. Saran
Saran bagi pengembangan selanjutnya adalah:
1. Menyiapkan lebih banyak lagi variasi bentuk benda serta warna benda agar
dalam proses pembandingkan memiliki tingkat keakuratan nilai RGB di
dalam sistem.
2. Waktu untuk proses pengenalan benda dibuat dengan lebih cepat.
3. Kecepatan conveyor dibuat lebih cepat lagi agar bisa menghemat waktu.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
Daftar Pustaka
[1] Bagus Dean Mahendra, Richard. 2011. Aplikasi Pengenalan Warna Menggunakan
Webcam Untuk Lengan Robot Pemisah Benda Brdasarkan warna, Skripsi,
Universitas Sanata Dharma, Yogyakarta.
[2] Hasan, Irvan. 2011. Aplikasi Pengenalan Objek Untuk Lengan Robot Pemisah Benda
Berdasarkan Bentuk Benda, Skripsi, Universitas Sanata Dharma, Yogyakarta.
[3] http://www.automatedconveyors.com/slider-bed-belt, diakses pada tanggal 29 Juli
2016
[4] https://pccontrol.wordpress.com/2013/07/04/pengetahuan-dasar-pemrograman-
usart-serial-komunikasi-avr-microcontroller/, diakses pada tanggal 10 Agustus 2016
[5] Winato, A,, 2002, Mikrokontroler AVR ATMEGA8/32/8532 dan pemrograman
dengan Bahasa C pada WinAVR, INFORMATIKA, Bandung.
[6] Heryanto, M.A., ST., Ir. Wisni Adi P., 2008, Pemrograman Bahasa C untuk
Mikrokontroler ATMEGA32, 1st ed, C.V ANDI OFFSET, Yogyakarta.
[7] Bejo, A., 2008, C dan AVR Rahasia Kemudahan Bahasa C dalam Mikrokontrol
ATMEGA32, 1st ed, GRAHA ILMU, Yogyakarta.
[8] Adrianto, H., 2008, Pemrograman Mikrokontroler AVR ATMEGA 16, 1st ed,
INFORMATIKA, Bandung.
[9] Sumbodo, W ., 2008, Jilid 3, Teknik Produksi Mesin Industri, Direktorat Pembinaan
Sekolah Menengah Kejurusan, Dirjen Manajemen Pendidikan Dasar dan Menengah,
Hak Cipta Depdiknas.
[10] http://www.learningaboutelectronics.com/Articles/How-to-connect-a-voltage-
regulator-in-a-circuit/, diakes pada tanggal 29 Juli 2016
[11] Honeycutt, R.A., 1988, Op Amps and Linear Integrated Circuits, Delmar Publishers
Inc., New York
[12] Boylestad, R and Nashelsky. L., Electronic Devices and Circuit Theory, seventh
edition, Prentice Hall, New Jersey Columbus, Ohio.
[13] http://elektronika-dasar.web.id/model-warna-citra-digital/ diakses pada tanggal 29 Juli
2016
[14] http://elektronika-dasar.web.id/limit-switch-dan-saklar-push-on/, diakses pada
tanggal 05 Juli 2016.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
[15] http://rumahshaleh.com/pengertian-webcam-dan-jenisnya/, diakses pada tanggal 07
Juli 2016.
[16] http://zonaelektro.net/motor-dc/, diakses pada tanggal 09 Juli 2016.
[17] http://www.rumusmatematika.org/2015/06/bangun-ruang.html/, diakses pada
tanggal 10 Juli 2016.
[18] http://www.romlisapermana.com/2015/07/pengertian-citra-dan-pengolahan-
citra.html, diakses pada tanggal 10 Juli 2016.
[19] Ervi, J., 2010, Pembuatan Perangkat Lunak Menggunakan Paradigma Perangkat
Lunak Secara Waterfall, UNIKOM.
[20] Alfatah, H., 2007, Konversi Format Citra RGB ke Grayscale Menggunakan Visual
Basic, STIMK AMIKOM Yogyakarta.
[21] http://www.mathworks.com/help/images/ref/imcrop.html, diakses pada tanggal 10
Juli 2016
[22] Putra, D., 2010, Pengolahan Citra Digital, Andi Offset, Yogyakarta.
[23] ---, 2013, Data sheet Ic LM7805
[24] http://www.rangkaianelektronika.org/rangkaian-sensor-sederhana.htm, diakses
pada tanggal 30 Juli 2016
[25] https://kurangsangu.wordpress.com/2011/04/19/sistem-minimum-atmega16/,
diakses pada tanggal 30 Juli 2016
[26] http://elektronikadasar.info/sensor-cahaya.htm/, diakses pada tanggal 30 Juli 2016
[27] http://teknikelektronika.com/jenis-ic-voltage-regulator-pengatur-tegangan/, diakses
pada tanggal 30 Juli 2016
[28] http://elektronika-dasar.web.id/driver-motor-dc-h-bridge-transistor/ diakses pada
tanggal 30 Juli 2016
[29] http://teknikelektronika.com/pengertian-relay-fungsi-relay/ diakses pada tanggal 18
maret 2017
[30] https://rohmadi.com/2013/12/09/modul-relay-2-channel-arduino/ diakses pada
tanggal 18 maret 2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L2
PC6/TOSC128
PC527
PC426
PC325
PC224
PC1/SDA23
PC0/SCL22
PC7/TOSC229
PA6/ADC634
PA5/ADC535
PA4/ADC436
PA3/ADC337
PA2/ADC238
PA1/ADC139
PA0/ADC040
PA7/ADC733
PB6/MISO7
PB5/MOSI6
PB4/SS5
PB3/AIN1/OC04
PB2/AIN0/INT23
PB1/T12
PB0/T0/XCK1
PB7/SCK8
PD6/ICP120
PD5/OC1A19
PD4/OC1B18
PD3/INT117
PD2/INT016
PD1/TXD15
PD0/RXD14
PD7/OC221
RESET9
XTAL113
XTAL212
AVCC30
AREF32
U1
ATMEGA8535
VI1
VO3
GN
D2
U27805
D1
1N4001
C1100uF
C2100uF
Regulator Tegangan
5V DC
Saklar
R1330
D2
LED
X1
CRYSTAL
C422pF
C522pF
R24k7
C61uF
1
2
3
4
10
9
8
7
5 6
J4
CONN-DIL10
Downloader
1
2
3
4
5
6
7
8
J5
CONN-SIL81
2
3
4
5
6
7
8
J6
CONN-SIL8
1
2
3
4
5
6
7
8
J7
CONN-SIL8
1
2
3
4
5
6
7
8
J8
CONN-SIL8
GND+5VMOSI
ResetSCKMISO
DC Source
1 2 3 4
10
9 8 7
56
J1CONN-DIL10
+VDC
GND
1 2 3 4
8 7 6 5
J2CONN-DIL8
1
2
3
J3
CONN-SIL3
1
2
3
J9
CONN-SIL3
1 2 3
J10CONN-SIL3
Push Button
PB
PD PC
PA
ARev
1
2
3
J11
CONN-SIL3
R7100R
R825k
R1620k
R15100RR11
100R
R9100R
R1025k
R1225k
D8PHOTODIODE
D7IR
D16PHOTODIODE
D15IRD9
IR
D10PHOTODIODE
D11IR
D12PHOTODIODE D13
IR
D14PHOTODIODE
R13100R
R1420k
1
2
3
4
5
6
7
8
J1
PORT C
1
2
3
4
5
6
7
8
J2
PORT B
R5100R
R620K
D5iR
D6photo
D4PHOTO
D3IR
D1IR
D2PHOTO
R220k
R420k
R1100R
R3100
1
J3
PORT D.2
1
J4
CONN-SIL1
Rangkaian Minimum System ATmega32
Rangkaian Untuk Sensor
Rangkaian Relay 5v
Rangkaian Regulator 12v
Rangkaian Reset ATmega32
Rangkaian Osilator ATmega32
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3
Webcam Logitech C170h [15]
Spesifikasi Webcam Logitech C170h :
1GHz (1.6GHz )
512 MB RAM atau lebih
200 MB hard drive
Internet koneksi
Usb 1.1 port (2.0)
Modul Relay 5vdc
Deskripsi Produk :
Modul Relay 2-ch 5vdc Arduino dan Relay
1-ch5vdc.
Motor Dc Conveyor 1 Spesifikasi :
Motor Dc 24v, 2amp
Gear ratio = 1:20.26
Teg = 12v, arus = 0,26amp, kecep = 65rpm (test
motor)
Teg = 24v, arus = 0,48amp, kecep = 139rpm (test
motor)
Panjang = 12,5cm
Diameter = 7,7cm
Motor Dc Conveyor 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L4
Limit Switch
Spesifikasi limit switch :
- Bisa berkerja pada tegangan 5 vdc
- Sebagai saklar
- Memiliki berbagai bentuk
LISTING PROGRAM GUI MATLAB
/*****************************************************
Project : PROTOTIPE PEMILAH BENDA BERDASARKAN BENTUK DAN
WARNA MENGGUNAKAN CONVEYOR
Date : 18-Dec-2016 / 16:16:32
Project : Mesin Konveyor
Version : v2.5
Pencipta : Erik Firmanto Da Loves / 125114013
******************************************************/
function varargout = untitled(varargin)
% UNTITLED M-file for untitled.fig
% UNTITLED, by itself, creates a new UNTITLED or raises the existing
% singleton*.
%
% H = UNTITLED returns the handle to a new UNTITLED or the handle to
% the existing singleton*.
%
% UNTITLED('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in UNTITLED.M with the given input arguments.
%
% UNTITLED('Property','Value',...) creates a new UNTITLED or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before untitled_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to untitled_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 untitled
% Last Modified by GUIDE v2.5 18-Dec-2016 16:16:32
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L5
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @untitled_OpeningFcn, ...
'gui_OutputFcn', @untitled_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
end
% --- Executes just before untitled is made visible.
function untitled_OpeningFcn(hObject, ~, handles, varargin)
% 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 untitled (see VARARGIN)
% Choose default command line output for rgb and realtime
%clean Terminal & Set The Parameter
clc;
cla;
set(handles.edit1, 'String','0');
set(handles.edit2, 'String','0');
set(handles.edit3, 'String','0');
set(handles.edit4, 'String','0');
set(handles.edit5, 'String','0');
set(handles.edit6, 'String','' );
set(handles.edit7, 'String','' );
set(handles.edit8, 'String','' );
set(handles.edit9, 'String','' );
handles.output = hObject;
% Global Variable
global kotakmerah
global bolamerah
global kotakhijau
global bolahijau
global reject
%Set Global Variabel
kotakmerah=0;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L6
bolamerah=0;
kotakhijau=0;
bolahijau=0;
reject=0;
guidata(hObject,handles);
% Update handles structure
guidata(hObject, handles);
end
% UIWAIT makes untitled wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = untitled_OutputFcn(~, ~, 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)
% Get default command line output from handles structure
varargout{1} = handles.output;
end
% Set PORT Communication
% --- Executes on selection change in popupmenu1.
function popupmenu1_Callback(hObject, ~, 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';
case 7
handles.PORT='COM7';
case 8
handles.PORT='COM8';
case 9
handles.PORT='COM9';
case 10
handles.PORT='COM10';
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L7
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='COM16';
case 17
handles.PORT='COM17';
end
guidata(hObject,handles);
end
% 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 = cellstr(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, ~, ~)
% 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
end
% ---------- Executes on button press in pushbutton5 --------- %
function pushbutton5_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
clc;
global kotakmerah
global bolamerah
global kotakhijau
global bolahijau
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L8
global reject
guidata(hObject,handles);
%Serial setting baudrate and etc
komunikasi=serial(handles.PORT);
baudr=9600;
databit=8;
stopbit=1;
guidata(hObject,handles);
%Hardware Setting
set(komunikasi,'BaudRate',baudr,'DataBits',databit,'parity','none','StopBits',stopbit,'FlowCo
ntrol','none');
% ----- Proses inisialisasi webcam ----- %
vid=videoinput('winvideo',2,'YUY2_320x240');
% ----- Proses capture gambar ----- %
gambar1=getsnapshot(vid); %--Ambil gambar--%
gambar=yuy2torgb(gambar1); %--Kemudian di ubah ke RGB--%
% ----- Proses rgb ke gray ----- %
grey=rgb2gray(gambar);
% ----- Proses grey ke biner ----- %
biner=im2bw(grey);
% ----- Proses cropping ----- %
crop1=imcrop(biner,[17.51 60.51 255.98 176.98]);
crop2=imcrop(gambar,[125.51 140.51 31.98 27.98]);
crop3=imcrop(gambar,[17.51 60.51 255.98 176.98]);
% ----- Proses resizing ----- %
y=imresize(crop1,[16 16]);
c=double(y);
% ----- Menjumlahkan keseluruhan ----- %
data=sum(sum(c));
% ----- Proses merubah ke bentuk rgb ----- %
red=crop2(:,:,1);
green=crop2(:,:,2);
% ----- Ubah ke nilai matrik real ----- %
c1=double(red)/255;
c2=double(green)/255;
merah=sum(sum(c1/50));
hijau=sum(sum(c2/50));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L9
% ----- Tampilkan pada axes ----- %
axes(handles.axes1);
imshow(crop3);
set(handles.edit1,'string','0');
set(handles.edit2,'string','0');
set(handles.edit3,'string','0');
set(handles.edit4,'string','0');
set(handles.edit5,'string','0');
set(handles.edit8,'string',data);
set(handles.edit9,'string','');
set(handles.edit6,'string',merah);
set(handles.edit7,'string',hijau);
% ----- Proses pengenalan Warna dan Bentuk ----- %
if(((merah>hijau))&&((data>30)&&(data<=45)))
set(handles.edit9, 'String', 'KOTAK MERAH');
kotakmerah=kotakmerah +1;
set(handles.edit1,'String', kotakmerah);
guidata(hObject,handles);
% Open Port
fopen(komunikasi); %--open the serial port to the PIC
% Send Serial Data
fprintf(komunikasi,'d#'); %'d' = untuk kotak merah
pause(0.5)
% Close Connection
fclose(komunikasi);
guidata(hObject,handles);
elseif(((merah>hijau))&&((data>=15)&&(data<=30)))
set(handles.edit9, 'String', 'BOLA MERAH');
bolamerah=bolamerah +1;
set(handles.edit2,'String', bolamerah);
guidata(hObject,handles);
% Open Port
fopen(komunikasi); %--open the serial port to the PIC
% Send Serial Data
fprintf(komunikasi,'b#'); %'b' = untuk bola merah
pause(0.5)
% Close Connection
fclose(komunikasi);
guidata(hObject,handles);
elseif(((merah<hijau))&&((data>30)&&(data<=45)))
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L10
set(handles.edit9, 'String', 'KOTAK HIJAU');
kotakhijau=kotakhijau +1;
set(handles.edit3,'String', kotakhijau);
guidata(hObject,handles);
% Open Port
fopen(komunikasi); %--open the serial port to the PIC
% Send Serial Data
fprintf(komunikasi,'e#'); %'e' = untuk kotak hijau
pause(0.5)
% Close Connection
fclose(komunikasi);
guidata(hObject,handles);
elseif(((merah<hijau))&&((data>=15)&&(data<=30)))
set(handles.edit9, 'String', 'BOLA HIJAU');
bolahijau=bolahijau +1;
set(handles.edit4,'String', bolahijau);
guidata(hObject,handles);
% Open Port
fopen(komunikasi); %--open the serial port to the PIC
% Send Serial Data
fprintf(komunikasi,'c#'); %'c' = untuk bola hijau
pause(0.5)
% Close Connection
fclose(komunikasi);
guidata(hObject,handles);
else
set(handles.edit9, 'String', 'REJECT');
reject=reject +1;
set(handles.edit5,'String', reject);
guidata(hObject,handles);
% Open Port
fopen(komunikasi); %--open the serial port to the PIC
% Send Serial Data
fprintf(komunikasi,'a#'); %'a' = untuk Reject
pause(0.5)
% Close Connection
fclose(komunikasi);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L11
guidata(hObject,handles);
end
% ----- menghapus koneksi ----- %
delete(komunikasi);
clear komunikasi
clc;
end
% --- Executes on button press in pushbutton6. ----- %
function pushbutton6_Callback(hObject, ~, handles)
global kotakmerah
global bolamerah
global kotakhijau
global bolahijau
global reject
guidata(hObject,handles);
cla;
kotakmerah=0;
set(handles.edit1,'String',kotakmerah);
set(handles.edit6,'String',kotakmerah);
bolamerah=0;
set(handles.edit2,'String',bolamerah);
set(handles.edit6,'String',bolamerah);
kotakhijau=0;
set(handles.edit3,'String',kotakhijau);
set(handles.edit7,'String',kotakhijau);
bolahijau=0;
set(handles.edit4,'String',bolahijau);
set(handles.edit7,'String',bolahijau);
reject=0;
set(handles.edit5,'String',reject);
set(handles.edit9,'String',reject);
nilaibinearbenda=0;
set(handles.edit8,'String',nilaibinearbenda);
end
% hObject handle to pushbutton6 (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 pushbutton7. --- %
function pushbutton7_Callback(hObject, ~, handles)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L12
guidata(hObject,handles);
close all;
clear all;
% hObject handle to pushbutton7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
end
% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(~, ~, ~)
% 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
end
LISTING PROGRAM CVAVR
/*****************************************************
Project : PROTOTIPE PEMILAH BENDA BERDASARKAN
BENTUK DAN WARNA MENGGUNAKAN
CONVEYOR
Date : 03/01/2017
Project : Mesin Conveyor
Version : 2.0
Pencipta : Erik Firmanto Da Loves / 125114013
Chip type : ATmega32A
Program type : Application
AVR Core Clock frequency : 11.059200 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 512
**********************************************************/
//Library yang digunakan
#include <mega32a.h> // Library Atmega32A
#include <delay.h> // Library Delay
#include <stdio.h> // Library Standar Input Output
// Mengaktifkan fungsi ADC
#define ADC_VREF_TYPE 0x40
//=========================================================
// PORT YANG DIGUNAKAN
//=========================================================
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L13
// Port yang digunakan
//define PORTA.0 pd1 // Photodioda Konveyor 2 pertama
//define PORTA.1 pd2 // Photodioda konveyor 2 ke-dua
//define PORTA.2 pd3 // Photodioda Konveyor 2 ke-tiga
//define PORTA.3 pd4 // Photodioda konveyor 2 ke-empat
//define PORTA.4 pd5 // Photodioda Konveyor 2 ke-lima
//define PORTA.5 pd6 // Photodioda konveyor 1 pertama
//define PORTA.6 ls // Limit Switch
//==========================================================
// 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;
}
// Variabel yang digunakan
int pd1,pd2,pd3,pd4,pd5,pd6,ls,status,k,l,m,n,o,x=0; // Menampung photodioda dan limit
switch
int flag1,flag2,flag3,flag4,flag5,flag6,flag7=0; // penanda objek
char dataString[2]; // Penampung untuk komunikasi USART
//Fungsi Komunikasi USART
// Membersihkan variabel penampung untuk menerima data selanjutnya
void clearStringBuffer(){
unsigned char i=0;
for (i=0;i<16;i++){
dataString[i]='';
}
}
// Menerima dan memeriksa karakter kemudian mengubahnya kedalam string
void getString(){
unsigned char i=0,temp;
clearStringBuffer();
temp = getchar();
while (temp!='#'){
dataString[i]=temp;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L14
i++;
temp = getchar();
}
}
//Relay1
//ON
void relay1ON(){
PORTC.0=0; // Kondisi port yang digunakan
}
//OFF
void relay1OFF(){
PORTC.0=1; // Kondisi port yang digunakan
}
//Relay2
// ON
void relay2ON(){ // kekiri start
PORTC.1=0; // Kondisi port yang digunakan
}
// OFF
void relay2OFF(){ // stop
PORTC.1=1; // Kondisi port yang digunakan
}
//Relay3
// ON
void relay3ON(){ // kekanan start
PORTC.2=0; // Kondisi port yang digunakan
}
// OFF
void relay3OFF(){ // stop
PORTC.2=1; // Kondisi port yang digunakan
}
//Relay4
//ON
void relay4ON(){
PORTC.3=0; // Kondisi port yang digunakan
}
//OFF
void relay4OFF(){
PORTC.3=1; // Kondisi port yang digunakan
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L15
//Relay 5
//ON
void relay5ON(){
PORTC.4=1; // Kondisi port yang digunakan
}
//OFF
void relay5OFF(){
PORTC.4=0; // Kondisi port yang digunakan
}
// Konveyor1ON
void konOn(){
relay5ON();
}
// Konveyor 1OFF
void konOff(){
relay5OFF();
}
// Motor Searah Jarum Jam ON
void kananOn(){
relay1ON();
relay2ON();
}
// Motor Searah Jarum Jam OFF
void kananOff(){
relay1OFF();
relay2OFF();
}
// Motor Berlawanan Arah Jarum Jam ON
void kiriOn(){
relay3ON();
relay4ON();
}
// Motor Berlawanan Arah Jarum Jam OFF
void kiriOff(){
relay3OFF();
relay4OFF();
}
void bacaSensor(){
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L16
//===============================================================
===
//= Ada Objek di PD 1
//===============================================================
===
pd1=read_adc(0); //Membaca adc 0 kemudian disimpan pada pd1
if(pd1>=900){ // Angka diubah sesuai kalibrasi
flag1=1; // flag=1 berarti ada objek
} else if(pd1<900){ // Angka diubah sesuai kalibrasi
flag1=0; // flag=0 berarti tidak ada objek
}
//===============================================================
===
//===============================================================
===
//= Ada Objek di PD 2
//===============================================================
===
pd2=read_adc(1); //Membaca adc 1 kemudian disimpan pada pd2
if(pd2>=1000){ // Angka diubah sesuai kalibrasi
flag2=1; // flag=1 berarti ada objek
} else if(pd2<1000){ // Angka diubah sesuai kalibrasi
flag2=0; // flag=0 berarti tidak ada objek
}
//===============================================================
===
//===============================================================
===
//= Ada Objek di PD 3
//===============================================================
===
pd3=read_adc(2); //Membaca adc 2 kemudian disimpan pada pd3
if(pd3>=1000){ // Angka diubah sesuai kalibrasi
flag3=1; // flag=1 berarti ada objek
} else if(pd3<1000){ // Angka diubah sesuai kalibrasi
flag3=0; // flag=0 berarti tidak ada objek
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L17
//===============================================================
===
//===============================================================
===
//= Ada Objek di PD 4
//===============================================================
===
pd4=read_adc(3); //Membaca adc 3 kemudian disimpan pada pd4
if(pd4>=1000){ // Angka diubah sesuai kalibrasi
flag4=1; // flag=1 berarti ada objek
} else if(pd4<1000){ // Angka diubah sesuai kalibrasi
flag4=0; // flag=0 berarti tidak ada objek
}
//===============================================================
===
//===============================================================
===
//= Ada Objek di PD 5
//===============================================================
===
pd5=read_adc(4); //Membaca adc 4 kemudian disimpan pada pd5
if(pd5>=1000){ // Angka diubah sesuai kalibrasi
flag5=1; // flag=1 berarti ada objek
} else if(pd5<1000){ // Angka diubah sesuai kalibrasi
flag5=0; // flag =0 berarti tidak ada objek
}
//===============================================================
===
//===============================================================
===
//= Ada Objek di Konveyor 1
//===============================================================
===
pd6=read_adc(5); //Membaca adc 5 kemudian disimpan pada pd6
if(pd6>=900){ // Angka diubah sesuai kalibrasi
if(pd6>=900){ // Angka diubah sesuai kalibrasi
flag6=1; // flag=1 berarti ada objek
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L18
} else if(pd6<900){ // Angka diubah sesuai kalibrasi
flag6=0; // flag=0 berarti tidak ada objek
}
//===============================================================
===
//===============================================================
===
//= Ada Objek di LIMIT SWITCH
//===============================================================
===
ls=PINA.6; //Membaca adc 6 limit switch kemudian disimpan pada ls
if(ls==1){ // Angka sesuai kalibrasi
flag7=1; // flag=1 berarti ada objek
} else if(ls==0){ // Angka diubah sesuai kalibrasi
flag7=0; // flag=0 berarti tidak ada objek
}
}
//===============================================================
====
// Fungsi untuk menyingkirkan Objek
void cleanObjek(){
delay_ms(3000); //Memberikan delay agar objek tidak terbaca sensor
}
// Barang Reject
void barangReject(){
// Jika Limit switch ditekan
if (flag7==1){
kiriOff(); // Motor OFF <-
konOn(); // Jalankan kembali konveyor 1
cleanObjek(); // Menjauhkan objek dari sensor
k=0; // Keluar dari rutin while
}
// Jika limit switch tidak ditekan
else if(flag7==0){
kiriOn(); // Motor ON <-
}
}
// Bola Merah
void bolaMerah(){
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L19
// Jika Limit Switch ditekan
if(flag7==1){
kiriOff(); // Motor OFF <-
kananOn(); // Motor ON ->
x=1; // Mengatur objek
}
// Jika Limit Switch tidak ditekan
else if(flag7==0){
// Jika Objek belum diatur
if(x==0){
kiriOn(); // Motor ON <-
}
// Jika Objek telah diatur
else if(x==1){
// Jika tidak ada objek di PD2 dan ada objek di PD1
if(flag1==1){
cleanObjek(); // Menjauhkan objek dari sensor
kananOff(); // Motor OFF ->
kiriOff(); // Motor OFF <-
konOn(); // Jalankan kembali konveyor 1
cleanObjek(); // Menjauhkan objek dari sensor
l=0; // Keluar dari while
x=0; // Mengaktifkan kembali prosedur mengatur objek
}
}
}
}
// Bola Hijau
void bolaHijau(){
//Jika Limit switch tertekan
if(flag7==1){
kiriOff(); // Motor OFF <-
kananOn(); // Motor ON ->
x=1; // Mengatur Objek
}
// Jika limit switch tidak ditekan
else if(flag7==0){
// Jika objek belum teratur
if(x==0){
kiriOn(); // Motor ON <-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L20
}
// Jika objek telah diatur
else if(x==1){
// Jika Objek telah berada pada PD2
if(flag2==1){
cleanObjek(); // Delay untuk menjauhkan objek dengan sensor
kananOff(); // Motor OFF ->
kiriOff(); // Motor OFF <-
konOn(); // Jalankan kembali konveyor 1
cleanObjek(); // Menjauhkan objek dari sensor
m=0; // Keluar dari rutin while
x=0; // Mengaktifkan fungsi mengatur objek
}
}
}
}
// Kotak Merah
void kotakMerah(){
// Jika limit switch tertekan
if(flag7==1){
kiriOff();
kananOn();
x=1;
}
// Jika limit switch tidak ditekan
else if(flag7==0){
if(x==0){
kiriOn();
}
else if(x==1){
if(flag3==1){
cleanObjek();
kananOff();
kiriOff();
konOn(); // Jalankan kembali konveyor 1
cleanObjek();
n=0;
x=0;
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L21
}
}
// Kotak Hijau
void kotakHijau(){
if(flag7==1){
kiriOff();
kananOn();
x=1;
}
else if(flag7==0){
if(x==0){
kiriOn();
}
else if(x==1){
if(flag4==1){
cleanObjek();
kananOff();
kiriOff();
konOn(); // Jalankan kembali konveyor 1
cleanObjek();
o=0;
x=0;
}
}
}
}
// Objek
void Objek(){
// Membaca Objek dari PC
getString();
//Barang Reject
if(dataString[0]=='a'||dataString[1]=='a'){
printf("Barang Reject!\n");
k=1; // Mengaktifkan fungsi barang reject
status=0; // Mengaktifkan ADC
}
//Bola Merah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L22
else if(dataString[0]=='b'||dataString[1]=='b'){
printf("Bola Merah!\n");
l=1; // Mengaktifkan fungsi bola merah
status=0; // Mengaktifkan ADC
}
//Bola hijau
else if(dataString[0]=='c'||dataString[1]=='c'){
printf("Bola Hijau!\n");
m=1; // Mengaktifkan fungsi bola hijau
status=0; // Mengaktifkan ADC
}
//Kotak Merah
else if(dataString[0]=='d'||dataString[1]=='d'){
printf("Kotak Merah!\n");
n=1; // Mengaktifkan fungsi kotak merah
status=0; // Mengaktifkan ADC
}
//Kotak Hijau
else if(dataString[0]=='e'||dataString[1]=='e'){
printf("Kotak Hijau!\n");
o=1; // Mengaktifkan kotak hijau
status=0; // Mengaktifkan ADC
}
}
void fungsiPanggil(){ //fungsi iini
//Fungsi barang Reject
while(k==1){ // Mengaktifkan fungsi barang reject
bacaSensor(); // Membaca Sensor
barangReject(); // Memanggil fungsi reject
status=0;
}
//Fungsi bola Merah
while(l==1){ // Mengaktifkan fungsi bola merah
bacaSensor(); // Membaca Sensor
bolaMerah(); // Memanggil fungsi kotak bola merah
status=0;
}
//Fungsi bola hijau
while(m==1){ // Mengaktifkan fungsi bola hijau
bacaSensor(); // Membaca Sensor
bolaHijau(); // Memanggil fungsi kotak bola hijau
status=0;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L23
}
//Fungsi Kotak Merah
while(n==1){ // Mengaktifkan fungsi kotak merah
bacaSensor(); // Membaca Sensor
kotakMerah(); // Memanggil fungsi kotak merah
status=0;
}
//Fungsi kotak hijau
while(o==1){ // Mengaktifkan fungsi kotak hijau
bacaSensor(); // Membaca Sensor
kotakHijau(); // Memanggil fungsi kotak hijau
status=0;
}
}
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=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P
PORTA=0xFF;
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=0x00;
// Port C initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out
Func0=Out
// State7=1 State6=1 State5=1 State4=1 State3=1 State2=1 State1=1 State0=1
PORTC=0xFF;
DDRC=0xFF;
// 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=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L24
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 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: Timer2 Stopped
// Mode: Normal top=0xFF
// 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=0x00;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L25
// 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=0x06;
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;
// SPI initialization
// SPI disabled
SPCR=0x00;
// TWI initialization
// TWI disabled
TWCR=0x00;
while (1) // Program yang terus menerus berjalan sehingga Minsis Powernya dimatin
{
// Status komunikasi OFF
if (status==0){
bacaSensor();
if(flag6==1){
konOff(); //matikan konveyor
status=1;
fungsiPanggil();
}
//Jika tidak ada objek di konveyor 1
else if(flag6==0){
konOn();
status=0;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L26
}
}
// Status komunikasi ON
else if(status==1){
Objek();
}
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI