-
TUGAS AKHIR
APLIKASI COMPUTER VISION PADA LENGAN
ROBOT PEMINDAH BENDA BERDASARKAN
OBJEK DAN POSISI BENDA
Diajukan untuk memenuhi salah satu syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
disusun oleh :
YOSHUA ADHI PERKASA
NIM : 155114032
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERITAS SANATA DHARMA
YOGYAKARTA
2019
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
i
TUGAS AKHIR
APLIKASI COMPUTER VISION PADA LENGAN
ROBOT PEMINDAH BENDA BERDASARKAN
OBJEK DAN POSISI BENDA
Diajukan untuk memenuhi salah satu syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
disusun oleh :
YOSHUA ADHI PERKASA
NIM : 155114032
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERITAS SANATA DHARMA
YOGYAKARTA
2019
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
ii
FINAL PROJECT
THE APPLICATION OF COMPUTER VISION ON
MOVING ROBOTIC ARMS BASED ON THE
OBJECT AND ITS POSITION
In a partial fulfilment of the requirements
for the degree of Sarjana Teknik
Department of Electrical Engineering
Faculty of Science and Technology, Sanata Dharma University
YOSHUA ADHI PERKASA
NIM : 155114032
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERITAS SANATA DHARMA
YOGYAKARTA
2019
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
vi
MOTTO :
“Serahkanlah perbuatanmu kepada TUHAN,
maka terlaksanalah segala rencanamu.”
Amsal 16:3
Skripsi ini kupersembahkan untuk ……
Tuhan Yesus Kristus Penolong setiaku
Bapak , Ibu serta kakak dan adik tercinta
Dosen-dosen yang selalu membimbingku
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
viii
INTISARI
Peran teknologi telah banyak digunakan diberbagai kehidupan manusia saat ini.
Penggunaan robot khusunya lengan robot dapat membantu dalam memindahkan benda dari
satu tempat ke tempat yang lain. Teknologi computer vision dapat digunakan untuk
membantu otomatisasi pergerakan lengan robot.
Dalam penelitian ini, peneliti menggunakan lengan robot yang sudah dilengkapi
dengan teknologi computer vision yang memanfaatkan webcam untuk memindahkan benda
satu ke tempat yang lain. Untuk itu pertama kali, webcam menangkap citra objek berupa
sejumlah wadah kubus dan tabung. Citra hasil tangkapan ini, kemudian di proses
menggunakan software MATLAB untuk mengidentifikasi jenis dan posisi objek. Hasil
identifikasi kemudian dikirimkan menggunakan komunikasi serial USB-TTL ke
mikrokontroler ATmega32. Setelah itu berdasarkan perintah dari mikrokontroler lengan
robot akan mengisi bola ke sejumlah wadah kubus dan tabung.
Hasil implementasi sistem lengan robot ini mempunyai keberhasilan 100%. Sebagai
catatan, wadah tabung dan kubus harus diletakkan di tengah area peletakan wadah.
Kata kunci: lengan robot, computer vision, webcam, MATLAB, ATmega32, USB-TTL.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
ix
ABSTRACT
Technology has been used in every part of human’s life. Robotic tools such as robotic
arms can be used for transporting an object from one place to another. Computer Vision
Technology can be used to optimize the automatic move of robotic arms.
In this research, researcher used robotic arms with computer vision technology as
well as the use of webcam to transport an object from one place to another. The first step
was using webcam to record the object’s images which are a couple of cubes and tubes. The
images then are processed using MATLAB software to identify the kind of objects as well
as their position. The result then is sent using USB-TTL to Atmega32 micro-controller.
Furthermore, the robotic arms would add balls to the cubes and tubes.
The result of the implementation of robotic arms are working properly, reaching out
to 100% possibility, if the cubes and tubes are placed in the center.
Keywords: robotic arms, computer vision, webcam, MATLAB, ATmega32, USB-TTL.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
x
KATA PENGANTAR
Puji syukur penulis ucapkan kepada Tuhan Yesus Kristus atas berkat dan bimbingan-
Nya, sehingga saya dapat menyelesaikan tugas akhir ini yang berjudul “Aplikasi Computer
vision Pada Lengan Robot Pemindah Benda Berdasarkan Bentuk dan Posisi Benda”.
Penelitian yang berupa tugas akhir ini merupakan salah satu untuk syarat bagi
mahasiswa Jurusan Teknik Elektro untuk memperoleh gelar Sarjana Teknik di Universitas
Sanata Dharma Yogyakarta. Penelitian ini dapat diselesaikan dengan baik atas bantuan,
gagasan dan dukungan dari berbagai pihak. Oleh karena itu, peneliti ingin mengucapkan
terima kasih kepada :
1. Kedua orang tua tercinta, Bapak Basuki Sapto Sulasno dan Ibu Theresia Mulyati
atas doa, kasih sayang, dukungan serta motivasi.
2. Sudi Mungkasi, S.Si., M.Math.Sc., Ph.D., selaku Dekan Fakultas Sains dan
Teknologi Universitas Sanata Dharma Yogyakarta.
3. Dr. Linggo Sumarno., selaku Dosen Pembimbing tugas akhir yang telah
membimbing dan memberikan arahan dalam penyusunan tugas akhir ini.
4. Bapak Petrus Setyo Prabowo, S.T.,M.T., dan Bapak Djoko Sumarno, S.T.,M.T.,
selaku dosen penguji yang telah bersedia memberi kritik, saran dan bimbingan
dalam memperbaiki tugas akhir ini.
5. Petrus Setyo Prabowo, S.T., M.T, dan Ir Tjendro, selaku kepala program studi
teknik elektro dan wakil kepala program studi teknik elektro.
6. Desi Tri Prasetya A.Md., sebagai teman, sahabat dan kekasih yang selama ini
telah memberikan doa dan dukungan dalam menyelesaikan tugas akhir ini.
7. Kakak dan adik tersayang yang terus mendukung dan memberi semangat penulis.
8. Albertus Adit .T, R. Wenang S.N, dan Openyear S, teman seperjuangan yang
telah memberikan tenaga, pikiran, dan dukungan demi kelancaran dan
terselesaikanya tugas akhir ini.
9. Saudara-saudara yang terus memberikan semangat dan dukungan kepada
penulis.
10. Segenap dosen dan laboran Teknik Elektro Universitas Sanata Dharma
Yogyakarta.
11. Segenap karyawan sekretariat Fakultas Sains dan Teknologi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xii
DAFTAR ISI
HALAMAN JUDUL (BAHASA INDONESIA) ......................................................... i
HALAMAN JUDUL (BAHASA INGGRIS) .............................................................. ii
HALAMAN PERSETUJUAN ..................................................................................... iii
HALAMAN PENGESAHAN ...................................................................................... iv
PERNYATAAN KEASLIAN KARYA ....................................................................... v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ........................................... vi
HALAMAN PERNYATAAN PERSETUJUAM PUBLIKASI KARYA
ILMIAH UNTUK KEPENTINGAN AKADEMIS ................................................... vii
INTISARI ...................................................................................................................... viii
ABSTRACT .................................................................................................................... ix
KATA PENGANTAR .................................................................................................. x
DAFTAR ISI ................................................................................................................. xii
DAFTAR TABEL ......................................................................................................... xvii
DAFTAR GAMBAR .................................................................................................... xix
BAB I: PENDAHULUAN
1.1. Latar Belakang ......................................................................................................... 1
1.2. Batasan Masalah ...................................................................................................... 3
1.3. Metodelogi Penelitian .............................................................................................. 5
BAB II: DASAR TEORI
2.1. Matlab ................................................................................................................ 6
2.2. Computer Vision ................................................................................................ 6
2.2.1. Pengolahan Citra Digital ............................................................................ 7
2.2.2. Pemrosesan Citra ........................................................................................ 8
2.2.2.1. Citra Grayscale .............................................................................. 8
2.2.2.2. Citra Biner ....................................................................................... 8
2.2.2.3. Konversi Citra Graschale ke Citra Biner ........................................ 9
2.2.2.4. Noise Filtering ................................................................................. 10
2.2.2.5. Labeling Objek ................................................................................ 11
2.2.2.6. Segmentasi Citra .............................................................................. 12
2.2.3. Pengenalan Ukuran dan Posisi Benda ........................................................ 12
2.2.3.1. Pengenalan Ukuran .......................................................................... 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xiii
2.2.3.1.1. Area ................................................................................. 12
2.2.3.1.2. Perimeter ......................................................................... 13
2.2.3.1.3. Thinnessratio ................................................................... 13
2.2.3.2. Pengenalan Posisi ............................................................................ 14
2.2.3.2.1. Centroid .......................................................................... 14
2.2.4. Metode Pengenalan Benda ......................................................................... 15
2.2.4.1. Proses Capture Objek ................................................................... 15
2.2.4.2. Citra Grayscale ke Citra Biner ..................................................... 16
2.2.4.3. Proses Labeling ............................................................................ 16
2.2.4.4. Proses Segmentasi Citra ............................................................... 17
2.2.4.5. Proses Mencari Luas Objek .......................................................... 18
2.2.4.6. Proses Mencari Keliling Objek ..................................................... 19
2.2.4.7. Proses Mencari Thinnessratio Objek ............................................ 19
2.2.4.8. Proses Mencari Posisi Objek ........................................................ 20
2.3. Lengan Robot .................................................................................................... 21
2.3.1. Manipulator ............................................................................................ 21
2.3.2. End effector ............................................................................................. 22
2.3.3. Kontroler ................................................................................................. 22
2.4. Torsi/Momen Gaya ............................................................................................ 22
2.5. Inverse Kinematics ............................................................................................ 25
2.6. Aktuator Robot .................................................................................................. 27
2.6.1. Motor Servo ............................................................................................ 27
2.6.2. PWM (Pulse Width Modulation) ............................................................ 28
2.7. Mikrokontroller AVR ATmega32 ..................................................................... 28
2.7.1. Diskripsi Mikrokontroler AVR ATmega32 ............................................ 29
2.7.2. Timer/Counter ......................................................................................... 30
2.7.2.1. TIMER/COUNTER 0 ................................................................. 31
2.7.3. Komunikasi Serial USART ..................................................................... 33
2.7.3.1. Inisialisasi USART .................................................................. 33
2.7.3.2. USART I/O Data Register (UDR) ........................................... 34
2.7.3.3. USART Control and Status Register A (UCSRA) .................. 34
2.7.3.4. USART Control and Status Register B (UCSRB) ................... 35
2.7.3.5. USART Control and Status Register C (UCSRC) ................... 37
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xiv
2.8. Adaptor / Power Supply .................................................................................... 38
2.9. Webcam ............................................................................................................ 38
2.10. Minimum Sistem ATmega32 .......................................................................... 39
BAB III: PERANCANGAN PENELITIAN
3.1. Proses Kerja Sistem ........................................................................................... 40
3.2. Perancangan Mekanik Lengan Robot ................................................................ 41
3.2.1. Robot Arm Assembly .............................................................................. 44
3.2.2. Desain Keseluruhan Sistem ................................................................... 44
3.2.3. Posisi dan Penempatan Motor Servo ...................................................... 45
3.2.3. Metode Pergerakan Lengan Robot .......................................................... 45
3.2.4. Area Peletakan Benda ............................................................................. 46
3.2.5. Proses Penentuan Sudut Pergerakan Motor Servo .................................. 48
3.3. Perancangan Perangkat Keras (hardware) ........................................................ 49
3.3.1. Wiring keseluruhan sitem ........................................................................ 49
3.3.2. Perhitungan Torsi Motor Servo ............................................................... 51
3.3.4. Motor Servo ............................................................................................ 56
3.3.5. Webcam ................................................................................................... 59
3.3.6. Objek dan Benda ..................................................................................... 60
3.4. Persancangan Perangkat Lunak (software) ....................................................... 61
3.4.1. Diagram Alir Utama ................................................................................ 61
3.4.2. Flowchart Akusisi Citra .......................................................................... 63
3.4.3. Flowchart Image Preprocessing ............................................................. 63
3.4.4. Labeling dan Segmentasi ........................................................................ 65
3.4.5. Flowchart Program Pengenalan Bentuk Benda Pada MATLAB ............ 66
3.4.6. Flowchart Program Pengenalan Posisi Benda Pada Matlab ................... 67
3.4.7. Flowcart Komunikasi Data Matlab Dengan Mikrokontroler .................. 68
3.4.8. Flowchart Program Lengan Robot .......................................................... 70
3.4.4. Perancangan GUI MATLAB .................................................................. 73
BAB IV: HASIL DAN PEMBAHASAN
4.1. Perangkat Keras (Hardware) Lengan Robot ................................................... 75
4.1.1. Bentuk Fisik dan Sistem Jerja Lengan Robot ........................................ 75
4.1.2. Wiring Motor Servo Pada Minimum Sistem ATmega32
Beserta LCD 16x2 ................................................................................. 77
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xv
4.1.3. Webcam dan Area Peletakan Objek ....................................................... 77
4.1.4. Objek 3 Dimensi dan Kotak Peletakan Benda ....................................... 79
4.1.5. Mekanisme Kerja Lengan Robot ........................................................... 82
4.2. Hasil Pengujian dan Pembahasan .................................................................... 83
4.2.1. Menentukan Sudut Pergerakan Lengan Robot ........................................ 83
4.2.1.1 Metode Analisis Gambar dengan Ukuran Sebenarnya ............... 83
4.2.1.2. Metode Hitung dengan Invers Kinematics ................................ 87
4.3. Analisa dan Pembahasan Perangkat Lunak (software) .................................... 94
4.3.1. Aplikasi MATLAB ................................................................................. 94
4.3.1.1. Tampilan GUI Pada Sistem ....................................................... 94
4.3.1.2. Inisialisai Komunikasi Serial ..................................................... 95
4.3.1.3. Inisialisasi webcam .................................................................... 96
4.3.1.4. Proses Akusisi Citra .................................................................. 97
4.3.1.5. Proses Pengolahan Citra ............................................................ 97
4.3.1.6. Proses Labeling dan Segmentasi ............................................... 98
4.3.1.7. Proses Pengenalan Posisi dan BentukObjek .............................. 98
4.3.1.8. Proses Penggolongan Posisi dan Objek ..................................... 99
4.3.1.9. Proses Pengiriman Data dari Matlab ke Mikrokontroler ........... 101
4.3.2. Aplikasi Code Vision AVR ...................................................................... 104
4.3.2.1. Inisialisasi Komunikasi Serial ................................................... 104
4.3.2.2. Inisialisasi Timer 0 .................................................................... 105
4.3.2.3. Program Menerima Data Serial dari Matlab .............................. 106
4.3.2.4. Inisialisasi Port Motor Servo ..................................................... 107
4.3.2.5. Pengendali Motor Servo ............................................................ 107
4.3.2.6. Program Utama .......................................................................... 108
4.3.2.7. Program Fungsi Pergerakan ...................................................... 109
4.4. Hasil Pengujian dan Analisa Pengambilan Data .............................................. 111
4.4.1. Nilai OCR Untuk Menentukan Sudut Pada Tiap Motor Servo ............. 111
4.4.1.1. Motor Servo SG90 (Servo 4) ................................................... 114
4.4.1.2. Motor Servo JX PDI-6225-300 (Servo 3) ................................ 114
4.4.1.3. Motor Servo JX PDI-6225-300 (Servo 2) ................................ 115
4.4.1.4. Motor Servo JX PDI-6225-300 (Servo 1) ................................ 116
4.5. Pengujian Arah Gerak Tiap Motor Servo ........................................................ 118
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xvi
4.6. Pengujian Nilai Sudut Pergerakan Berdasarkan Perbandingan
Gambar Skala 1:1 dengan Perhitungan Invers Kinematics (Teori) .................. 120
4.7. Pengujian dan Perbandingan Nilai Sudut Teori dengan Praktik ..................... 120
4.8. Pengujian Nilai Area ........................................................................................ 122
4.9. Pengujian Nilai Perimeter ................................................................................ 123
4.10. Pengujian Nilai Thinnessratio ........................................................................ 124
4.11. Pengujian Keberhasilan Sistem Mendeteksi Satu Objek Pada Posisi ............ 125
4.12. Pengujian Keberhasilan Lengan Robot Saat Mengambil dan
Memindahkan Benda ..................................................................................... 126
BAB V: KESIMPULAN
5.1. Kesimpulan .............................................................................................................. 130
5.2. Saran ........................................................................................................................ 130
DAFTAR PUSTAKA ................................................................................................... 131
LAMPIRAN .................................................................................................................. L-1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xvii
DAFTAR TABEL
Tabel 2.1. Penentuan Ukuran Karakter .......................................................................... 36
Tabel 3.1. Variabel Sudut Pergerakan Tiap Motor Servo Objek Kubus dan
Tabung Tabel ................................................................................................. 48
Tabel 3.2. Data yang digunakan untuk perhitungan torsi ............................................... 51
Tabel 3.3. Hasil Perhitungan Torsi Motor Servo ........................................................... 56
Tabel 3.4. Perhitungan Nilai OCR .................................................................................. 59
Tabel 3.5. Spesifikasi Webcam Logitech C 170 ............................................................. 59
Tabel 3.6. Inisialisasi Objek Tabung Beserta Posisinya ................................................. 69
Tabel 3.7. Inisialisasi Objek Kubus Beserta Posisinya .................................................. 69
Tabel 3.8. Keterangan Tampilan Utama Program .......................................................... 74
Tabel 4.1. Batas nilai pixel pada sumbu x dan y untuk masing-masing posisi .............. 79
Tabel 4.2. Tabel Sudut Pergerakan Metode Analisis Gambar Skala 1:1 ....................... 87
Tabel 4.3. Tabel Hasil Perhitungan Invers Kinematics .................................................. 93
Tabel 4.4. Tabel Perbandingan Error Nilai Sudut Secara Gambar
Skala 1:1 dengan Invers Kinematics ............................................................. 93
Tabel 4.5. Tabel Perbandingan Error Nilai OCR Secara Teori dengan Praktik
Motor Servo JX PDI-6225-300 (Servo 1) .................................................... 116
Tabel 4.6. Tabel Perbandingan Error Nilai OCR Secara Teori dengan Praktik
Motor Servo JX PDI-6225-300 (Servo 2) .................................................... 117
Tabel 4.7. Tabel Perbandingan Error Nilai OCR Secara Teori dengan Praktik
Motor Servo JX PDI-6225-300 (Servo 3) .................................................... 117
Tabel 4.8. Tabel Perbandingan Error Nilai OCR Secara Teori dengan Praktik
Motor Servo SG90 (Servo 4) ........................................................................ 117
Tabel 4.9. Hasil pengujian arah gerak motor servo berdasarkan gambar skala 1:1 ....... 119
Tabel 4.10. Hasil pengujian arah gerak motor servo berdasarkan metode
invers kinematics ......................................................................................... 119
Tabel 4.11. Tabel Perbandingan Sudut Berdasarkan Gambar Skala 1:1 dengan
Perhitungan Invers Kinematics ..................................................................... 120
Tabel 4.12. Tabel Perbandingan Sudut Berdasarkan Gambar Skala 1:1 dengan
Implementasi ............................................................................................... 121
Tabel 4.13 Tabel Hasil Implementasi Sudut Terhadap Nilai OCR ................................ 121
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xviii
Tabel 4.14. Pengujian hasil perhitungan nilai area ........................................................ 122
Tabel 4.15. Pengujian hasil perhitungan nilai perimeter ................................................ 123
Tabel 4.16. Pengujian hasil perhitungan nilai thinnessratio .......................................... 124
Tabel 4.17. Keberhasilan mendeteksi Objek .................................................................. 125
Tabel 4.18. Keberhasilan memindahkan bola ke dalam objek ........................................ 126
Tabel 4.19. Percobaan ke-1 ............................................................................................ 126
Tabel 4.20. Percobaan ke-2 ............................................................................................ 127
Tabel 4.21. Percobaan ke-3 ............................................................................................ 127
Tabel 4.22. Percobaan ke-4 ............................................................................................ 128
Tabel 4.23. Percobaan ke-5 ............................................................................................ 128
Tabel 4.24. Percobaan ke-6 ............................................................................................ 129
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xix
DAFTAR GAMBAR
Gambar 1.1. Batas area kerja .......................................................................................... 3
Gambar 1.2. Jumlah maksimal benda ............................................................................. 4
Gambar 2.1. Sistem koordinat citra berukuran MxN (M baris dan N kolom) ............... 7
Gambar 2.2. Citra grayscale ........................................................................................... 8
Gambar 2.3. Citra biner Representasi dalam bentuk biner 1 dan 0 ................................ 9
Gambar 2.4. Pengubahan nilai piksel pada proses thresholding .................................... 10
Gambar 2.5. Median Filtering ........................................................................................ 11
Gambar 2.6. Contoh Noise Filtering Pada Citra ............................................................ 11
Gambar 2.7. Contoh labeling pada objek ....................................................................... 12
Gambar 2.8. Perimeter (keliling) pada objek citra ......................................................... 13
Gambar 2.9. Titik pusat (centroid) dari suatu objek dengan koordinat (x,y) ................. 15
Gambar 2.10 Hasil capture objek ................................................................................... 15
Gambar 2.11. Hasil grayscale ke dalam citra biner 1 dan 0 ........................................... 16
Gambar 2.12. Proses labeling pada objek ...................................................................... 17
Gambar 2.13. Proses Segmentasi pada objek ................................................................. 18
Gambar 2.14. Proses mencari luas area pada objek ....................................................... 18
Gambar 2.15. Proses mencari luas perimeter pada objek ............................................... 19
Gambar 2.16. Proses mencari nilai centroid ................................................................... 20
Gambar 2.17. Manipulator Pada Lengan Robot ............................................................. 21
Gambar 2.18. end-effector jenis gripper ........................................................................ 22
Gambar 2.19. Momen gaya ............................................................................................ 22
Gambar 2.20. Contoh soal dan pembahasan tentang torsi .............................................. 24
Gambar 2.21. Invers Kinematics dua sendi .................................................................... 25
Gambar 2.22. Ukuran lengan robot ................................................................................. 26
Gambar 2.23. Model fisik motor servo .......................................................................... 27
Gambar 2.24. Pensinyalan motor servo .......................................................................... 28
Gambar 2.25. Konfigurasi Pin Mikrokontroler AVR ..................................................... 29
Gambar 2.26. Mode Phase Correct PWM ..................................................................... 32
Gambar 2.27. Mode Fast PWM ..................................................................................... 33
Gambar 2.28. Register UDR .......................................................................................... 34
Gambar 2.29. Register UCSRA ...................................................................................... 34
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xx
Gambar 2.30. Register UCSRB ...................................................................................... 35
Gambar 2.31. Register UCSRC ...................................................................................... 37
Gambar 2.32. Adaptor / Power supply ........................................................................... 38
Gambar 2.33. webcam Logitech c170h .......................................................................... 39
Gambar 2.34. Minimum sistem ATemega32 ................................................................. 39
Gambar 3.1. Blok Diagram Sistem Kerja ....................................................................... 41
Gambar 3.2. Kumpulan Desain Part Lengan Robot ...................................................... 43
Gambar 3.3. Assemmbly Part Lengan Robot ................................................................. 44
Gambar 3.4. Desain Keseluruhan Sistem ....................................................................... 44
Gambar 3.5. Penempatan dan pengurutan peletakkan motor servo ............................... 45
Gambar 3.6. Analisis gambar keseluruhan sistem .......................................................... 46
Gambar 3.7. Luas Area ................................................................................................... 46
Gambar 3.8. Area penempatan objek ............................................................................. 47
Gambar 3.9. wiring sistem keseluruhan ......................................................................... 50
Gambar 3.10. Kontruksi Lengan Robot .......................................................................... 51
Gambar 3.11. Perhitungan torsi motor servo 2 ............................................................... 52
Gambar 3.12. Perhitungan torsi motor servo 3 ............................................................... 53
Gambar 3.13. Perhitungan torsi motor servo 4 ............................................................... 54
Gambar 3.14. Perhitungan torsi motor servo 1 ............................................................... 55
Gambar 3.15. Motor Servo JX PDI-6225-300 ............................................................... 57
Gambar 3.16. Motor Servo SG90 ................................................................................... 57
Gambar 3.17. Rangkaian pin motor servo pada minimum system Mikrokontroler
ATmega32 ................................................................................................ 58
Gambar 3.18. Posisi peletakkan webcam terhadap objek ................................................ 60
Gambar 3.19 Objek berupa gelas dan benda berupa bola .............................................. 60
Gambar 3.20. Diagram Alir Utama Sistem .................................................................... 62
Gambar 3.21. Flowchart Akusisi Citra .......................................................................... 63
Gambar 3.22. Flowchart Image Preprocessing ............................................................. 64
Gambar 3.23. Labeling dan Segmentasi ......................................................................... 65
Gambar 3.24. Flowchart Pengenalan Bentuk ................................................................. 66
Gambar 3.25. Flowchart Pengenalan posisi ................................................................... 67
Gambar 3.26. Flowchart Komunikasi Data ................................................................... 68
Gambar 3.27. Pergerakan lengan robot .......................................................................... 70
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xxi
Gambar 3.28. Lanjutan I Pergerakan lengan robot ......................................................... 71
Gambar 3.29. Lanjutan II Pergerakan lengan robot ....................................................... 72
Gambar 3.30. Lanjutan III Pergerakan lengan robot ...................................................... 73
Gambar 3.31. Perancangan Desain GUI ......................................................................... 74
Gambar 4.1. Lengan robot dan gripper .......................................................................... 75
Gambar 4.2. Minimum system dan LCD 16x2 ............................................................... 76
Gambar 4.3. Pencahayaan dan peletakkanya .................................................................. 76
Gambar 4.4. Webcam dan area peletakan webcam ......................................................... 78
Gambar 4.5. Area kerja ................................................................................................... 78
Gambar 4.6. Nilai pixel tiap posisi ................................................................................. 79
Gambar 4.7. Hasil capture minim cahaya ...................................................................... 80
Gambar 4.8. Objek berupa wadah berbentuk tabung dan kubus .................................... 80
Gambar 4.9. Hasil capture objek pencahayaan merata .................................................. 81
Gambar 4.10. Benda berupa bola dan area peletakan bola ............................................. 81
Gambar 4.11. Hasil implementasi sistem ....................................................................... 82
Gambar 4.12. Analisis menggunakan gambar dengan skala 1:1 .................................... 84
Gambar 4.13. Dimensi lengan robot ............................................................................... 88
Gambar 4.14. Posisi Siaga .............................................................................................. 88
Gambar 4.15. Ambil benda ............................................................................................. 89
Gambar 4.16. Posisi 1 dan 3 ........................................................................................... 90
Gambar 4.17. Posisi 2 ..................................................................................................... 90
Gambar 4.18. Posisi 4 dan 6 ........................................................................................... 91
Gambar 4.19. Posisi 5 ..................................................................................................... 92
Gambar 4.20. Tampilan GUI pada sistem ...................................................................... 94
Gambar 4.21. Inisialisasi Komunikasi Serial ................................................................. 95
Gambar 4.22. Program popupmenu ................................................................................ 96
Gambar 4.23. Inisialisasi Webcam ................................................................................. 96
Gambar 4.24. Listing program akuisisi citra .................................................................. 97
Gambar 4.25. Proses pengolahan citra ........................................................................... 97
Gambar 4.26. Proses segmentasi dan labeling citra ....................................................... 98
Gambar 4.27. Pengenalan bentuk dan posisi .................................................................. 99
Gambar 4.28. Pengenalan bentuk dan posisi .................................................................. 100
Gambar 4.29. Nilai centroid tiap posisi .......................................................................... 101
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xxii
Gambar 4.30. Listing program penambahan array ......................................................... 102
Gambar 4.31. Penambahan isi data array ....................................................................... 103
Gambar 4.32. Pengurutan data array .............................................................................. 103
Gambar 4.33. Konversi angka ke karakter ..................................................................... 104
Gambar 4.34. Program inisialisasi komunikasi USART ................................................ 105
Gambar 4.35. Listing program inisialisasi timer 0 ......................................................... 106
Gambar 4.36. Listing program menerima data serial USART dengan scanf ................. 106
Gambar 4.37. Inisialisasi port motor servo .................................................................... 107
Gambar 4.38. Pengendali motor servo ........................................................................... 107
Gambar 4.39. Program utama ......................................................................................... 108
Gambar 4.40. Program penampil data komunikiasi yang diterima ................................ 109
Gambar 4.41. Program pengisian dua kali ..................................................................... 109
Gambar 4.42. Fungsi Pergerakan ................................................................................... 110
Gambar 4.43. Listing program pergerakan lengan ......................................................... 110
Gambar 4.44. PWM berdasrkan spesifikasi motor servo SG90 ...................................... 112
Gambar 4.45. PWM berdasrkan spesifikasi motor servo JX PDI-6225-300 .................. 113
Gambar 4.46 Sudut 0° .................................................................................................... 114
Gambar 4.47 Sudut 90° .................................................................................................. 114
Gambar 4.48 Sudut 180° ................................................................................................ 114
Gambar 4.49 Sudut 0° .................................................................................................... 114
Gambar 4.50 Sudut 90° .................................................................................................. 114
Gambar 4.51 Sudut 180° ................................................................................................ 115
Gambar 4.52 Sudut 0° .................................................................................................... 115
Gambar 4.53 Sudut 90° .................................................................................................. 115
Gambar 4.54 Sudut 180° ................................................................................................ 115
Gambar 4.55 Sudut 0° .................................................................................................... 116
Gambar 4.56 Sudut 90° .................................................................................................. 116
Gambar 4.57 Sudut 180° ................................................................................................ 116
Gambar 4.58. Pengujian sudut arah gerak tiap motor servo ........................................... 115
Gambar 4.59. Grafik pengujian hasil perhitungan nilai area ......................................... 122
Gambar 4.60. Grafik pengujian hasil perhitungan nilai perimeter ................................. 123
Gambar 4.61. Grafik pengujian hasil perhitungan nilai thinnessratio ........................... 124
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xxiii
Gambar 4.62. Hasil GUI percobaan ke-1 ....................................................................... 126
Gambar 4.63. Hasil GUI percobaan ke-2 ....................................................................... 127
Gambar 4.64. Hasil GUI percobaan ke-3 ....................................................................... 127
Gambar 4.65. Hasil GUI percobaan ke-4 ....................................................................... 128
Gambar 4.66. Hasil GUI percobaan ke-5 ....................................................................... 128
Gambar 4.67. Hasil GUI percobaan ke-6 ....................................................................... 129
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Dewasa ini teknologi memiliki peranan penting untuk menunjang serta
mempermudah berbagai aktivitas dan pekerjaan manusia. Salah satu hasil perkembangan
teknologi yaitu adanya teknologi yang dinamakan legan robot dan computer vision. Lengan
robot disebut juga robot manipulator merupakan gabungan dari beberapa segmen dan joint
yang secara umum dibagi menjadi tiga bagian yaitu arm, wrist, dan gripper [1]. Sedangkan
computer vision adalah ilmu dan teknologi mesin atau sistem yang mampu mengekstrak
informasi dari gambar yang diperlukan untuk menyelesaikan tugas tertentu. Data gambar
dapat terambil dalam banyak bentuk seperti video, kamera, webcam, scanner dan lain-lain.
Proses penggabungan teknologi antara lengan robot dan computer vision dapat
menjadi jawaban atas tantangan perkembangan teknologi masa yang akan datang.
Keberadaan dua sistem tersebut dapat dijadikan satu keutuhan sistem yang dapat
dimanfaatkan di dalam bidang perindustrian, pengetahuan dan media pembelajaran. Salah
satu contoh teknologi yang terkait adalah seperti pada penelitian terdahulu yang dilakukan
oleh Hasan mengenai aplikasi pengenalan objek untuk lengan robot pemisah benda
berdasarkan bentuk. Dari penelitian tersebut dan berdasarkan manfaat lengan robot serta
computer vision, maka peneliti memiliki gagasan membuat aplikasi computer vision pada
lengan robot pemindah benda berdasarkan objek dan posisi benda menggunakan camera
webcam C170 sebagai sensor.
Perbandingan antara peneliti terdahulu dengan penelitian saat ini terletak pada
prinsip kerja. Pada peniliti terdahulu webcam digunakan untuk mendeteksi objek berupa
berbagai macam bentuk, kemudian objek dipindahkan ke suatu wadah yang telah ditentukan
berdasarkan kriteria bentuk objek. Sementara pada peneliti saat ini berkebalikan, webcam
digunakan untuk mendeteksi objek berupa dua macam bentuk wadah. Kemudian lengan
robot akan memindahkan benda berupa bola kedalam wadah yang telah terdeteksi oleh
webcam. Keistimewaan pada penelitian saat ini objek atau wadah berupa dua macam bentuk
wadah diletakkan secara acak. Dalam konteks ini, peneliti dituntut bagaimana suatu sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
2
aplikasi computer vision dapat mengenali jenis objek, dan posisi objek kemudian
memberikan sinyal pada mikrokontroler untuk menggerakan lengan robot.
Hasil yang diperoleh kontroler, yaitu mengetahui sinyal yang telah dikirim oleh
aplikasi computer vision menggunakan program MATLAB. Isi sinyal tersebut adalah posisi
objek berupa dua macam jenis bentuk wadah yang diletakkan secara acak kemudian, dapat
menggerakan lengan robot untuk mengambil benda berupa bola dan akan dipindahkan ke
objek berupa dua macam jenis bentuk wadah yang telah teridentifikasi. Dari dua macam
jenis bentuk wadah tersebut yaitu, wadah berbentuk tabung, dan gelas berbentuk kubus yang
mana dua macam bentuk itu telah ditentukan dari perbedaan jumlah pengisianya.
1.2. Tujuan Penelitian
Tujuan penulisan tugas akhir ini yaitu membuat aplikasi computer vision yang dapat
mengidentifikasi serta membedakan dari dua macam bentuk objek berupa wadah berbentuk
tabung dan kubus, kemudian aplikasi computer vision dapat berkomunikasi dengan kontroler
berupa mikrokontroler yang akan mengontrol pergerakan lengan robot. Perbedaan bentuk
wadah tersebut lengan robot akan menerima sinyal dan dapat membedakan jumlah pengisian
ke wadah. Wadah berbentuk tabung berisikan satu buah bola, sementara wadah berbentuk
kubus berisikan dua buah bola.
1.3. Manfaat Penelitian
Penelitian ini diharapkan dapat bermanfaat bagi masyarakat yang ingin mengenal,
mempelajari, serta mampu menerapkan mengenai computer vision dan pengenalan objek.
Jika dapat dikembangkan serta diterapkan di dalam dunia perindustrian yaitu, membantu
pekerjaan manusia serta meminimalisir terjadinya human error seperti contoh untuk
membedakan objek-objek maupun material tertentu yang memiliki bentuk kemudian posisi
benda yang acak dengan sistem otomatis.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
3
1.4. Batasan Masalah
Aplikasi computer vision pada lengan robot pemindah benda berdasarkan objek dan
posisi benda, memiliki perangkat keras (hardware) dan perangkat lunak (software).
Hardware yang digunakan yaitu webcam dan lengan robot, sedangkan software yang
digunakan yaitu matlab dan Code Vision AVR. Matlab digunakan untuk pengolahan citra dan
Code Vision AVR digunakan untuk memprogram controller pergerakan motor servo.
Agar Tugas Akhir ini bisa mengarah pada tujuan dan untuk menghindari terlalu
kompleksnya permasalahan yang muncul, maka perlu adanya batasan-batasan masalah yang
sesuai dengan judul dari tugas akhir ini. adapun batasan masalah adalah :
1. Masukan berupa dua jenis bentuk objek berupa dua macam wadah yang berbentuk
tabung dan kubus, serta benda yang dipindahkan berupa bola.
2. Tempat peletakan benda berupa bola berada disamping lengan robot dengan tinggi
25 cm.
3. Ukuran ojek berupa wadah dan benda berupa bola yang dijual dipasaran yang
digunakan yaitu :
a) Wadah Tabung (diameter = 70 mm, tinggi = 75 mm)
b) Wadah Kubus (panjang = 70 mm, lebar =70mm, tinggi = 75 mm)
c) Bola (diameter = 40mm)
4. Objek disusun secara acak diatas area berwarna hitam berukuran 28 cm x 21 cm.
5. Posisi peletakan objek satu ke objek lain sesuai dengan batasan penulis yaitu tidak
boleh berhimpitan dan dalam cakupan camera webcam.
6. Posisi peletakan objek secara acak namun berada di titik tengah kotak sampling,
seperti pada gambar berikut ini,
Gambar 1.1. Batas area kerja
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
4
7. Jumlah maksimal objek yang dapat diletakkan yaitu 6 gelas, seperti yang terlihat
pada gambar 1.2, serta pemilihan dari dua macam jenis bentuk dari ke-6 gelas diubah
secara bebas.
Gambar 1.2. Jumlah maksimal benda
8. Menggunakan webcam C170 untuk mengidentifikasi objek yang terhubung dengan
software MATLAB.
9. Jarak peletakan camera webcam menyesuaikan dengan luas area peletakan benda
agar citra yang di akuisisi webcam hanya area peletakan benda.
10. Lengan robot dan gripper terbuat dari akrilik dengan tebal 3mm yang didesain
dengan menggunakan Autodesk Invertor 2015.
11. Lengan robot terdiri dari empat buah servo uncontiuous yang deprogram
menggunakan codevision AVR melalui ATmega32.
12. Komunikasi antara leptop dengan ATmega32 menggunakan komunikasi serial
USART yang dihubungkan dengan modul yang sudah tersedia di pasaran yaitu modul
USB to TTL converter.
13. Terdapat tampilan GUI pada MATLAB sebagai graphic user interface agar dapat
melihat data objek yang akan dikenali, dan jumlah benda yang terdeteksi.
14. Keluaran pada GUI berupa bentuk benda dan posisinya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
5
1.5. Metodologi Penelitian
Langkah-langkah yang dulakukan dalam pengerjaan tugas akhir ini yaitu :
1) Melakukan studi pustaka / refrensi berupa buku dan jurnal ilmiah yang membahas
mengenai image processing dengan MATLAB, lengan robot, pemrograman dengan
code vision AVR, ATmega32, serta buku-buku pendukung lainya.
2) Perancangan desain lengan robot beserta skema-skema rangkaian pendukung dan
pembuatan flowchart untuk memprogram Atmega32 dan MATLAB.
3) Pembuatan hasil perancangan berupa hardware dan software. Tahapan ini berisi tentang
pembuatan alat sesuai dengan desain lengan robot yang telah dirancang beserta
program-program yang mengacu pada flowchart yang telah dibuat pada perancangan.
4) Proses pengambilan data dilakukan dengan mencari data tentang kordinat posisi objek,
jenis bentuk objek, melihat tanggapan sistem dalam mendeteksi objek, sudut putaran
motor servo pada lengan robot, dan keakuratan lengan robot saat mengambil benda serta
menaruh benda pada objek yang telah terdeteksi.
5) Analisis dan penyimpulan hasil percobaan. Analisa dan penyimpulan hasil percobaan
dapat dilakukan dengan melihat presentase error alat saat mendeteksi objek, dan tingkat
keberhasilan lengan robot saat memindahkan benda ke objek yang telah terdeteksi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
6
BAB II
DASAR TORI
Pada bab ini akan dibahas mengenai landasan-landasan teori yang digunakan dalam
pembuatan tugas akhir ”Aplikasi Computer Vision Pada Lengan Robot Pemindah Benda
Berdasarkan Objek dan Posisi Benda“.
2.1. MATLAB
Matlab (matrix labortary) dikembangkan oleh MathWorks adalah sebuah Bahasa
dengan high performance untuk komputasi masalah teknik. Matlab mengintegerasikan
komputasi, visualisasi, dan pemrograman dalam satu model yang sangat mudah untuk
dipakai dimana masalah dan penyelesaianya diekspresikan dalam notasi matematika yang
familiar. Saat ini matlab memiliki ratusan fungsi yang dapat digunakan sebagai problem
solver mulai dari simpel sampai masalah-masalah yang kompleks dari berbagai disiplin ilmu
[2]. Beberapa manfaat yang didapatkan dari matlab antara lain:
a) Perhitungan Matematika
b) Komputasi numerik
c) Simulasi dan pemodelan
d) Visualisasi dan analisis data
e) Pembuatan grafik untuk keperluan sains dan teknik
f) Pengembangan aplikasi, misalnya dengan memanfaatkan GUI.
g) Robotika
2.2. Computer Vision
Computer vision merupakan ilmu yang menggunakan image processing untuk
membuat keputusan berdasarkan citra yang didapat dari sensor [4]. Dengan kata lain,
computer vision bertujuan untuk membangun sebuah mesin pandai yang dapat “melihat”.
Kerangka kerja umum yang biasa dilakukan dalam computer vision adalah proses akuisisi
citra, pra pemrosesan, ekstraksi fitur, deteksi atau segmentasi citra, pemrosesan tingkat
tinggi, dan terakhir pengambilan keputusan [7]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
7
2.2.1. Pengolahan Citra Digital
Secara umum, istilah pengolahan citra digital menyatakan ”pemrosesan gambar
berdimensi-dua melalui komputer digital” [jain, 1989]. Menurut Efford [2000], pengolahan
citra adalah istilah umum untuk berbagi teknik yang keberadaanya untuk memanipulasi dan
memodifikasi citra dengan berbagai cara [12]. Ditinjau dari sudut pandang matematis, citra
merupakan fungsi malar (continue) dari intensitas cahaya pada bidang dwimatra. Sumber
cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut.
Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata pada manumur, kamera,
pemindai (scanner), dan sebagainya, sehingga bayanagan objek yang disebut citra tersebut
terekam [13].
Citra digital dibentuk oleh kumpulan titik yang dinamakan piksel (pexel atau “picture
element”). Setiap pixel digambarkan sebagai satu kotak kecil. Setiap piksel mempunyai
koordinat posisi. Sistem koordinat yang dipakai untuk menyatakan citra digital ditunjukan
di Gambar 2.1 [12].
Gambar 2.1. Sistem koordinat citra berukuran MxN (M baris dan N kolom) [12].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
8
2.2.2. Pemrosesan Citra
2.2.2.1. Citra Grayscale (Black White)
Citra skala keabuan atau disebut juga citra grayscale yaitu citra yang nilai pixelnya
mempresentasikan derajat keabuan atau intensitas warna putih. Nilai intensitas paling rendah
merepresentasikan warna hitam dan nilai intensitas tinggi merepresentasikan warna putih.
Pada umumnya citra grayscale memiliki kedalaman pixel 8 bit (256 derajat keabuan), tetapi
ada juga citra grayscale yang kedalaman pixelnya tepi bukan 8 bit, misalnya 16 bit untuk
penggunaan yang memerlukan ketelitian tinggi [14]. Berikut contoh gambar 2.2 tentang citra
grayscale.
Gambar 2.2. Citra grayscale [21].
2.2.2.2. Citra Biner
Citra biner adalah citra dengan setiap piksel hanya dinyatakan dengan sebuah nilai
dari dua kemungkinan (yaitu nilai 0 dan 1). Nilai 0 menyatakan warna hitam dan nilai 1
menyatakan warna putih. Citra jenis ini banyak dipakai dalam pemrosesan citra, misalnya
untuk kepentingan memperolah tepi bentuk suatu objek. Gambar 2.3 menyatakan citra biner
[14].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
9
Gambar 2.3. Citra biner representasi dalam bentuk biner 1 dan 0 [15].
2.2.2.3. Konversi Citra Grayscale ke Citra Biner
Proses pengkonversian citra grayscale ke citra biner membutuhkan suatu nilai batas
atau yang biasa disebut nilai threshold. Nilai intensitas dari citra grayscale yang lebih dari
atau sama dengan nilai threshold akan diubah menjadi 1 (warna putih) sedangkan untuk nilai
intensitas citra grayscale yang kurang dari nilai threshold akan diubah menjadi 0 (warna
hitam). Sehingga citra yang keluar dari hasil thresholding merupakan citra biner [22].
Untuk mengkonversi nilai piksel citra grayscale menjadi citra biner pada metode
thresholding dapat digunakan persamaan sebagai berikut :
𝑔(𝑥, 𝑦) = {1, 𝑗𝑖𝑘𝑎 𝑓(𝑥, 𝑦) ≥ 𝑇
0, 𝑗𝑖𝑘𝑎 𝑓(𝑥, 𝑦) < 𝑇 (2.1)
Keterangan :
f(x,y) : Nilai intensitas citra grayscale
g(x,y) : Citra biner
T : Nilai Threshold
Contoh pengubahan nilai piksel citra grayscale ke citra biner menggunakan metode
thresholding dapat dilihat pada gambar 2.4.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
10
Gambar 2.4. Pengubahan nilai piksel pada proses thresholding [24].
2.2.2.4. Noise Filtering
Noise adalah gangguan yang dapat terjadi pada citra digital, noise biasa terjadi
dikarenakan pencahayan yang kurang bagus dan juga gangguan fisik pada alat akuisisi.
Noise pada citra digital dapat berupa titik-titik hitam di area citra yang berwarna putih
ataupun titik-titik putih pada area yang berwarna hitam. Untuk mengurangi noise pada citra
digital dapat dilakukan dengan median filtering.
Median filter merupakan salah satu filter non-linear. Tujuan dari penggunaan median
filter yaitu untuk mengurangi noise atau gangguan pada citra. Dikatakan non-linear karena
cara kerja metode ini tidak termasuk kedalam kategori operasi konvolusi. Operasi non-linear
dihitung dengan mengurutkan nilai intensitas sekelompok pixel, kemudian nilai pixel yang
diproses akan digantikan dengan nilai tertentu [23]. Median filtering dan contoh citra biner
hasil median filtering ditunjukan oleh gambar 2.5 dan 2.6. Secara matematis dapat
dirumuskan sebagai berikut :
𝑔(𝑥, 𝑦) = 𝑀𝑒𝑑𝑖𝑎𝑛{𝑓(𝑥 − 𝑖, 𝑦 − 𝑗), (𝑖, 𝑗) ∈ 𝑊} (2.2)
g (x,y) merupakan citra yang dihasilkan dari citra f (x,y), sedangkan W merupakan
window yang ditempatkan pada bidang citra dan (i,j) elemen dari window. Median filtering
dan contoh noise filtering ditunjukan oleh gambar 2.5 dan gambar 2.6.
𝑔(𝑥, 𝑦) = {1, 𝑗𝑖𝑘𝑎 𝑓(𝑥, 𝑦) ≥ 𝑇1 = 100
0, 𝑗𝑖𝑘𝑎 𝑓(𝑥, 𝑦) < 𝑇2 = 150
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
11
(a) (b)
Gambar 2.5. Median Filtering (a) input (b) output.
(a) (b)
Gambar 2.6. Contoh Noise Filtering Pada Citra (a) input (b) output.
2.2.2.5. Labeling Objek
Labeling adalah proses pelabelan komponen atau suatu objek yang terhubung dalam
gambar biner. Pada proses pelabelan piksel berlabel 0 adalah latar belakang, piksel berlabel
1 membuat satu objek dan, piksel berlabel 2 membuat objek kedua, dan seterusnya seperti
contoh gambar 2.7 berikut ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
12
(a) (b)
Gambar 2.7. Contoh labeling pada objek (a) input (b) output.
2.2.2.6. Segmentasi Citra
Proses segmentasi citra bertujuan untuk memisahkan dari beberapa objek yang
terekstrak. Segementasi citra yang nantinya akan mempermudah proses pengenalan objek.
Hasil keluaran segmentasi citra berupa citra biner 1 dan 0.
2.2.3. Pengenalan Ukuran dan Penentuan Posisi
Salah satu ciri yang dapat diolah dari suatu objek yaitu ukuran dan juga posisi,
dengan demikian dapat dimanfaatkan untuk proses pengenalan objek satu, objek dua, dan
lainya. Sebelum mengetahui atau mencari ukuran dan posisi dari suatu objek, didalam proses
mengekstrak dibutuhkan proses pengolahan citra seperti noise filtering, labeling, dan
segmentasi citra agar mendapat data yang bagus.
2.2.3.1 Pengenalan Ukuran
2.2.3.1.1. Area
Area adalah banyaknya jumlah piksel pada wilayah objek (luas objek). Objek pada
citra biner berwarna direpresentasikan dengan warna putih. Nilai pixel citra berwarna putih
pada area tersebut bernilai 1. Jumlah pixel (yang bernilai 1) pada suatu objek dalam citra
digital adalah nilai area-nya. Untuk mengetahui area digunakan rumus berikut [21] :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
13
𝐴𝑖 = ∑ ∑ 𝑂𝑖 (𝑥, 𝑦)𝑁𝑦=1
𝑀𝑥=1 (2.3)
Keterangan :
𝐴𝑖 = Jumlah pixel dari luas objek (area)
M = Kolom pixel
N = Baris pixel
𝑂𝑖 = Objek dalam suatu citra
2.2.3.1.2. Perimeter
Perimeter (keliling) objek menyatakan panjang dari kerangka yang dihasilkan seperti
yang terlihat pada gambar 2.8. Perimeter didapatkan dari hasil deteksi tepi suatu objek dalam
citra digital. Jumlah pixel perimeter dari setiap objek berbeda-beda.
Gambar 2.8. Perimeter (keliling) pada objek citra.
2.2.3.1.3. Thinnessratio
Thinnessratio adalah perbandingan antara jumlah pixel area dengan banyaknya pixel
perimeter dalam suatu objek pada citra digital. Setiap bentuk benda / objek memiliki nilai
thinesratio yang berbeda-beda. Untuk benda yang bentuknya sama tetapi ukuranya berbeda,
nilai thinnessratio nya tetap sama, hal ini karena perbandingan jumlah pixel area dan pixel
perimeter-nya tetap sama [22] Rumus thinnessratio yaitu :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
14
𝑇𝑖 =4𝜋𝐴𝑖
𝑃𝑖2 (2.4)
Keterangan :
𝑇𝑖 = thinnessratio
𝐴𝑖 = jumlah pixel dari luas objek (area)
𝑃𝑖 = jumlah pixel dari keliling objek (perimeter)
2.2.3.2. Pengenalan Posisi
2.2.3.2.1. Centroid
Centroid didefinisikan sebagai titik tengah atau pusat dari region. Elemen pertama
dari centroid adalah koordinat horizontal (“X” koordinat) dan vertical (“Y” koordinat) dari
objek [19]. Perbedaan nilai centroid disebabkan oleh letak dari masing-masing objek dalam
citra. Rumus centroid yaitu :
𝑥𝑖 =1
𝐴𝑖∑ ∑ 𝑥𝑂𝑖
𝑁𝑦=1
𝑀𝑥=1 (𝑥, 𝑦) (2.5)
𝑦𝑖 =1
𝐴𝑖∑ ∑ 𝑦𝑂𝑖
𝑁𝑦=1
𝑀𝑥=1 (𝑥, 𝑦) (2.6)
Keterangan :
𝑥𝑖 = koordinat pada sumbu x
𝑦𝑖 = koordinat pada sumbu y
𝐴𝑖 = jumlah pixel dari luas objek (area)
𝑀 = kolom pixel
𝑁 = baris pixel
𝑂𝑖 = objek dalam suatu citra
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
15
Gambar 2.9. Titik pusat (centroid) dari suatu objek dengan koordinat (x,y) [19].
2.2.4. Metode Pengenalan Benda
2.2.4.1. Proses capture Objek
Untuk mengenali suatu objek atau gambar diperlukan metode yang dapat difungsikan
untuk mendeteksi adanya perbedaan. Perbedaan tersebut berupa perubahan data atau suatu
nilai yang dimiliki oleh masing-masing objek atau gambar yang akan diidentifikasi
menggunakan software matlab.
Langkah untuk mengenali suatu citra dengan terlebih dahulu objek ter-capture
dengan baik dan sesuai hasil yang akan dicapai pada tiap-tiap objek. Hasil capture objek
inilah yang menjadi dasar dalam proses pengambilan dan pengamatan nilai atau data yang
terkandung pada objek. Hasil capture terhadap objek akan diubah terlebih dahulu ke dalam
bentuk citra grayscale (keabuan), berikut merupakan contoh hasil capture serta pengubahan
ke grayscale dilihat pada gambar 2.10.
Gambar 2.10. Hasil capture objek.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
16
2.2.4.2. Citra Grayscale ke Citra Biner
Citra grayscale akan diubah ke dalam bentuk citra biner (0 dan 1), dapat dilihat pada
gambar 2.11. Citra biner sebagai dasar didalam image preprocessing, yang mana objek dapat
diolah jika telah melalui perubahan ke dalam bentuk itra biner.
a) Citra grayscale b) Citra biner
Gambar 2.11. Hasil grayscale ke dalam citra biner 1 dan 0.
2.2.4.3. Proses Labeling
Untuk mengetahui jumlah objek yang terdeteksi menggunakan sebuah metode
menggunakan prinsip labeling. Labeling dapat memisahkan objek satu dengan objek yang
lainya. Proses labeling dapat dilihat pada gambar 2.12.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
17
a) Citra biner sebelum proses labeling b) Hasil sesudah proses labeling
Gambar 2.12. Proses labeling pada objek.
2.2.4.4. Proses Segmentasi Citra
Segmentasi citra yang akan mengelola setelah proses labeling telah berhasil, tujuan
adanya segmentasi citra sebagai pemisah antara objek satu dengan yang lain. Pemisahan
memudahkan didalam mengenali tiap objek yang telah terproses sebelumnya. Jika proses
segmentasi tidak dilakukan, maka proses pencarian luas, keliling, dan area akan dieksekusi
secara keseluruhan tidak memperdulikan ada berapa jumlah objek didalam citra. Proses
segmentasi dapat dilihat pada gambar 2.13.
a) Hasil labeling
Gambar 2.13. Proses segmentasi pada objek.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
18
b) Hasil Segmentasi objek 1 c) Hasil Segmentasi objek 2
Gambar 2.13. (Lanjutan) Proses segmentasi pada objek.
2.2.4.5. Proses Mencari Luas Objek
Luas objek suatu citra dapat diketahui dengan menghitung luas objek citra biner
yang memiliki nilai 1, sementara nilai 0 menyatakan bahwa tidak terdapat objek. Proses
pencarian nilai luas dari objek dapat dilihat pada gambar 2.14.
Gambar 2.14. Proses mencari luas area pada objek.
Berdasarkan gambar 2.14, dapat diketahui nilai area objek persegi menggunakan
persamaan 2.3. Area objek persegi tersebut adalah 36. Nilai area ini didapatkan dari jumlah
pixel yang bernilai 1 pada objek.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
19
2.2.4.6. Proses Mencari Keliling Objek
Keliling objek dapat diketahui nilainya dengan menghitung panjang garis tepi dari
objek citra biner yang terdeteksi. Proses pencarian nilai keliling dari objek dapat dilihat pada
gambar 2.15.
Gambar 2.15. Proses mencari luas perimeter pada objek.
Berdasarkan gambar 2.15, dapat diketahui nilai perimeter objek persegi tersebut
adalah 20. Nilai perimeter ini didapatkan dari jumlah pixel yang bernilai 1 pada tepi objek.
2.2.4.7. Proses Mencari Thinnessratio Objek
Proses thinnessratio digunakan sebagai perbandingan untuk menentukan bentuk
suatau objek yang diamati. Agar menentukan hasil pengamatan bentuk suatu objek dari
gambar 2.14 dan 2.15 didapatkan nilai area (Ai) = 36 dan nilai perimeter (Pi) = 20. Dari data
tersebut dapat dicari nilai thinnessratio menggunakan persamaan 2.4. Contoh penyelesaian
perhitungan nilai thinnessratio sebagai berikut :
𝑇𝑖 =4𝜋𝐴𝑖
𝑃𝑖2
𝑇𝑖 =4𝜋 𝑥 36
(20)2
𝑇𝑖 = 1,13
Berdasarkan hasil perhitungan, didapatkan nilai thinnessratio yaitu 1,13.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
20
2.2.4.8. Proses Mencari Posisi Objek
Segmentasi citra yang akan mengelola setelah proses labeling telah berhasil, dan
disinilah proses pencarian nilai centroid (titik kordinat x dan y) dan luas area objek. Dapat
dilihat pada gambar 2.16. adalah proses pencarian centroid.
1 2 3 4 5 6 7
1 0 0 0 0 0 0 0
2 0 1 1 1 0 0 0
3 0 1 1 1 0 0 0
4 0 1 1 1 0 0 0
5 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0
Gambar 2.16. Proses mencari nilai centroid.
Bersasarkan contoh pada gambar 2.16 dapat dicari nilai centroid dengan
menggunakan persamaan 2.4 dan 2.5. Berikut ini adalah contoh cara menghitung nilai
centroid.
a) Koordinat x
𝑥𝑖 =1
9 (2𝑥1) + (2𝑥1) + (2𝑥1) + (3𝑥1) + (3𝑥1) + (3𝑥1) + (4𝑥1) + (4𝑥1) + (4𝑥1)
𝑥𝑖 =1
9 (27)
𝑥𝑖 = 3
b) Koordinat y
𝑦𝑖 =1
9 (2𝑥1) + (2𝑥1) + (2𝑥1) + (3𝑥1) + (3𝑥1) + (3𝑥1) + (4𝑥1) + (4𝑥1) + (4𝑥1)
𝑦𝑖 =1
9 (27)
𝑦𝑖 = 3
Berdasarkan hasil perhitungan, didapatkan nilai centroid (x, y) yaitu (x = 3, y = 3).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
21
2.3. Lengan Robot
Lengan robot atau bisa disebut robot manipulator adalah gabungan dari beberapa
segmen dan joint yang secara umum dibagi menjadi tiga bagian yaitu arm, wrist, dan gripper.
Konfigurasi robot biasanya digunakan untuk mengklasifikasikan robot-robot industri.
Konfigurasi robot mengarah pada bentuk geometri dari manipulator [1]. Sistem lengan robot
memiliki empat komponen dasar, yaitu : Manipulator, end effector, actuator, dan kontroler.
2.3.1. Manipulator
Manipulator pada robot lengan memiliki tiga bagian, yaitu bagian dasar (base),
bagian lengan (arms), dan bagian pergelangan (wrist). Bagian-bagian manipulator lengan
robot dapat dilihat pada gambar 2.17 [10].
Gambar 2.17. Manipulator Pada Lengan Robot [1]
Bagian dasar (base) manipulator bisa secara paten terpasang pada dasar area kerja
ataupun terpasang pada rel. bagian lengan (arms) berfungsi untuk memposisikan end-
effector, dan bagian pergelangan (wrist) berfungsi untuk mengatur orientasi dari end-
effestor. Bagian ujung pada robot lengan terpasang end-effector atau yang sering disebut
dengan gripper yang berfungsi untuk sebagai alat mencengkram pada lengan robot [10].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
22
2.3.2. End effector
End-effector dapat ditemukan hampir di semua aplikasi robot, walaupun
keberadaanya bukan merupakan komponen dasar dari sistem robot. End-effector berfungsi
sebagai bagian terakhir yang menghubungkan antara manipulator dengan objek [10].
Berikut ini adalah contoh jenis end-effector dilihat pada gambar 2.18.
Gambar 2.18. end-effector jenis gripper [11].
2.3.3. Kontroler
Kontroler adalah rangkaian elektronik berbasis mikroprosesor yang berfungsi sebaga
pengatur seluruh komponen dalam membentuk fungsi kerja [3]. Kontroler menyimpan
informasi berupa data–data pergerakan lengan robot yang telah deprogram dengan bahasa
pemrograman tertentu pada mikrokontroler. Informasi dan data-data tersebutdisiman dalam
mmori. Data tersebut dapat dioputkan untuk menentukan pergerakan dari manipulator yang
menggunakan motor servo sebagai aktuator.
2.4. 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 [8].
Gambar 2.19. Momen gaya
𝑟
𝜃
F
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
23
Rumus:
𝐹 = 𝑚 𝑥 𝑔 (2.7)
𝜏 = 𝐹 𝑟 𝑆𝑖𝑛𝜃 (2.8)
Keterangan :
𝑚 = Masa benda (kg)
𝑔 = Grafitasi (m/s2)
𝜏 = Torsi (N-m)
𝑟 = Jarak dari titik pangkal gaya sampai sumbu putar (m)
𝐹 = Gaya(N)
𝜃 = Derajat sumbu putar
Selain bergerak secara vertical servo juga dapat bergerak secara horizontal, untuk
menghitung total torsi yang bekerja pada servo horizontal bisa menggunakan hokum Newton
II [25].
∑ τ = I α (2.9)
Dimana :
𝐼 = 𝑚 𝑥 𝑟2 (2.10)
𝛼 = ∆𝜔
∆𝑡 (2.11)
𝜔 = 2𝜋
𝑇 (2.12)
Keterangan :
∑ 𝜏 = Resultan torsi (N.m)
I = Momen inersia (kg.m2)
α = Percepatan sudut (rad/s2)
m = Massa (kg)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
24
r = Jari-jari antara sumbu rotasi dengan gaya (m)
ω = Kecepatan sudut (rad/sec)
T = Periode (s)
Gambar 2.20. Contoh soal dan pembahasan tentang torsi
Dengan melihat informasi dari data atau nilai yang terkandung pada gambar 2.20,
𝑚 = 500 𝑔𝑟𝑎𝑚 = 0,5 𝑘𝑔, 𝑔 = 9,8 𝑚/𝑠2, 𝑟 = 10 𝑐𝑚 = 0,1 𝑚 . Berikut adalah contoh
pembahasan dari gambar 2.19 :
𝐹 = 𝑚 𝑥 𝑔
𝐹 = 0,5 𝑥 9,8
= 4,9 N
𝜏 = 𝐹 𝑟 𝑆𝑖𝑛𝜃
𝜏 = 4,9 𝑥 0,1 𝑥 𝑆𝑖𝑛 90°
= 0,49 N-m
Berdasarkan persoalan tersebut, dibutuhkan motor servo yang memiliki torsi lebih
besar dari 0,49 N.m untuk dapat mengangkat beban tersebut.
10 cm
M = 500 gram
𝜃
𝑟
F
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
25
2.5. Inverse Kinematics
Kinematika robot adalah studi analistis pergerakan lengan robot terhadap sistem
kerangka koordinat acuan yang diam/bergerak tanpa memperlihatkan gaya yang
menyebabkan pergerakan tersebut [19]. Lengan robot 2 sendi yaitu sebuah lengan robot yang
terdiri dari 2 buah lengan dan 2 buah derajat kebebasan. Ilustrasi dari lengan robot ini
ditunjukan oleh gambar 2.21.
Gambar 2.21. Invers Kinematics dua sendi.
Pada inverse kinematics, nilai koordinat 𝑥 dan 𝑦 serta 𝑙1 dan 𝑙2 sudah ditentukan
sehingga hanya dicari nilai 𝜃2 dan 𝜃1. Persamaan untuk mendapatkan nilai 𝜃2 dan 𝜃1
ditunjukan pada rumus 2.13 dan 2.14[19].
𝜃2 = 𝑎𝑟𝑐𝑜𝑠 ( 𝑥2+𝑦2− 𝑙1
2−𝑙22
2 𝑙1 𝑙𝑙2 ) (2.13)
𝜃1 = 𝑎𝑟𝑐𝑠𝑖𝑛 ( 𝑙2 sin(𝜃2)
√𝑥2+𝑦2 ) + 𝑎𝑟𝑐𝑡𝑎𝑛(
𝑦
𝑥 ) (2.14)
Keterangan :
𝑥 = Jarak antar robot dan benda
𝑦 = Tinggi benda
𝑙1 = Panjang lengan 1
𝑙2 = Panjang lengan 2
𝜃1 = Sudut 𝜃1
𝜃2 = Sudut 𝜃2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
26
Gambar 2.22. Ukuran lengan robot.
Dengan melihat informasi dari data atau nilai ukuran yang terkandung pada tiap-tiap
bagian robot pada gambar 2.22 yaitu, 𝑥 = 16 cm, 𝑦 = 8 cm, 𝑙1= 14 cm, 𝑙2 = 24 cm. Berikut
pembahasan untuk mendapatkan nilai 𝜃2 dan 𝜃1 dari contoh soal pada gambar 2.21.
𝜃2 = 𝑎𝑟𝑐𝑜𝑠 ( 𝑥2 + 𝑦2 − 𝑙1
2 − 𝑙22
2 𝑙1 𝑙2 )
𝜃2 = cos−1 (
162 + 82 − 142 − 242
2 𝑥 14 𝑥 24)
𝜃2 = 132,269𝑜
𝜃1 = 𝑎𝑟𝑐𝑠𝑖𝑛 ( 𝑙2 sin(𝜃2)
√𝑥2 + 𝑦2 ) + 𝑎𝑟𝑐𝑡𝑎𝑛(
𝑦
𝑥 )
𝜃1 = 𝑎𝑟𝑐𝑠𝑖𝑛 ( 24 sin(132,269)
√162 + 82 ) + 𝑎𝑟𝑐𝑡𝑎𝑛(
1
16 )
𝜃1 = 86,7𝑜
Berdasarkan persoalan tersebut, dibutuhkan sudut putar pada 𝑙1 = 132,269𝑜, dan
𝑙2 = 86,7𝑜 untuk dapat menuju dan mengambil benda.
24 cm
14 cm
16 cm
8 cm
𝒍𝟏
𝒍𝟐
𝒙
𝒚
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
27
2.6. Aktuator Robot
Istilah yang digunakan untuk mekanisme yang mengeerakkan lengan robot. Aktuator
dapat berupa hidrolik dan pneumatic yang digunakan untuk mengendalikan persendian
prismatik karena dapat menghasilkan gerakan linear secara langsung, atau pula actuator
motor listrik yang menghasilkan gerakan rotasi. Penggerak yang umum digunakan pada saat
ini adalah penggera motor servo. Penggerak motor ini lebih mudah dikontrol dibanding
pergerakan lainya.
2.6.1. Motor Servo
Motor DC sering disebut ”motor servo”. Dalam realitanya, berbeda dengan motor
DC. Motor servo merupakan motor DC yang mempunyai kualitas tinggi. Motor ini sudah
dilengkapi dengan system control. Pada aplikasinya, motor servo sering digunakan sebagai
control loop tertutup, sehingga dapat menangani perubahan posisi secara tepat dan akurat
begitu juga dengan pengaturan kecepatan dan percepatan [1].
Gambar 2.23. Model fisik motor servo [1].
Bentuk fisik dari motor servo dapat dilihat pada gambar 2.23. Sistem pengkabelan
motor servo terdiri dari 3 bagian, yaitu Vcc, Gnd, dan Kontrol (PWM). Penggunan PWM
pada motor servo berbeda dengan penggunaan PWM pada motor DC. Pada motor servo,
pemberian nilai PWM akan membuat motor servo bergerak pada posisi tertentu lalu berhenti
(kontrol posisi) [1].
Motor servo dibedakan menjadi 2, yaitu continuous servo motor dan uncontinuous
servo motor. Pada continuous servo motor, motor servo dapat berputar 360° sehingga
memungkinkan untuk bergerak rotasi [1]. Untuk menggerakkan motor servo ke kanan atau
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
28
ke kiri, tergantung dari nilai delay yang kita berikan. Untuk membuat servo pada posisi
center, berikan pulsa 1.5ms. Untuk memutar servo ke kanan, berikan pulsa = 1ms untuk berputar ke kiri dengan delay 20ms, seperti ilustrasi pada gambar 2.24
berikut :
Gambar 2.24. Pensinyalan motor servo [1].
2.6.2. PWM (Pulse width Modulation)
Servo motor dikendalikan dengan memberikan inputan berupa PWM (Pulse Width
Modulation). Sinyal PWM yang diberikan ke servo merupakan sinyal yang proporsional
bersarnya terhadap posisi poros output servo tersebut. Secara spesifik, dalam perulangan 20
ms, sinyal PWM sebesar 1 ms akan menghasilkan output shaft yang bergerak ke posisi paling
kiri. Dengan perulangan yang sama, sinyal PWM sebesar 2 ms akan menghasilkan output
shaft yang bergerak ke arah paling kanan. Dengan demikian, untuk sinyal PWM yang
besarnya 1,5 ms akan menghasilkan posisi ditengah-tengah.
2.7. Mikrokontroler AVR ATmega32
ATmega32 termasuk dalam seri microcontroller unit (MCU) CMOS 8-bit keluarga
AVR (Alf and Vegard’s Risch Processor) yang dirancang oleh Atmel berbasis arsitektur
RISC (Reduced Instruction Set Computer). Hampir semua instruksi dieksekusi dalam satu
siklus [12]. ATmega32 juga memiliki EEPROM dan RAM dua kali lebih besar dari
ATMEGA16 yakni EEPPOM sebesar 1KB dan SRAM sebesar 2KB.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
29
Beberapa fasilitas yang terdapat pada mikrokontroler Atmega32 antara lain:
a) Kapasitas memori flash 32 KB, Internak SRAM (Static Random Acces Nenory) 2 K byte,
dan EEPROM (Electrically Erasable Programmable Read Only Memory) 1024 byte.
b) I/O sebanyak 32 buah, yang terdiri dari 4 port yaitu Port A, Port B, Port C, Port D.
c) ADC (Analog to Digital) 10 bit sebanyak 8 channel.
d) Tiga buah timer/counter yaitu Timer 0, Timer 1, dan Timer 2.
e) Unit interupsi internal dan eksternal.
f) Empat saluran output PWM (Pulse Width Modulation).
g) Port antarmuka SPI (Serial Peripheral Interface).
h) Port USART (Universal Synchronous-Asynchronous Receiver Transmitter) untuk
komunikasi serial.
i) Komunikasi serial TWI (Two Wire Interface).
j) Komparator analog.
2.7.1. Diskripsi Mikrokontroler AVR ATmega32
Konfigurasi Pin Mikrokontroller ATmega32 dengan desain 40 pin dapat dilihat pada
gambar 2.25.
Gambar 2.25. Konfigurasi Pin Mikrokontroler AVR Atmega [5].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
30
Penjelasan konfigurasi PIN pada mikrokontroler AVR ATmega 32 komputer, secara umum:
a. Pin 1 sampai 8 (Port B) merupakan port parallel 8 bit dua arah (bidirectional), yang dapat
digunakan untuk general purpose dan special feature.
b. Pin 9 (Reset) jika terdapat minimum pulse pada saat active low.
c. Pin 10 (VCC) dihubungkan ke Vcc (2,7 – 5,5 Volt).
d. Pin 11 dan 31 (GND) dihubungkan ke Vss atau Ground.
e. Pin 12 (XTAL 2) adalah pin masukkan ke rangkaian osilator internal. Sebuah osilator
kristal atau sumber osilator luar dapat digunakan.
f. Pin 13 (XTAL 1) adalah pin keluaran ke rangkaian osilator internal. Pin ini dipakai bila
menggunakan osilator kristal.
g. Pin 14 sampai 21 (Port D) adalah 8-bit dua arah (bi-directional I/O) port dengan internal
pull-up resistors) digunakan untuk general purpose dan special feature.
h. Pin 22 sampai 29 (Port C) adalah 8-bit dua arah (bi-directional I/O) port dengan internal
pull-up resistors digunakan untuk general purpose dan special feature.
i. Pin 30 adalah Avcc pin penyuplai daya untuk port A dan A/D converter dan dihubungkan
ke Vcc. Jika ADC digunakan maka pin ini dihubungkan ke Vcc.
j. Pin 32 adalah A REF pin yang berfungsi sebagai referensi untuk pin analog jika A/D
Converter digunakan.
k. Pin 33 sampai 40 (Port A) adalah 8-bit dua arah (bi-directional I/O) port dengan internal
pull-up resistors digunakan untuk general purpose.
2.7.2. Timer/Counter
Timer / Counter adalah bagian mikrokontroller yang bersifat independen dari CPU,
atau dengan kata lain tidak terpengaruh oleh kerja prosesor. Fungsi utama dari timer /
counter seperti dengan namanya, yaitu sebagai pewaktu (timer) atau penghitung (counter)
atau berfungsi untuk menciptakan periode waktu, menghitung waktu dan menghitung
kejadian. Pada chip AVR, timer/counter dapat berfungsi untuk mementukan lebar pulsa atau
untuk membangkitkan sinyal PWM (Pulse Width Modulation). Beberapa timer/counter pada
AVR juga digunakan sebagai penyelarasan waktu (kalibrasi) pada aplikasi real time.
timer/counter dibagi berdasarkan lebar register yang mengandung nilai waktu atau
menghitung nilai [4].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
31
2.7.2.1. 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. Exsternal event counter
6. Prescaler clock hingga 10 bit
7. Membangkitkan interupsi saat timer overflow dana tau compare match
Perhitungan overflow interrupt sebagai pembangkit PWM ditunjukkan pada
persamaan 2.15, 2.16, dan 2.17 berikut [10].
𝑇 =1
𝑓 (2.15)
𝑂𝑣𝑒𝑟𝑓𝑙𝑜𝑤 𝑖𝑛𝑡𝑒𝑟𝑟𝑢𝑝𝑡 = 𝑁 𝑥 256 𝑥 𝑇 (2.16)
𝑂𝐶𝑅 = 𝑃𝑢𝑙𝑠𝑒
𝑂𝑣𝑒𝑟𝑓𝑙𝑜𝑤 𝑖𝑛𝑡𝑒𝑟𝑟𝑢𝑝𝑡 (2.17)
𝑃𝑢𝑙𝑠𝑒 = 𝑆𝑢𝑑𝑢𝑡
180°+ 1 (2.18)
Keterangan:
f = frekuensi yang digunakan untuk eksekusi program
T = periode
N = prescaller yang digunakan
OCR = nilai cacahan pulsa
Pulse = lebar pulsa
𝑆𝑢𝑑𝑢𝑡 = Lebar sudut motor servo
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
32
Berikut merupakan mode-mode operasi timer [10].
a) Mode normal, timer digunakan untuk menghitung saja, membuat delay, dan
menghitung selang waktu.
Gambar 2.26. Mode Phase Correct PWM [5]
b) Mode phase correct PWM (PCP), digunakan untuk mnghasilkan sinyal PWM
dimana nilai register counter (TCNT0) yang mencacah naik dan turun secara
terus menerus akan selalu dibandingkan dengan register pembanding OCR0.
Hasil perbandingan register TCNT0 dan OCR0 digunakan utnuk membangkitkan
sinyal PWM yang dikeluarkan pada OC0 seperti ditunjukkan Gambar 2.23.
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 dulum karena timer 0 dan 2
maksimumnya 255, maka range OCR 0-255.
d) Fast PWM, mode ini hamper sama dengan mode phase correct PWM, hanya
perbedaanya adalah register counter TCNT0 mencacah naik saja dan tidak pernah
mencacah turun seperti terlihat pada Gambar 2.27.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
33
Gambar 2.27. Mode Fast PWM [5].
2.7.3. Komunikasi Serial USART
Universal Synchronous and Asychrnous Serial and Transmitter (USART) adalah
suatu piranti komunikasi serial yang fleksibel yang tersedia di dalam fitur mikrokontroler
ATmega32. Pada proses inisialisasi setiap perangkat yang terhubung harus memiliki
baudrate yang sama. Beberapa fasilitas yang disediakan USART AVR adalah sebagai
berikut:
a) Operasi full duplex (mempunyai register reciver dan transmit yang terpisah)
b) Mendukung kecepatan multiprosesor
c) Mode kecepatan berorde Mbps
d) Operasi asinkron atau sinkron
e) Operasi master atau slave clock sinkron
f) Dapat menghasilkan baud-rate (laju data) dengan resolusi tinggi
g) Modus komunikasi kecepatan ganda pada asinkron
2.7.3.1. Inisialisasi USART
Salah satu kelebihan menggunakan sistem USART dibandingkan dengan UART
adalah pada operasi Full Duplex. Pada mikrokontroler AVR untuk mengaktifkan dan
mengeset komunikasi USART dilakukan dengan cara mengaktifkan register-register yang
digunakan untuk komunikasi USART. Dalam prosesinisialisasi, ada beberapa buah register
yang perlu ditentukan nilainya, yaitu:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
34
2.7.3.2. USART I/O Data