PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
TUGAS AKHIR
APLIKASI PENGENALAN OBJEK
UNTUK LENGAN ROBOT PEMISAH BENDA
BERDASARKAN BENTUK BENDA
Diajukan untuk memenuhi salah syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
disusun oleh :
IRVAN HASAN
Nim : 115114018
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
TUGAS AKHIR
APLIKASI PENGENALAN OBJEK
UNTUK LENGAN ROBOT PEMISAH BENDA
BERDASARKAN BENTUK BENDA
Diajukan untuk memenuhi salah syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
disusun oleh :
IRVAN HASAN
Nim : 115114018
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
FINAL PROJECT
OBJECT IDENTIFICATION APPLICATION FOR
ROBOTIC ARM OBJECT SEPARATOR BASED ON
OBJECT SHAPE
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
IRVAN HASAN
Nim : 115114018
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
HALAMAN PERSETUJUAN
TUGAS AKHIR
(OBJECT IDE
ROBOTIC
IRVAN HASAN
NIM : 115114018
Pembimbing
r
/1 ,t^ .rv:?-
ranggar,
ilt
ru
/-(f
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
HALAMAN PENGESAHAN
TUGAS AKHIR
NIM:115114018
Telah dipertahankan di depan panitia penguji pada tanggal:
dan dinyatakan memenuhi syarat
susunan panitia
Nama lengkap
Ketua
Sekertaris
Anggota
Dr.Iswanjono
Yogyakmta. 21
Afichrr-
iv
ZotS
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Apabila dikemudian hari ditemukan indikasi plagiatisme dalam naskah ini, maka
saya bersedia menanggung segala sanksi sesuai peraturan perundang-undangan yang
berlaku.
Yogyakarta, 27
lunt20l5
Irvan Hasan
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
vi
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Nama
IRVAN HASAN
NomorMahasiswa : 115114018
beserta perangkat yang dipedukan (bila ada). Dengan demikian saya memberikan kepada
bentuk media lain, mengelolanya dalam bentuk pangkalan datq mendistribusikan secara
terbatas, dan mempublikasikannya
ijin dari
ini yang
saya buat
dengan setenarnya.
Irvan Hasan
vii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
INTISARI
Perkembangan dunia teknologi sangat berpengaruh bagi kehidupan manusia.
Perkembangan teknologi dapat mempermudah kinerja manusia dan meningkatkan efisieni
tenaga dan waktu untuk mendukung proses operasional suatu usaha. Salah satunya adalah
lengan robot untuk mengenali bentuk benda agar dapat mengambil dan memisahkan benda
berdasarkan bentuk dengan menggunakan teknologi image processing. Proses pemisahan
benda menggunakan lengan robot masih banyak dilakukan secara manual atau
dioperasikan oleh operator. Hal ini dirasa kurang efisien dan memerlukan waktu yang
lama.
Berdasarkan hal tersebut, dibutuhkan adanya lengan robot yang dapat mengenali
bentuk benda secara otomatis agar dapat mengambil dan memisahkan benda secara
otomatis tanpa dioperasikan operator. Urutan pengenalan bentuk benda yaitu citra RGB
benda diubah menjadi citra grayscale untuk mempermudah proses pengenalan. Kemudian
memproses citra grayscale menjadi citra biner, proses pemotongan citra (croping),
resizing, menjumlahkan nilai citra biner, dan pengenalan bentuk benda berdasarkan range
jumlah nilai citra biner berdasarkan masing-masing bentuk benda. Lengan robot digerakan
oleh motor servo yang dikendalikan ATmega32 menggunakan fasilitas interrupt dan
komunikasi serial antara komputer dengan ATmega32 menggunakan komunikasi serial
USART yang diprogram menggunakan CodeVision AVR.
Hasil dari penelitian ini adalah sistem dapat membedakan 4 macam bentuk benda
secara realtime serta lengan robot dapat mengambil dan memisahkan benda berdasarkan
bentuk. Setelah melakukan percobaan sebanyak 40 kali, sistem dan lengan robot dapat
bekerja 100% dengan toleransi kemiringan benda 10o dan tata peletakan benda sesuai
dengan batasan masalah. Namun apabila tidak sesuai dengan batasan masalah, maka sistem
dan lengan robot tidak dapat bekerja secara baik. Hal ini disebabkan gripper tidak dapat
menjangkau objek untuk proses pemindahan.
Kata kunci: Image Processing, Lengan Robot, Metode Citra Biner.
viii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
ABSTRACT
The development of the technology very influential for human life. Technology
development to simplify the human pershapeance and increase efficient of time and energy
to support the process of operational a business. One is robotic arm for acquainted object
shape in ordet to take and separate object base on object shape using image processing
technology. Object separation process using robotic arm still operation with manually or
operated by operator. This is not efficient and need more time. This is less efficient and
requires a long time.
Based on this, it takes the robot arm that can automatically recognize the shape of
the object in order to extract and separate objects automatically without operator operated.
Object shape identification step is RGB image of object change to grayscale image for
facilitate identification process. After that processing grayscale image to binary image,
cropping process, resizing, counting binary image value, and identification object shape
based on range binary image value for respectively object shape. Robotic arm movement
by servo motor controlled ATmega32 using interrupt facilities and serial communication
between computer and ATmega32 using USART serial communication programed with
CodeVision AVR.
The results of the research is the system can dicrimination four kinds of realtime
objects and the robotic arm can pick up and separate objects based on shape. After
experimenting as much as 40 times, system and the robotic arm can work 100% with a
tolerance of 10o tilt objects and layout objects laying in accordance with problem
definition. But, if the problem is not in accordance with the limits, then the system and the
robotic arm can not work properly. This is due to the gripper can not reach the object to the
moving process.
Keywords: Image Processing, Robotic Arm, Binary Image Method.
ix
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
KATA PENGANTAR
Puji dan Syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas segala berkat
dan rahmat-Nya, sehingga penulis dapat menyelesaikan tugas akhir ini dengan baik.
Penulis menyadari bahwa banyak pihak yang telah memberikan doa, dukungan, perhatian
serta bantuan kepada penulis sehingga dapat menyelesaikan tugas akhir ini. Oleh karena
itu, penulis mengucapkan terima kasih yang sebesar-besarnya kepada:
1) Paulina Heruningsih Prima Rosa, S.Si., M.Sc selaku dekan Fakultas Sains dan
Teknologi Universitas Sanata Dharma Yogyakarta.
2) Petrus Setyo Prabowo, S.T.,M.T., Ketua Program Studi Teknik Elektro Universitas
Sanata Dharma Yogyakarta.
3) Theresia Prima Ari Setiyani S.T., M.T selaku dosen pembimbing akademik yang
telah mendampingi dan membimbing penulis selama perkuliahan.
4) Dr. Linggo Sumarno, dosen pembimbing yang dengan penuh pengertian, sabar dan
ketulusan hati memberi bimbingan, kritik, saran, serta motivasi dalam penulisan
tugas akhir ini.
5) Ibu Theresia Prima Ari Setiyani 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, papah Hasan Hamdan dan mamah Rina Wati atas kasih
sayang, dukungan dan doa yang tiada henti.
8) Adik-adik tercinta Erwin Kristiawan Hasan, Aldo Alfonsus Hasan, dan Putri
Juliana Hasan yang selalu mendukung dan mendoakan saya, sehingga dapat
menyelesaikan tugas belajar dengan baik.
9) Angeline Syahputri Fransiskus sebagai teman, sahabat, dan kekasih yang selalu
menyemangati dan mendukung penulis sampai terselesaikannya tugas akhir ini.
10) Staff sekretariat Teknik Elektro yang telah membantu dalam hal administrasi.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
ll)Staff dan petugas
pihak yang tidak dapat disebutkan satu persatu atas semua dukungan yang
kekurangan, kelemahan dan jauh dari sempurna. Oleh sebab itu, dengan segala kerendahan
hati, penulis mengharapkan kdtik dan saran yang membangun untuk penyempwnaan tugas
akhir ini. Dan semoga tugas akhir ini dapat bernranfaat sebagaimana mestinya.
W
Penulis
Irvan Hasan
xi
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
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 TABEL ................................................................................................... xv
DAFTAR GAMBAR .............................................................................................. xvi
BAB I PENDAHULUAN
1.1. Latar Belakang ............................................................................................. 1
1.2. Tujuan dan Manfaat ..................................................................................... 2
1.3. Batasan Masalah .......................................................................................... 2
1.4. Metodologi Penelitian ................................................................................. 3
1.5. Sistematika Penulisan .................................................................................. 4
BAB II DASAR TEORI
2.1. Lengan Robot .............................................................................................. 5
2.2. Torsi/Momen Gaya ...................................................................................... 7
2.3. Motor Servo ................................................................................................. 7
2.4. Mikrokontroler AVR ATmega32 ................................................................ 8
2.4.1. Arsitektur AVR ATmega32 ............................................................... 9
2.4.2. Deskripsi Mikrokontroler ATmega32 ................................................ 9
2.4.3. Organisasi Memori AVR ATmega32 ................................................. 10
2.4.4. Interupsi .............................................................................................. 11
2.4.5. Timer/Counter .................................................................................... 11
2.4.6. Komunikasi Serial USART ................................................................ 13
2.5. LCD 16x2 .................................................................................................... 18
2.6. Regulator ic 78xx dan Transistor Penguat Arus .......................................... 20
xii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
2.7. Photodioda ................................................................................................... 22
2.8. Infrared ........................................................................................................ 25
2.9. Transistor Sebagai Saklar ............................................................................ 25
2.10. Relay .......................................................................................................... 26
2.11. Webcam ..................................................................................................... 26
2.12. Benda Tiga Dimensi .................................................................................. 27
2.13. Pengolahan Citra Digital ........................................................................... 27
2.14. Pemrosesan Citra ....................................................................................... 28
2.14.1. Citra Grayscale ............................................................................... 28
2.14.2. Cropping ......................................................................................... 29
2.14.3. Citra Biner ...................................................................................... 29
2.14.4. Resizing ........................................................................................... 30
2.15. Metode Pengenalan Benda ........................................................................ 30
BAB III PERANCANGAN PENELITIAN
3.1. Proses Kerja dan Mekanisme Lengan Robot ............................................... 31
3.2. Perancangan Mekanik Lengan Robot .......................................................... 32
3.3. Perancangan Perangkat Keras ..................................................................... 34
3.3.1. Minimum System ATmega32 + LCD 16x2 ........................................ 34
3.3.1.1. Minimum System ATmega32 .................................................. 34
3.3.1.2. Rangkaian Konfigurasi LCD 16x2 ......................................... 35
3.3.2. Perhitungan Torsi Motor Servo ....................................................... 36
3.3.3. Motor Servo ..................................................................................... 38
3.3.4.
xiii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB IV HASIL PENGAMATAN DAN PEMBAHASAN
4.1. Bentuk Fisik dan Sistem Kerja Lengan Robot ............................................ 56
4.2. Hasil Data Pengujian dan Pembahasan ....................................................... 58
4.2.1. Sudut Motor Servo ....................................................................... 58
4.2.2. Pengujian Nilai Citra Biner Bentuk Benda .................................. 61
4.2.3. Tata Peletakan Benda ................................................................... 62
4.2.4. Pengujian Keberhasilan Sistem Mendeteksi Bentuk
Benda ............................................................................................ 63
4.2.5. Pengujian Keberhasilan Lengan Robot Saat Mengambil
dan Memindahkan Benda ............................................................. 68
4.2.6. Pengujian Sistem Dalam Proses Pengenalan Benda dan
Proses Pemindahan Benda ........................................................... 68
4.2.6.1. Menggunakan Lopping .................................................. 68
4.2.6.2. Tidak Menggunakan Lopping ........................................ 69
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 ................................... 70
4.3.1.3. Pengendali Motor Servo ................................................. 71
4.3.1.4. Subrutin Program Utama ............................................... 74
4.3.2. Aplikasi MATLAB ...................................................................... 76
4.3.2.1. Tampilan Gui MATLAB ............................................... 76
4.3.2.2. Inisialisasi Komunikasi Serial ........................................ 77
4.3.2.3. Inisialisasi Webcam ........................................................ 77
4.3.2.4. Proses Pengolahan Citra ................................................. 78
4.3.2.5. Proses Pengenalan Bentuk Benda .................................. 78
Kesimpulan dan Saran ........................................................................................... 80
Daftar Pustaka ........................................................................................................ 81
Lampiran ................................................................................................................. L1
xiv
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
DAFTAR TABEL
Tabel 2.1. Hubungan PIN dan Interupsi ................................................................. 11
Tabel 2.2. Penentuan Ukuran Karakter ................................................................... 17
Tabel 2.3. Operasi Dasar LCD 16x2 ....................................................................... 19
Tabel 2.4. Konfigurasi Pin LCD 16x2 .................................................................... 19
Tabel 2.5. Konfigurasi Setting LCD 16x2 .............................................................. 20
Tabel 2.6. Karakteristik Regulator Tegangan ic 78xx ............................................ 20
Tabel 2.7. Hubungan Arus Dengan Hambatan ....................................................... 24
Tabel 3.1. Perhitungan Torsi Motor Servo ............................................................. 37
Tabel 3.2. Perhitungan Nilai OCR .......................................................................... 39
Tabel 3.3. Pemberian sudut motor servo ................................................................ 45
Tabel 4.1. Perhitungan Lebar Pulsa Motor Servo Towerpro MG946R .................. 60
Tabel 4.2. Data Citra Biner Masing-Masing Bentuk Benda ................................... 61
Tabel 4.3. Pengujian Keberhasilan Sistem Mendeteksi Bentuk Benda .................. 63
Tabel 4.4. Pengujian Keberhasilan Lengan Robot Mengambil
dan Memindahkan Benda ...................................................................... 68
Tabel 4.5. Pemberian Nilai OCR ............................................................................ 72
xv
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
DAFTAR GAMBAR
Gambar 2.1. Manipulator Pada Lengan Robot ...................................................... 5
Gambar 2.2. Contoh Gripper ................................................................................. 6
Gambar 2.3. Model Fisik Motor Servo .................................................................. 7
Gambar 2.4. Cara Pengontrolan Motor Servo ....................................................... 8
Gambar 2.5. Konfigurasi Pin Mikrokontroler ATmega32 .................................... 9
Gambar 2.6. Mode Phase Correct PWM ............................................................... 12
Gambar 2.7. Mode fast PWM ................................................................................ 13
Gambar 2.8. Register UDR .................................................................................... 14
Gambar 2.9. Register UCSRA ............................................................................... 14
Gambar 2.10. Register UCSRB ............................................................................... 16
Gambar 2.11. Register UCSRC ............................................................................... 17
Gambar 2.12. Contoh LCD 16x2 ............................................................................. 18
Gambar 2.13. Rangkaian Umum Regulator 78xx .................................................... 21
Gambar 2.14. Rangkaian Catu Daya Dengan Penguat ............................................ 21
Gambar 2.15. Simbol Dan Bentuk Photodioda ........................................................ 23
Gambar 2.16. Respon Relatif Spektral Untuk Si, Ge, Dan Selenium Dibandingkan
Dengan Mata Manusia ...................................................................... 23
Gambar 2.17. Hubungan I Dengan Fc Pada Photodioda ....................................... 23
Gambar 2.18. Rangkaian Sensor Photodioda .......................................................... 24
Gambar 2.19. Aplikasi Sensor Photodioda .............................................................. 24
Gambar 2.20. Contoh Rangkaian Transistor Sebagai Saklar ................................... 25
Gambar 2.21. Bentuk Fisik Relay ............................................................................ 26
Gambar 2.22. Contoh Webcam ................................................................................ 27
Gambar 2.23. Contoh Benda Tiga Dimensi ............................................................. 27
Gambar 2.24. Contoh Koordinat Citra Digital ........................................................ 28
Gambar 2.25. Citra Skala Keabuan ......................................................................... 29
Gambar 2.26. Contoh Citra Biner ............................................................................ 29
Gambar 2.27. Aplikasi Citra Biner .......................................................................... 30
Gambar 3.1. Blok Diagram Sistem ........................................................................ 32
Gambar 3.2. Anatomi Lengan Robot ..................................................................... 32
Gambar 3.3. Komponen 1 ...................................................................................... 33
Gambar 3.4. Komponen 2 ...................................................................................... 33
xvi
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Gambar 3.5. Komponen 3 ...................................................................................... 33
Gambar 3.6. Gripper Tampak Atas ....................................................................... 33
Gambar 3.7. Peletakan Seluruh Komponen ........................................................... 34
Gambar 3.8. Rangkaian Osilator ATmega32 ......................................................... 35
Gambar 3.9. Rangkaian Reset ATmega32 ............................................................. 35
Gambar 3.10. Skematik LCD 16x2 ......................................................................... 36
Gambar 3.11. Setting Port LCD ............................................................................... 36
Gambar 3.12. Konstruksi Lengan Robot ................................................................. 36
Gambar 3.13. Rangkaian Pin Motor Servo .............................................................. 38
Gambar 3.14. Lebar Pulsa Motor Servo .................................................................. 39
Gambar 3.15. Rangkaian Regulator 7805 Dengan Penguat Arus ............................ 40
Gambar 3.16. Rangkaian Sensor Photodioda .......................................................... 41
Gambar 3.17. Rangkaian Transistor Sebagai Saklar dan Relay .............................. 42
Gambar 3.18. Benda Tiga Dimensi ......................................................................... 42
Gambar 3.19. Flowchart Keseluruhan Sistem ......................................................... 44
Gambar 3.20. Flowchart Program Interrupt Lengan Robot Saat Posisi Siaga ........ 46
Gambar 3.21. Flowchart Program Interrupt Lengan Robot Saat Mengambil
Benda ................................................................................................ 46
Gambar 3.22. Flowchart Program Interrupt Lengan Robot Saat Meletakan
Benda Kubus ..................................................................................... 47
Gambar 3.23. Flowchart Program Interrupt Lengan Robot Saat Meletakan
Benda Balok ...................................................................................... 47
Gambar 3.24. Flowchart Program Interrupt Lengan Robot Saat Meletakan
Benda Tabung ................................................................................... 48
Gambar 3.25. Flowchart Program Interrupt Lengan Robot Saat Meletakan
Benda Bola ........................................................................................ 48
Gambar 3.26. Flowchart Pengenalan Bentuk Benda Pada MATLAB .................... 50
Gambar 3.27. Perancangan GUI pada MATLAB .................................................... 51
Gambar 3.28. Langkah Pertama exe File ................................................................. 52
Gambar 3.29. Langkah Kedua exe File ................................................................... 52
Gambar 3.30. Langkah Ketiga exe File ................................................................... 53
Gambar 3.31. (Lanjutan) Langkah Ketiga exe File ................................................. 53
Gambar 3.32. Langkah Keempat exe File ................................................................ 53
xvii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Gambar 3.33. (Lanjutan) Langkah Keempat exe File ............................................. 54
Gambar 3.34. Flowchart Menghitung Jumlah Benda yang Telah Terdeteksi ......... 55
Gambar 4.1. Conveyor ........................................................................................... 56
Gambar 4.2. Minimum System ............................................................................... 56
Gambar 4.3. Regulator ........................................................................................... 56
Gambar 4.4. Benda ................................................................................................ 57
Gambar 4.5. Lengan Robot .................................................................................... 57
Gambar 4.6. Tempat Peletakan Benda ................................................................... 57
Gambar 4.7. Sudut 0o ............................................................................................. 59
Gambar 4.8. Sudut 10o ........................................................................................... 59
Gambar 4.9. Sudut 20o ........................................................................................... 59
Gambar 4.10. Sudut 30o ........................................................................................... 59
Gambar 4.11. Sudut 40o ........................................................................................... 59
Gambar 4.12. Sudut 50o ........................................................................................... 59
Gambar 4.13. Sudut 60o ........................................................................................... 59
Gambar 4.14. Sudut 70o ........................................................................................... 59
Gambar 4.15. Sudut 80o ........................................................................................... 59
Gambar 4.16. Sudut 90o ........................................................................................... 59
Gambar 4.17. Sudut 100o ......................................................................................... 59
Gambar 4.18. Sudut 110o ......................................................................................... 59
Gambar 4.19. Sudut 120o ......................................................................................... 60
Gambar 4.20. Sudut 130o ......................................................................................... 60
Gambar 4.21. Sudut 140o ......................................................................................... 60
Gambar 4.22. Sudut 150o ......................................................................................... 60
Gambar 4.23. Sudut 160o ......................................................................................... 60
Gambar 4.24. Sudut 170o ......................................................................................... 60
Gambar 4.25. Sudut 180o ......................................................................................... 60
Gambar 4.26. Grafik Data Citra Biner ..................................................................... 62
Gambar 4.27. Peletakan Benda Kubus .................................................................... 62
Gambar 4.28. Peletakan Benda Balok ..................................................................... 62
Gambar 4.29. Peletakan Benda Tabung ................................................................... 63
Gambar 4.30. Peletakan Benda Bola ....................................................................... 63
Gambar 4.31. Pengujian Benda Balok ..................................................................... 64
xviii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Gambar 4.32. Pengujian Benda Kubus .................................................................... 65
Gambar 4.33. Pengujian Benda Tabung .................................................................. 66
Gambar 4.34. Pengujian Benda Bola ....................................................................... 67
Gambar 4.35. Listing Program ADC ....................................................................... 69
Gambar 4.36. Listing Program Pengendali Conveyor ............................................. 70
Gambar 4.37. Listing Program Komunikasi USART .............................................. 70
Gambar 4.38. Listing program pengendali sudut putar motor servo ....................... 71
Gambar 4.39. Pemberian Nilai OCR Motor Servo .................................................. 71
Gambar 4.40. Listing Program Gerakan Mengambil Benda ................................... 72
Gambar 4.41. Listing Program Memindahkan Benda Kubus .................................. 73
Gambar 4.42. Listing Program Memindahkan Benda Balok ................................... 73
Gambar 4.43. Listing Program Memindahkan Benda Tabung ................................ 74
Gambar 4.44. Listing Program Memindahkan Benda Bola ..................................... 74
Gambar 4.45. Subrutin Program Utama .................................................................. 75
Gambar 4.46. Tampilan GUI MATLAB ................................................................. 76
Gambar 4.47. Inisialisasi Komunikasi Serial ........................................................... 77
Gambar 4.48. Inisialisasi Webcam ........................................................................... 77
Gambar 4.49. Proses Pengolahan Citra ................................................................... 78
Gambar 4.50. Listing Program Pengenalan Bentuk Benda ..................................... 79
xix
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB I
PENDAHULUAN
1.1.
Latar Belakang
Pada masa kini teknologi memiliki peranan penting dalam aktivitas yang dilakukan
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
1.2.
membedakan 4 macam bentuk benda secara realtime. Manfaat dari penulisan tugas akhir
ini adalah untuk membantu pekerjaan manusia, khususnya memisahkan beberapa jenis
benda yang memiliki bentuk berbeda. Pengembangan dari pembuatan tugas akhir ini yaitu
lengan robot industri otomatis untuk memisahkan benda-benda maupun material tertentu
yang memiliki bentuk berbeda secara otomatis.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
9) Benda berada 15cm didepan lengan robot dan tempat peletakan benda berada
disamping lengan robot. Terdapat empat buah tempat untuk meletakan benda yaitu
tempat untuk benda berbentuk kubus, tempat untuk benda berbentuk balok, tempat
untuk benda berbentuk tabung, dan tempat untuk benda berbentuk bola yang telah
ditetapkan tempatnya pada saat perancangan.
10) Keluaran berupa nama benda yang terdeteksi pada LCD 16x2.
11) Terdapat tampilan GUI pada MATLAB sebagai user interface agar dapat melihat data
benda yang akan dikenali, dan jumlah benda yang terdeteksi.
1.4.
Metodologi Penelitian
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
1.5.
Sistematika Penulisan
BAB I: PENDAHULUAN
Bab ini berisi latar belakang masalah, tujuan dan manfaat, batasan masalah,
metodologi penelitian dan sistematika penulisan.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB II
DASAR TEORI
Pada bab ini akan dibahas mengenai landasan-landasan teori yang digunakan dalam
pembuatan tugas akhir Aplikasi Pengenalan Objek Untuk Lengan Robot Pemisah Benda
Bedasarkan Bentuk Benda.
a. Manipulator
Manipulator pada robot lengan memiliki tiga bagian, yaitu bagian dasar (base),
bagian lengan (arm), dan bagian pergelangan (wrist). Bagian-bagian manipulator pada
lengan robot dapat dilihat pada gambar 2.1.
Pergelangan (wrist)
Lengan (arm)
Dasar (base)
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
effector, dan bagian pergelangan (wrist) berfungsi untuk mengatur orientasi dari end
effector. Bagian ujung pada robot lengan terpasang end effector atau yang sering disebut
dengan gripper yang berfungsi sebagai alat mencengkram pada lengan robot.
b. End Effector
End effector dapat ditemukan hampir di semua aplikasi robot, walaupun
keberadaannya bukan merupakan komponen dasar dari sistem robot. End effector
berfungsi sebagai bagian terakhir yang menghubungkan antara manipulator dengan objek.
Sebagai contoh efektor dapat berupa peralatan las, penyemprot cat ataupun hanya berupa
pencekam objek[2].
c. Kontroler
Kontroler merupakan otak dari sistem robot sehingga keberadaannya sangat
penting. Kontroler menyimpan informasi yang berkaitan dengan data-data robot, dalam hal
ini data gerakan robot yang telah diprogram sebelumnya.
Kontroler berfungsi untuk mengontrol pergerakan dari manipulator. Kontroler
sendiri diatur oleh sebuah informasi atau program yang diisikan dengan menggunakan
bahasa pemrograman tertentu. Informasi tersebut kemudian disimpan didalam memori.
Data dalam memori dapat di keluarkan atau di edit sesuai dengan yang dibutuhkan.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
(2.1)
keterangan :
= Torsi (N-m)
r = Jarak dari titik pangakal gaya sampai sumbu putar
F = Gaya (N), F = m x g
= Derajat sumbu putar
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Motor servo terdiri dari dua macam, yaitu motor servo standar dan motor servo
continuous. Motor servo standar yaitu motor servo yang hanya bergerak mulai dari 0o
sampai dengan 180o, sedangkan motor servo continuous merupakan motor servo yang
dapat berputar 360o sehingga memungkinka untuk bergerak rotasi seperti pada motor DC
pada umumnya.
Prinsip utama pengontrolan motor servo yaitu dengan memberikan nilai PWM pada
kontrolnya. Perubahan duty cycle akan menentukan perubahan posisi dari motor servo.
Motor servo memiliki frekuensi sebesar 50 Hz sehingga pulsa yang dihasilkan yaitu setiap
20 ms. Lebar pulsa akan menentukan posisi motor servo yang dikehendaki seperti contoh
pada gambar 2.4 yaitu jika ingin menggerakan servo pada sudut 180o, maka lebar pulsa
yang diperlukan yaitu 1ms. Artinya yaitu dengan memberikan pulsa high selama 1ms dan
kemudian diberikan pulsa low selama 19ms[1].
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
10
(2.9)
Memori Program
Kode program disimpan dalam flash memory, yaitu memori jenis non-volatile yang
tidak akan hilang datanya meskipun catu daya dimatikan [7]. Dalam ATmega32 terdapat
8Kbyte On-Chip di dalam sistem Memory Flash Reprogrammable untuk penyimpanan
program. Untuk keamanan perangkat lunak, flash memori dibagi menjadi dua bagian, yaitu
boot program dan bagian aplikasi program [6].
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
11
Memori Data
Memori data adalah memori RAM (Random Access Memory) yang digunakan
untuk keperluan program. Memori data terbagi menjadi empat bagian yaitu 32 General
Purphose Register adalah register khusus yang bertugas untuk membantu eksekusi
program oleh ALU (Arithmatich Logic Unit). Dalam istilah processor komputer sehari-hari
GPR dikenal sebagai chace memory. I/O register dan Aditional I/O register adalah
register yang difungsikan khusus untuk mengendalikan berbagai pheripheral dalam
mikrokontroler seperti pin, port, timer/counter [6].
2.4.4. Interupsi
Interupsi adalah suatu kondisi dimana mikrokontroler akan berhenti sementara dari
program utama untuk melayani instruksi-instruksi pada interupsi kemudian kembali
mengerjakan instruksi program utama setelah instruksi-instruksi pada interupsi selesai
dikerjakan.
Table 2.1. Hubungan PIN dan Interupsi [6]
Jenis interupt
PIN pada ATmega32
INT0
PORTD.2
INT1
PORTD.3
INT2
PORTB.2
ATmega32 menyediakan tiga interupsi eksternal yaitu, INT0, INT1, dan INT2.
Masing-masing interupsi tersebut terhubung dengan pin ATmega32 seperti ditunjukan
pada Tabel 2.1. Interupsi eksternal bisa dilakukan dengan memberikan logika 0 atau
perubahan logika (rissing edge dan falling edge) pada pin interupsi yang bersangkutan [6].
2.4.5. Timer/Counter
Timer/Counter pada mikrokontroler AVR dapat digunakan untuk melakukan
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. ATmega32 memiliki tiga unit Timer/Counter yaitu Timer/Counter 0 (8
bit), Timer/Counter 1 (16 bit), dan Timer/Counter 2 (8 bit) [7].
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
12
TIMER/COUNTER 0
Fitur-fitur yang dimiliki:
1. Satu buah unit Compare Counter (Unit ini akan meng-count dan meng-compare)
2. Clear timer pada saat compare match (Auto reload)
3. Phase Correct PWM yang bebas glitch
4. Frequency generator
5. External event counter
6. Prescaler clock hingga 10 bit
7. Membangkitkan interupsi saat timer overflow dan atau compare match
Perhitungan overflow interrupt sebagai pembangkit PWM ditunjukan pada persamaan 2.2,
2.3, dan 2.4 berikut [6].
(2.2)
(2.3)
(2.4)
Keterangan :
f
= periode
Mode normal, timer digunakan untuk menghitung saja, membuat delay, dan
mengitung selang waktu.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
13
b) Mode phase correct PWM (PCP), digunakan untuk menghasilkan sinyal PWM
dimana nilai register counter (TCNT0) yang mencacah naik dan turun secara terus
menerus akan selalu dibandingakan dengan register pembanding OCR0. Hasil
perbandingan register TCNT0 dan OCR0 digunakan untuk membangkitkan sinyal
PWM yang dikeluarkan pada OC0 seperti ditunjukan Gambar 2.6.
c)
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.
d) Fast PWM, mode ini hampir sama dengan mode phase correct PWM, hanya
perbedaannya adalah register counter TCNT0 mencacah naik saja dan tidak pernah
mencacah turun seperti terlihat pada Gambar 2.7.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
14
Pada proses inisialisasi ini setiap perangkat yang terhubung harus memiliki
baudrate yang sama. Beberapa fasilitas yang disediakan USART AVR adalah sebagai
berikut:
a) Operasi full duplex (mempunyai register receive dan transmit yang terpisah)
b) Mendukung kecepatan multiprosesor
c) Mode kecepatan berorde Mbps
d) Operasi asinkron atau sinkron
e) Operasi master atau slave clock sinkron
f) Dapat menghasilkan baud-rate (laju data) dengan resolusi tinggi
g) Modus komunikasi kecepatan ganda pada asinkron
Inisialisasi USART
Pada mikrokontroler AVR untuk mengaktifkan dan mengeset komunikasi USART
dilakukan dengan cara mengaktifkan register-register yang digunakan untuk komunikasi
USART. Register-register yang digunakan untuk komunikasi USART antara lain:
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
15
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)
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.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
16
f)
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
17
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
e)
18
f)
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Tabel 2.3. Operasi Dasar LCD 16x2 [8]
Operasi
RS
R/W
Menulis data
Membaca data
GND
Ground
VCC
Tegangan +5Vdc
VEE
Ground
RS
Kendali RS
RW
Ground
Kendali E/Enable
D0
Bit 0
D1
Bit 1
D2
Bit 2
10
D3
Bit 3
11
D4
Bit 4
12
D5
Bit 5
13
D6
Bit 6
14
D7
Bit 7
15
Anoda (+5Vdc)
16
Katoda (Ground)
19
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
20
Inisialisasi
Data
RS
RW
VOUT (Volt)
7805
7806
7808
7810
7812
7815
7818
7824
5
6
8
10
12
15
18
24
Min
Maks
7,3
8,3
10,5
12,5
14,6
17,7
21
27,1
20
21
23
25
27
30
33
38
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
21
(2.5)
(2.6)
(2.7)
(2.8)
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
22
(2.9)
(2.10)
= VCE x IC
(2.11)
Untuk nilai penguatan arus diperoleh dengan persamaan dibawah ini [9] :
Ic = IB
(2.12)
Ie = (+1) IB
(2.13)
2.7. Photodioda
Photodioda adalah dioda yang bekerja berdasarkan intensitas cahaya, jika
photodioda terkena cahaya maka photodioda bekerja 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.
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 elektronelektron yang dihasilkan itu masuk ke pita konduksi maka elektron-elektron itu akan
mengalir ke arah positif sumber tegangan sedangkan hole yang dihasilkan mengalir ke arah
negatif sumber tegangan sehingga arus akan mengalir di dalam rangkaian. Besarnya
pasangan elektron ataupun hole yang dihasilkan tergantung dari besarnya intensitas cahaya
yang diserap oleh photodioda [9].
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.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
23
Gambar 2.16. Respon Relatif Spektral Untuk Si, Ge, dan Selenium Dibandingkan Dengan
Mata Manusia.[9]
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
24
Grafik pada gambar 2.17 menunjukan bahwa arus maksimal pada sensor
photodioda adalah sebesar 800 A, sehingga untuk penentuan nilai hambatan agar arus
sensor photodioda tidak terlalu besar yaitu [9]:
(2.14)
Sehingga nilai hambatan untuk sensor photodioda dengan asumsi bahwa Vcc = 5 Volt
dapat dilihat pada tabel 2.7.
Tabel 2.7. Hubungan Arus Dengan Hambatan
ARUS (A)
200
400
600
800
HAMBATAN (K)
25
12,5
8,33
6,25
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
25
2.8. Infrared
Infrared merupakan suatu komponen elektronika yang merupakan sumber cahaya
dengan panjang gelombang 750nm-1000nm dan arus maksimal sebesar 100 mA [8].
Aplikasi infrared biasa dijumpai pada modul sensor yang berhubungan dengan cahay
seperti photodioda dan photo transistor. Menurut gambar 2.19, infrared merupakan sumber
cahaya yang paling baik untuk sumber sensor cahaya. Penentuan nilai hambatan untuk
infrared dengan asumsi Vcc = 5 Volt yaitu :
sehingga,
R=
= 50
Agar aman, maka digunakan resistor sebesar 100 yang bertujuan untuk membuat
infra red tidak berlebihan arus.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
26
kita dapat menghitung nilai masing-masing komponen agar transistor tersebut dapat mendrive komponen lain yang membutuhkan arus yang besar [11].
IB(saturasi) = IC(saturasi)/DC
(2.15)
Untuk memastikan bahwa transistor sudah saturasi, diperlukan setidaknya arus overdrive 4
sampai 10 kali dari IB(saturasi), sehingga [11]:
IB = (di isi angka 4 sampai 10) x IB(saturasi)
(2.16)
Dengan diperolehnya IB, maka hambatan basis dapat dihitung dengan persamaan [11]:
RB = (Vin-VBE)/IB
(2.17)
2.10. Relay
Relai
merupakan
suatu
komponen
elektronika
yang
berfungsi
untuk
menghubungkan atau memutuskan aliran arus listrik yang dikontrol dengan memberikan
tegangan dan arus tertentu pada koilnya. Ada dua macam relay berdasarkan tegangan
untuk menggerakan koilnya yaitu AC dan DC [8].
Pada dasarnya relay adalah sebuah kumparan yang dialiri arus listrik, sehingga
kumparan mempunyai sifat seperti magnet. Magnet sementara tersebut digunakan untuk
menggerakan suatu sistem saklar yang terbuat dari logam sehingga pada saat relay dialiri
arus listrik maka kumparan akan terjadi kemagnetan dan menarik logam tersebut. Saat arus
listrik diputus, maka logam akan kembali pada posisi semula [8].
2.11. Webcam
Web camera atau biasa disingkat webcam adalah kamera video digital kecil yang
dihubungkan ke komputer melalui port USB atau serial. Fungsi webcam yang paling
populer saat ini yaitu untuk melakukan video conference melalui internet. Dalam
perkembangan selanjutnya, webcam tidak hanya difungsikan sebagai video conference
tetapi juga untuk home monitoring atau memantau rumah selama 24 jam [12]. Contoh
webcam ditunjukan gambar 2.22 yaitu webcam Logitech c270h.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
27
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
28
komputer yang memungkinkan manusia dapat mengambil informasi dari suatu citra, maka
image processing tidak dapat dilepaskan dengan bidang computer vision [2].
Sebuah citra dapat didefinisikan sebagai fungsi dua dimensi f(x,y), dimana x dan y
adalah koordinat spasial dan amplitude dari f. Citra digital terdiri dari sejumlah elemen
tertentu, setiap elemen mempunyai lokasi dan nilai tertentu. Elemenelemen ini disebut
picture element, image element, pels dan pixels. Sumber noise pada citra digital bisa terjadi
sejak pengambilan atau transmisi citra. Kinerja dari sensor citra atau kamera dipengaruhi
oleh banyak faktor seperti kondisi lingkungan selama pengambilan citra dengan kamera
webcam, level pencahayaan dan suhu sensor adalah faktor utama yang mempengaruhi
tingkat noise pada citra yang dihasilkan [15].
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
29
Citra grayscale merupakan citra digital yang hanya memiliki suatu nilai kanal pada
setiap piksel. Warna yang dimiliki adalah keabuan, hitam dan putih. Citra hitam putih
mempunyai nilai kuantisasi derajat keabuan sampai tingkatan ke 256 artinya mempunyai
skala abu dari 0 sampai 255 atau selang [0 255]. Citra ini membutuhkan 1 byte (8 bit)
untuk representasi setiap pikselnya (256 =28) [3]. Gambar 2.25 menunjukkan contoh citra
skala keabuan [15].
2.14.2. Cropping
Cropping citra merupakan salah satu langkah dalam pengolahan citra yang
dilakukan untuk memotong satu bagian dari citra tertentu untuk memperoleh bagian yang
diinginkan untuk diolah. Hal ini dilakukan untuk mendapatkan data yang tepat sehingga
memudahkan dalam proses pengolahan data.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
30
2.14.4. Resizing
Rezising citra adalah mengubah besarnya ukuran citra dalam piksel. Tampilan citra
tidak ada yang berubah tetapi hanya ukuran pixel dan matriksnya yang dirubah. Ukuan
resizing menentukan kualitas gambar yang akan diproses.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB III
PERANCANGAN PENELITIAN
Dalam bab III ini akan dibahas mengenai perancangan perangkat keras dan
perancangan perangkat lunak. Pembahasan ini meliputi :
a) Proses kerja dan mekanisme lengan robot
b) Perancangan mekanik lengan robot
c) Perancangan perangkat keras (hardware)
d) Perancangan perangkat lunak (software)
31
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
32
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
33
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
34
3.3.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
35
Untuk rangkaian osilator digunakan crystal dengan frekuensi sebesar 11,0592 MHz
dan menggunakan kapasitor 22 pf pada pin XTAL1 dan XTAL2 di mikrokontroler.
Rangkaian osilator ini berfungsi sebagai sumber clock bagi mikrokontroler. Pemberian
kapasitor bertujuan untuk memperbaiki kestabilan frekuensi yang diberikan oleh osilator
eksternal. Gambar 3.8 menunjukan rangkaian osilator.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
36
Dengan :
F = Gaya (N)
g = Grafitasi (m/s )
= sudut (derajat)
= Torsi (kg-cm)
Gambar 3.12 merupakan gambar kontruksi lengan robot untuk menghitung besar torsi
masing-masing motor servo. Tabel 3.1 merupakan tabel perhitungan torsi motor servo.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
= 0,686 N
Ket : servo 3 bergerak 90o
Motor servo 4 (m = 50 gr)
F=mxg
= 0,050 x 9,8
= 0,49 N
Ket : servo 4 bergerak 0o dan 50o
Sudut 0o (r = 60 mm)
37
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
38
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
39
servo selama T= 20ms adalah nilai OCR, yang merupakan cacahan pulsa selama 1ms
sampai 2ms. Berikut perhitungan overflow interrupt sebagai pembangkit PWM untuk
mengatur sudut putar motor servo.
Frekuensi crystal yang digunakan yaitu 11,059200 MHz, sehingga untuk
mendapatkan periode dari frekuensi tersebut digunakan rumus :
= (1/11059200)
= 0,090422 x 10-6 s.
LEBAR PULSA
0o
1 ms
OCR =
= 43,20
90o
1,5 ms
OCR =
= 64,8
180o
2 ms
OCR =
= 86,40
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
40
3.3.5. Webcam
Webcam yang digunakan adalah webcam Logitech seri C270h karena output
keluaran gambar merupakan gambar RBG (Red Green Blue). Webcam ini sudah
mempunyai dudukan sendiri serta mempunyai software pendukung yang bisa zoom in dan
zoom out sehingga memudahkan pengaturan dari komputer. Pada proses pengambilan citra
menggunakan resolusi 320 x 240 piksel. Spesifikasi webcam dapat dilihat pada lampiran.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
41
benda, maka motor pada conveyor akan berhenti. Rangkaian sensor photodioda ditunjukan
oleh Gambar 3.16.
= 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.17 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. Rangkaian yang digunakan yaitu berupa rangkaian transistor
yang difungsikan sebagai saklar menggunakan transistor 2N3904 dan relay. Gambar 3.17
menunjukan rangkaian transistor sebagai saklar beserta relay. Alasan menggunakan
transistor 2N3904 yaitu karena transistor 2N3904 merupakan transistor switching dan nilai
R2 menggunakan 10 K didapat dari datasheet yang terlampir. Sedangkan dioda yang
tersusun secara paralel dengan relay bertujuan untuk mencegah terjadinya arus balik pada
rangkaian yang bisa merusak gulungan relay (koil).
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
42
2. Balok
3. Tabung
4. Bola
: 5cm (diameter)
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
43
Pada pembuatan flowchart program interrupt lengan robot akan dibahas dan
dipaparkan mengenai cara menggerakan motor servo agar memiliki sudut sesuai dengan
apa yang diinginkan. Pada pembuatan flowchart ini digunakan software CodeVision AVR
yang merupakan suatu perangkat lunak untuk mem-program ic keluarga AVR
menggunakan bahasa c. Flowchart yang akan dibuat yaitu flowchart lengan roobot siaga,
flowchart lengan robot mengambil benda, flowchart lengan robot meletakan benda saat
benda kubus, flowchart lengan robot meletakan benda saat benda balok, flowchart lengan
robot meletakan benda saat benda tabung, dan flowchart lengan robot meletakan benda
saat benda bola.
Pada pembuatan flowchart program pengenalan bentuk benda akan dibahas dan
dipaparkan mengenai pembuatan program image processing dengan menggunakan metode
citra biner dengan software MATLAB.
Secara keseluruhan sistem kerja pada perancangan tugas akhir ini dapat ditunjukan
flowchart pada gambar 3.19. Cara kerja dari lengan robot pemisah benda ini yaitu mulamula benda diletakan pada conveyor. Ketika benda dideteksi oleh sensor photodioda 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 objek dikenali, maka laptop melalui software
MATLAB akan mengirimkan karakter secara serial kepada minimum system ATmega32
untuk menggerakan motor servo pada lengan robot. Lengan robot akan mengambil benda
tersebut dan meletakan benda ke tempat yang sudah disediakan sesuai bentuk benda.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
44
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
45
ATmega32, maka dimanfaatkan suatu timer yang digunakan untuk mencacah pulsa
tersebut sehingga seluruh PORT pada ATmega32 dapat berfungsi seperti PWM yaitu
dengan menggunakan perintah interrupt. Gambar 3.20 merupakan flowchart penulisan
program menggunakan interrupt saat lengan robot pada posisi siaga.
Untuk mendapatkan nilai sudut motor servo, penulis menggunakan lengan robot
yang telah dibuat sebelumnya. Kemudian dari lengan robot tersebut, dicari nilai masingmasing sudut motor servo menggunakan busur derajat pada saat lengan robot siaga,
lengan robot mengambil benda, lengan robot meletakan benda saat benda kubus, lengan
robot meletakan benda saat benda balok, lengan robot meletakan benda saat benda tabung,
dan lengan robot meletakan benda saat benda bola. Pemberian sudut dapat dilihat pada
tabel 3.3.
Tabel 3.3. Pemberian sudut motor servo
Posisi
Siaga
Ambil Benda
Sudut
Servo 1 Servo 2 Servo 3
90
145
140
90
75
100
Meletakan Benda
Servo 4
90
160
Benda Kubus
145
130
90
Benda Balok
45
80
80
90
Benda Tabung
135
80
80
90
Benda Bola
180
145
130
90
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Gambar 3.20. Flowchart Program Interrupt Lengan Robot Saat Posisi Siaga
Gambar 3.21. Flowchart Program Interrupt Lengan Robot Saat Mengambil Benda
46
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
47
Gambar 3.22. Flowchart Program Interrupt Lengan Robot Saat Meletakan Benda Kubus
Gambar 3.23. Flowchart Program Interrupt Lengan Robot Saat Meletakan Benda Balok
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
48
Gambar 3.24. Flowchart Program Interrupt Lengan Robot Saat Meletakan Benda Tabung
Gambar 3.25. Flowchart Program Interrupt Lengan Robot Saat Meletakan Benda Bola
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
49
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
50
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
51
Buka aplikasi MATLAB kemudian ketik deploytool pada bagian command window
kemudian tekan enter. Seperti ditunjukan pada gambar 3.28.
2.
Akan muncul jendela deployment project seperti ditunjukan pada gambar 3.29,
kemudian pilih windows standalone application dan beri nama file sesuai dengan
keinginan serta direktori yang akan dituju lalu ok.
3.
Setelah proses tersebut akan muncul jendela Window Standalone Application. Pada
bagian Build terdapat [Add Main File] yang berfungsi untuk memasukan file
utama dalambentuk mfile. Kemudian klik [Add files/directories] untuk
menambahkan file-file pendukung yang dibutuhkan seperti file figure, database,
fungsi ekternal dan lain-lain yang ditunjukan pada gambar 3.30. Setelah seluruh file
tersebut telah dimasukan kedalam satu project, maka klik tab package seperti pada
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
52
gambar 3.30. selanjutnya klik [add MCR] kemudian akan muncul pilihan seperti
ditunjukan pada gambar 3.31 lalu pilih Embed the MCR in the package akan muncul
MCRinstaller.exe seperti ditunjukan gambar 4. langkah selanjutnya yaitu klik build
the project.
4.
Tunggu sampai proses compile selesai seperti pada gambar 3.32. Jika telah selesai
akan muncul jendela deployment tool output seperti pada gambar 3.33.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
53
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
54
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
55
LCD 16x2. Gambar 3.34 merupakan flowchart menghitung jumlah benda yang telah
terdeteksi.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB IV
HASIL PENGAMATAN DAN PEMBAHASAN
Pada bab ini akan dibahas mengenai hasil pengamatan dari lengan robot sebagai
pemisah barang berdasarkan bentuk benda. Hasil pengamatan berupa data sudut motor
servo, data pengenalan bentuk benda berdasarkan nilai citra biner, tingkat keberhasilan
pengenalan objek, dan tingkat keberhasilan lengan robot ketika mengambil dan
memindahkan benda ke tempat yang telah disiapkan berdasarkan masing-masing bentuk.
56
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
57
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
58
Mekanisme kerja sistem lengan robot adalah robot bekerja secara otomatis sesuai
dengan perintah yang telah diprogram. Proses yang terjadi ketika power atau catu daya
regulator pada posisi ON yaitu mula-mula conveyor akan berjalan membawa benda
menuju tepat dibawah webcam yang akan dideteksi oleh sensor photodioda. Ketika sensor
photodioda terhalang benda, maka mikrokontroler ATmega32 akan mengirimkan karakter
a secara serial melalui komunikasi serial USART. Kemudian laptop akan merima
karakter tersebut sebagai isyarat bahwa benda telah berada tepat dibawah webcam. Proses
selanjutnya yaitu GUI pada MATLAB akan secara otomatis menjalankan program
pengenalan bentuk benda. Setelah benda telah dikenali, maka laptop akan mengirimkan
sebuah karakter yang mendefinisikan bentuk benda. Karakter a yang dikirim merupakan
benda yang terdeteksi yaitu kubus, Karakter b yang dikirim merupakan benda yang
terdeteksi yaitu balok, Karakter c yang dikirim merupakan benda yang terdeteksi yaitu
tabung, Karakter d yang dikirim merupakan benda yang terdeteksi yaitu bola, dan
Karakter e yang dikirim merupakan benda tidak terdeteksi.
Setelah mikrokontroler ATmega32 menerima karakter tersebut, maka lengan robot
akan mengambil benda dan memindahkan benda tersebut ke tempat peletakan sesuai
dengan bentuk masing-masing. Proses ini akan terus berlangsung hingga tombol pada GUI
MATLAB ditekan atau catu daya pada posisi OFF.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
59
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
60
Gambar 4.19. Sudut 120o Gambar 4.20. Sudut 130o Gambar 4.21. Sudut 140o
43,20
64,8
86,40
29
69
111
Lebar Pulsa
0,671 ms
1,59 ms
2,57 ms
Error
(%)
32,87 %
6,48 %
28,47 %
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
61
Berdasarkan gambar 4.7 hingga gambar 4.25, maka dapat dianalisa bahwa
perhitungan secara teori dan praktek terjadi perbedaan atau tidak sesuai tetapi terdapat satu
kondisi saat motor servo berada pada sudut 90o yang memiliki lebar pulsa tidak jauh
berbeda dengan teori yakni 1,59 ms sedangkan pada teori memiliki lebar pulsa 1,5 ms. Hal
tersebut dikarenakan setiap motor servo memiliki karakteristik yang berbeda-beda sesuai
dengan jenisnya. Error yang terjadi pada nilai OCR sudut motor servo tidak mempengaruhi
kinerja lengan robot dalam mengambil dan memisahkan benda. Tetapi error pada nilai
OCR mempengaruhi dalam penentuan sudut motor servo selama perancangan.
TABUNG
BOLA
73
67
73
74
69
70
75
79
68
73
72,1
65-80
53
55
55
51
53
52
60
46
50
54
52,9
42-64
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
62
140
120
100
BENDA KUBUS
80
BENDA BALOK
60
BENDA TABUNG
40
BENDA BOLA
20
0
1
10
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
63
Gambar 4.29. Peletakan Benda Tabung Gambar 4.30. Peletakan Benda Bola
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
64
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
65
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
66
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
67
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
68
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
69
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
70
tegangan masukan 0 Volt sampai 5 Volt, akan diubah melalui ADC menjadi 0 desimal
hingga 511 desimal.
bagian
ini
berfungsi
sebagai
komunikasi
serial
USART
untuk
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
71
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
72
Listing program yang ditunjukan pada gambar 4.39 merupakan pemberian nilai
OCR pada masing-masing motor servo pada saat posisi siaga. Sedangkan untuk posisi lain
seperti posisi siaga_grip, pengambilan benda, penyimpanan benda kubus, penyimpanan
benda balok, penyimpanan benda tabung, dan penyimpanan benda bola dapat dilihat pada
tabel 4.5.
Tabel 4.5. Pemberian Nilai OCR
Fungsi
Nilai OCR
Data 1
Data 2
Data 3
Data 4
Siaga
71
53
94
89
Siaga_grip
71
53
94
122
Ambil_benda
71
84
76
122
Kubus
33
53
90
89
Balok
48
67
82
89
Tabung
92
67
82
89
Bola
111
53
90
89
Gripper
89
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
73
agar pergerakan motor servo menjadi lebih halus ketika menggerakan lengan robot.
Void() merupakan perintah untuk membuat suatu fungsi agar ketika dieksekusi selama
proses tidak perlu menulis ulang subrutin yang terdapat didalam void. Gambar 4.41
merupakan listing program memindahkan benda kubus, gambar 4.42 merupakan listing
program memindahkan benda balok, gambar 4.43 merupakan listing program
memindahkan benda tabung, dan gambar 4.44 merupakan listing program memindahkan
benda bola.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
74
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
75
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
76
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
77
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.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
78
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
79
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB V
KESIMPULAN DAN SARAN
5.1.
Kesimpulan
Dari hasil pengujian serta pengambilan data pada aplikasi pengenalan objek untuk
lengan robot pemisah benda berdasarkan bentuk benda, dapat diambil kesimpulan:
1. Sistem dapat mengenali bentuk benda dengan baik ketika mendeteksi benda.
2. Waktu yang dibutuhkan sistem tanpa looping untuk menyelesaikan proses
yaitu + 27 detik sedangkan waktu yang dibutuhkan sistem dengan
menggunakan looping untuk menyelesaikan proses yaitu + 33 detik.
3. Sistem mampu mengenali bentuk benda dan berhasil melakukan counting
jumlah benda yang telah terdeteksi.
4. Peletakan dan posisi benda sesuai dengan batasan masalah, membuat sistem
dan lengan robot bekerja dengan baik.
5. Posisi benda yang tidak sesuai dengan batasan masalah membuat gripper
lengan robot tidak dapat mencengkram benda untuk memindahkannya.
6. Motor servo berfungsi dengan baik sebagai aktuator lengan robot dalam
mengerjakan proses pengambilan dan peletakan benda. Tetapi lebar pulsa
motor servo jenis Towerpro MG946R berbeda dengan lebar pulsa pada teori.
5.2.
Saran
Saran-saran bagi pengembangan selanjutnya adalah:
1. Lebih banyak variasi bentuk benda yang dideteksi.
2. Peletakan dan posisi benda dibuat bebas.
3. Waktu sistem untuk proses pengenalan objek dibuat lebih cepat.
4. Lengan robot dibuat lebih baik lagi agar pergerakan menjadi fleksibel dan
mampu mengambil benda pada posisi apapun.
5. Menggunakan jenis motor servo yang sesuai dengan dasar teori dan memiliki
spesifikasi lebar pulsa yang lengkap agar selama penentuan sudut motor servo
tidak mengalami kesulitan.
80
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Daftar Pustaka
[1]
Budiharto, W., 2014, Robotika Modern Teori dan Implementasi, edisi revisi, C.V
Andi Offset, Yogyakarta.
[2]
Budiharto, W. dan Purwanto, D., 2012, Robot Vision Teknik Membangun Robot
Cerdas Masa Depan, C.V Andi Offset, Yogyakarta.
[3]
[4]
Paul A. Tipler, 1998, FISIKA Untuk Sains dan Teknik, edisi 3 jilid 1, Erlangga,
Bandung.
[5]
[6]
[7]
Agus Bejo, 2008, C dan AVR Rahasia Kemudahan Bahasa C dalam Mikrokonroler
ATMEGA8535, 1st ed, GRAHA ILMU, Yogyakarta.
[8]
[9]
Boylestad, R. and Nashelsky. L., Electronic Devices and Circuit Theory, seventh
edition, Prentice Hall, New Jersey Columbus, Ohio.
[10]
Fathoni, Oktober 2010, Unjuk Kerja Catu Daya 12 Volt 2A dengan Pass Element
Transistor NPN dan PNP, Jurnal Neutrino, Vol.3, No.1.
[11]
[12]
[13]
[14]
[15]
81
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
[16]
82
Wijaya, M.Ch., dan Prijono, A., 2007, Pengolahan Citra Digital Menggunakan
MATLAB, Informatika, Bandung.
[17]
http://www.servodatabase.com/servo/towerpro/mg946r,
diakses
20
November
2014.
[18]
http://www.vcc2gnd.com/2014/05/sg90-tower-pro-9g-micro-servo.html, diakses 20
November 2014.
[19]
[20]
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
LAMPIRAN
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Rangkaian Minimum System Atmega8535
Rangkaian Regulator
L1
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Spesifikasi Servo Towerpro MG946R [17]
L2
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Towerpro MG946R [5]
L3
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
Datasheet Transistor 2N3904 [19]
L4
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L5
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L6
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L7
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L8
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L9
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L10
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
else{servo1=0;}
if (i<data2) {servo2=1;}
else{servo2=0;}
if (i<data3){servo3=1;}
else{servo3=0;}
if (i<data4) {servo4=1;}
else{servo4=0;}
}
}
#include <delay.h>
#define ADC_VREF_TYPE 0x40
// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
// Declare your global variables here
void photodioda()
{
sensor=read_adc(0)/2;
lcd_gotoxy(0,1);
sprintf(sens,"sensor=%d",sensor);
lcd_puts(sens);
delay_ms(10);
}
void komunikasi()
{
a=getchar();
lcd_gotoxy(0,0);
sprintf(b,"komunikasi= %d" ,a);
lcd_puts(b);
delay_ms(3000);
lcd_clear();delay_ms(10);
}
void siaga()
{
data1=71;
delay_ms(100);
data3=94;
delay_ms(100);
data2=53;
delay_ms(100);
data4=89;
delay_ms(100);
}
void siaga_grip()
{
L11
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
data1=71;
delay_ms(100);
data2=53 ;
delay_ms(100);
data3=94;
delay_ms(100);
data4=122;
delay_ms(100);
}
void ambil_benda()
{
data1=71;
delay_ms(100);
data3=76;
delay_ms(100);
data2=84;
delay_ms(100);
data4=122;
delay_ms(100);
}
void kubus()
{
data1=33;
delay_ms(100);
data2=53 ;
delay_ms(100);
data3=90;
delay_ms(100);
data4=89;
delay_ms(100);
}
void balok()
{
data1=48;
delay_ms(100);
data3=67;
delay_ms(100);
data2=82 ;
delay_ms(100);
data4=89;
delay_ms(100);
}
void tabung()
{
data1=92;
delay_ms(100);
data3=67;
delay_ms(100);
data2=82 ;
delay_ms(100);
data4=89;
delay_ms(100);
}
void bola()
L12
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
{
data1=111;
delay_ms(100);
data2=53 ;
delay_ms(100);
data3=90;
delay_ms(100);
data4=89;
delay_ms(100);
}
void gripper()
{
data4=89;
delay_ms(100);
}
void gerak_ambil()
{
siaga();
delay_ms(500);
for (data3=94;data3>=78;data3--)
{delay_ms(50); };
for (data2=53;data2<=84;data2++)
{delay_ms(50);};
for (data4=89;data4<=122;data4++)
{delay_ms(50);};
ambil_benda();
delay_ms(500);
for (data2=84;data2>=53;data2--)
{delay_ms(50);};
delay_ms(50);
for (data3=72;data3<=94;data3++)
{delay_ms(50);};
siaga_grip();
delay_ms(500);
}
void gerak_kubus()
{
//kubus
gerak_ambil();
delay_ms(500);
for (data3=94;data3>=90;data3--)
{delay_ms(50);};
for (data1=71;data1>=33;data1--)
{delay_ms(50);};
for (data4=122;data4>=89;data4--)
{delay_ms(50);};
kubus();
delay_ms(500);
gripper();
delay_ms(500);
L13
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
for (data1=33;data1<=71;data1++)
{delay_ms(50);};
for (data3=90;data3<=94;data3++)
{delay_ms(50);};
}
void gerak_balok()
{
//balok
gerak_ambil();
delay_ms(500);
for (data3=94;data3>=67;data3--)
{delay_ms(50);};
for (data1=71;data1>=48;data1--)
{delay_ms(50);};
for (data2=53;data2<=82;data2++)
{delay_ms(50);};
for (data4=122;data4>=89;data4--)
{delay_ms(50);};
balok();
delay_ms(500);
gripper();
delay_ms(500);
for (data2=82;data2>=53;data2--)
{delay_ms(50);};
for (data1=48;data1<=71;data1++)
{delay_ms(50);};
for (data3=67;data3<=94;data3++)
{delay_ms(50);};
}
void gerak_tabung()
{
//tabung
gerak_ambil();
delay_ms(500);
for (data3=94;data3>=67;data3--)
{delay_ms(50);};
for (data1=71;data1<=92;data1++)
{delay_ms(50);};
for (data2=53;data2<=82;data2++)
{delay_ms(50);};
for (data4=122;data4>=89;data4--)
{delay_ms(50);};
tabung();
delay_ms(500);
gripper();
delay_ms(500);
for (data2=82;data2>=53;data2--)
{delay_ms(50);};
for (data1=92;data1>=71;data1--)
{delay_ms(50);};
for (data3=67;data3<=94;data3++)
L14
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
{delay_ms(50);};
}
void gerak_bola()
{
//bola
gerak_ambil();
delay_ms(500);
for (data3=94;data3>=90;data3--)
{delay_ms(50);};
for (data1=71;data1<=111;data1++)
{delay_ms(50);};
for (data4=122;data4>=89;data4--)
{delay_ms(50);};
bola();
delay_ms(500);
gripper();
delay_ms(500);
for (data1=111;data1>=71;data1--)
{delay_ms(50);};
for (data3=90;data3<=94;data3++)
{delay_ms(50);};
}
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0xFF;
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0xFF;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 11059,200 kHz
// Mode: Normal top=FFh
L15
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
// OC0 output: Disconnected
TCCR0=0x01;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x01;
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x47;
L16
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L17
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
{
lcd_gotoxy(0,1);lcd_putsf("BENDA BOLA");delay_ms(1000);
gerak_bola();delay_ms(10);
lcd_clear();delay_ms(10);z=0;
}
else if(a=='e')
{
lcd_gotoxy(0,1);lcd_putsf("TIDAK TERDETEKSI");delay_ms(1000);
PORTD.2=1;delay_ms(500);
lcd_clear();delay_ms(10);z=0;
}
}
}
else
{PORTD.2=1;delay_ms(5);}
};
}
L18
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before realtime is made visible.
function realtime_OpeningFcn(hObject, eventdata, 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 realtime (see VARARGIN)
% Choose default command line output for realtime
clc;
set(handles.edit1, 'String','0' );
set(handles.edit2, 'String','0');
set(handles.edit3, 'String','0' );
set(handles.edit4, 'String','0' );
set(handles.edit5, 'String','' );
set(handles.edit6, 'String','' );
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes realtime wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = realtime_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
L19
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L20
clc;
global z
global kubus
global balok
global tabung
global bola
z=1;
kubus=0;
balok=0;
tabung=0;
bola=0;
guidata(hObject,handles);
while z
%data yang dikirimkan
komunikasi=serial(handles.PORT);
guidata(hObject,handles);
%setting hardware diperlukan
set(komunikasi,'BaudRate',9600,'DataBits',8,'parity','none','StopBits',1,'FlowControl','none'
);
%membuka port untuk komunikasi
fopen(komunikasi);
out=fscanf(komunikasi);
out1=sprintf('%s',out);
pause(0.5);
if(out1==161)
%proses inisialisasi webcam
vid=videoinput('winvideo',1,'RGB24_320x240');
%proses capture gambar
gambar=getsnapshot(vid);
%proses merubah ke grayscale
grey=rgb2gray(gambar);
%proses merubah ke biner
biner=im2bw(grey);
%croping
crop=imcrop(biner,[17.51 60.51 255.98 176.98]);
%proses resizing
y=imresize(crop,[16 16]);
c=double(y);
%menjumlahkan keseluruhan
data=sum(sum(c));
%tampilkan pada axes
axes(handles.axes1);
imshow(crop);
set(handles.edit6, 'string', '');
set(handles.edit5, 'string', data);
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
if ((data>=81)&&(data<=110))
set(handles.edit6, 'string', 'KUBUS');
kubus=kubus +1;
set(handles.edit1, 'String', kubus);
guidata(hObject,handles);
fprintf(komunikasi,'a');
guidata(hObject,handles);
elseif ((data>=111)&&(data<=140))
set(handles.edit6, 'string', 'BALOK');
balok=balok +1;
set(handles.edit2, 'String', balok);
guidata(hObject,handles);
fprintf(komunikasi,'b');
guidata(hObject,handles);
elseif ((data>=65)&&(data<=80))
set(handles.edit6, 'string', 'TABUNG');
tabung=tabung +1;
set(handles.edit3, 'String', tabung);
guidata(hObject,handles);
fprintf(komunikasi,'c');
guidata(hObject,handles);
elseif ((data>=42)&&(data<=64))
set(handles.edit6, 'string', 'BOLA');
bola=bola +1;
set(handles.edit4, 'String', bola);
guidata(hObject,handles);
fprintf(komunikasi,'d');
guidata(hObject,handles);
elseif (data<=30)
set(handles.edit6, 'string', 'TIDAK TERDETEKSI');
fprintf(komunikasi,'e');
guidata(hObject,handles);
end
end
fclose(komunikasi);
delete(komunikasi)
clear komunikasi
clc;
end
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
L21
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
global z
global kubus
global balok
global tabung
global bola
z=0;
kubus=0;
balok=0;
tabung=0;
bola=0;
set(handles.edit1, 'String', kubus);
set(handles.edit2, 'String', balok);
set(handles.edit3, 'String', tabung);
set(handles.edit4, 'String', bola);
% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global z
z=0;
close all;
clear all;
function edit5_Callback(hObject, eventdata, handles)
% hObject handle to edit5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit5 as text
%
str2double(get(hObject,'String')) returns contents of edit5 as a double
% --- Executes during object creation, after setting all properties.
function edit5_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit6_Callback(hObject, eventdata, handles)
% hObject handle to edit6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
L22
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
% handles
L23
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit3_Callback(hObject, eventdata, handles)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit3 as text
%
str2double(get(hObject,'String')) returns contents of edit3 as a double
% --- Executes during object creation, after setting all properties.
function edit3_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit4_Callback(hObject, eventdata, handles)
% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit4 as text
%
str2double(get(hObject,'String')) returns contents of edit4 as a double
% --- Executes during object creation, after setting all properties.
function edit4_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
L24
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L25
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L26
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
end
% End initialization code - DO NOT EDIT
% --- Executes just before realtime is made visible.
function realtime_OpeningFcn(hObject, eventdata, 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 realtime (see VARARGIN)
% Choose default command line output for realtime
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','' );
set(handles.edit6, 'String','' );
handles.output = hObject;
global kubus
global balok
global tabung
global bola
kubus=0;
balok=0;
tabung=0;
bola=0;
guidata(hObject,handles);
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes realtime wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = realtime_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject
handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject
handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
clc;
global kubus
global balok
global tabung
global bola
guidata(hObject,handles);
%proses inisialisasi webcam
vid=videoinput('winvideo',1,'RGB24_320x240');
%proses capture gambar
L27
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
gambar=getsnapshot(vid);
%proses merubah ke grayscale
grey=rgb2gray(gambar);
%proses merubah ke biner
biner=im2bw(grey);
%croping
crop=imcrop(biner,[17.51 60.51 255.98 176.98]);
%proses resizing
y=imresize(crop,[16 16]);
c=double(y);
%menjumlahkan keseluruhan
data=sum(sum(c));
%tampilkan pada axes
axes(handles.axes1);
imshow(crop);
set(handles.edit6, 'string', '');
set(handles.edit5, 'string', data);
if ((data>=83)&&(data<=110))
set(handles.edit6, 'string', 'KUBUS');
kubus=kubus +1;
set(handles.edit1, 'String', kubus);
guidata(hObject,handles);
fprintf(komunikasi,'a');
guidata(hObject,handles);
elseif ((data>=111)&&(data<=140))
set(handles.edit6, 'string', 'BALOK');
balok=balok +1;
set(handles.edit2, 'String', balok);
guidata(hObject,handles);
fprintf(komunikasi,'b');
guidata(hObject,handles);
elseif ((data>=65)&&(data<=82))
set(handles.edit6, 'string', 'TABUNG');
tabung=tabung +1;
set(handles.edit3, 'String', tabung);
guidata(hObject,handles);
fprintf(komunikasi,'c');
guidata(hObject,handles);
elseif ((data>=42)&&(data<=64))
set(handles.edit6, 'string', 'BOLA');
bola=bola +1;
set(handles.edit4, 'String', bola);
guidata(hObject,handles);
fprintf(komunikasi,'d');
guidata(hObject,handles);
elseif (data<=40)
set(handles.edit6, 'string', 'TIDAK TERDETEKSI');
fprintf(komunikasi,'e');
guidata(hObject,handles);
end
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject
handle to pushbutton1 (see GCBO)
L28
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L29
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L30
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
L31
end
function edit3_Callback(hObject, eventdata, handles)
% hObject
handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit3 as text
%
str2double(get(hObject,'String')) returns contents of edit3 as a
double
% --- Executes during object creation, after setting all properties.
function edit3_CreateFcn(hObject, eventdata, handles)
% hObject
handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns
called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit4_Callback(hObject, eventdata, handles)
% hObject
handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit4 as text
%
str2double(get(hObject,'String')) returns contents of edit4 as a
double
% --- Executes during object creation, after setting all properties.
function edit4_CreateFcn(hObject, eventdata, handles)
% hObject
handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns
called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on selection change in popupmenu1.
function popupmenu1_Callback(hObject, eventdata, handles)
% hObject
handle to popupmenu1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1
contents as cell array
%
contents{get(hObject,'Value')} returns selected item from
popupmenu1
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
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';
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';
end
guidata(hObject,handles);
% --- Executes during object creation, after setting all properties.
function popupmenu1_CreateFcn(hObject, eventdata, handles)
% hObject
handle to popupmenu1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns
called
% Hint: popupmenu controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
L32