INTISARI
Dunia teknologi maupun kehidupan manusia sehari – hari, saat ini penggunaan robot sangat membantu dalam menyelesaikan tugas atau pekerjaan yang tidak bisa dilakukan oleh manusia. Kelebihan yang dimiliki robot memudahkan manusia dalam menulis angka dan mendeteksi font angka dengan menggunakan teknologi computer vision.
Lengan robot otomatis sebagai penulis angka ini menggunakan ATmega32 yang terdiri dari minimum sistem yang berfungsi untuk mengontrol pergerakan motor servo sebagai actuator lengan robot, GUI pada software MATLAB digunakan untuk tampilan nilai biner font angka, jenis font angka, dan pengenalan font angka dengan mengolah data citra biner yang dihasilkan oleh webcam Logitecth C270H sebagai peng-capture font angka. Angka tersebut akan di tulis oleh lengan robot pada media tulis.
Urutan pengenalan font angka yaitu citra RGB warna benda yang diambil melalui webcam, proses peperubahan warna menjadi Greyscale, proses peperubahan warna menjadi biner, menjumlahkan nilai biner, dan pengenalan font angka berdasarkan range jumlah nilai citra biner berdasarkan masing – masing font angka. Sedangkan lengan robot digerakan oleh motor servo yang dikontrol ATmega32 dengan fasilitas interrupt dan komunikasi serial antara komputer dengan ATmega32 melalui komunikasi serial USART yang diprogram menggunakan CodeVision AVR.
Hasil dari penelitian ini adalah sistem lengan robot yang dapat mengenali dan menulis font angka secara realtime. pengenalan angka yang dibangun memiliki keberhasilan 87,67%. Penulisan font angka yang ditulis oleh lengan robot masih tidak persis dengan bentuk font angka yang direncanakan.
ABSTRACT
The world of technology and human, now days using of robots is very helpful in completing tasks or jobs that cannot be done by humans. Advantages of the robot enable people to write numbers and detect font numbers using computer vision technology.
The robotic arm automatically as the author of this figure using ATmega32 consisting of minimum system that functions to control the movement of a servo motor as the actuator robotic arm, a GUI in MATLAB software is used to display the value of the binary font numbers, font type numbers, and the recognition font numbers by processing the image data binary generated by webcam Logitech C270H as captureing font numbers. The figure will be written by a robot arm on write board.
Font recognition sequence numbers are RGB color images of objects captured via webcam, changing process color to grayscale, color changing processes into binary, summing binary value, and recognition of the range of the number of font numbers based on the value of a binary image based on each - each font numbers. While the robot arm is driven by a servo motor controlled by the facility ATmega32 interrupt and serial communication between computers with ATmega32 through USART serial communication are programmed using AVR Code Vision.
Results from this research are the robotic arm system that can recognition and writing font in real time.Recognition of the numbers in build having success 87.67%. Writing font numbers written by a robotic arm still does not exactly match the shape of the planned figure font.
TUGAS AKHIR
APLIKASI PENGENALAN ANGKA MENGGUNAKAN
WEBCAM UNTUK LENGAN ROBOT PENULIS
ANGKA
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
Oleh :
EDWIN DUWI PUTRA
NIM : 115114021
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
FINAL PROJECT PROPOSAL
NUMBER RECOGNITION APPLICATION USING A
WEBCAM FOR WRITING ROBOTIC ARM
In partial fulfilment of the requirements for the degree of Sarjana Teknik Electrical Engineering Study Program
Electrical Engineering Departement
Science and Technology Faculty Sanata Dharma University
EDWIN DUWI PUTRA
NIM : 115114021
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTMENT
SCIENE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang berjudul *APLIKASI PENGENALAN ANGKA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT PENULIS ANGKA" tidak memuat karyaatau bagian orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka,sebagaimana layaknya karya i l m i a h .
Apabila dikemudian hari ditemukan indikasi piagiatisme dalam naskah ini, maka saya bersedia menanggung segala sanksi sesuai peraturan perundang - undangan yang berlaku.
Yogyakarta. l3 Januari 2016
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
“Jangan menutup hati dengan pikiran jahat.... jika hati tertutup,
duniapun akan tertutup.... jika hati menjadi gelap, dunia akan menjadi gelap.... jika hati bergolak, dunia akan bergolak. Jangan
menutup hati sebab hati akan menutup dunia.... hati akan
menutup hidup anda!”
Atas kasih dan penyertaan mulia dari Sang Buddha dengan segala kerendahan hati kupersembahkan skripsi ini kepada :
Papa (Rommy) dan Mama (Hany) tercinta.
Terimakasih telah berkorban dan berjuang melahirkan, membimbing, dan menyertai dari dini hingga belia kini.... pengorbanan, kasih sayang, doa, dan dukungan dalam setiap langkah
yang kupilih tak pernah luput dari kalian wahai Orangtuaku.
Kakak (Harry Pratama) dan Adek (Fido Triana Putra).
Terimakasih untuk semangat, motivasi, dukungan, serta tawa yang kalian berikan.
Kepada sang pengisi hati (Izemi Yang) yang cerewet dan setia menemani serta mengingatkan, terimakasih atas segalanya yang telah kau lakukan untukku.
Kepada segenap sanak keluarga besar, kerabat, dan teman-temanku, terimakasih atas segalanya semoga kelak saya dapat membahagiakan, membanggakan, dan bisa membuat
kalian tersenyum dalam kebahagiaan.
Almamaterku tercinta Teknik Elektro Universitas Sanata Dharma.
Tempatku memperoleh ilmu dan merancang mimpi yang menjadi sebagian jejak langkahku menuju kesuksesan kedepannya.…
Sang Buddha bersabda:
“adalah hati yang menentukan keadaan dunia” hatilah yang
melahirkan masalah, hati pula yang memadamkan semua masalah, kunci permasalahan tak ada di luar, melainkan ada
HALAMAN PERNYATAAN PERSBTUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN
AKADEMIS
Yang bedanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma : N a m a : E D W I N D U W I P U T R A
N o m o r M a h a s i s w a : 1 l 5 l l 4 0 2 l
Derri pengembangan ilmu pengetahuan, saya rnemberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :
APLIKASI PENGENALAN ANGKA MENGGUNAKAN WEBCAM UNTUK LENGAN ROBOT PENULIS ANGKA
Beserta perangkat yang diperlukan (bila ada). Dengan derrikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan.data, mendistribusikan secara teibatas, dan menipublikasikannya di iirternet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya mau pun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis. Dernikian pernyataan ini yang saya buat dengan sebenarnya.
Yogyakarta, l3 Januari 2016
,f't
'rl
D-.-UJW,,{/
INTISARI
Dunia teknologi maupun kehidupan manusia sehari – hari, saat ini penggunaan robot sangat membantu dalam menyelesaikan tugas atau pekerjaan yang tidak bisa dilakukan oleh manusia. Kelebihan yang dimiliki robot memudahkan manusia dalam menulis angka dan mendeteksi font angka dengan menggunakan teknologi computer vision.
Lengan robot otomatis sebagai penulis angka ini menggunakan ATmega32 yang terdiri dari minimum sistem yang berfungsi untuk mengontrol pergerakan motor servo sebagai actuator lengan robot, GUI pada software MATLAB digunakan untuk tampilan nilai biner font angka, jenis font angka, dan pengenalan font angka dengan mengolah data citra biner yang dihasilkan oleh webcam Logitecth C270H sebagai peng-capture font angka. Angka tersebut akan di tulis oleh lengan robot pada media tulis.
Urutan pengenalan font angka yaitu citra RGB warna benda yang diambil melalui webcam, proses peperubahan warna menjadi Greyscale, proses peperubahan warna menjadi biner, menjumlahkan nilai biner, dan pengenalan font angka berdasarkan range jumlah nilai citra biner berdasarkan masing – masing font angka. Sedangkan lengan robot digerakan oleh motor servo yang dikontrol ATmega32 dengan fasilitas interrupt dan komunikasi serial antara komputer dengan ATmega32 melalui komunikasi serial USART yang diprogram menggunakan CodeVision AVR.
Hasil dari penelitian ini adalah sistem lengan robot yang dapat mengenali dan menulis font angka secara realtime. pengenalan angka yang dibangun memiliki keberhasilan 87,67%. Penulisan font angka yang ditulis oleh lengan robot masih tidak persis dengan bentuk font angka yang direncanakan.
ABSTRACT
The world of technology and human, now days using of robots is very helpful in completing tasks or jobs that cannot be done by humans. Advantages of the robot enable people to write numbers and detect font numbers using computer vision technology.
The robotic arm automatically as the author of this figure using ATmega32 consisting of minimum system that functions to control the movement of a servo motor as the actuator robotic arm, a GUI in MATLAB software is used to display the value of the binary font numbers, font type numbers, and the recognition font numbers by processing the image data binary generated by webcam Logitech C270H as captureing font numbers. The figure will be written by a robot arm on write board.
Font recognition sequence numbers are RGB color images of objects captured via webcam, changing process color to grayscale, color changing processes into binary, summing binary value, and recognition of the range of the number of font numbers based on the value of a binary image based on each - each font numbers. While the robot arm is driven by a servo motor controlled by the facility ATmega32 interrupt and serial communication between computers with ATmega32 through USART serial communication are programmed using AVR Code Vision.
Results from this research are the robotic arm system that can recognition and writing font in real time.Recognition of the numbers in build having success 87.67%. Writing font numbers written by a robotic arm still does not exactly match the shape of the planned figure font.
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) 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 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 Rommy dan Mama Hany atas kasih sayang, dukungan
dan doa yang tiada henti.
8) Kakak yang super Harry Pratama dan Adik super Fido Triana Putra yang selalu
mendukung dan mendoakan saya, sehingga dapat menyelesaikan tugas belajar dengan
baik.
9) Izemi Yang sebagai teman, sahabat, dan kekasih yang selalu menyemangati dan
mendukung penulis sampai terselesaikannya tugas akhir ini.
11)Staff dan petugas laboratorium Teknik Elektro yang telah membantu banyak hal
untuk kelancaran tugas-tugas perkuliahan.
12)Teman-teman seperjuangan angkatan 2011 Teknik Elektro yang selalu mendukung
dan menyemangati saya dalam menyelesaikan tugas akhir ini.
13)Semua pihak yang tidak dapat disebutkan satu persatu atas semua dukungan yang
telah diberikan dalam penyelesaian tugas akhir ini.
Penulis menyadari bahwa dalam penulisan tugas akhir ini masih banyak kekurangan,
kelemahan dan jauh dari sempurna. Oleh sebab itu, dengan segala kerendahan hati, penulis
mengharapkan kritik dan saran yang membangun untuk penyempurnaan tugas akhir ini. Dan
semoga tugas akhir ini dapat bermanfaat sebagaimana mestinya.
Yogyakarta, 13 Januari 2016
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 ... xi
DAFTAR GAMBAR ... xiv
DAFTAR TABEL ... xviii
BAB I PENDAHULUAN 1.1.Latar Belakang ... 1
1.2.Tujuan dan Manfaat ... 2
1.3.Batasan Masalah ... 2
1.4.Metode Penelitian ... 4
BAB II DASAR TEORI 2.1.Lengan Robot ... 5
2.2.Gripper ... 6
2.3.Mikrokontroler AVR Atmega8535 ... 7
2.3.1. Arsitektur AVR Atmega8535 ... 8
2.3.2. Deskripsi Mikrokontroler Atmega8535 ... 8
2.3.3. Organisasi Memori AVR ATmega8535 ... 9
2.3.3.1. Memori Program. ... 9
2.3.3.2. Memori Data. ... 10
2.3.4. Interupsi ... 10
2.3.5. Timer/Counter ... 11
2.3.5.2. Mode Operasi ... 12
2.3.6. Komunikasi Serial USART ... 13
2.3.6.1. Inisialisasi USART. ... 14
2.4. Motor Servo ... 17
2.4.1. Torsi / Momen Gaya ... 20
2.5. LCD (Liquid Crystal Display) ... 20
2.6. Webcam Logitech Seri C270h ... 22
2.7. Regulator Tegangan IC 7805 ... 23
2.8. Pengolahan Citra ... 25
2.8.1 Citra Digital ... 25
2.8.2 Citra RGB ... 26
2.8.3 Citra Grayscale ... 26
2.8.3 Citra Biner ... 27
2.9. Pemrosesan Citra ... 27
2.9.2 Resizing ... 28
2.9.3 Pengenalan Pola ... 28
BAB III PERANCANGAN PENELITIAN 3.1. Prinsip Kejadian Mekanisme Gerak Lengan Robot ... 29
3.2. Perancangan Mekanik Lengan Robot ... 30
3.3. Perancangan Perangkat Keras ... 32
3.3.1. Minimum System Atmega8535 + LCD 16x2 ... 32
3.3.1.1. Minimum System Atmega8535 ... 32
3.3.1.2. Rangkaian Konfigurasi LCD 16x2 ... 34
3.4. Perhitungan Torsi Motor Servo ... 34
3.5. Motor Servo ... 36
3.6. Regulator ic 7805 dan Penguat Arus ... 39
3.7. Webcam ... 39
3.8. Gambar Angka ... 40
3.9. Perancangan Perangkat Lunak (Software) ... 42
3.9.1. Flowchart Program Interrupt Lengan Robot ... 45
3.9.2. Proses Flowchart Program Lengan Robot ... 47
BAB IV HASIL PENGAMATAN DAN PEMBAHASAN
4.1.Implementasi Lengan Robot ... 62
4.1.1. Bentuk Fisik Hardware... 62
4.1.2. Sistem Elektronik ... 62
4.1.3. Bentuk Fisik Webcam dan Tempat Peletakan Gambar Font Angka.... 63
4.1.4. Bentuk Nyata Gambar Font Angka ... 63
4.1.5. Pengaturan Lengan Robot ... 64
4.1.6. Pengendalian Komunikasi USART ... 64
4.1.7. Pengendalian Motor Servo ... 65
4.2. Implementasi GUI Matlab dan Program Pengenalan Font Angka ... 67
4.2.1. Pop Up Menu ... 68
4.2.2. Tombol Mulai ... 69
4.2.3. Tombol Keluar ... 74
4.3. Pegujian Sudut Motor Servo ... 74
4.4. Pengujian Untuk Tingkat Pengenalan Gambar Font Angka ... 75
4.4.1. Pengujian Pengenalan Gambar Font Angka Secara Tidak Real Time... 76
Kesimpulan dan Saran ... 85
Daftar Pustaka ... 59
DAFTAR GAMBAR
Gambar 1.1. Diagram Blok Sistem ... 4
Gambar 2.1. Anatomi Lengan Robot ... 5
Gambar 2.2. Sistem Lengan Robot ... 6
Gambar 2.3. Jenis Gripper Mekanik ... 7
Gambar 2.4. Konfigurasi Pin Mikrokontroler Atmegaa8535 ... 8
Gambar 2.5. Mode Phase Correct PWM ... 12
Gambar 2.6. Mode Fast PWM ... 13
Gambar 2.7. Register UDR ... 14
Gambar 2.8. Register UCSRA ... 14
Gambar 2.9. Register UCSRB ... 15
Gambar 2.10. Register UCSRC ... 17
Gambar 2.11. Motor Servo ... 18
Gambar 2.12. Konfigurasi Pin Motor Servo ... 18
Gambar 2.13. Sinyal untuk Mengendalikan Motor Servo ... 19
Gambar 2.14. Lebar Pulsa dan Posisi Servo ... 19
Gambar 2.15. Baris dan Kolom Karakter pada LCD 16x2 ... 20
Gambar 2.16. Konfigurasi Kaki Pin LCD 16x2 ... 21
Gambar 2.17. Webcam Logitech Seri C270h ... 22
Gambar 2.18. Konfigurasi Pin IC Regulator ... 23
Gambar 2.19. Rangkaian Umum Regulator 78xx ... 24
Gambar 2.20. Rangkaian Catu Daya dengan Penguat ... 24
Gambar 2.21. Citra Skala Keabuan ... 27
Gambar 3.1. Diagram Blok Sistem Lengan Robot ... 29
Gambar 3.2. Anatomi Lengan Robot Menulis ... 30
Gambar 3.3. Komponen 1 ... 31
Gambar 3.4. Komponen 2 ... 31
Gambar 3.5. Komponen 3 ... 31
Gambar 3.6. Gripper ... 31
Gambar 3.7. Peletakan Seluruh Komponen ... 32
Gambar 3.8. Rangkaian Osilator Atmega8535 ... 33
Gambar 3.9. Rangkaian Reset Atmega8535 ... 33
Gambar 3.11. Setting Port LCD ... 34
Gambar 3.12. Konstruksi Lengan Robot ... 35
Gambar 3.13. Towerpro MG996R ... 37
Gambar 3.14. Towerpro SG90 ... 37
Gambar 3.15. Rangkaian Pin Motor Servo ... 37
Gambar 3.16. Lebar Pulsa Motor Servo ... 38
Gambar 3.17. Rangkaian Regulator 7805 Dengan Penguat Arus ... 39
Gambar 3.18. Webcam Logitech C270h ... 40
Gambar 3.19. Gambar Font Angka ... 41
Gambar 3.20. Flowchart Interrupt Robot Siaga ... 43
Gambar 3.21. Flowchart Keseluruhan Sistem ... 44
Gambar 3.22. Flowchart Program Interrupt Lengan Robot Saat Pengenalan ... 46
Gambar 3.23. Flowchart Program Interrupt Lengan Robot Saat Menulis Font Angka 0 ... 51
Gambar 3.24. Gambar Font Angka 0 yang Ditulis oleh Lengan Robot ... 51
Gambar 3.25. Flowchart Program Interrupt Lengan Robot Saat Menulis Font Angka 1 ... 52
Gambar 3.26. Gambar Font Angka 1 yang Ditulis oleh Lengan Robot ... 52
Gambar 3.27. Flowchart Program Interrupt Lengan Robot Saat Menulis Font Angka 2 ... 53
Gambar 3.28. Gambar Font Angka 2 yang Ditulis oleh Lengan Robot ... 53
Gambar 3.29. Flowchart Program Interrupt Lengan Robot Saat Menulis Font Angka 3 ... 54
Gambar 3.30. Gambar Font Angka 3 yang Ditulis oleh Lengan Robot ... 54
Gambar 3.31. Flowchart Program Interrupt Lengan Robot Saat Menulis Font Angka 4 ... 55
Gambar 3.32. Gambar Font Angka 4 yang Ditulis oleh Lengan Robot ... 55
Gambar 3.33. Flowchart Program Interrupt Lengan Robot Saat Menulis Font Angka 5 ... 56
Gambar 3.34. Gambar Font Angka 5 yang Ditulis oleh Lengan Robot ... 56
Gambar 3.36. Gambar Font Angka 6 yang Ditulis oleh Lengan Robot ... 57
Gambar 3.37. Flowchart Program Interrupt Lengan Robot Saat Menulis Font Angka 7 ... 58
Gambar 3.38. Gambar Font Angka 7 yang Ditulis oleh Lengan Robot ... 58
Gambar 3.39. Flowchart Program Interrupt Lengan Robot Saat Menulis Font Angka 8 ... 59
Gambar 3.40. Gambar Font Angka 8 yang Ditulis oleh Lengan Robot ... 59
Gambar 3.40. Flowchart Program Interrupt Lengan Robot Saat Menulis Font Angka 8 ... 59
Gambar 3.41. Gambar Font Angka 9 yang Ditulis oleh Lengan Robot ... 60
Gambar 3.42. Flowchart Program Interrupt Lengan Robot Saat Menulis Font Angka 9 ... 60
Gambar 3.43. Flowchart Pengenalan Bentuk Font Angka pada MATLAB ... 62
Gambar 4.1. Lengan Robot Tampak Atas ... 62
Gambar 4.2. Lengan Robot Tampak Samping ... 62
Gambar 4.3. Minimum System ... 63
Gambar 4.4. Regulator ... 63
Gambar 4.5. Webcam dan Tempat Peletakan Gambar Font Angka ... 63
Gambar 4.6. Bentuk Nyata Gambar Font Angka ... 63
Gambar 4.7. Tampilan GUI Program Pengenalan ... 67
Gambar 4.8a. Bentuk Hasil Penulisan Angka ... 83
DAFTAR TABEL
Tabel 2.1. Hubungan PIN dan Interupsi ... 10
Tabel 2.2. Penentuan Ukuran Karakter ... 16
Tabel 2.3. Penentuan Ukuran Karakter ... 16
Tabel 2.4. Konfigurasi Kaki Pin LCD 16x2 ... 21
Tabel 2.5. Operasi Dasar LCD 16x2 ... 22
Tabel 2.6. Konfigurasi Setting LCD 16x2 ... 22
Tabel 2.7. Karakteristik Regulator IC 78xx [21] ... 23
Tabel 3.1. Perhitungan Torsi Motor Servo ... 35
Tabel 3.2. Spesifikasi Servo Towerpro MG996R ... 36
Tabel 3.3. Spesifikasi Servo Towerpro SG90 ... 36
Tabel 3.4. Perhitungan Nilai OCR ... 38
Tabel 3.5. Spesifikasi Webcam Logitech C270h ... 40
Tabel 3.6. Table Look Up ... 42
Tabel 3.7. Gerak Sudut Motor Servo ... 47
Tabel 3.7. (Lanjutan) Gerak Sudut Motor Servo ... 48
Tabel 3.7. (Lanjutan) Gerak Sudut Motor Servo ... 49
Tabel 3.7. (Lanjutan) Gerak Sudut Motor Servo ... 50
Tabel 4.1. Tabel Fungsi Saluran Mikrokontroler ... 64
Tabel 4.2. Nilai OCR pada Pergerakam 10 Derajat Motor Servo ... 74
Tabel 4.3. Perhitungan Lebar Pulsa Motor Servo Towerpro MG946R... 75
Tabel 4.4. Tabel range tabel look up ... 76
Tabel 4.5. Tabel data hasil capture font fotre imresize [16 8] ... 77
Tabel 4.6. Tabel data hasil capture font harrington imresize [16 8] ... 77
Tabel 4.7. Tabel data hasil capture font seoge script imresize [16 8]... 78
Tabel 4.8. Tabel data hasil capture font fotre imresize [32 16] ... 78
Tabel 4.9. Tabel data hasil capture font harrington imresize [32 16] ... 78
Tabel 4.10. Tabel data hasil capture font seogoe script imresize [32 16]... 79
Tabel 4.11. Tabel data hasil capture font fotre imresize [64 32] ... 79
Tabel 4.12. Tabel data hasil capture font hanrrington imresize [64 32] ... 79
Tabel 4.13. Tabel data hasil capture font segoe script imresize [64 32]... 80
Tabel 4.15 Pengujian Tingkat Keberhasilan Sistem Mendeteksi Gambar Font
Angka Harrington ... 81
Tabel 4.16. Pengujian Tingkat Keberhasilan Sistem Mendeteksi Gambar Font
Angka Segoe Script ... 82
Tabel 4.17. Pengujian Tingkat Keberhasilan Sistem Mendeteksi Gambar Font
Angka Fotre ... 82
Tabel 4.18 Pengujian Tingkat Keberhasilan Sistem Mendeteksi Gambar Font
Angka Harrington ... 83
Tabel 4.19. Pengujian Tingkat Keberhasilan Sistem Mendeteksi Gambar Font
BAB I
PENDAHULUAN
1.1.
Latar Belakang
Perkembangan teknologi saat ini sudah semakin pesat dan berkembang. Salah satu
teknologi yang banyak dikembangkan di dunia industry yaitu teknologi lengan robot. Pada
penelitian yang terdahulu oleh Rio Arismarjito [1] dengan konsep membuat lengan robot
pemisah barang sesuai dengan warna objek dan Bernandus Asto Wicaksono [2] teknologi
pengenalan angka plat motor dengan webcam. Dalam tugas akhir ini penulis menggabungkan
dua metode yaitu metode lengan robot dan metode pengenalan angka sehingga menghasilkan
lengan robot untuk menulis angka. Lengan robot menulis angka dengan webcam sebagai
sensor untuk image prosesing yang akan diproses untuk mengenali angka yang berbeda font.
Berdasarkan hal tersebut, maka dibuat suatu program sehingga computer dapat mengenali
angka yang memiliki font yang berbeda. Setelah robot mengenali angka, maka lengan robot
akan menulis pada media tulis yang telah disiapkan. Gambar yang nantinya akan dilihat yaitu
gambar angka yang berbeda font.
Metode lengan robot ini membutuhkan beberapa perangkat pendukung seperti
webcam yang berfungsi untuk menangkap gambar angka, selain itu dibutuhkan pula
komputer / laptop yang berfungsi sebagai tempat untuk mengolah gambar agar bisa dikenali.
Sistem ini melewati beberapa proses, diantaranya yaitu proses pengambilan gambar / citra
yang dilakukan menggunakan webcam. Citra yang digunakan berasal dari gambar angka yang
di print perlambangnya berukuran 7 cm x 7 cm. Pengolahan citra dan pengenalan pola
menggunakan biner. Setiap gambar akan diambil menggunakan webcam, setelah itu gambar
akan dibandingkan dengan database yang telah disimpan sebelumnya. Proses pengolahan
citra dan pengenalan pola tersebut dilakukan dengan menggunakan perangkat lunak Matlab,
selain itu Matlab juga memiliki sebuah fasilitas antar muka (interface) yaitu GUI (Graphical
User Interface) sehingga dapat memudahkan penggunanya dalam pengoperasian sistem.
Keluaran dari sistem ini merupakan hasil perbandingan terkecil antara gambar dari webcam
dengan data pada database. Selanjutnya data yang didapatakan dikirim menggunakan
komunikasi serial ke mikrokontroler data yang di terima berupa karakter akan menjalankan
1.2.
Tujuan dan Manfaat Penelitian
Tujuan dari tugas akhir ini adalah menerapkan teknologi lengan robot penulis angka dimana webcam dapat mengenali berbagai font angka yang berbeda
secara real time dengan menggunakan ekstraksi ciri biner dan mengirimkan
data kelengan robot.
Metode ini bila dikembangkan akan dapat mengenali lebih banyak jenis font angka yang beraneka ragam dan memberikan informasi kepada pengguna
lengan robot untuk mempelajari angka. Sehingga dapat membantu para guru
untuk mengajari murid murid sekolahan, hal ini juga dapat meningkatkan daya
berfikiranak-anak untuk belajar dan bermain.
Manfaat penelitian ini adalah sebagai penelitian awal dari aplikasi pengenalan font angka secara real time untuk murid-murid sekolahan sebagai media
pembelajaran.
1.3.
Batasan Masalah
Batasan masalah dalam bab ini adalah:
1. Menggunakan webcam Logitech C270H sebagai penangkap gambar font
angka untuk mengambil data yang akan diproses oleh MATLAB
mikrokontroler dan dikirimkan pada lengan robot.
2. Font angka yang digunakan ada tiga jenis font yaitu:
Harrington
Segoe script
3. Font angka di deteksi secara bergantian untuk pengambilan data yang akan
diproses pada mikrokontroler.
4. Gambar font angka berukuran 7cm x 5cm.
5. Gambar font angka di cekta pada kertas ivory
6. Posisi webcam untuk pengambilan gambar font angka akan diambil dari jarak:
30cm
7. Menggunakan 3 buah motor servo sebagai akuator lengan robot.
8. Menggunakan mikrokontroler AVR ATmega 32.
9. Menggunakan program matlab sebagai pengenalan pola pada gambar berupa
angka untuk mengenali berbagai font angka.
10.USB TO TTL converter driver PL2303 sebagai komunikasi serial ke
1.4.
Metode Penelitian
Langkah – langkah dalam pengerjaan tugasakhir :
1. Studi Pustaka
Studi pustaka dilakukan dengan cara mengumpulkan serta mempelajari bahan
–bahan referensi berupa buku-buku dan jurnal-jurnal ilmiah yang berasal dari media internet maupun media-media lain. Bahan referensi yang dikumpulkan dan
dipelajari berkaitan dengan topik yang diambil, seperti bahan tentang
pemograman Matlab, citra biner dan image processing.
2. Pembuatan subsistem hardware dan software
Tahap ini merupakan tahap dalam pembuatan lengan robot dan mencari
bentuk model yang optimal darisistem yang akan dibuat dengan
mempertimbangkan berbagai kebutuhan yang telah ditentukan. Pembuatan
program menggunakan software Matlab.
3. Perancangan dan pembuatan mekanik lengan robot
Merancanglengan robot dengan gripper yang mencengkram pensil serara permanen dan tiga buah motor servo.
Membuat tempat untuk meletakan webcam mendeteksi gambar font angka dan tempat peletekan gambar font angka.
Membuat gambar font angka dengan bahan yang lebih keras.
Menggunakan akrelik sebagai bahan untuk membuat lengan robot.4. Analisis dan penyimpulan
Analisis data yang pertama dilakukan dengan meneliti pengaruh variasi font
angka terhadap tingkat pengenalan. Penyimpulan hasil dilakukan untuk mencari
tingkat pengenalan yang optimal. Kedua, meneliti pengaruh penskalaan terhadap
tingkat pengenalan. Penyimpulan hasil dilakukan untuk mengetahui kinerja sistem
BAB II
DASAR TEORI
2.1
Lengan Robot
Lengan robot merupakan gabungan dari beberapa segmen dan sendi yang secara
umum dibagi menjadi tiga bagian, yaitu: arm, wirst, dan gripper. Robotic Industries
Association (RIA) mendefinisikan lengan robot sebagai lengan yang didesain untuk
memindahkan material, benda, alat tertentu lewat pergerakan yang terprogram untuk
melakukan berbagai macam tugas [3].
Gambar 2.1. Anatomi Lengan robot [3]
Lengan robot diilustrasikan pada Gambar 2.1 adalah lengan robot yang memiliki dua
lengan dan pergelangan. Di ujung pergelangan dapat diinstal berbagai tool sesuai dengan
fungsi yang diharapakan. Jika dipandang dari sudut pergerakan maka terdiri dari tiga
pergerakan utama yaitu badan robot yang dapat berputar ke kiri dan ke kanan, lengan
masing-masing dapat bergerak ke atas dan ke bawah, dan gerak pergelangan sesuai dengan sifat tool
Perangkat pendukung lengan robot secara umum dapat ditunjukan pada Gambar 2.2
yang terdiri dari beberapa komponen, yaitu:
1. Manipulator
2. Sensor
3. Aktuator
4. Kontroler
Gambar 2.2. Sistem Lengan robot [5]
Manipulator adalah bagian mekanik yang dapat difungsikan untuk memindah,
mengangkat dan memanipulasi benda kerja. Sensor adalah komponen berbasis instrumentasi
(pengukuran) yang berfungsi sebagai pemberi informasi tentang berbagai keadaan atau
kedudukan dari bagian-bagian robot.
Aktuator adalah komponen penggerak yang jika dilihat dari prinsip penghasil
geraknya dapat dibagi menjadi tiga bagian yaitu penggerak berbasi motor listrik (motor
servo, motor steper, motor DC dan sebagainya), penggerak pneumatik (berbasis kompresi:
udara, nitrogen) dan penggerak hidrolik (berbasis benda cair: minyak pelumas).
Kontroler adalah rangkaian elekronik berbasis mikroprosesor yang berfungsi sebagai
pengatur seluruh komponen.
2.2
Gripper
Gripper adalah sebuah efektor yang berfungsi untuk menggenggam dan menahan
objek. Objek merupakan sebuah komponen yang akan dipindahkan oleh robot dapat berupa
penggenggam dan penahan, gripper dapat diklasifikasikan menjadi dua, yaitu: gripper
tunggal dan gripper ganda, masing – masing memiliki kelebihan dan kekurangan sesuai
dengan tujuan sistem robot. Gripper tunggal diartikan bahwa hanya ada satu peralatan untuk
menggenggam dan menahan yang dipasang pada wrist. Gripper ganda diartikan bahwa ada
dua peralatan yang berfungsi sebagai penggenggam dan penahan objek yang dipasang pada
wrist [5]. Seperti yang ditunjukan pada gambar 2.3
Gambar 2.3. Jenis GripperMekanik [5]
Ada 3 jenis gripperyang dikenal seperti Gripper mekanik, gripper vacuum dan
gripper magnetic. Mechanical gripper didesain untuk menggenggam dan menahan objek
dengan memberikan kontak pada objek. Biasanya menggunakan finger/jari mekanik yang
disebut dengan jaws. Finger ini dapat dilepas dan dipasang sehingga sangat fleksibel
pemakaiannya. Sumber tenaga yang diberikan pada gripper ini bisa berupa pneumatic,
hidrolik, dan elektrik.
2.3
Mikrokontroler AVR ATmega8535
AVR (Alf and Vegard’sRiscProcessor) merupakan seri mikrokontroler CMOS
8-bityang diproduksi oleh Atmel berbasis arsitektur RISC (Reduced Instruction Set
Computer).Chip AVR yang digunakan untuk tugas akhir ini adalah ATmega8535. Hampir
semua instruksi dieksekusi dalam satu siklus clock dan mempunyai 32 register
general-purpose, timer/counter fleksibel dengan mode compare, interupsi internal dan eksternal,
mempunyai ADC, PWM internal dan In-System Programmable Flash on-chip yang
mengijinkan memori program untuk diprogram ulang [6].
2.3.1 Arsitektur AVR ATmega8535
Mikrokontroler ATmega8535 memiliki arsitektur sebagai berikut [6]:
a. Saluran IO sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D.
b. ADC 10 bit sebanyak 8 Channel.
c. Tiga buah timer/counter yaitu Timer 0, Timer 1, dan Timer 2.
d. Watchdog Timer dengan osilator internal.
e. SRAM sebanyak 512 byte.
f. Memori Flash sebesar 8 kb.
g. Sumber Interupsi internal dan eksternal.
h. Port SPI (Serial Pheriperal Interface)
i. EEPROM on board sebanyak 512 byte.
j. Komparator analog.
k. Port USART (Universal Shynchronous Ashynchronous Receiver Transmitter)
2.3.2 Deskripsi Mikrokontroler ATmega8535
Konfigurasi Pin Mikrokontroller ATmega8535 dengan kemasan 40-pin DIP (dual
linline package) dapat dilihat pada Gambar 2.4. Untuk memaksimalkan performa dan
paralelisme, AVR menggunakan arsitektur Harvard (dengan memori dan bus terpisah untuk
program dan data). Ketika sebuah instruksi sedang dikerjakan maka instruksi berikutnya
[image:30.595.90.522.150.432.2]diambil dari memori program [6]
Mikrokontroler Atmega 8535 memiliki konfigurasi Pin sebagai berikut [6]:
a. VCC (power supply)
b. GND (ground)
c. Port A (PA7..PA0) Port A berfungsi sebagai input analog pada ADC (analog
i. digital converter). Port A juga berfungsi sebagai suatu Port I/O 8-bit dua arah.
d. Port B (PB7..PB0) Port B adalah suatu Port I/O 8-bit dua arah dengan
i. resistor internal pull-up (yang dipilih untuk beberapa bit).
e. Port C (PC7..PC0) Port C adalah suatu Port I/O 8-bit dua arah dengan
i. resistor internal pull-up (yang dipilih untuk beberapa bit).
f. Port D (PD7..PD0) Port D adalah suatu Port I/O 8-bit dua arah dengan
i. resistor internal pull-up (yang dipilih untuk beberapa bit).
g. RESET (Reset input)
h. XTAL1 (Input Oscillator)
i. XTAL2 (Output Oscillator)
j. AVCC adalah pin penyedia tegangan untuk Port A dan ADC.
k. AREF adalah pin referensi analog untuk ADC.
Port A berfungsi sebagai input analog pada A/D Konverter dan port I/O 8-bit dua
arah. Port B, Port C, Port D adalah suatu port I/O 8-bit dua arah dengan resistor internal
pull-up (yang dipilih untuk beberapa bit). Pada rangkaian reset, waktu pengosongan kapasitor
dapat dihitung dengan persamaan 2.1.
T = R x C
(2.1)2.3.3 Organisasi Memori AVR ATmega8535
Mikrokontroler ATmega8535 memiliki 3 jenis memori yaitu memori program,
memori data dan EEPROM. Ketiganya memiliki ruang sendiri dan terpisah.
2.3.3.1 Memori Program
Kode program disimpan dalam flash memory, yaitu memori jenis non-volatile yang
tidak akan hilang datanya meskipun catu daya dimatikan[7]. Dalam ATmega8535 terdapat
program. Untuk keamanan perangkat lunak, flash memori dibagi menjadi dua bagian,yaitu
boot program dan bagian aplikasi program [6].
2.3.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 registerdan additional I/O registeryang difungsikan khusus untuk
mengendalikan berbagai peripheral dalam mikrokontroler antara lain pin, port, timer/counter,
USART[5].
ATmega8535 memiliki kapasitas memori data sebesar 608 Byte yang terbagi menjadi
3 bagian yaitu register serba guna, register I/O dan SRAM [8].
2.3.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
[image:32.595.65.530.179.596.2]dikerjakan [9].
Table 2.1. Hubungan PIN dan Interupsi [9]
Jenis interupt PIN pada Atmega 8535
INT0 PORTD.2
INT1 PORTD.3
INT2 PORTB.2
ATmega8535 menyediakan tiga interupsi eksternal yaitu, INT0, INT1, dan
INT2.Masing-masing interupsi tersebut terhubung dengan pin ATmega8535 seperti
ditunjukan pada Tabel 2.1. Interupsi eksternal bisa dilakukan dengan memberikan logika 0
2.3.5 Timer/Counter
Atmega 8535 memiliki tiga modul timer yang terdiri dari dua buah timer/counter 8 bit
dan satu buah timer/counter 16 bit. Ketiga modul ini dapat diatur dalam mode yang
berbeda-beda secara individu dan tidak saling mempengaruhi satu sama lain. Selain itu semua
timer/counter juga dapat difungsikan sebagai pencacahan waktu seperti pada jam digital
maupun untuk menghasilkan sinyal PWM (Pulse Width Modulation) yakni sinyal kotak
dengan frekuensi dan duty cycle yang nilainya bisa diatur [7].
2.3.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 glitchfree.
d. Frequency generator.
e. Prescalar 8 bit untuk timer.
f. Membangkitkan interupsi saat timer overflowdan atau match compare.
g. External event counter.
Perhitungan overflow interrupt sebagai pembangkit PWM ditunjukan pada persamaan 2.2,
2.3, dan 2.4 berikut [7].
(2.2)
(2.3)
(2.4)
Keterangan :
f = frekuensi yang digunakan untuk eksekusi program
T = periode
N = prescaller yang digunakan
OCR = nilai cacahan pulsa
2.3.5.2
Mode Operasi
1. Mode normal, timer digunakan untuk menghitung saja, membuat delay,
danmengitung selang waktu [10].
2. Mode phase correct PWM (PCP), digunakan untuk menghasilkan sinyal PWM
dimana nilai register counter (TCNT0) yang mencacah naik dan turun secara terus
menerus akan selalu dibandingakan dengan register pembanding OCR0 [5]. Hasil
perbandingan register TCNT0 dan OCR0 digunakan untuk membangkitkan sinyal
[image:34.595.86.540.121.684.2]PWM yang dikeluarkan pada OC0 seperti ditunjukan Gambar 2.5.
Gambar 2.5. Mode Phase Correct PWM [6]
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 registercounter TCNT0 mencacah naik saja dan tidak pernah
Gambar 2.6. Mode Fast PWM [6]
2.3.6.
Komunikasi Serial USART [6]
Komunikasi data adalah perpindahan data antara dua atau lebih peranti, baik yang
berjauhan maupun yang berdekatan. Perpindahan data antara dua atau lebih peranti dapat
dilaksanakan secara paralel atau seri. Komunikasi seri dapat dibedakan menjadi 2 macam,
yaitu komunikasi dara seri sinkron dan komunikasi data asinkron. Dikatakan sinkron jika sisi
pengirim dan sisi penerima ditabuh (clocked) oleh penabuh (clock) yang sama, satu sumber
penabuh, data dikirim beserta penabuh. Dikatakan asinkron jika sisi pengirim dan sisi
penerima ditabuh oleh penabuh yang terpisah dengan frekuensi yang hampir sama, data
dikirim disertai informasi sinkronisasi.
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
2.3.6.1.Inisialisasi USART
Pada mikrokontroler AVR untuk mengaktifkan dan mengeset komunikasi USART
dilakukan dengan cara mengaktifkan register-register yang digunakan untuk komunikasi
USART. Register-register yang digunakan untuk komunikasi USART antara lain:
1. USART I/O Data Register (UDR)
UDR merupakan register 8 bit yang terdiri dari 2 buah dengan alamat yang sama,
yang digunakan sebagai tempat untuk menyimpan data yang akan dikirimkan (TXB) atau
tempat data diterima (RXB) sebelum data tersebut dibaca seperti pada gambar 2.7.
Gambar 2.7. Register UDR [6]
Gambar 2.8. Register UCSRA [6]
Penjelasan bit penyusun UCSRA pada gambar 2.8:
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 berlogika nol secara otomatis bersamaan
dengan eksekusi vektor interupsi yang bersangkutan.
b) TXC (USART Transmit Complete)
Bit ini akan set ketika data yang dikirim telah keluar. Flag ini akan membangkitkan
interupsi TX jika diaktifkan dan akan clear secara otomatis bersamaan dengan
eksekusi vektor interupsi yang bersangkutan.
c) UDRE (USART Data Register Empty)
Flag ini sebagai indikator isi UDR. Jika bernilai satu maka UDR dalam keadaan
d) FE (Frame Error)
Bit ini sebagai indikator ketika data yang diterima error, misalnya ketika stop bit
pertama data dibaca berlogika nol maka bit FE bernilai satu. Bit akan bernilai 0 ketika
stop bit data yang diterima berlogika nol.
e) DOR (Data OverRun)
Bit ini berfungsi untuk mendeteksi jika ada data yang tumpang tindih. Flag akan
bernilai satu ketika terjadi tumpang tindih data.
f) PE (Parity Error)
Bit yang menentukan apakah terjadi kesalahan paritas. Bit ini berfungsi jika ada
kesalahan paritas. Bit akan berlogika satu ketika terjadi bit parity error apabila bit
paritas digunakan.
g) U2X (Double the USART Transmission Speed)
Bit yang berfungsi untuk menggandakan laju data manjadi dua kalinya. Hanya
berlaku untuk modus asinkron, untuk mode sinkron bit ini diset nol.
h) MPCM (Multi Processor Communication Mode)
Bit untuk mengaktifkan modus multi prosesor, dimana ketika data yang diterima oleh
USART tidak mengandung informasi alamat akan diabaikan.
2. USART CONTROL AND STATUS REGISTER B (UCSRB)
Gambar 2.9. Register UCSRB [6]
Penjelasan bit penyusun UCSRB pada gambar 2.9:
a) RXCIE (RX Complete Interrupt Enable)
Bit pengatur aktivasi interupsi penerimaan data serial, akan berlogika satu jika
diaktifkan dan berlogika nol jika tidak diaktifkan.
b) TXCIE (TX Complete Interrupt Enable)
Bit pengatur aktivasi pengiriman data serial, akan berlogika satu jika diaktifkan dan
berlogika nol jika tidak diaktifkan.
Bit ini berfungsi untuk mengaktifkan interupsi data register kosong, berlogika satu
jika diaktifkan dan sebaliknya.
d) RXEN (Receiver Enable)
Bit ini berfungsi untuk mengaktifkan pin RX saluran USART. Ketika pin diaktifkan
maka pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena sudah digunakan
sebagai saluran penerima USART.
e) TXEN (Transmitter Enable)
Bit ini berfungsi untuk mengaktifkan pin TX saluran USART. Ketika pin diaktifkan
maka pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena sudah digunakan
sebagai saluran pengirim USART.
f) UCSZ2 (Character Size)
Bit ini bersama dengan UCSZ1 dan UCSZ0 dalam register UCSRC digunakan untuk
memilih tipe lebar data bit yang digunakan seperti pada tabel 2.2 dan tabel 2.3.
Tabel 2.2. Penentuan Ukuran Karakter [6]
Tabel 2.3. Penentuan Ukuran Karakter [6]
UCSZ[2..0] Ukuran Karakter dalam bit
100-110 Tidak dipergunakan
111 9
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.
UCSZ[2..0] Ukuran Karakter dalam bit
0 5
1 6
10 7
3. USART CONTROL AND STATUS REGISTER C (UCSRC)
Gambar 2.10. Register UCSRC [6]
Penjelasan bit penyusun UCSRC pada gambar 2.10:
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 serialantara sinkron dan asinkron.
c) UPM[1…0] (Parity Mode)
Bit ini berfungsi untuk memilih mode paritas bit yang akan digunakan. Transmittter
USART akan membuat paritas yang akan digunakan secara otomatis.
d) USBS (Stop Bit Select)
Bit yang berfungsi untuk memilih jumlah stop bit yang akan digunakan.
e) UCSZ1 dan UCSZ0
Merupakan bit pengatur jumlah karakter serial Bit yang berfungsi untuk memilih
lebar data yang digunakan dikombinasikan dengan bit UCSZ2 dalam register UCSRB
[13].
f) UCPOL (Clock Parity)
Bit yang berguna hanya untuk modus sinkron. Bit in berhubungan dengan perubahan
data keluaran dan sampel masukkan, dan clock sinkron (XCK).
2.4. Motor Servo
Motor servo biasanya digunakan untuk robot berkaki, lengan robot atau actuator pada
mobil robot. Motor servo adalah sebuah motor dengan sistem umpan balik tertutup dimana
posisi dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor
servo. Motor servo terdiri dari sebuah motor DC, beberapa gear, sebuah potensiometer,
Gambar 2.11. Motor Servo [12]
Motor servo dikemas dalam bentuk kotak segiempat seperti ditunjukan pada Gambar
2.11, terdiri dari tiga kabel konektor yaitu power (Vdd), control (I/O pin) dan ground (Vss)
seperti ditunjukan pada gambar 2.12. Gear motor servo ada yang terbuat dari plastik,
metalatau titanium. Di dalam motor servo terdapat potensiometer yang digunakan sebagai
sensorposisi. Potensiometer tersebut dihubungkan dengan output shaft untuk mengetahui
posisiaktual shaft. Ketika motor dc berputar maka output shaft juga berputar dan sekaligus
memutar potensiometer. Rangkaian kontrol dapat membaca kondisi potensiometer tersebut
untuk mengetahui posisi akutal shaft. Jika posisinya sesuai dengan yang diingikan,
makamotor dc akan berhenti [9].
Gambar 2.12. Konfigurasi Pin Motor Servo [12]
Ada dua jenis motor servo yaitu :
1. Motor servo standard, yaitu yang mampu bergerak CW (clockwise) dan CCW
(counter clockwise) dengan sudut operasi tertentu, misalnya 60°,90°, atau 180°.
2. Motor servo continous, motor servo yang mampu bergerak CW dan CCWtanpa
Motor servo biasanya menggunakan tegangan 4,8 V hingga 7,2 V. Motor servo
dikendalikan dengan cara mengirimkan sebuah pulsa yang lebarnya bervariasi. Lebar pulsa
antara 1 ms sampai 2 ms dengan periode pulsa sebesar 20 ms seperti pada gambar 2.13.
Gambar 2.13. Sinyal untuk Mengendalikan Motor Servo [9]
Lebar pulsa akan mengakibatkan perubahan posisi pada motor servo. Misalnya
sebuah pulsa 1,5 ms akan memutar motor pada posisi 90° (posisi netral). Agar posisi servo
tetap pada posisi maka pulsa harus terus diberikan pada servo. Jadi mesikipun ada gaya yang
melawan, servo akan tetap bertahan pada posisinya. Gaya maksimum servo tergantung dari
rentang torsi servo.
Gambar 2.14. Lebar Pulsa dan Posisi Servo [10]
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
diperlukan yaitu 1ms. Artinya yaitu dengan memberikan pulsa high selama 1ms dan
kemudian diberikan pulsa low selama 19ms [9].
2.4.1.
Torsi / Momen Gaya
Momen Gaya (Torsi (τ)) adalah kemampuan gaya F memutar/merotasi benda terhadap
poros diam. Sehingga semakin besar torsi (τ) maka gaya F memutar benda pun semakin besar [14].
Rumus :
τ= F r sin θ (2.5)
τ = Torsi (N-m)
F = Gaya (N), F = m x g
r = Jarak dari titik pangakal gaya sampai sumbu putar
θ = Derajat sumbu putar
2.5. LCD (Liquid Crystal Display)
Terdapat 2 jenis LCD yaitu LCD karakter dan LCD grafik. LCD karakter, adalah
LCD yang tampilannya terbatas pada tampilan karakter, khususnya karakter ASCII (seperti
karakter-karakter yang tercetak pada keyboard komputer). Sedangkan LCD grafik, adalah
LCD yang tampilannya tidak terbatas, bahkan dapat menampilkan foto. LCD grafik inilah
yang terus berkembang seperti layar LCD yang biasa dilihat di notebook/laptop[14]. Jenis
LCD karakter yang beredar di pasaran biasa dituliskan dengan bilangan matriks dari jumlah
karakter yang dapat dituliskan pada LCD tersebut, yaitu jumlah kolom karakter dikali jumlah
baris karakter. Sebagai contoh, LCD16x2, artinya terdapat 16 kolom dalam 2baris ruang
karakter seperti ditunjukan pada Gambar 2.15, yang berarti total karakter yang dapat
dituliskan adalah 32 karakter [14].
Agar dapat mengendalikan LCD karakter dengan baik, tentu diperlukan koneksi yang
benar. Untuk itu perlu diketahui pin-pin antarmuka yang dimiliki oleh LCD karakter seperti
[image:43.595.98.494.140.679.2]yang ditunjukan pada Gambar 2.16 dan Tabel 2.4.
Gambar 2.16. Konfigurasi kaki pin LCD 16x2
Tabel 2.4. Konfigurasi Kaki Pin LCD 16x2
Nomor PIN PIN Keterangan
1 VSS GND
2 VDD 5V
3 Vo Kontras
4 RS
5 R/W Read / Write
6 EN Enable
7 DB0 Data 0
8 DB1 Data 1
9 DB2 Data 2
10 DB3 Data 3
11 DB4 Data 4
12 DB5 Data 5
13 DB6 Data 6
14 DB7 Data 7
15 - -
16 - -
Operasi dasar pada LCD 16x2 terdiri dari empat, yaitu instruksi mengakses proses
internal, instruksi menulis data, instruksi membaca kondisi sibuk, dan instruksi membaca data
Tabel 2.5. Operasi Dasar LCD 16x2
RS R/W Operasi
0 0 Input instruksi ke LCD
0 1 Membaca status flag (DB7) dan alamat counter (DB0-DB6)
1 0 Menulis data
1 1 Membaca data
Tabel 2.6. Konfigurasi Setting LCD 16x2
Pin Bilangan biner Keterangan
RS
0 Inisialisasi
1 Data
RW
0 Tulis LCD/W (Write)
1 Baca LCD/R (Read)
E
0 Pintu data terbuka
1 Pintu data tertutup
2.6. WebcamLogitech Seri C270h
Webcamadalah kamera digital yang dikoneksikan ke computer, digunakan untuk
telekonferensi video atau tujuan lain. Pengoperasian webcam cukup mudah karena webcam
memiliki fitur fungsionalitas USB untuk koneksi menggunakan computer. Sehingga banyak
digunakan untuk mengolah image processing yang kemudian akan diolah dengan perangkat
lunak untuk pemrosesan berbasis pixel, RGB dan lain-lain. Salah satu contoh webcam
ditunjukan pada gambar 2.17[15].
Gambar 2.17. Webcam Logitech Seri C270h[15]
Sebuah webcam yang sederhana terdiri dari sebuah lensa, dipasang di sebuah papan
sirkuit untuk menangkap sinyal citra. Webcam memiliki casing (pelindung/cover) depan dan
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 ataupun dalam interval waktu tertentu.
2.7
Regulator Tegangan IC 7805
Rangkaian penyearah pada dasarnya sudah cukup bagus jika tegangan
ripple-nyakecil, namun ada masalah pada stabilitas tegangan yang dihasilkan. Jika tegangan
PLNnaik/turun, maka tegangan output-nya juga akan naik/turun. Untuk mengatasi hal
tersebut maka digunakan IC ini sebagai penstabil tegangan. kongifurasi pin IC regulator
ditunjukan pada Gambar 2.18.
Gambar 2.18. Konfigurasi pin IC Regulator [20]
Tabel 2.7 menunjukan spesifikasi IC regulator seri 78xx denga keluaran dan masukan
minimum dan maksimum.
Tabel 2.7. Karakteristik Regulator Tegangan IC 78xx [21]
Type VOUT (Volt)
VIN (Volt)
Min Maks
7805 5 7,3 20
7806 6 8,3 21
7808 8 10,5 23
7810 10 12,5 25
7812 12 14,6 27
7815 15 17,7 30
7818 18 21 33
Gambar 2.19. Rangkaian Umum Regulator 78xx [21]
Pada gambar 2.19 memiliki nilai komponen c1 dan c2 difungsikan sebagai filter
capasitor yang bertujuan untuk menghilangkan tegangan ripple agar tegangan keluaran
menjadi lebih stabil. Untuk mendapatkan nilai capasitor yang sesuai, dapat mengacu pada
persamaan 2.10 dan 2.11 [21].
√ (2.10)
(2.11)
Komponen eksternal yang digunakan yaitu transistor 2N3055 karena kemampuan arus
maksimal adalah 15 A [22]. Untuk gambar rangkaian lengkap dengan ic regulator dapat
ditunjukan gambar 2.20.
Gambar 2.20. Rangkaian Catu Daya dengan Penguat [22]
Dari gambar 2.25, maka diperleh persamaan-persamaan sebagai berikut[22] :
VB = Vreg + VD (2.12)
Vo = Vreg – VBE (2.13)
Jika VD VBE, maka
Vo = Vreg (2.14)
Tegangan diantara kolektor dan emittor transistor 2N3055 adalah[22],
VCE = VIN– VR1 (2.15)
Disipasi daya transistor NPN 2N3055 adalah[22],
PD = VCE x IC (2.16)
Untuk nilai penguatan arus diperoleh dengan persamaan dibawah ini[21] :
Ic = β IB (2.17)
Ie = (β+1) IB (2.18)
2.8
Pengolahan Citra
2.8.1 Citra Digital
Sebuah citra dapat didefinisikan sebagai fungsi dua dimensi f(x,y), dimana x dan y
adalah koordinat spasial dan amplitude dari f pada sembarang pasangan koordinat (x,y)
disebut intensity (intensitas) atau gray level (keabuan) dari citra tersebut. Ketika x, y dan nilai
intensitas dari f adalah semua terbatas, discrete quantities, citra tersebut dapat juga disebut
digital image (citra digital) [23]. Citra digital terdiri dari sejumlah elemen tertentu, setiap
elemen mempunyai lokasi dan nilai tertentu. Elemen–elemen 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 dipengaruhi oleh banyak faktor seperti kondisi lingkungan selama 6
pengambilan citra dengan kamera webcam, level pencahayaan dan suhu sensor adalah
2.8.2 Citra RGB
Citra RGB disebut juga citra truecolor. Citra RGB merupakan citra digital yang
mengandung matriks data berukuran M × N × 3 yang merepresentasikan warna merah, hijau,
dan biru untuk setiap pixel. Setiap warna dasar diberi rentang nilai tersendiri. Nilai rentang
paling kecil yaitu 0 dan paling besar yaitu 255. Warna dari tiap pixel ditentukan oleh
kombinasi dari intensitas merah, hijau, dan biru.Jumlah bit dalam citra RGB dimana setiap citra
red, green dan blue adalah citra 8 bit. Dalam kondisi setiap warna pixel RGB mempunyai
kedalaman 24 bit. Citra full color sering digunakan untuk menyatakan citra berwarna RGB 24 bit.
Total jumlah warna dalam citra 24 bit adalah ( ) = 16,777,216[24]. Seperti yang ditunjukan
pada gambar 2.21.
Gambar 2.21. Kubus Berwarna RGB 24bit[24]
2.8.3 Citra Grayscale
Citra berwarna terdiri dari 3 layer matrik yaitu R-layer, G-layer, dan B-layer seperti
yang telah dibahas sebelumnya. Sehingga bila citra tersebut akan diproses membutuhkan
proses perhitungan yang panjang karena perhitungan harus diulang sebanyak tiga kali.
Supaya citra dapat diproses oleh komputer dengan mudah maka citra digital harus memiliki
format tertentu, oleh sebab itu hal pertama kali yang dilakukan untuk melakukan pengolahan
citra yaitu dengan cara mengubah citra berwarna menjadi format/bentuk grayscale atau
warna keabuan. Mengubah citra berwarna menjadi citra grayscale dapat dilakukan dengan
cara mengambil rata-rata dari nilai R, G, dan B (2.3) menggunakan rumus dibawah ini [16];
Dimana :
S : Nilai grayscale
R : Nilai warna Red
G : Nilai warna Green
B : Nilai warna Blue
Citra grayscale merupakan citra digital yang pada setiap pikselnya hanya memiliki
satu nilai kanal. Format citra ini disebut skala keabuan karena pada umumnya warna hitam
digunakan sebagai warna minimal 0 dan warna putih sebagai warna maksimal 255, dimana
warna tengah-tengah antara hitam dan putih adalah abu-abu. Seperti yang ditunjukkan pada
Gambar 2.21.
Gambar 2.22. Citra Skala Keabuan
2.8.4 Citra Biner
Citra biner (binary image) adalah citra yang hanya mempunyai dua nilai derajat keabuan
yaitu hitam dan putih. Meskipun saat ini citra berwarna lebih disukai karena member
kesanyang lebih kaya dari pada citra biner, namun tidak membuat citra biner mati. Pada
beberapa aplikasi citra biner masih dibutuhkan, misalnya citra logo instansi (yang hanya
terdiri atas warna hitam putih), citra kode batang (bar code) yang tertera pada label barang,
citra hasil pemindaian dokumen teks, dan sebagainya.Citra biner hanya mempunyai dua nilai
derajat keabuan yaitu hitam da nputih. Pixel-pixel objek bernilai 1 dan pixel-pixel lattar
belakang bernilai 0. Pada saat menampilkan gambar, 0 adlah putih dan 1 adalah hitam. Jadi
pada citra biner, latar belakang berwarna putih sedangkan objek berwarna hitam [13].
2.9
Pemrosesan Citra
2.9.1 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
2.9.2 Resizing
Rezising citra adalah mengubah besarnya ukuran citra dalam piksel. Tampilan citra
tidak ada yang berubah hanya ukuran pixel dan matriksnya yang dirubah.
Transformasi geometris disebut rubber-sheet transformation karena dapat ditampilkan seperti
pencetakan citra pada lembaran karet dan men-streching lembaran ini menurut jumlah aturan
yang sudah didefinisikan. Transformasi geometris ini digunakan untuk melakukan image
registration, yaitu sebuah proses yang mengambil dua citra dari scene yang sama dan
mengaturnya sehingga dapat digabung untuk visualisasi, atau perbandingan kuantitatif [18].
2.9.3 Pengenalan Pola
Pengenalan pola (pattern recognition) adalah suatu ilmu untuk mengklasifikasikan
atau menggambarkan sesuatu berdasarkan pengukuran kuantitatif fitur (ciri) atau sifat utama
dari suatu obyek [19]. Proses pengenalan pola dapat dilakukan dengan cara membandingkan
antara obyek yang ingin dikenali dengan data-data yang telah disediakan. Proses pengenalan
pola ini bertujuan meniru kemampuan manusia dalam mengenali suatu obyek atau pola,
sehingga dengan menerapkan pengenalan pola ini kepada suatu mesin maka membuat mesin
BAB III
PERANCANGAN PENELITIAN
Bab ini membahas tentang langkah langkah perancangan dalam pembuatan sistem
pengenalan angka. Pembahasan di dalam bab ini meliputi diagram blok data masukkan
serta perancangan antarmuka yang akan digunakan
3.1. Prinsip Kejadan Mekanisme Gerak Lengan Robot
Pada tugas akhir ini akan dibuat lengan robot yang mampu mendeteksi dan
menuliskan font angka berdasarkan gambar font angka yang akan dideteksi secara
otomatis. Dengan menggunakan webcam yang akan mendeteksi gambar font angka dan
motor servo sebagai akuator. Saat webcam mendeteksi gambar font angka maka data
yang dihasilkan oleh webcam akan diproses oleh mikrokontroler yang telah di program
kemudian akan menjalankan motor servo sebagai akuator robot dan menuliskan font
angka yang dideteksi pada media tulis dengan bentuk font seven segment. Sistem kerja
Proses kerja sistem lengan robot mulai dengan meletakan lengan robot dalam
posisi siap untuk menscan gambar font angka, kemudian lengan robot mulai menscan
gambar font angka dengan webcam yang sudah terpasang di atas alas tempat untuk
meletakan gambar font angka dengan jarak 30 cm dan menyimpan data gambar font
angka yang sudah discan pada mikrokontroler setelah mikrokontroler menerima data lalu
data akan diporoses dengan program yang sudah didownload kedalam mikrokontroler dan
selanjutnya mikrokontroler akan mengirimkan perintah gerak ke lengan robot untuk
menjalankan perintah menuliskan angka pada media tulis yang sudah di siapkan.
3.2. Perancangan Mekanik Lengan Robot
Pada tahap ini dilakukan perancangan mekanik dari robot tersebut, antara lain
mendesain ukuran robot, penggunaan bahan dasar untuk lengan robot yaitu plat
aluminium setebal 1 mm. Pendesainan robot menggunakan software Google SketchUp.
Lengan robot terdiri dari 5 bagian utama yaitu poros, gripper, komponen 1, komponen 2,
komponen 3. Gambar 3.2 menunjukan anatomi robot lengan secara keseluruhan.
Berikut adalah gambar detail dari bagian-bagian lengan robot, yaitu: komponen 1
ditunjukan Gambar 3.3, komponen 2 ditunjukan Gambar 3.4, komponen 3 ditunjukan
Gambar 3.5, gripper ditunjukan Gambar 3.6. Dan gambar keseluruhan lengan robot
ditujukan gambar 3.7.
Gambar 3.3. Komponen 1
Gambar 3.4. komponen 2
Gambar 3.5. Komponen 3
Gambar 3.7. Peletakan seluruh komponen
3.3. Perancangan Perangkat Keras (hardware)
Ada beberapa komponen dalam perancangan subsistem perangkat keras lengan
robot pemisah benda, diantaranya yaitu :
a) Minimum System Atmega8535 + LCD 16x2
b) Motor servo
c) Regulator ic 7805 + penguat arus
d) Webcam Logitech seri C270h
e) Benda tiga dimensi
f) Sensor photodiode
3.3.1.
Minimum System Atmega8535 + LCD 16x2
3.3.1.1. Minimum System Atmega8535
Rangkaian minimum system berfungsi sebagai I/O untuk mengontrol atau
mengendalikan sudut putar motor servo yang telah diprogram dalam mikrokontroler
komputer melalui USB to TTL converter. Mikrokontroler membutuhkan minimum system
yang terdiri dari rangkaian eksternal yaiturangkaian osilator dan rangkaian reset.
Untuk rangkaian osilator digunakan crystal dengan frekuensi sebesar 11,0592
MHz dan menggunakan kapasitor 22 pf pada pin XTAL1 dan XTAL2 di mikrokontroler.
Rangkaian osilator ini berfungsi sebagai sumber clock bagi mikrokontroler. Pemberian
kapasitor bertujuan untuk memperbaiki kestabilan frekuensi yang diberikan oleh osilator
eksternal. Gambar 3.8 menunjukan rangkaian osilator.
Gambar 3.8. Rangkaian Osilator ATmega8535
Perancangan rangkaian reset bertujuan untuk memaksa proses kerja pada
mikrokontroler dapat diulang dari awal. Saat tombol reset ditekan maka mikrokontroler
mendapat inpu