pengendali lengan robot dengan gamepad - core.ac.uk · –robot diciptakan saat ini memiliki...
TRANSCRIPT
TUGAS AKHIR
PENGENDALI LENGAN ROBOT DENGAN
GAMEPAD
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Oleh:
BASILIUS KRISTIAWAN WICAKSONO
NIM : 135114035
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
FINAL PROJECT
ROBOTIC ARM CONTROLLER WITH GAMEPAD
In partial fulfilment of requirements
for the degree of Sarjana Teknik
In Electrical Engineering Study Program
BASILIUS KRISTIAWAN WICAKSONO
NIM : 135114035
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO :
"Pendidikan merupakan perlengkapan paling baik untuk hari tua."
(Aristoteles)
Dengan ini kupersembahkan karyaku ini untuk ......
Tuhan Yesus Kristus Pembimbingku yang setia,
Negaraku Indonesia yang tercinta,
Keluargaku tercinta,
Teman-teman seperjuangan,
Dan semua orang yang mengasihiku
Terima Kasih untuk
semuanya...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
INTISARI
Perkembangan teknologi saat ini sangat pesat salah satunya teknologi robotika. Robot
–robot diciptakan saat ini memiliki kegunaan beragam yang berfungsi untuk membantu
pekerjaan manusia. Penelitian ini bertujuan membuat pengendali lengan robot 3 DOF dengan
USB Gamepad. Kontroler yang digunakan adalah ATmega328 yang menggunakan bahasa
arduino. Komunikasi antara mikrokontroler dan USB gamepad menggunakan USB host
shield. Lengan robot dapat bergerak menggunakan motor servo sebagai aktuator dan dapat
bergerak bebas berdasarkan tiga axis yakni base, shoulder, elbow, dan sebagai end effector-
nya adalah gripper. Sistem pengendalian dari lengan robot ini adalah open loop, yang mana
masih manual dari user. Hasil dari penelitian ini adalah lengan robot yang dapat bergerak
presisi dengan ketelitian 5˚ menggunakan kendali gamepad yang memiliki rata-rata error 5%.
Kata kunci : Lengan robot, Gamepad, USB Host Shield, Arduino, 3 DOF
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
The technology developments today's are very massive for example, robotics. Today
robots have a variety of uses that help human work. This research aims to make the 3 DOF
robotic arm controller with a USB gamepad. Atmega328 is the controller with arduino based
language. Communication between microcontroller and USB gamepad use USB host shield.
The robotic arm moves using servo motors as actuators and also can moves freely by 3 axes,
base, shoulder, elbow, and gripper for the end effector. This project using open loop sistem
control that still manual control from user. The result of this research is a robotic arm that
can move with precision accuracy 5˚ using gamepad control. The robotic arm has an average
error of 5%.
Keywords : Robotic Arm, Gamepad, USB Host Shield, Arduino, 3 DOF
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
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
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI
KARYA ILMIAH UNTUK KEPENTIANGAN AKADEMIS ...................................... vii
INTISARI ...................................................................................................................... viii
ABSTRACT ....................................................................................................................... ix
KATA PENGANTAR ...................................................................................................... x
DAFTAR ISI .................................................................................................................... xi
DAFTAR GAMBAR ..................................................................................................... xiii
DAFTAR TABEL .......................................................................................................... xvi
DAFTAR PERSAMAAN ............................................................................................. xvii
DAFTAR LAMPIRAN ................................................................................................ xviii
BAB I PENDAHULUAN
1.1. Latar Belakang ..................................................................................................... 1
1.2. Tujuan .................................................................................................................. 2
1.3.Manfaat ................................................................................................................. 2
1.4. Batasan Masalah .................................................................................................. 3
1.5. Metodologi Penelitian .......................................................................................... 3
BAB II DASAR TEORI
2.1. Motor Servo ......................................................................................................... 5
2.1.1. Prinsip Kerja ............................................................................................. 5
2.1.2. Jenis Motor Servo ..................................................................................... 7
2.2. Torsi ..................................................................................................................... 8
2.3. Sistem Kontroler Lengan Robot .......................................................................... 9
2.4. Gamepad ............................................................................................................ 10
2.5. USB Host Shield ................................................................................................. 11
2.5.1. Operasi SPI Bus ...................................................................................... 12
2.5.2. Komunikasi USB .................................................................................... 15
2.6. Mikrokontroler Atmega328P ............................................................................. 19
2.6.1. Fitur ....................................................................................................... 21
2.6.2. Konfigurasi Pin ...................................................................................... 22
2.7. FTDI FT232RL .................................................................................................. 25
2.8. Arduino .............................................................................................................. 27
2.9. Sudut Garis Parallel ........................................................................................... 29
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
2.10. Kerangka Lengan Robot ................................................................................... 30
2.10.1. Link Penggerak Menggunakan Prinsip Tuas ........................................ 31
2.10.2. Jangkauan Lengan Robot ...................................................................... 32
BAB III PERANCANGAN PENELITIAN
3.1. Perancangan Sistem ........................................................................................... 34
3.1.1. Perangcangan Fungsi Tombol Gamepad ............................................... 35
3.2. Perancangan Hardware ...................................................................................... 35
3.2.1. Perancangan Rangkaian Sistem Minimum
Mikrokontroler Atmega328P .................................................................. 35
3.2.2. Perancangan Kerangka Robot ................................................................ 39
3.2.3. Torsi Motor ............................................................................................ 43
3.2.4. Gerak Lengan Robot .............................................................................. 45
3.2.5. Jangkauan Lengan Robot ....................................................................... 47
3.3. Perancangan Software ........................................................................................ 51
3.3.1. Flowchart Utama .................................................................................... 51
BAB IV HASIL DAN PEMBAHASAN
4.1. Hasil Perangcangan Perangkat Keras ................................................................ 55
4.2. Hasil Pengujian Perangkat Keras ....................................................................... 58
4.2.1. Pengujikan Ketepatan Sudut Lengan Robot .......................................... 58
4.2.2. Pengujian Kinematika Lengan Robot .................................................... 66
4.2.3. Analisa Pergerakan Link ....................................................................... 70
4.2.4. Pengujian Repeatability Gerakan Lengan Robot ................................... 71
4.3. Analisa Perangkat Lunak ................................................................................... 73
4.3.1. Inisialisasi .............................................................................................. 73
4.3.2. Pembacaan Input dan Perintah ke Output .............................................. 75
4.3.3. Kecepatan Motor .................................................................................... 76
4.3.4. Pengiriman Data ke User melalui Serial Monitor ................................. 76
BAB V KESIMPULAN DAN SARAN
5.1. Kesimpulan ........................................................................................................ 78
5.2. Saran .................................................................................................................. 78
DAFTAR PUSTAKA .................................................................................................... 79
LAMPIRAN................................................................................................................... 81
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
DAFTAR GAMBAR
Halaman
Gambar 1.1 Diagram Alur Kerja Sistem........................................................................... 3
Gambar 2.1 Gelombang Sinyal PWM [29]....................................................................... 6
Gambar 2.2 Prinsip Kerja Motor Servo [29] ..................................................................... 6
Gambar 2.3 Motor Servo Standar [30] ............................................................................. 7
Gambar 2.4 Mikro Servo [31] ........................................................................................... 8
Gambar 2.5 Kontrol Open Loop dalam Sistem Lengan Robot ......................................... 9
Gambar 2.6 Konfigurasi Tombol Gamepad [19] ............................................................ 10
Gambar 2.7 Konfigurasi Board USB Host Shield [5] ..................................................... 11
Gambar 2.8 Pengiriman Data SPI [16] ........................................................................... 13
Gambar 2.9 SPI Bus Menggunakan Slave-select [16] .................................................... 14
Gambar 2.10 Data transmisi SPI bus [15] ...................................................................... 15
Gambar 2.11 Konfugurasi Kabel USB [3] ..................................................................... 15
Gambar 2.12 Detached State [3] ..................................................................................... 15
Gambar 2.13 Attached State [3] ...................................................................................... 16
Gambar 2.14 Idle State [20] ............................................................................................ 16
Gambar 2.15 Contoh Pengiriman Data USB [18] ........................................................... 17
Gambar 2.16 Konfigurasi Pin Atmega328P dengan Fungsi Pada Arduino [7] .............. 20
Gambar 2.17 Diagram Blok ATmega328 [4] ................................................................. 21
Gambar 2.18 FTDI Basic Breakout ............................................................................... 25
Gambar 2.19 Tampilan IDE Arduino ............................................................................. 28
Gambar 2.20 Sudut-Sudut yang Dimiliki oleh Garis Parallel ......................................... 30
Gambar 2.21 Lengan Robot 3 DOF [26] ........................................................................ 31
Gambar 2.22 Prinsip kerja tuas [28] ............................................................................... 32
Gambar 2.23 Konfigurasi Perhitungan Jangkauan Lengan Robot ................................. 33
Gambar 3.1 Diagram Blok Perancangan ........................................................................ 34
Gambar 3.2 Rangkaian Reset Mikrokontroler ................................................................ 36
Gambar 3.3 Rangkaian Osilator Mikrokontroler ............................................................ 36
Gambar 3.4 Rangkaian Minimum Sistem dan Interface-nya ......................................... 37
Gambar 3.5 Koneksi Antara USB Host Shield Dan Mikrokontroler .............................. 38
Gambar 3.6 Desain Griper [26] ..................................................................................... 39
Gambar 3.7 Link Lengan Robot Tampak Kanan [14] .................................................... 40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
Gambar 3.8 Link Lengan Robot Tampak Kiri [14]........................................................ 40
Gambar 3.9 Sudut Pergerakan Lengan Robot [14] ........................................................ 41
Gambar 3.9 Sudut Pergerakan Lengan Robot [14] ........................................................ 41
Gambar 3.11 Lengan Robot Tampak Samping Kanan (Kiri)
Dan Tampak Samping Kiri (Kanan) [14] ....................................................................... 42
Gambar 3.12 Lengan Robot Tampak Atas (Kiri)
Dan Tampak Bawah (Kanan) [14] .................................................................................. 42
Gambar 3.13 Lengan Robot Tampilan 3D [14] ............................................................. 42
Gambar 3.14 Dimensi Lengan dan Link Lengan Robot ................................................ 45
Gambar 3.15 Sudut-Sudut pada Lengan Robot .............................................................. 46
Gambar 3.16 Arah Pergerakan Semua Sendi pada Lengan Robot ................................. 47
Gambar 3.17 Konfigurasi Perhitungan Jangkauan Lengan Robot .................................. 47
Gambar 3.18 Posisi Maksimal Vertikal ......................................................................... 48
Gambar 3.19 Posisi Maksimal Horisontal ..................................................................... 48
Gambar 3.20 Pergerakan Sudut Griper [26] .................................................................. 49
Gambar 3.21 Pergerakan Sudut Elbow ........................................................................... 50
Gambar 3.22 Pergerakan Sudut Base ............................................................................. 51
Gambar 3.23 Flowchart Utama ...................................................................................... 52
Gambar 3.24 Subsistem dari Pengolahan Data ............................................................. 53
Gambar 3.25 Pembacaan Alamat Tombol Gamepad .................................................... 54
Gambar 3.26 Penomoran USB Device Berdasarkan Tombol-tombolnya ...................... 54
Gambar 4.1 Keseluruhan Sistem Pengendali Lengan Robot dengan Gamepad ............ 55
Gambar 4.2 Mekanik Lengan Robot .............................................................................. 56
Gambar 4.3 Letak Motor pada Lengan Robot ............................................................... 56
Gambar 4.4 Minimum Sistem Atmega328 .................................................................... 57
Gambar 4.5 Minimum Sistem dan USB host shield ...................................................... 57
Gambar 4.6 Letak Rangkaian Elektrik pada Lengan Robot .......................................... 57
Gambar 4.7 Grafik Perbandingan Sudut Base ............................................................... 60
Gambar 4.8 Grafik Sudut Shoulder ............................................................................... 63
Gambar 4.9 Grafik Perbandiang Sudut Input dan Sudut Aktual Pada Sendi Elbow ..... 65
Gambar 4.10 Sumbu X Dan Y pada Lengan Robot ....................................................... 67
Gambar 4.11 Ruang Kerja Lengan Robot dalam X dan Y ............................................ 69
Gambar 4.12 Nama Sudut Link Segi 4 pada Lengan Robot .......................................... 70
Gambar 4.13 Inisialisasi Library yang Digunakan ........................................................ 74
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
Gambar 4.14 Inisalisasi Variabel dan Input/Output 1 ................................................... 74
Gambar 4.15 Inisalisasi Variabel dan Input/Output 2 ................................................... 74
Gambar 4.16 Input dan Output pada Program ............................................................... 75
Gambar 4.17 Delay pada Void Loop .............................................................................. 76
Gambar 4.18 Inisialisasi Pembacaan Serial ................................................................... 76
Gambar 4.19 Pembacaan Serial Input dan Output ......................................................... 76
Gambar 4.20 Tampilan Serial Monitor sebagai User Interface .................................... 77
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
DAFTAR TABEL
Halaman
Tabel 2.1 Tabel Konfigurasi Pin Servo ............................................................................ 8
Tabel 2.2 State pada Koneksi USB [3] ........................................................................... 16
Tabel 2.2 (Lanjutan) State pada Koneksi USB [3] ......................................................... 17
Tabel 2.3 Data Hex dari Gamepad ................................................................................ 17
Tabel 2.3 (Lanjutan) Data Hex dari Gamepad ............................................................... 18
Tabel 2.4 Paket Data Gamepad [17] .............................................................................. 19
Tabel 2.5 Fungsi Khusus Port B [13] ............................................................................. 22
Tabel 2.5 (Lanjutan) Fungsi Khusus Port B [13] ........................................................... 23
Tabel 2.6 Fungsi Khusus Port C [13] ............................................................................. 23
Tabel 2.7 USB Interface Group [9] ................................................................................ 26
Tabel 2.8 Power dan Ground Group [9] ....................................................................... 26
Tabel 2.9 Miscellanous Signal Group [9] ...................................................................... 26
Tabel 2.10 UART Interface dan CBUS Group [9] ........................................................ 26
Tabel 2.10 (Lanjutan) UART Interface dan CBUS Group [9] ...................................... 27
Tabel 2.11 Keterangan Tombol Pada Tampilan IDE Arduino [12] ............................... 29
Tabel 3.1 Fungsi Tombol Gamepad .............................................................................. 35
Tabel 3.2 Port pada Mikrokontroler ............................................................................... 38
Tabel 4.1 Sudut Sendi Base ........................................................................................... 59
Tabel 4.1 (Lanjutan) Sudut Sendi Base ......................................................................... 60
Tabel 4.2 Pengujian Sudut Shoulder .............................................................................. 61
Tabel 4.2 (Lanjutan) Pengujian Sudut Shoulder ............................................................ 62
Tabel 4.3 Tabel Pengambilan Data Elbow ..................................................................... 64
Tabel 4.4 Tabel Data Gripper ........................................................................................ 66
Tabel 4.5 Data Forward Kinematik Lengan Robot ....................................................... 67
Tabel 4.5 (Lanjutan) Data Forward Kinematik Lengan Robot ..................................... 68
Tabel 4.6 Sudut Link Segi 4 Lengan Robot ................................................................... 70
Tabel 4.7 Analisa Sudut Link Segi 4 Lengan Robot ...................................................... 71
Tabel 4.8 Repeatability Gerak Sendi Base .................................................................... 71
Tabel 4.9 Repeatability Gerak Sendi Shoulder .............................................................. 72
Tabel 4.10 Repeatability Gerak Sendi Elbow ................................................................ 72
Tabel 4.11 Repeatability Gerak Gripper ....................................................................... 73
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
DAFTAR PERSAMAAN
Halaman
Persamaan 2.1 .................................................................................................................. 6
Persamaan 2.2 .................................................................................................................. 6
Persamaan 2.3 .................................................................................................................. 8
Persamaan 2.4 .................................................................................................................. 8
Persamaan 2.5 .................................................................................................................. 8
Persamaan 2.6 .................................................................................................................. 8
Persamaan 2.7 ................................................................................................................ 29
Persamaan 2.8 ................................................................................................................ 30
Persamaan 2.9 ................................................................................................................ 32
Persamaan 2.10 .............................................................................................................. 33
Persamaan 2.11 .............................................................................................................. 33
Persamaan 2.12 .............................................................................................................. 33
Persamaan 2.13 .............................................................................................................. 33
Persamaan 2.14 .............................................................................................................. 33
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviii
DAFTAR LAMPIRAN
Halaman
L1. Grafik Kestabilan Gerak Base ................................................................................. L.1
L2. Grafik Kestabilan Gerak Shoulder .......................................................................... L.1
L3. Grafik Kestabilan Gerak Elbow ............................................................................... L.2
L4. Grafik Kestabilan Gerak Gripper ............................................................................ L.2
L5.Gambar Serial Monitor Sendi Base .......................................................................... L.3
L6. Gambar Serial Monitor Sendi Shoulder .................................................................. L.4
L7. Gambar Serial Monitor Sendi Elbow ...................................................................... L.5
L8. Gambar Serial Monitor Gripper .............................................................................. L.6
L9. Tabel Pengujian Ketepatan Sudut pada Sendi Base (tiga kali pengujian) ............... L.7
L10. Tabel Pengujian Ketepatan Sudut pada Sendi Shoulder (tiga kali pengujian) .... L.10
L11. Tabel Pengujian Ketepatan Sudut pada Sendi Elbow (tiga kali pengujian) ........ L.13
L12. Tabel Pengujian Ketepatan Sudut pada Gripper (tiga kali pengujian) ................ L.16
L13. Tabel Data Forward Kinematik Lengan Robot ................................................... L.17
L13. (Lanjutan) Tabel Data Forward Kinematik Lengan Robot ................................. L.18
L14. Listing Program Keseluruhan Pengendali Lengan Robot dengan Gamepad ...... L.19
L15. Data Sheet Servo FeeTech FS5109M.................................................................. L.25
L16. Data Sheet Servo TowerPro SG90 ...................................................................... L.26
L17. USB Host Shield .................................................................................................. L.27
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Kata robot yang berasal dari bahasa Czech, robota, yang berarti pekerja, mulai
menjadi populer ketika seorang penulis berbangsa Czech (Ceko), Karl Capek, membuat
pertunjukan dari lakon komedi yang ditulisnya pada tahun 1921 yang berjudul RUR
(Rossum’s Universal Robot). Ia bercerita tentang mesin yang menyerupai manusia, tapi
mampu bekerja terus-menerus tanpa lelah.[1]
Kehadiran robot dalam kehidupan manusia makin hari disadari makin banyak
manfaatnya. Robotik tidak lagi dipandang sebagai ilmu yang berkembang hanya dalam
konteks teknologi (fisik) saja, namun semakin hari semakin banyak masalah yang
berkaitan dengan lingkungan hidup manusia yang perlu juga diambil perhatian.[1] Dengan
adanya teknologi robotik , manusia menggantikan peralatan-peralatan konvensional
dengan peralatan canggih. Istilah robot hampir tak dapat dipisahkan dengan dunia industri.
Dalam dunia industri, robot merupakan alat yang dapat dugunakan sebagai alat bantu
manusia yang memiliki beberapa kelebihan. Kelebihan tersebut salah satunya untuk alasan
keamanan, ada industri yang tidak memungkinkan ataupun berbahaya bagi manusia.
Seperti laboratorium riset kimia yang merupakan contoh tempat yang kadang tidak
memungkinkan manusia berada pada tempat itu karena bahaya gas beracun atau radioaktif.
Alasan lainya adalah karena robot dapat bekerja secara presesi, terus-menerus, dan
konsisten pada pergerakannya, tidak seperti manusia yang memiliki batasan fisik maupun
human error. Salah satu produk robot yakni lengan robot. Lengan robot merupakan alat
yang dibuat menyerupai lengan manusia, yang dapat digunakan untuk mengerjakan
berbagai macam tugas.
Namun sering dijumpai kendala bagaimana cara mengontrol atau mengendalikan
lengan robot. Oleh karena itu penulis hendak membuat alat pengendali lengan robot ini.
Pengendali ini menggunakan gamepad sebagai interface-nya sehingga mudah digunakan
karena sudah familiar dikenal orang umum. Pengendali ini dibuat dengan komunikasi SPI
bus dan mikrokontroler berbasis arduino.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
Penggunaan komunikasi USB dipilih dibandingkan dengan langsung
menyambungkan gamepad dan mikrokontroler adalah karena komunikasi USB sudah
menjadi standard pada kebanyakan alat teknologi sekarang ini. Komunikasi USB
merupakan salah satu teknologi yang harus dipelajari untuk mengikuti standard
perkembangan dunia teknologi.
Penulis hendak membuat pengendali lengan robot yang sederhana sehingga ketika
orang ingin belajar cara gerak dan pengendalian lengan robot dapat lebih cepat
memahaminya. Belajar cara gerak dari lengan robot 3 sendi yang dikendalikan satu-persatu
axis melalui gamepad dan selanjutnya dapat mempelajari cara kerja motor servo, gamepad
dan cara menghubungkannya.
1.2. Tujuan
Tujuan dari penelitian ini adalah untuk menghasilkan pengendali lengan robot 3
sendi menggunakan gamepad berbasis mikrokontroler arduino.
1.3. Manfaat
Untuk masyarakat umum:
1) Memperoleh lengan robot yang multi purpose, dimana fungsi dan gerakan dari
lengan robot dapat dikendalikan sesuai kehendak operator lengan robot, tidak
terbatas oleh program tertentu saja.
2) Sebagai alat bermain sekaligus belajar, karena menggunakan interface gamepad
yang sudah familiar dikenal masyarakat umum.
Untuk pendidikan:
a) Sebagai sarana pembelajaran lengan robot 3 DOF (cara gerak dan pengendalinya).
b) Sebagai sarana pembelajaran motor servo, minimum sistem dan desain robotik.
c) Sebagai sarana pembelajaran bahasa pemograman mikrokontroler arduino, yang
merupakan bahasa pemograman yang sangat populer di dunia.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
1.4. Batasan Masalah
Batasan masalah pada penelitian lengan robot ini adalah:
a) Desain lengan robot menggunakan desain open source yang dipublikasi secara
gratis dan legal.
b) Menggunakan mikrokontroler Atmega328P berbasis Arduino.
c) Menggunakan motor servo sebagai aktuator.
d) Gamepad sebagai interface pengendalinya.
e) Input gamepad ke mikrokontroler dengan komunikasi USB kemudian dikonversi
oleh MAX3421E (USB Host Shield) sehingga bisa dibaca oleh mikrokontroler
melalui SPI bus (Serial Peripheral Interface).
f) Lengan robot dapat bergerak pada sumbu X, Y, dan Z.
g) Lengan robot memiliki 3 derajat kebebasan (Degree of Freedom) dan Gripper
sebagai end effector.
1.5. Metodologi Penelitian
Metode penelitian yang digunakan dalam penyusunan tugas akhir ini adalah:
a) Study literatur berupa pengumpulan referensi dari buku-buku maupun dari internet
berupa jurnal-jurnal dan artikel-artikel.
b) Studi kasus terhadap alat yang telah dibuat sebelumnya. Tahap ini dilakukan guna
memahami prinsip kerja dari alat yang telah dibuat sebelumnya.
c) Perancangan sistem hardware dan software.
d) Pembuatan sistem hardware dan software. Alat akan bekerja berdasarkan pada
kontrol dari gamepad seperti yang diperlihatkan pada Gambar 1.1.
Gambar 1.1 Diagram Alur Kerja Sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
e) Proses pengambilan data dilakukan dengan cara mengukur secara real daerah
jangkauan kerja lengan robot dan ketepatan sudut yang dibuat.
f) Analisa dan kesimpulan hasil perancangan dapat dilakukan dengan cara
pengambilan data berupa pengukuran sudut pergerakan setiap sendi, pengetesan
respon repitabilitas motor servo secara berulang-ulang, dan mengukur forward
kinematics yang dapat dibuat oleh lengan robot. Dari hasil data akan dilakukan
analisa dan kesimpulan dari kinerja pengendali lengan robot.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB II
DASAR TEORI
2.1. Motor Servo
Dalam kamus Oxford istilah “servo” diartikan sebagai “a mechanism that controls
a larger mechanism” yang jika diartikan “sebuah mekanisme yang mengontrol mekanisme
yang lebih besar”. Motor servo merupakan motor DC yang mempunyai gerak sudut yang
presisi. Motor ini sudah dilengkapi dengan sistem kontrol. Pada aplikasinya motor servo
sering digunakan sebagai kontrol loop tertutup, sehingga dapat menangani perubahan
posisi secara tepat dan akurat begitu juga dengan pengaturan kecepatan dan percepatan.[1]
Motor servo merupakan perangkat yang terdiri dari motor DC, serangkaian gear, rangkaian
kontrol dan potensiometer. Serangkaian gear yang melekat pada poros motor DC akan
memperlambat putaran poros dan meningkatkan torsi motor servo, sedangkan
potensiometer dengan perubahan resistansinya saat motor berputar berfungsi sebagai
penentu batas posisi putaran poros motor servo. Dalam penggunaannya motor servo
dikehendaki handal beroperasi dalam lingkup torsi yang berubah-ubah.
2.1.1. Prinsip Kerja
Motor servo dikendalikan dengan memberikan sinyal modulasi lebar pulsa (Pulse
Width Modulation / PWM) melalui kabel kontrol. Motor servo akan bekerja secara baik
jika pada bagian pin kontrolnya diberikan sinyal PWM dengan frekuensi 50Hz. Pemberian
nilai PWM akan membuat motor servo bergerak pada posisi tertentu lalu berhenti (kontrol
posisi).[1] Lebar pulsa sinyal kontrol yang diberikan akan menentukan posisi sudut putaran
dari poros motor servo. Sebagai contoh, lebar pulsa dengan waktu 1,5 ms (mili-detik) akan
memutar poros motor servo ke posisi sudut 90⁰. Bila pulsa lebih pendek dari 1,5 ms maka
akan berputar ke arah posisi 0⁰ atau ke kiri (berlawanan dengan arah jarum jam),
sedangkan bila pulsa yang diberikan lebih lama dari 1,5 ms maka poros motor servo akan
berputar ke arah posisi 180⁰ atau ke kanan (searah jarum jam). Pada Gambar 2.1 dan
Gambar 2.2 diperlihatkan lebih jelas tetang PWM.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
Gambar 2.1 Gelombang Sinyal PWM[29]
Gambar 2.2 Prinsip Kerja Motor Servo[29]
Periode adalah waktu yang dibutuhkan untuk membentuk satu buah gelombang kotak.
Rumus periode adalah sebagai berikut:[21]
T =
.................................................................................................................................(2.1)
Frekuensi dapat didefenisikan sebagai banyaknya gelombang kotak yang terbentuk dalam
satu detik.[21]
Duty cycle adalah presentase sinyal high dalam satu periode gelombang. Duty cycle dapat
dirumuskan sebagai berikut:[22]
Duty Cycle =
x 100% ............................................................................(2.2)
Ketika lebar pulsa kendali telah diberikan, maka poros motor servo akan bergerak
atau berputar ke posisi yang telah diperintahkan, dan berhenti pada posisi tersebut dan akan
tetap bertahan pada posisi tersebut. Jika ada kekuatan eksternal yang mencoba memutar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
atau mengubah posisi tersebut, maka motor servo akan mencoba menahan atau melawan
dengan besarnya kekuatan torsi yang dimilikinya (rating torsi servo). Namun motor servo
tidak akan mempertahankan posisinya untuk selamanya, sinyal PWM harus diulang setiap
20 ms untuk menginstruksikan agar posisi poros motor servo tetap bertahan pada
posisinya.
2.1.2. Jenis Motor Servo
Adapun dua jenis dari motor servo adalah:
1. Motor Servo Standar
Motor servo jenis ini hanya mampu bergerak dua arah (CW dan CCW) dengan
defleksi masing-masing sudut mencapai 90° sehingga total defleksi sudut dari
kanan – tengah – kiri adalah 180°.[23]
2. Motor Servo Continue
Motor servo jenis ini mampu bergerak dua arah (CW dan CCW) tanpa batasan
defleksi sudut putar (dapat berputar secara berkelanjutan) dengan kata lain dapat
berputar 360°.[24]
Gambar 2.3 Motor Servo Standar[30]
Gambar 2.3 adalah motor servo standar yang dijual di pasaran. Adapun motor servo
yang memiliki ukuran yang lebih kecil yakni mikro servo. Mikro servo merupakan motor
servo seperti motor servo standar lainnya hanya saja memiliki ukuran yang jaul lebih kecil.
Mikro servo ditunjukkan pada gambar 2.4. Untuk konfigurasi Pin servo hampir semua
servo memiliki konfigurasi yang sama seperti pada Tabel 2.1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
Gambar 2.4 Mikro Servo[31]
Tabel 2.1 Tabel Konfigurasi Pin Servo
Pin Keterangan
Orange PWM
Red VCC
Brown GROUND
2.2. Torsi
Torsi merupakan gaya pada gerak translasi. Torsi menunjukkan kemampuan sebuah
gaya untuk membuat benda melakukan gerak rotasi[32]. Perhitungan torsi tergantung pada
panjang dari setiap link lengan robot dan berat beban yang diterima oleh lengan robot
tersebut[25]. Perhitungan torsi dapat dihitung dengan menggunakan persamaan di bawah
ini:
τ = F. r ...........................................................................................................................(2.3)
w = m . g dimana, F = w .........................................................................................(2.4)
F = m . g ........................................................................................................................(2.5)
τ = m . g . r .....................................................................................................................(2.6)
keterangan:
τ = torsi (kg.cm)
F = gaya (N, kg.m/ )
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
R = jari-jari (cm)
W = gaya berat (N, kg.m/ )
m = massa benda (kg)
g = percepatan gravitasi (m/ )
Perhitungan torsi pada motor ini nantinya akan berguna untuk perancangan lengan
robot yang berkaitan dengan pemilihan komponen motor aktuator. Jenis dan dan
spesifikasi motor servo berbeda-beda tergantung model dan merek motor servo itu.
Dengan mengetahui torsi yang akan digunakan nanti maka memudahkan untuk
menentukan spesifikasi yang cocok untuk digunakan dalam lengan robot.
2.3. Sistem Kontroler Lengan Robot
Sistem kontrol yang akan digunakan pada lengan robot adalah kontrol loop terbuka.
Diagram kontrol loop terbuka sistem robot dapat dinyatakan dalam Gambar 2.5 berikut ini.
Gambar 2.5 Kontrol Open Loop dalam Sistem Lengan Robot
Kontrol loop terbuka atau umpan maju (feedforward control) dapat dinyatakan
sebagai sistem kontrol yang outputnya tidak diperhitungkan ulang oleh kontroler. Keadaan
apakah robot benar-benar telah mencapai target seperti yang dikehendaki sesuai referensi,
adalah tidak dapat mempengaruhi kinerja kontroler.[1] Kontrol ini sesuai untuk sistem
operasi robot yang memiliki aktuator yang beroperasi berdasarkan umpan logika berbasis
konfigurasi langkah sesuai urutan, seperti motor servo yang digunakan dalam tugas akhir
ini. Motor servo tidak perlu dipasangi sensor pada porosnya untuk mengetahui posisi akhir.
Jika dalam keadaan berfungsi baik dan tidak ada masalah beban maka motor servo akan
berputar sesuai dengan perintah kontroler dan mencapai posisi target dengan tepat.
Sistem kontrol lengan robot ini dapat dibagi menjadi tiga prosedur utama, yaitu
baca sensor (gamepad), memproses data sensor, dan mengirim sinyal aktuasi ke aktuator.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
Dengan membagi menjadi tiga bagian maka kita dapat lebih mudah melakukan analisa
tentang bagaimana kontroler memperoleh input dan mengirim ouput ke motor servo.
2.4. Gamepad
Gamepad digunakan sebagai interface pengendali lengan robot. Gamepad adalah
pengendali game seperti kebanyakan yang memiliki input analog dan digital. Nilai lebih
dari gamepad ini adalah karena hampir semua tombol, baik analog maupun digital dapat
dibaca oleh mikrokontroler. Kelebihan gamepad ini juga karena kemampuan komunikasi
melalui USB dan Bluetooth.
Gamepad memiliki 16 tombol digital dan 4 analog, pada Gambar 2.6 ditunjukkan
lebih detil letak tombolnya. Fungsi dari tombol-tombol tersebut secara umum adalah:
1. Directional button merupakan tombol digital (empat buah tombol) yang biasanya
digunakan untuk sebagai arah.
2. Tombol digital L1, R1, Cross, Square, Circle, Triangle belum memiliki fungsi
yang spesifik, tergantung aplikasi yang digunakan.
3. Tombol digital yang berada ditengah (terdiri dari tiga tombol), tombol select untuk
melakukan pilihan, tombol PS digunakan untuk mengaktifkan gamepad, dan
tombol start untuk memulai aplikasi.
4. Tombol analog dua axis (dua buah) yang juga memiliki fungsi tombol digital
biasanya digunakan sebagai arah.
5. Tombol analog (dua buah) biasa digunakan untuk mengatur kecepatan.
Gambar 2.6 Konfigurasi Tombol Gamepad [19]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
2.5. USB Host Shield
USB Host Shield memungkinkan mengkomunikasikan perangkat USB ke arduino.
Arduino Host Shield ini berbasis IC kontroler USB MAX3421E, yang merupakan
pengendali USB perifer/host yang mengandung logika digital dan sirkuit analog yang
diperlukan untuk menerapkan full-speed USB perifer atau full-/low speed host sesuai
spesifikasi USB rev 2.0.[2]
Arduino melakukan komunikasi dengan MAX3421E menggunakan SPI (Serial
Peripheral Interface) bus (melalui header ICSP).[2] Melalui pin 10,11,12, dan 13 pada
Atmega328P. USB Host Shield ini mendapatkan power supply dari arduino, itulah
sebabnya tidak ada jack power tersedia. Gambar 2.7 menunjukkan konfigurasi board USB
Host Shield yang akan digunakan.
Gambar 2.7 Konfigurasi Board USB Host Shield [5]
Serial Peripheral Interface (SPI) merupakan salah satu mode komunikasi serial
synchrounous kecepatan tinggi yang dapat digunakan pada banyak mikrokontroler,
termasuk Arduino. Perangkat SPI berkomunikasi dengan metode full duplex menggunakan
arsitektur master-slave dengan single master. Untuk komunikasi SPI sendiri,
membutuhkan paling tidak tiga jalur, yakni MOSI, MISO, dan SCK. Melalui komunikasi
ini data dapat saling dikirimkan baik antar mikrokontroler, maupun antara mikrokontroler
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
dengan peripheral lainnya yang mendukung komunikasi dengan SPI. Adapun berikut ini
penjelasan untuk 3 jalur utama dari SPI adalah sebagai berikut.
a) MOSI (Master Output Serial Input)
Perangkat yang bertindak sebagai master, maka pin MOSI digunakan sebagai pin
output, tetapi jika digunakan sebagai slave, maka pin MOSI tersebut berfungsi
sebagai pin input.
b) MISO (Master Input Slave Output)
Perangkat yang bertindak sebagai master, maka pin MISO sebagai pin input, tetapi
jika digunakan sebagai slave, maka pin MISO tersebut berfungsi sebagai pin
output.
c) SCK (Serial Clock)
Berfungsi sebagai clock data. Dimana pin SCK dari master akan memberikan clock
ke pin SCK slave, guna menyelaraskan komunikasi antar kedua perangkat tersebut.
Selain tiga jalur tersebut, terdapat pula SS (Slave Select) yang digunakan untuk
memilih perangkat slave mana yang akan digunakan, tentu saja bila lebih dari satu slave.
Sebuah perangkat master dapat memberikan perintah pada beberapa perangkat slave.
Sedangkan untuk perangkat slave tidak dapat memberikan perintah, hanya memberikan
data sesuai instruksi yang diberikan oleh perangkat master.
2.5.1. Operasi SPI Bus
SPI bus dapat dioperasikan dengan sebuah perangkat single master dan dengan satu
atau lebih perangkat slave. [15] Untuk memulai komunikasi, bus master mengkonfigurasi
clock, menggunakan frekuensi yang didukung oleh perangkat slave, biasanya hingga
beberapa MHz. Master kemudian memilih perangkat slave dengan logika level 0 pada
select line. Jika masa tunggu diperlukan, seperti untuk konversi analog ke digital, master
harus menunggu setidaknya periode waktu sebelum mengeluarkan clock cycle.
Selama setiap siklus clock SPI, sebuah transmisi data full duplex (dua arah) terjadi.
Master mengirimkan satu bit pada garis MOSI dan slave membacanya, sementara slave
mengirimkan satu bit pada garis MISO dan master membacanya. Urutan ini dipertahankan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
bahkan ketika hanya transfer data satu arah. Dalam komunikasi SPI hanya 1 bagian yang
mengirimkan clock yang mana akan disebut master dan bagian lainya disebut slave.
Dalam SPI, hanya satu sisi menghasilkan sinyal clock (biasanya disebut CLK atau
SCK untuk Serial Clock). Sisi yang menghasilkan clock disebut "master", dan sisi lain
disebut "slave". Selalu ada hanya satu master (yang hampir selalu mikrokontroler), tetapi
bisa ada beberapa slave. [16]
Ketika data dikirim dari master ke slave, data tersebut dikirim pada garis data yang
disebut MOSI (Master Out/ Slave In). Jika slave harus mengirim respon kembali ke
master, master akan terus menghasilkan sejumlah siklus clock yang diatur sebelumnya,
dan slave akan menempatkan data ke baris data yang ketiga yang disebut miso (Master
In/Slave Out).[16]
Perhatikan bahwa SPI adalah "full duplex" (memiliki baris sent dan reveive yang
terpisah), dengan demikian dalam situasi tertentu, Anda dapat mengirim dan menerima
data pada saat yang sama. Pada Gambar 2.8 diperlihatkan pengiriman clock cycle, data
MISO, dan data MISO pada master-slave.
Gambar 2.8 Pengiriman Data SPI [16]
Baris data berikutnya adalah SS untuk memilih Slave. Ini memberitahu slave yang
harus bangun dan menerima / mengirim data dan juga digunakan ketika beberapa slave
yang terkoneksi untuk memilih salah satu yang ingin diajak komunikasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
Line SS biasanya high jika memutus slave dari bus SPI. (Jenis logika ini dikenal
sebagai "aktif rendah," dan akan sering digunakan untuk mengaktifkan dan me-reset baris.)
Tepat sebelum data dikirim ke slave, garis dibuat low yang mengaktifkan slave. Ketika
selesai menggunakan slave, status dibuat high lagi. Gambar 2.9 Menunjukan penggunaan
line SS.
Gambar 2.9 SPI Bus Menggunakan Slave-select [16]
Transmisi biasanya melibatkan dua shift register seperti pada Gambar 2.10 dari
beberapa ukuran kata yang diberikan, seperti delapan bit, satu di master dan satu di slave;
mereka terhubung dalam topologi ring virtual. Data biasanya bergeser dari MSB pertama,
sementara menggeser bit LSB ke dalam register yang sama. Setelah register yang telah
bergeser keluar, master dan slave telah bertukar nilai register. Jika lebih banyak data yang
perlu dipertukarkan, pergeseran register akan terisi kembali dan proses berulang.
Transmisi dapat terus untuk sejumlah siklus clock. Ketika selesai, master berhenti
mengaktifkan sinyal clock, dan biasanya membatalkan pilihan slave. Transmisi sering
terdiri dari 8-bit data. Namun, ukuran data lain juga umum, misalnya 16-bit data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
Gambar 2.10 Data Transmisi SPI Bus [15]
2.5.2. Komunikasi USB
Kabel USB telah dirancang untuk memastikan koneksi yang benar selalu dibuat.[3]
USB terdiri dari 4 kabel. Dua di antaranya, D + dan D-, membentuk twisted pair yang
bertanggung jawab untuk membawa sinyal data diferensial, serta beberapa sinyal perintah
tunggal akhir. Sinyal pada dua kabel tersebut dirujuk ke kabel (ketiga) GND. Kabel
keempat disebut VBUS, dan membawa suplai nominal 5V, yang dapat digunakan oleh
perangkat sebagai power.[3] Konfigurasi kabel USB ditunjukkan pada Gambar 2.11.
Gambar 2.11 Konfugurasi Kabel USB [3]
Ada beberapa kondisi sinyal dari USB, yang terbentuk dari kabel D+ dan D-. Perbedaan
dari kondisi tersebut adalah:
a) Detached
Ketika tidak ada perangkat USB yang tersambung maka D+ dan D- akan low
seperti pada Gambar 2.12.
Gambar 2.12 Detached State [3]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
b) Attached
Ketika perangkat tersambung ke host, maka host akan melihat D+ dan D- pada
level „1‟, dan mengetahui bahwa perangkat telah terhubung. Sinyal level „1‟ pada
D- untuk perangkat low speed dan pada D+ untuk perangkat high speed. Pada
Gambar 2.13 merupakan kondisi attached.
Gambar 2.13 Attached State [3]
c) Idle
Keadaan ketika garis pulled up dalam keadaan high, dan garis lain low, terlihat
pada Gambar 2.14. Keadaan ini terjadi sebelum dan sesudah paket data terkirim.
Gambar 2.14 Idle State [20]
d) Kondisi-kondisi lain dapat dilihat pada Tabel 2.2 dan contoh pengiriman data USB
pada Gambar 2.15.
Tabel 2.2 State pada Koneksi USB [3]
Bus State Levels
Differential '1' D+ high, D- low
Differential '0' D- high, D+ low
Single Ended Zero (SE0) D+ and D- low
Single Ended One (SE1) D+ and D- high
Data J State:
Low-speed
Full-speed
Differential '0'
Differential '1'
Data K State:
Low-speed
Full-speed
Differential '1'
Differential '0'
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Tabel 2.2 (Lanjutan) State pada Koneksi USB [3]
Bus State Levels
Idle State:
Low-speed
Full-speed
D- high, D+- low
D+ high, D- low
Resume State Data K state
Start of Packet (SOP) Data lines switch from idle to K state
End of Packet (EOP) SE0 for 2 bit times followed by J state
for 1 bit time
Disconnect SE0 for >= 2us
Connect Idle for 2.5us
Reset SE0 for >= 2.5 us
Gambar 2.15 Contoh Pengiriman Data USB [18]
Tabel 2.3 merupakan paket data yang dikirimkan gamepad ke mikrokontroler.
Tabel 2.3 Data Hex dari Gamepad
No. Tombol yang digunakan Data Hex
1 Netral (tidak ada tombol
yang ditekan)
01 00 00 00 00 00 87 87 83 7A 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 03 EF 14 00 00 00 00 23 6D 77 01 1D 01
FF 01 FB 01 90 02 00
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
Tabel 2.3 (Lanjutan) Data Hex dari Gamepad
No. Tombol yang digunakan Data Hex
2 Nav. Up
01 00 10 00 00 00 87 87 83 79 00 00 00 00
FF 00 00 00 00 00 00 00 00 00 00 00 00 00
00 03 EF 14 00 00 00 00 23 6D 77 01 1D 01
F5 01 F8 01 90 02 00
3 Nav. Right
01 00 20 00 00 00 87 87 83 7A 00 00 00 00
00 FF 00 00 00 00 00 00 00 00 00 00 00 00
00 03 EF 14 00 00 00 00 23 6D 77 01 1D 01
EC 02 02 01 91 02 00
4 Nav. Down
01 00 40 00 00 00 87 87 83 7A 00 00 00 00
00 00 FF 00 00 00 00 00 00 00 00 00 00 00
00 03 EF 14 00 00 00 00 23 6D 77 01 1D 01
FA 01 FD 01 8F 02 00
5 Nav. Left
01 00 80 00 00 00 87 87 83 79 00 00 00 00
00 00 00 FF 00 00 00 00 00 00 00 00 00 00
00 03 EF 14 00 00 00 00 23 6D 77 01 1D 01
F4 02 07 01 90 02 00
6 Triangle
01 00 00 10 00 00 87 87 83 7A 00 00 00 00
00 00 00 00 00 00 00 00 FF 00 00 00 00 00
00 03 EF 14 00 00 00 00 23 6D 77 01 1D 02
1C 02 0F 01 93 02 00
7 Circle
01 00 00 20 00 00 87 87 83 7A 00 00 00 00
00 00 00 00 00 00 00 00 00 FF 00 00 00 00
00 03 EF 14 00 00 00 00 23 6D 77 01 1D 02
2D 01 D1 01 A5 02 00
Data yang keluar dari gamepad terdiri dari 49 Byte, yang mana setiap bit memiliki
konfigurasi alamat fungsi. Pada Tabel 2.4 dijabarkan tentang paket data dari gamepad
secara detil.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
Tabel 2.4 Paket Data Gamepad [17]
Byte
index bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 Info
0 report ID (always 0x01)
1 reserved
2 D left D down D
right D up Start R3 L3
Sele
ct 1 means
pressed, 0
means
released
3 Squar
e X Circle
Triangl
e R1 L1 R2 L2
4 Unknown PS
5 Unknown
6 Left stick X axis
7 Left stick Y axis
8 Right stick X axis
9 Right stick Y axis
10 Unknown, seems to count downwards, non-random pattern
11 Unknown, seems to count upwards by 3, but by 2 when [10]
underflows
12 Unknown yet, 0x03 or 0x04
13-24 analog button data
00 is released
and FF is fully
pressed
25-39 unknown
40-41 acceleromerer X axis, little endian 10 bit unsigned
42-43 acceleromerer Y axis, little endian 10 bit unsigned
44-45 acceleromerer Z axis, little endian 10 bit unsigned
46-47 gyroscope, little endian 10 bit unsigned
48-49 unknown
2.6. Mikrokontroler ATmega328P
ATmega328 pada Gambar 2.16 dan diagram bloknya pada Gambar 2.17 adalah
mikrokontroler keluaran dari atmel yang mempunyai arsitektur RISC (Reduce Instruction
Set Computer) yang dimana setiap proses eksekusi data lebih cepat dari pada arsitektur
CISC (Completed Instruction Set Computer). ATmega328 memiliki fitur 32 kByte
downloadable flash memory, 1 kByte Electrically Erasable Programmable Read-Only
Memory (EEPROM), 2 kByte internal Static Random-Access Memory (SRAM), 2
Timer/Counter 8 bit dan 1 Timer/Counter 16 bit, 6 kanal PWM, Serial USART yang dapat
diprogram, dan frekuensi kerja sampai dengan 20 MHz[4].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Gambar 2.16 Konfigurasi Pin Atmega328P dengan Fungsi Pada Arduino [7]
ATmega328 memiliki beberapa mode komunikasi. Salah satu di antaranya adalah
USART. Universal Synchronous dan Asynchronous serial Receiver and Transmitter
(USART) adalah salah satu mode pengiriman dan penerimaan data secara serial. USART
dapat dipakai untuk transfer data antar mikrokontroler dan komputer yang memiliki fitur
UART (Universal Asynchronus serial Receiver anf Transmitte). Untuk komunikasi dua
arah (bi-directional), USART memiliki tiga sambungan, yaitu Rx (Receiver), Tx
(Tramsmitter), dan GND (Ground)[4].
Setiap pin dapat memberikan atau menerima suatu arus maksimum 40 mA dan
mempunyai sebuah resistor pull-up (terputus secara default) 20-50 KOhm. Hampir semua
AVR memiliki format 16-bit. Setiap alamat memori program terdiri dari instruksi 16-bit
atau 32-bit. Terdapat register lain yang terpetakan dengan teknik memory mapped I/O
selebar 64 byte. Beberapa register ini digunakan untuk fungsi khusus, antara lain sebagai
register kontrol timer / counter, Interupsi, ADC, USART, SPI, EEPROM, dan fungsi I/O
lainnya. Register – register ini menempati memori pada alamat 0x20h – 0x5Fh[4].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
Gambar 2.17 Diagram Blok ATmega328[4]
2.6.1. Fitur
Mikrokontroller ini memiliki beberapa fitur antara lain :
1. 130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus clock.
2. 32 x 8-bit register serba guna.
3. Kecepatan mencapai 16 MIPS dengan clock 16 MHz.
4. 32 KB Flash memory dan pada arduino memiliki bootloader yang menggunakan 2
KB dari flash memori sebagai bootloader.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
5. Memiliki EEPROM (Electrically Erasable Programmable Read Only Memory)
sebesar 1KB sebagai tempat penyimpanan data semi permanent karena EEPROM
tetap dapat menyimpan data meskipun catu daya dimatikan.
6. Memiliki SRAM (Static Random Access Memory) sebesar 2KB.
7. Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse Width
Modulation) output.
8. Master / Slave SPI Serial interface.
2.6.2. Konfigurasi Pin
a. VCC
Tegangan supplai digital.
b. GND
Ground.
c. Port B (PB7:0) XTAL1/XTAL2/TOSC1/TOSC2
Port B (portB0...portB5) merupakan jalur data 8 bit yang dapat difungsikan
sebagai input/output. Selain itu port B memiliki fungsi khusus dapat dilihat pada
Tabel 2.5.
Tabel 2.5 Fungsi Khusus Port B[13]
Pin Keterangan
PB0 ICP1 berfungsi sebagai timer counter 1 input capture pin
PB1 OC1A dapat difungsikan sebagai keluaran PWM (Pulse With Modulation)
PB2
OC1B dapat difungsikan sebagai keluaran PWM (Pulse With Modulation), SS
merupakan jalur komunikasi SPI SPI dan juga berfungsi sebagai jalur
pemrograman serial (ISP)
PB3
OC2A dapat difungsikan sebagai keluaran PWM (Pulse With Modulation), MOSI
merupakan jalur komunikasi SPI SPI dan juga berfungsi sebagai jalur
pemrograman serial (ISP)
PB4 MISO merupakan jalur komunikasi SPI dan juga berfungsi sebagai jalur
pemrograman serial (ISP)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
Tabel 2.5 (Lanjutan) Fungsi Khusus Port B[13]
Pin Keterangan
PB5 SCK merupakan jalur komunikasi SPI dan juga berfungsi sebagai jalur
pemrograman serial (ISP),
PB6 Pin reset
PB7 TOSC2 berfungsi sebagai sumber clock external untuk timer, XTAL2 merupakan
sumber clock utama mikrokontroler
d. Port C (PC5:0)
Port C (portC0...portC5) merupakan jalur data 7 bit yang dapat difungsikan sebagai
input/ouput digital. Tabel 2.6 menunjukan fungsi khusus dari port C.
Tabel 2.6 Fungsi Khusus Port C[13]
Pin Keterangan
PC0 ADC0 channel dengan resolusi 10 bit. ADC digunakan untuk
mengubah input yang berupa tegangan analog menjadi data digital
PC1 ADC1 channel dengan resolusi 10 bit. ADC digunakan untuk
mengubah input yang berupa tegangan analog menjadi data digital
PC2 ADC2 channel dengan resolusi 10 bit. ADC digunakan untuk
mengubah input yang berupa tegangan analog menjadi data digital
PC3 ADC3 channel dengan resolusi 10 bit. ADC digunakan untuk
mengubah input yang berupa tegangan analog menjadi data digital
PC4 ADC4 channel dengan resolusi 10 bit. ADC digunakan untuk
mengubah input yang berupa tegangan analog menjadi data digital
PC5 ADC5 channel dengan resolusi 10 bit. ADC digunakan untuk
mengubah input yang berupa tegangan analog menjadi data digital
PC6 ADC6 channel dengan resolusi 10 bit. ADC digunakan untuk
mengubah input yang berupa tegangan analog menjadi data digital
Port C
12C merupakan salah satu fitur yang terdapat pada PORTC. I2C
digunakan untuk komunikasi dengan sensor atau device lain yang
memiliki komunikasi data tipe I2C seperti sensor kompas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
e. PC6/RESET
Jika RSTDISBL Fuse diprogram, PC6 digunakan sebagai I / O pin. Perhatikan
bahwa karakteristik listrik dari PC6 berbeda dari pin lain Port C. Jika RSTDISBL
Fuse adalah tidak dapat diprogram, PC6 digunakan sebagai masukan ulang. Low
level pada pin ini selama lebih dari panjang pulsa minimum akan menghasilkan
reset, bahkan jika jam tidak berjalan.
f. Port D (PD7:0)
Port D (portD0...PortD7) merupakan jalur data 8 bit yang masing-masing pin juga
dapat difungsikan sebagai input/output. Port C juga memiliki fungsi khusus sebagai
berikut :
USART (TXD dan RXD) merupakan jalur data komunikasi serial dengan level
sinyal TTL. Pin TXD berfungsi untuk mengirimkan data serial, sedangkan
RXD kebalikannya yaitu sebagai pin yang berfungsi untuk menerima data
serial.
Interrupt (INT0 dan INT1) merupakan pin dengan fungsi khusus sebagai
interupsi hardware. Interupsi biasanya digunakan sebagai selaan dari program,
misalkan pada saat program berjalan kemudian terjadi interupsi
hardware/software maka program utama akan berhenti dan akan menjalankan
program interupsi.
XCK dapat difungsikan sebagai sumber clock external untuk USART, namun
kita juga dapat memanfaatkan clock dari CPU, sehingga tidak perlu
membutuhkan external clock.
T0 dan T1 berfungsi sebagai masukan counter external untuk timer 1 dan timer
0.
AIN0 dan AIN1 keduanya merupakan masukan input untuk analog comparator.
g. AVCC
AVCC adalah pin tegangan suplai untuk Converter A / D, PC3: 0, dan ADC7: 6.
Perlu eksternal terhubung ke VCC, bahkan jika ADC tidak digunakan. Jika ADC
digunakan, maka harus dihubungkan ke VCC melalui low-pass filter. Perhatikan
bahwa PC6 ... 4 menggunakan tegangan suplai digital, VCC.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
h. AREF
AREF adalah pin referensi analog untuk converter A/D.
i. ADC7:6 (TQFP and QFN/MLF Package Only)
Dalam paket TQFP dan QFN/MLF, ADC7:6 melayani sebagai analog input untuk
converter A/D. Pin-pin ini ditenagai dari supply analog dan berperan sebagai 10-bit
ADC chanel.
2.7. FTDI FT232RL
FTDI FT232RL adalah USB to serial (TTL level) converter yang merupakan cara
simple utntuk interface TTL ke USB yang handal dan praktis untuk digunakan pada
rangkaian elektronika berbasis mikrokontroler, dengan demikian perangkat mikrokontroler
bisa berkomunikasi lewat standar USB.
Gambar 2.18 FTDI Basic Breakout
Pada Gambar 2.18 terlihat modul FTDI Basic Breakout FT232RL. Modul ini
difungsikan sebagai USB-to-Serial Adapter yang mana digunakan sebagai alat
pemograman ke mikrokontroler dari komputer. Konektor USB yang terpasang adalah
konektor tipe mini-B female. Secara default, modul ini bekerja pada tegangan 5V tetapi
dapat juga bekerja pada tegangan 3,3V dengan penyesuaian rangkaian power supply-nya.
IC FT-232 digunakan sebagai IC konverter dari 232 ke 485. IC ini terdiri dari 28
pin, oleh pabrikannya pin-pin IC nya dibagi empat grup besar yaitu USB interface group
(Tabel 2.7), Power dan Ground (Tabel 2.8), Miscellaneous signal group (Tabel 2.9),
UART interface dan CBUS group (Tabel 2.10) yang dikelompokkan pada bebarapa tabel
dibawah ini.[8]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
Tabel 2.7 USB Interface Group [9]
Nomor Pin Nama Tipe Keterangan
14 USBDP I/O USB data signal plus
15 USBDM I/O USB data signal minus
Tabel 2.8 Power dan Ground Group [9]
Nomor Pin Nama Tipe Keterangan
1 VCCIO PWR Supply untuk UART interface dan CBUS
dengan range +1.8V sampai +5.25V
4, 17, 20 GND PWR Ground
16 3V3 OUT OUT
Keluaran tegangan sebesar +3.3V.
Dikopling dengan kapasitor 100nF ke
ground
19 VCC PWR +3.3V sampai 5.25V untuk supply core
24 AGND PWR Analog ground untuk interval clock
Tabel 2.9 Miscellanous Signal Group[9]
Nomor Pin Nama Tipe Keterangan
5, 12, 13, 23, 25, 29 NC NC Tidak tersambung
18 Reset Input Active low reset. Jika tidak digunakan
disambung ke VCC.
26 Test Input Disambung ke GND untuk test mode
27 OSC1 Input Input 12MHz oscillator cell
28 OSC0 Output Ouput dari 12Mhz oscillator cell
Tabel 2.10 UART Interface dan CBUS Group[9]
Nomor Pin Nama Tipe Keterangan
30 TXD Output Transmit asynchronous data output
31 DTR Output Data terminal readay control output
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Tabel 2.10 (Lanjutan) UART Interface dan CBUS Group[9]
Nomor Pin Nama Tipe Keterangan
32 RTS Output Request to send control output
2 RXD Input Receiving asynchronous data input
3 RI Input Ring indicator control output
6 DSR Input Data set ready control input
7 DCD Input Data carrier detect control input
8 CTS Input Clear to send control input
9 CBUS4 I/O Configurable CBUS I/O pin.
10 CBUS2 I/O Configurable CBUS I/O pin.
11 CBUS3 I/O Configurable CBUS I/O pin.
21 CBUS1 I/O Configurable CBUS I/O pin.
22 CBUS0 I/O Configurable CBUS I/O pin.
2.8. Arduino
Arduino adalah sebuah platform open-source elektronik berdasarkan hardware
yang mudah digunakan dan perangkat lunak. Ini dimaksudkan untuk siapa pun yang
membuat proyek interaktif.[6] Gambar 2.16 sebelumnya memperlihatkan fungsi arduino
(tertulis warna merah) pada pin Atmega328 yang mana fungsi-fungsi tersebut sudah
terintegrasi dengan bahasa pemograman arduino.
Arduino memiliki beberapa keunggulan dibandingkan dengan platform elektronik
lainnya [10]. Beberapa keunggulan tersebut antara lain:
1. Modul Arduino adalah sebuah platform elektronik yang open source yang berbasis
pada kemudahan dan fleksibilitas penggunaan hardware dan software. Artinya
pembaca dapat mengunduh software dan gambar rangkaian Arduino tanpa harus
membayar kepada pembuat Arduino.
2. IDE Arduino merupakan multiplatform yang dapat dijalankan di berbagai sistem
operasi seperti Windows, Macintosh, dan Linux.
3. Modul Arduino mudah digunakan sebagai sebuah platform komputasi fisik yang
sederhana serta menerapkan bahasa pemrograman processing.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
4. Modul Arduino merupakan platform interaktif karena dapat mengambil masukan
dari berbagai tombol atau sensor, mampu mengendalikan berbagai lampu, motor,
dan output fisik lainnya.
5. Modul Arduino dapat berdiri sendiri, atau dapat melakukan komunikasi dengan
software yang berjalan di komputer seperti Flash, Processing, dan MaxMSP.
6. Pemrograman Arduino menggunakan kabel yang terhubung dengan port Universal
Serial Bus (USB), bukan port serial. Fitur ini sangat berguna karena banyak
komputer sekarang ini tidak memiliki port serial.
7. Biaya yang dibutuhkan untuk membeli modul Arduino cukup murah, sehingga
tidak terlalu menakutkan untuk membuat kesalahan.
8. Proyek Arduino ini dikembangkan dalam dunia pendidikan, sehingga bagi pemula
akan lebih cepat dan mudah untuk mempelajarinya.
9. Memiliki begitu banyak pengguna dan komunitas di internet yang dapat membantu
setiap kesulitan yang dihadapi.
Area pemrograman Arduino dikenal dengan Integrated Development Environment
(IDE) [11]. Area pemrograman yang digunakan untuk menulis baris program dan
mengunggahnya ke dalam board Arduino . disamping itu juga dibuat lebih mudah dan
dapat berjalan pada beberapa sistem operasi seperti Windows, Macintosh, dan Linux [12].
Gambar 2.19 dan Tabel 2.11 merupakan area pemrograman Arduino dan keterangan
beberapa tombol utama.
Gambar 2.19 Tampilan IDE Arduino
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Tabel 2.11 Keterangan Tombol Pada Tampilan IDE Arduino [12]
No. Tombol Nama Fungsi
1 Verify
Menguji apakah ada kesalahan pada program atau
sketch. Apabila sketch sudah benar, maka sketch
tersebut akan dikompilasi. Kompilasi adalah proses
mengubah kode program ke dalam kode mesin.
2 Upload Mengirimkan kode mesin hasil kompilasi ke board
Arduino
3 New Membuat sketch yang baru
4 Open Membuka sketch yang sudah ada
5 Save Menyimpan sketch
6 Serial
Monitor
Menampilkan data yang dikirim dan diterima
melalui komunikasi serial.
IDE Arduino membutuhkan beberapa pengaturan yang digunakan untuk
mendeteksi board Arduino yang sudah dihubungkan ke komputer. Beberapa pengaturan
tersebut adalah mengatur jenis board yang digunakan sesuai dengan board yang terpasang
dan mengatur jalur komunikasi data melalui perintah Serial Port. Kedua pengaturan
tersebut dapat ditemukan pada pull down menu Tools.
2.9. Sudut Garis Parallel
Perhitungan sudut garis parallel dibutuhkan untuk analisa gerak lengan robot yang
mana dalam bergerak menggunakan link-link pembantu. Link-link ini berguna untuk
meringankan beban motor yang digunakan sekaligus agar gripper tetap berada pada posisi
horisontal. Link-link tersebut sebenarnya membentuk segi 4 yang dapat berubah-ubah
sudutnya. Persamaan sudut segi-n dapat ditunjukkan pada persamaan di bawah ini:
Segi-n = (n-2) x 180˚........................................................................................................(2.7)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Gambar 2.20 Sudut-Sudut yang Dimiliki oleh Garis Parallel
Dari persamaan 2.7 kita dapat menemukan berapa besar sudut dan cara menghitung
sudut pada segi 4.
Segi 4 = (4-2) x 180˚ = 360˚.............................................................................................(2.8)
Jadi dapat dikatakan bahwa jumlah dari sudut bangun datar segi 4 yang ditunjukkan pada
gambar 2.20 adalah 360˚.
2.10. Kerangka Lengan Robot
Lengan robot bisa juga disebut sebagai manipulator, yaitu bagian mekanik yang
dapat difungsikan untuk memindah, mengangkat, dan memanipulasi benda kerja. Ada
beberapa konfigurasi manipulator (lengan robot) yang ada di luar sana. Disini penulis
membuat lengan robot dengan konfigurasi sendi lengan. Konfigurasi ini adalah yang
paling populer untuk tugas-tugas linier dalam pabrik, terutama untuk dapat melaksanakan
fungsi layaknya pekerja pabrik, seperti mengangkat barang dari konveyor, mengelas,
memasang komponen mur, baut pada produk, dan sebagainya.[1] Dengan tool pergelangan
yang khusus (gripper bisa sesuai kebutuhan) struktur lengan sendi ini cocok digunakan
untuk menjangkau daerah kerja yang sempit dengan sudut jangkauan yang beragam.
Sebuah sendi yang diwakili oleh sebuah gerak aktuator disebut DOF.[1] Untuk
robot tangan, desain sendi lengan diukur berdasarkan DOF. Disini penulis merancang
lengan robot 3 sendi (3 DOF).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Berikut pada Gambar 2.21 ditampilkan bagian-bagian dari lengan robot dan arah
gerakan setiap sendinya.
Gambar 2.21 Lengan Robot 3 DOF[26]
Bagian-bagian lengan robot:
a. Base adalah sendi paling bawah dari lengan robot. Gerakan dari sendi ini adalah ke
kanan dan ke kiri.
b. Shoulder adalah sendi kedua dari bawah dimana gerakan sendi ini adalah maju
mundur.
c. Elbow adalah sendi ketiga dari bawah dimana gerakan sendi ini naik turun.
d. Terakhir adalah gripper yang merupakan end of point dari lengan robot yang mana
digunakan sebagai manipulator dan disini digunakan untuk menjepit benda kerja.
2.10.1. Link Pengerak Menggunakan Prinsip Tuas
Tuas (lever,dalam Bahasa Inggris) atau pengungkit adalah salah satu pesawat
sederhana yang digunakan untuk mengubah efek atau hasil dari suatu gaya. Hal ini
dimungkinkan terjadi dengan adanya sebuah batang ungkit dengan titik tumpu (fulcrum),
titik gaya (force), dan titik beban (load) yang divariasikan letaknya.[27] Tuas dapat
dibedakan atas 3 kelas yaitu:
Buka/Tutup
GRIPPER
ELBOW
SHOULDER
BASE
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
1. Kelas pertama yaitu titik tumpu (T) berada di tengah, diantara lengan kuasa
(Lk) dan lengan beban (Lb).
2. Kelas kedua yaitu lengan beban berada di antara titik tupu dan lengan
kuasa.
3. Kelas ketiga yaitu lengan kuasa berada di antara lengan beban dan titik
tumpu.
Gambar 2.22 Prinsip kerja tuas[28]
Prinsip kerja tuas kelas pertama ditunjukkan pada gambar 2.22. Gambar tersebut dapat
diperjelas dengan rumus berikut:
W . Lb = F . Lk .............................................................................................................(2.9)
Keterangan :
W = berat beban (N,kg)
Lb = panjang lengan beban (cm)
F = gaya yang diberikan (N,kg)
L = panjang lengan kuasa (cm)
Prinsip kerja tuas akan ditemukan pada link penggerak yang mana digunakan untuk
meringankan beban motor dalam mengangkat beban.
2.10.2. Jangkauan Lengan Robot
Untuk menghitung jangkauan kerja dari lengan robot maka digunakan persamaan
trigonometri untuk menyelesaikannya. Setiap komponen dalam koordinat (x,y,z)
dinyatakan sebagai transformasi dari tiap-tiap komponen ruang sendi (r,θ). Jari-jari r dalam
persamaan sering ditulis sebagai panjang lengan atau link l. Untuk koordinat 2D komponen
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
z dapat tidak dituliskan.[1] Pada Gambar 2.23 ditunjukkan konfigurasi lengan robot untuk
perhitungan trigonometri.
Gambar 2.23 Konfigurasi Perhitungan Jangkauan Lengan Robot
Ujung dari lengan dinyatakan sebagai P(x,y),[1]
P(x,y)=f( , ) .................................................................................................(2.10)
Jika P diasumsikan sebagai verktor penjumlahan yang terdiri dari vektor lengan-
1 dan lengan-2,[1]
=[ cos , sin ] .....................................................................................(2.11)
=[ cos ( + ), sin ( + )] ...................................................................(2.12)
maka
x= cos + cos ( + ) ..............................................................................(2.13)
y= sin + sin ( + ) ..............................................................................(2.14)
Persamaan (2.13) dan (2.14) adalah persamaan kinematik maju dari lengan
robot.[1]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
BAB III
PERANCANGAN PENELITIAN
3.1. Perancangan Sistem
Perancangan pengendali lengan robot ini akan dibagi menjadi dua subsistem, yaitu
subsistem software dan subsistem hardware. Subsistem software berhubungan dengan
perancangan program yang akan digunakan untuk menjalankan perangkat yang akan
dibuat, sedangkan subsistem hardware sendiri dari minimum sistem mikrokontroler, desain
lengan robot, dan interface dengan gamepad. Berikut ini adalah rancangan diagram blok
dari sistem pengendali lengan robot yang akan dibuat.
Gambar 3.1 Diagram Blok Perancangan
Dari gambar diagram blok sistem pada Gambar 3.1, tombol gamepad yang akan
digunakan adalah 8 tombol digital. Setiap dua tombol akan mengendalikan 1 motor servo
CW dan CCW. Pertama- tama output gamepad masuk ke USB Host Shield yang membantu
mikrokontroler dalam membaca sinyal USB dari gamepad. Pada USB Host Shield ini
terdapat IC pengendali USB MAX3421E yang merupakan pengendali USB pertifer/host
yang mengandung logika digital dan sirkuit analog yang diperlukan untuk menerapkan
full-speed USB perifer atau full/ low speed host sesuai spesifikasi USB rev 2.0. Setelah
Lengan Robot
Gamepad USB Host Shield ATmega 328
Servo 1 (BASE)
Servo 2 (SHOULDER)
Servo 3 (ELBOW)
Servo 4 (GRIPPER)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
melewati USB Host Shield ini input akan diproses oleh mikrokontroler Atmega 328 yang
mana akan memberi output ke 4 motor servo.
3.1.1. Perancangan Fungsi Tombol Gamepad
Pada bagian ini diidentifikasi fungsi dari tombol gamepad yang akan digunakan
untuk kendali lengan robot. Dalam rancangan ini akan menggunakan 8 tombol digital
untuk operasi pengendali lengan robot. Untuk fungsi-fungsinya secara lebih detil dapat
dilihat pada Tabel 3.1 berikut.
Tabel 3.1 Fungsi Tombol Gamepad
NO TOMBOL FUNGSI TOMBOL
1. Nav. Left Base (servo 1) : berputar ke kiri secara horisontal.
2. Nav. Right Base (servo 1) : berputar ke kanan secara horisontal.
3. Nav. Up Shoulder (servo 2) : bergerak maju.
4. Nav. Down Shoulder (servo 2) : bergerak mundur.
5. Cross Elbow (servo 3) : bergerak naik secara vertikal.
6. Triangle Elbow (servo 3) : bergerak turun secara vertikal.
7. Square Gripper (servo 4) : menutup.
8. Circle Gripper (servo 4) : membuka.
3.2. Perancangan Hardware
Hardware menjadi salah satu bagian penting untuk membangun pengendali lengan
robot agar semua sistem dapat bekerja dengan baik. Pada penelitian ini, hardware dibagi
dalam dua kategori, yaitu perancangan hardware elektrik dan perancangan hardware
mekanik.
3.2.1. Perancangan Rangkaian Sistem Minimum Mikrokontroler
ATmega328P
Rangakaian sistem minumum berfungsi sebagai pengolah I/O, yang mana akan
memperoleh input dari gamepad yang melalui USB Host Shield dan akan mengolah data
tersebut sehingga dapat mengontrol motor servo. Mikrokontoler membutuhkan sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
minumum untuk beroperasi yang terdiri dari rangkaian eksternal yaitu, rangkain reset dan
rangkaian osilator.
1. Rangkaian Reset
Rangkaian reset ditunjukkan pada Gambar 3.2 di bawah, yang mana akan
terhubung ke pin reset pada mikrokontroler Atmega328. Rangkaian pin reset bertujuan
untuk memaksa proses kerja pada mikrokontroler diulang dari awal. Ketika tombol
reset ditekan, maka pin reset akan mendapat input logika low, sehingga mikrokontroler
akan mengulang proses eksekusi program dari awal. Pada perancangan rangkaian reset
digunakan resistor sebesar 10KΩ yang serhubung ke power, yang mana berfungsi
sebagai saklar pull-up.
Gambar 3.2 Rangkaian Reset Mikrokontroler
2. Rangkaian Osilator
Gambar 3.3 di bawah merupakan rangkaian osilator, perancangan rangakaian
osilator menggunakan kristal dengan frekuensi 16Mhz dan dua kapasitor 22pF pada
kaki pin 9 (XTAL1) dan pin 10 (XTAL2) pada mikrokontroler.
Gambar 3.3 Rangkaian Osilator Mikrokontroler
Rangkaian dibawah adalah rangkaian lengkap mikrokontroler Atmega328 yang
dirancang. Pertama-tama agar dapat dipasangkan dengan USB Host Shield maka
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
dipasanglah konektor I/O dan konektor komunikasi melalui SPI (SCK, MISO, MOSI)
yaitu pada pin 17, 18, 19 (ICSP header) pada mikrokontroler.
Gambar 3.4 Rangkaian Minimum Sistem dan Interface-nya
Perancangan penggunaan port pin sebagai input dan output pada mikrokontroler
yang ditunjukkan pada Gambar 3.4 disesuaikan dengan kebutuhan walaupun pada
rancangan semua port digunakan. Port-port tersebut ada yang digunakan untuk input
dari USB Host Shield, sebagai downloder program ke dalam mikrokontroler, sebagai
output ke motor servo, dan juga hanya sebagai penyangga USB Host Shield. Tabel 3.2
di bawah menunjukkan penggunaan port pada mikrokontroler Atmega328 yang akan
digunakan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Tabel 3.2 Port pada Mikrokontroler
No Nama Port Keterangan
1 Port_B5 SCK (ICSP HEADER)
2 Port_B4 MISO (ICSP HEADER)
No Nama Port Keterangan
3 Port_B3 MOSI (ICSP HEADER)
4 Port_C6 RESET (ICSP HEADER)
5 Port_VCC VCC (ICSP HEADER)
6 Port_GND GND (ICSP HEADER)
4 Port_D2 Output servo_01
5 Port_D3 Output servo_02
6 Port_D4 Output servo_03
7 Port_D5 Output servo_04
8 Port_D1 TX (programming)
9 Port_D0 RX (programming)
3. Rangkaian Komunikasi USB Host Shield
USB Host Shield pertama-tama membutuhkan power supply dari mikrokontroler
agar dapat bekerja. Dalam mengirim data dari shield ke mikrokontroler digunakan
komunikasi SPI (pada ICSP header). Pada Gambar 3.5 terlihat bahwa shield mengirim
data ke mikrokontroler.
Gambar 3.5 Koneksi Antara USB Host Shield Dan Mikrokontroler
MIKROKONTROLER
MOSI
MISO
SCK
Reset
GND
+5V
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
3.2.2. Perancangan Kerangka Robot
Lengan robot yang akan dibuat adalah LiteArm yang merupakan desain open source
yang dipublikasi secara gratis pada www.thingiverse.com demi kepentingan pendidikan.
Desain ini dipilih untuk membatu pengendali lengan robot yang akan dibuat dapat
diimplementasikan secara langsung. Kelebihan dari desain ini adalah memiliki ukuran
kecil, membutuhkan komponen yang relatif murah yakni hanya motor mikro servo.
1. Desain Gripper
Desain gripper yang ditunjukkan pada Gambar 3.6 adalah desain gripper yang
berfungsi untuk menjepit benda. Gripper ini digerakkan oleh satu motor mikro servo
yang terhubung menggunakan link ke salah satu penjepit. Untuk membuat kedua
penjepit bergerak bersamaan hanya dengan satu motor servo saja maka pada bagian
pangkal penjepit didesain menyerupai roda gigi sehingga saling terhubung satu sama
lain.
Gambar 3.6 Desain Gripper [26]
2. Desain Link Lengan Robot
Desain lengan robot ini dapat dibilang cukup inovatif, sangat berbeda dengan
desain pada umumnya. Tetapi desain unik ini bukan tanpa tujuan, akan tetapi sengaja
dibuat demikian. Yang pertama adalah link (penghubung) pada shoulder dan elbow,
yang berfungsi membuat gripper pada posisi horisontal selalu sehingga dapat menjepit
benda kerja dengan lebih baik. Tidak hanya itu dengan adanya link-link tersebut maka
motor untuk penggerak elbow dapat diletakkan dibawah berdampingan dengan motor
penggerak shoulder sehingga meringankan beban motor shoulder dalam bergerak
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
nantinya. Selain itu link (penghubung) itu dapat membantu memperkuat lengan
shoulder dan elbow. Desain link lengan robot dapat dilihat pada Gambar 3.7 dan 3.8.
Gambar 3.7 Link Lengan Robot Tampak Kanan [14]
Gambar 3.8 Link Lengan Robot Tampak Kiri [14]
3. Sudut Pergerakan
Setiap motor servo yang digunakan memiliki spesifikasi dapat berputar sebesar
180˚, namun tidak semua sendi dari lengan robot dapat bergerak bebas sebesar 180˚.
Gambar 3.9 menunjukkan sudut pergerakan pada masing-masing sendi lengan robot.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Gambar 3.9 Sudut Pergerakan Lengan Robot [14]
4. Desain Keseluruhan Lengan Robot
Pada Gambar 3.10, 3.11, 3.12, dan 3.13 diperlihatkan desain lengan robot secara
lebih detil, penampakan dari berbagai sudut.
Gambar 3.9 Sudut Pergerakan Lengan Robot [14]
BASE
SHOULDER
ELBOW
GRIPPER
Buka/Tutup
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Gambar 3.11 Lengan Robot Tampak Samping Kanan (Kiri) Dan Tampak Samping Kiri
(Kanan) [14]
Gambar 3.12 Lengan Robot Tampak Atas (Kiri) Dan Tampak Bawah (Kanan) [14]
Gambar 3.13 Lengan Robot Tampilan 3D [14]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
3.2.3. Torsi Motor
Mengetahui torsi motor adalah merupakan hal yang penting untuk mengetahui
batas kemampuan beban dari lengan robot yang akan dibuat. Dari desain lengan robot
telah ditentukan ada dua jenis motor servo yang akan digunakan, yakni micro servo dan
standard servo. Dari dua jenis servo tersebut maka telah ditentukan motor servo yang
akan dipakai dan dari spesifikasi yang ada akan dihitung berat beban yang mampu
ditanggung oleh masing-masing sendi, base, shoulder, elbow, dan gripper.
Pertama kita akan menghitung beban yang mampu ditanggung oleh shoulder, yang
mana pada bagian ini juga menanggung beban dari elbow dan gripper. Motor yang
digunakan merupakan servo standard yang memakai metal gear sehingga lebih kuat dan
memiliki torsi yang cukup besar. Motor ini memiliki torsi 9,02 kg.cm-10,22 kg.cm pada
tegangan kerja 4,8V-6V. Berikut perhitungan beban kerja shoulder:
τ = F. r
9,02 kg.cm = F. 14,3 cm
F = (9,02 kg.cm) / (14,3 cm)
F = 0,63 kg
F = 0,63 kg . 9,8 m/ = 6,17 kg m/
F = m . g
6,17 kg m/ = m . 9,8 m/
m = (6,17 kg m/ ) / (9,8 m/ )
m = 0,63 kg
Pada bagian berikutnya adalah menghitung beban maksimal dari elbow. Bagian ini
berbeda dari shoulder karena motor tidak langsung terhubung pada sendi elbow melainkan
melalui link yang bekerja sesuai prinsip tuas. Jadi untuk menghitung beban maksimal
menggunakan dua persamaan yakni persamaan torsi dan persamaan tuas. Berikut
perhitungannya:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
τ = F. r
9,02 kg.cm = F. 5,2 cm
F = (9,02 kg.cm) / (5,2 cm)
F = 1,73 kg
F = 1,73 kg . 9,8 m/ = 16,95 kg m/
F = m . g
16,95 kg m/ = m . 9,8 m/
m = (16,95 kg m/ ) / (9,8 m/ )
m = 1,73 kg
kemudian menggunakan prinsip kerja tuas,
W . Lb = F . Lk
W . 15,5 cm = 1,73 kg . 5,2 cm
W =
W = 0,58 kg
Pada bagian base tidak ada perhitungan yang dilakukan karena tidak memiliki panjang r,
sehingga torsi dari motor tidak terpotong sama sekali.
τ = 9,02 kg.cm
Desain gripper yang unik membuat pergerakan sudut tidak linier pada sudut jepit gripper
dan sudut servo. Berbeda dengan yang lainnya, gripper menggunakan motor micro servo
yang memiliki torsi 1,8 kg.cm pada tegangan kerja 4,8 V. Berikut perhitungan beban
maksimalnya:
τ = F. r
1,8 kg.cm = F. 2,2 cm
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
F = (1,8 kg.cm) / (2,2 cm)
F = 0,82 kg
F = 0,82 kg . 9,8 m/ = 8,04 kg m/
F = m . g
8,04 kg m/ = m . 9,8 m/
m = (8,04 kg m/ ) / (9,8 m/ )
m = 0,82 kg
3.2.4. Gerak Lengan Robot
Desain lengan robot yang akan dibuat terdiri dari link penggerak utama dan link
penggerak pembantu yang akan dijelaskan pada bagian ini. Gambar 3.14 merupakan
gambar link-link yang ada pada lengan robot beserta keterangan dimensinya. Garis yang
memiliki warna sama menandakan memiliki ukuran yang sama, pemberian warna
diberikan agar desain lengan robot lebih mudah untuk dijelaskan.
Gambar 3.14 Dimensi Lengan dan Link Lengan Robot
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Gambar berikutnya adalah keterangan besar sudut-sudut yang ada pada lengan
robot, ditunjukkan pada gambar 3.14. Pada prinsipnya sudut-sudut yang terjadi pada
lengan robot berdasarkan pada teori sudut segi empat. Jumlah sudut dari segi empat adalah
360˚. Seperti yang ditunjukkan pada gambar 3.15 pada bagian kiri ada segi empat yang
memiliki garis biru yang sejajar dan garis hitam yang saling sejajar pula. Pada gambar
ditunjukkan sudut-sudut mana saja yang memiliki besar yang sama walaupun link-link
bergerak. Link-link pembantu ini juga yang membuat bagian gripper selalu pada posisi
horisontal. Posisi horisontal ini sangat berfungsi untuk gripper sebagai pick and place.
Gambar 3.15 Sudut-Sudut pada Lengan Robot
Hal berikut yang dapat dijelaskan dari lengan robot adalah lintasan pergerakan dari
lengan tersebut. Hal tersebut dijelaskan pada gambar 3.16 yang menampilkan lintasan dari
link-link penggerak berdasarkan warna link tersebut. Jadi link dan lintasan memiliki warna
yang sama. Sebenarnya lintasan tersebut tidaklah sepenuhnya dapat dilintasi, hanya
sebagian saja. Besar sudut pergerakan akan dicari dan dijelaskan pada bab berikutnya
ketika alat sudah jadi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Gambar 3.16 Arah Pergerakan Semua Sendi pada Lengan Robot
3.2.5. Jangkauan Lengan Robot
Gambar 3.17 Konfigurasi Perhitungan Jangkauan Lengan Robot
Untuk melakukan perhitungan jangkauan lengan robot ini maka di ambil 2 posisi
sudut yang berbeda. Letak l1 dan l2 pada lengan robot ditunjukkan pada Gambar 3.17.
Dalam perhitungan ini digunakan persamaan (2.13) dan (2.14).
Panjang lengan l1: 14.3 cm
Panjang lengan l2: 15.5 cm
l1
l2
P(x,y)
x dalam cm
y dalam cm
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
Gambar 3.18 Posisi Maksimal Vertikal
a) Posisi 1; = 90 ; = -95
x= cos + cos ( + )
x= 14.3 cos 90 + 15.5 cos (90-95)
x= 15.44 cm
y= sin + sin ( + )
y= 14.3 sin 90 + 15.5 sin (90-95)
y= 12.9 cm
P(x,y) = (15.44 , 12.9) cm
Gambar 3.19 Posisi Maksimal Horisontal
b) Posisi 2; = 5 ; = -40
x= cos + cos ( + )
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
x= 14.3 cos 5 + 15.5 cos (5-40)
x= 26.9cm
y= sin + sin ( + )
y= 14.2 sin 5 + 15.3 sin (5-40)
y= -7.6 cm
P(x,y) = (26.9 , -7.6) cm
Terlihat telah didapat jangkauan terjauh secara vertikal dan horisontal. Pada jarak
terjauh horisontal nilai Y negatif, nilai ini dikarenakan titik 0 berada pada titik motor servo
shoulder.
Selain posisi X dan Y dari lengan robot, ada pula kondisi sudut pergerakan dari
lengan robot. Untuk lebih mudah dijabarkan maka penjelasan disajikan bersama dengan
gambar. Hasil pergerakan sudut ini berdasarkan simulasi desain menggunakan software
Solidworks. Hasil simulasi ini memperoleh batasan-batasan kondisi pergerakan dari lengan
robot LiteArm.
1. Gripper
Gambar 3.20 Pergerakan Sudut Gripper [26]
Untuk melakukan gerakan membuka dan menutup (pada Gambar 3.20)
hanya diperlukan gerakan 90˚ oleh roda gigi, namun perputaran roda gigi tidak
linier dengan perputaran sudut motor servo, dari 90˚ putaran roda gigi, kira-kira 38˚
putaran sudut pada motor servo. Jadi diperoleh perbandingan putaran sudut antara
motor servo dan roda gigi adalah 1: 2,37 derajat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
2. Shoulder
Gerakan sudut dari shoulder tidak memiliki perbedaan antara sudut yang
dibuat motor dengan sudut yang terbentuk oleh lengannya. Hal ini karena poros
lengan langsung terhubung dengan motor servo. Bagian lengan ini seharusnya
dapat bergerak sesuai dengan sudut pada servo.
3. Elbow
Pada elbow, motor penggerak tidak secara langsung menggerakkan lengan
melainkan melalui link yang bekerja menggunakan prinsip tuas. Link penggerak
pada elbow ditunjukkan pada angka 1 (satu) pada gambar 3.21.
Gambar 3.21 Pergerakan Sudut Elbow
Lengan elbow ini memiliki batasan-batasan pergerakan yang berkaitan dengan
lengan shoulder. Dari gambar 3.21 lengan elbow dapat melakukan pergerakan
sudut paling besar yakni sekitar 60˚. Ketika shoulder pada posisi di bawah 90˚,
pergerakan elbow menjadi lebih kecil karena dibatasi lantai dasar dan batas
maksimal/minimal motor elbow. Begitu juga ketika shoulder pada posisi di atas
90˚, pergerakan elbow dibatasi oleh mekanik yang berbenturan dan juga
maksimal/minimal motor.
4. Base
Pada bagian Base motor servo dapat bergerak bebas 180˚ seperti terlihat
pada Gambar 3.22.
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
Gambar 3.22 Pergerakan Sudut Base
5. Lainnya
Hal lainnya yang adalah gripper yang selalu pada posisi horisontal dan juga
posisi lengan elbow yang tetap terhadap sumbu horisontal walaupaun lengan
shoulder digerakkan.
3.3. Perancangan Software
Perancangan perangkat lunak berisi program-program yang berfungsi sebagai
interface antara input (gamepad) dan output (lengan robot).
3.3.1. Flowchart Utama
Gambar yang ditunjukkan pada Gambar 3.20 adalah flowchart utama yang
merupakan proses kerja keseluruhan mikrokontroler dalam mengolah data input dan
output. Pertama-tama proses dimulai dengan menghidupkan power supply, setelah
mikrokontroler dalam posisi on lalu inisialisasi register yang mana untuk menyimpan data
nantinya, kemudian inisialisasi I/O yaitu penulisan port I/O. Kemudian mikrokontroler
memerintahkan motor servo untuk ke posisi awal yakni dapat disebut juga home position.
180˚
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Pada home position tersebut mikrokontroler membaca input dari gamepad yang langsung
dieksekusi lewat output 4 motor servo. Pembacaan input dan eksekusi ke output akan
dilakukan secara terus menerus hingga tombol power menjadi OFF dan sistem selesai.
Mulai
Inisialisasi
Register dan I/O
Selesai
Lengan
Robot ke
Posisi Awal
Input dari
Gamepad
Pengolahan
data
gamepad
Output ke
motor servo
Gambar 3.23 Flowchart Utama
Pada Gambar 3.21 ditunjukkan pengolahan data dan eksekusi secara lebih detil
dimana adalah proses pengolahan data oleh mikrokontroler yang merupakan penjabaran
dari subsistem flowchart Gambar 3.23.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
Tombol
LEFT
ditekan?
Tombol
CIRCLE
ditekan?
Tombol
SQUARE
ditekan?
Tombol
CROSS
ditekan?
Tombol
TRIANGLE
ditekan?
Tombol
UP
ditekan?
Tombol
DOWN
ditekan?
Tombol
RIGHT
ditekan?
Mulai
Jika
Servo1=180˚Jika
Servo4=0˚Jika
Servo4=35˚Jika
Servo3=35˚Jika
Servo3=180˚Jika
Servo2=0˚Jika
Servo2=180˚Jika
Servo1=0˚
Servo1 CW
(Base max)
Servo4 CCW
(Gripper min)
Servo4 CW
(Gripper max)
Servo3 CCW
(Elbow min)
Servo3 CW
(Elbow max)
Servo2 CCW
(Shoulder min)
Servo2 CW
(Shoulder max)
Servo1 CCW
(Base min)
Kembali
Tidak
Ya
Tidak Tidak Tidak Tidak Tidak Tidak
Tidak
Ya Ya Ya Ya Ya Ya Ya
Ya Ya Ya Ya Ya Ya Ya Ya
Tidak Tidak Tidak Tidak Tidak Tidak Tidak Tidak
Gambar 3.24 Subsistem dari Pengolahan Data
Proses pembacaan alamat gamepad yang ditunjukkan pada flowchart Gambar 3.24
dapat dibuktikan melalui isi dari library USB Host Shield. Dalam library ini terdapat
semua alamat yang dapat membedakan output dari gamepad. Isi dari library ini sebenarnya
cukup kompleks untuk dijabarkan semuanya, oleh karena itu penulis hanya akan
menjabarkan bagian yang berkaitan dengan pembuatan pengendali lengan robot.
Gamepad yang digunakan merupakan PS3 controller yang tersambung via kabel
USB ke host shield. Keluaran dari gamepad telah dijabarkan pada bab sebelumnya melalui
frame data Tabel 2.4, dari gambar tersebut dikatakan bahwa tombol-tombol yang
digunakan berada pada Byte ke-2 dan ke-4. Pada library bagian PS3Enums.h
dideskripsikan alamat registry dari tombol-tombol gamepad.
Contoh data hex dari gamepad (Tabel 2.3) yang dicocokkan dengan alamat
PS3Enums.h (Gambar 2.25) :
Nav.up
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
01 00 10 00 00 00 ....... = 0x10 (sesuai dengan paket data dari Tabel 2.4 yakni Byte 2 bit 4)
Gambar 3.25 Pembacaan Alamat Tombol Gamepad
Karena library ini sudah mendukung banyak USB device maka ada penomoran
untuk membedakan device satu dengan yang lainnya. Penomoran tersebut terprogram pada
controllerEnums.h seperti yang terlihat pada Gambar 3.26.
Gambar 3.26 Penomoran USB Device Berdasarkan Tombol-tombolnya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
BAB IV
HASIL DAN PEMBAHASAN
Hasil implementasi alat beserta dengan pembahasan pada bab ini dibagi menjadi
dua bagian yaitu hasil perancangan perangkat keras (hardware) dan hasil perancangan
pada perangkat lunak (software). Hasil implementasi pengendali lengan robot dengan
Gamepad ini secara keseluruhan sudah sesuai dengan perancangan bab III.
4.1. Hasil Perancangan Perangkat Keras
Hasil perangcangan perangkat keras dari pengendali lengan robot dengan Gamepad
ini terdiri dari dua bagian, diantaranya adalah mekanik robot dan rangkaian elektrik
pengendali. Gambar 4.1 adalah keseluruhan sistem pengendali lengan robot dengan
Gamepad. Mekanik lengan robot merupakan rangka yang membentuk lengan robot yang
sebagian besar terbuat dari bahan akrilik berwarna putih susu dengan ketebalan 5 mm dan
3 mm. Sedangkan bagian elektrik pengendali terdiri dari minimum sistem Atmega328,
USB host shield, dan Gamepad. Keseluruhan kelistrikan rangkaian elektrik menggunakan
tegangan 5 V dari adaptor.
Gambar 4.1 Keseluruhan Sistem Pengendali Lengan Robot dengan Gamepad
LENGAN ROBOT
RANGKAIAN
ELEKTRIK
GAMEPAD
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Gambar 4.2 menerangkan lebih lengkap mengenai bagian-bagian pada lengan
robot. Lengan robot memiliki derajat kebebasan yang biasa disebut DOF (degree of
fredoom), yang terdiri dari Base, Shoulder, Elbow, dan Gripper. Selain itu ada juga link
pembantu yang ada dalam mekanik lengan robot, yakni link Gripper yang terdiri 2 (dua)
dan link pembantu Elbow.
Gambar 4.2 Mekanik Lengan Robot
Karena lengan robot ini menggunakan 3 motor servo standard yang memiliki beban
56gr, oleh karena itu desain lengan robot meletakkan 3 motor servo pada bagian bawah
sehingga tidak membebani motor lain. Pada Gambar 4.3 memperlihatkan letak 3 motor
servo standard yang berada di bagian bawah dan 1 motor servo micro (9gr) pada bagian
atas.
Gambar 4.3 Letak Motor pada Lengan Robot
Keterangan :
1. Base
2. Shoulder
3. Elbow
4. Gripper
5. Link Gripper 1
6. Link Gripper 2
7. Tempat Rangkaian
Elektrik
8. Link Elbow
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Gambar 4.4 Minimum Sistem Atmega328
Minimum sistem Atmega328 digunakan sebagai otak dari pengendalian lengan
robot dengan Gamepad. Gambar 4.4 memperlihatkan bentuk fisik minimum sistem yang
mana menggunakan banyak port I/O namun tidak semua dari port tersebut digunakan
koneksinya melainkan hanya digunakan sebagai penopang USB host shield. Port yang
digunakan hanyalah ICSP dan Power, Gnd, dan 4 digital output.
Gambar 4.5 Minimum Sistem dan USB host shield
Gambar 4.6 Letak Rangkaian Elektrik pada Lengan Robot
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
Pemasangan USB host shield dan minimum sistem secara stackable. USB host
shield kompetibel untuk arduino uno dan arduino mega, oleh karena itu port minimum
sistem Atmega 328 dibuat persis dengan arduino uno sehingga dapat dipasang seperti pada
Gambar 4.5. Minimum sistem, USB host shield, dan juga motor servo menggunakan
tegangan 5 V yang berasal dari adaptor. Gambar 4.6 menunjukkan penempatan dan
koneksi elektrik antara motor servo, minimum sistem, USB host shield, dan power dari
adaptor.
4.2. Hasil Pengujian Perangkat Keras
4.2.1. Pengujian Ketepatan Sudut Lengan Robot
Seperti yang telah dijabarkan pada Bab III bahwa semua motor servo yang
digunakan dapat berputar 180˚. Namun dalam pengujian sudut yang dilakukan ternyata
didapatkan perbedaan dari spesifikasi yang seharusnya, berikut hasil pengujian yang
disajikan dengan Tabel. Semua pengambilan data yang diambil menggunakan kelipatan 5˚
untuk decrement maupun increment sudut melalui program. Kelipatan 5 ˚ ini dianggap
sudah cukup detil untuk sudut 0-180˚, jika dari minimal sampai maksimal sudut terhitung
ada 36 pergerakan selain itu untuk pengoperasian lengan robot dengan pergerakan 5˚ akan
mudah dibandingkan menggerakkan sudut dibawah 5˚, misalnya menggerakkan lengan
robot per 1˚ memang akan sangat detil namun juga akan sangat lambat dalam
pengoperasiannya. Data pada setiap sendi akan diambil sebanyak 3 kali percobaan, dan
yang ditampilkan adalah rata-rata dari data yang diambil (data lengkap pada lampiran).
1. Base
Seharusnya motor Base dapat berputar penuh 180˚ karena pada bagian Base tidak
terdapat batasan hardware. Berikut pengujian yang dilakukan terhadap sendi Base
dengan mengukur secara aktual sudut yang terjadi dan dibandingkan dengan perintah
yang kirim melalui program yang mana dapat dicek melalui serial monitor pada
monitor arduino. Data yang diambil berjumlah 37 yang mana menggunakan kelipatan
5˚ dalam pengambilan data. Proses pengambilan data dilakukan dengan memutar
motor servo dari 0˚ ke kelipatan 5˚ berikutnya secara berkelanjutan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
Tabel 4.1 Sudut Sendi Base
Nama Sendi Sudut pada Servo (˚) Sudut Aktual (˚) Selisih (˚) % Error
Base
0 0,00 0,00 0
5 3,83 1,17 23,33
10 8,33 1,67 16,67
15 12,83 2,17 14,44
20 17,33 2,67 13,33
25 21,67 3,33 13,33
30 26,00 4,00 13,33
35 31,50 3,50 10,00
40 35,83 4,17 10,42
45 40,00 5,00 11,11
50 45,00 5,00 10,00
55 50,00 5,00 9,09
60 54,67 5,33 8,89
65 59,67 5,33 8,21
70 64,33 5,67 8,10
75 69,00 6,00 8,00
80 73,50 6,50 8,13
85 78,33 6,67 7,84
90 83,83 6,17 6,85
95 88,33 6,67 7,02
100 93,00 7,00 7,00
105 99,00 6,00 5,71
110 103,00 7,00 6,36
115 108,67 6,33 5,51
120 113,00 7,00 5,83
125 117,67 7,33 5,87
130 122,33 7,67 5,90
135 126,33 8,67 6,42
140 130,83 9,17 6,55
145 136,00 9,00 6,21
150 141,00 9,00 6,00
155 145,00 10,00 6,45
160 150,00 10,00 6,25
165 155,00 10,00 6,06
170 159,50 10,50 6,18
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
Tabel 4.1(Lanjutan) Sudut Sendi Base
Nama Sendi Sudut pada Servo (˚) Sudut Aktual (˚) Selisih (˚) % Error
Base 175 164,00 11,00 6,29
180 168,83 11,17 6,20
Rata-rata 6,29 8,46
Dari Tabel 4.1 yang disajikan terlihat ternyata spesifikasi dan juga program yang
diperintahkan berbeda dengan output yang terjadi, dari output dapat dilihat bahwa
sudut maksimal dari motor servo hanya 168,8˚. Pada bagian awal pengambilan data
(sudut servo 5-50) terlihat error yang melebihi 10%. Hal ini lebih disebabkan karena
angka dari sudut tersebut kecil sehingga membuat perhitungan error terlihat besar.
Jika dilihat dari selisih yang terjadi malah terjadi kebalikan, data awal malah hanya
terjadi sedikit selisih dibandingkan data pada bagian akhir. Selisih yang terjadi adalah
cara terbaik untuk melihat error yang terjadi pada pembentukan sudut sendi Base ini.
Penjelasan untuk kenapa pada bagian maksimal sudut mengalami selisih sudut yang
besar karena merupakan akumulasi error yang terjadi dari awal (1 derajat pada serial
monitor bukan 1 derajat pada sudut aktual).
Gambar 4.7 Grafik Perbandingan Sudut Base
0,0010,0020,0030,0040,0050,0060,0070,0080,0090,00
100,00110,00120,00130,00140,00150,00160,00170,00180,00
0
10
20
30
40
50
60
70
80
90
10
0
11
0
12
0
13
0
14
0
15
0
16
0
17
0
18
0
SUD
UT
AK
TUA
L
SUDUT SERVO
SUDUT SERVO DAN AKTUAL BASE
BESAR SUDUT
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Sudut aktual dari pengukuran dan sudut dari serial monitor dibandingkan oleh
grafik pada Gambar 4.7. Grafik memperlihatkan bahwa sebenarnya hanya sedikit
perbedaan yang terjadi. Dapat disimpulkan bahwa 1˚ pada serial monitor setara
dengan 0,94˚ sudut aktual. Perbedaan ini terjadi karena rugi-rugi mekanik dalam
motor servo yang digunakan.
2. Shoulder
Pada sendi Shoulder dilakukan pengambilan data seperti pada sudut Base. Masih
sama menggunakan kelipatan 5˚ dalam mengambil data sehingga diperoleh 37 data
yang ditampilkan pada Tabel 4.2.
Tabel 4.2 Pengujian Sudut Shoulder
Nama Sendi Sudut pada Servo (˚) Sudut Aktual (˚) Selisih (˚) % Error
Shoulder
0 0 0,00 0,00
5 5,5 0,50 10,00
10 10 0,00 0,00
15 14,5 0,50 3,33
20 20 0,00 0,00
25 24 1,00 4,00
30 29 1,00 3,33
35 33,5 1,50 4,29
40 38,5 1,50 3,75
45 43 2,00 4,44
50 49 1,00 2,00
55 53,5 1,50 2,73
60 58 2,00 3,33
65 64,5 0,50 0,77
70 68 2,00 2,86
75 73 2,00 2,67
80 78,5 1,50 1,88
85 84 1,00 1,18
90 89 1,00 1,11
95 94 1,00 1,05
100 100,5 0,50 0,50
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
Tabel 4.2 (Lanjutan) Pengujian Sudut Shoulder
Nama Sendi Sudut pada Servo (˚) Sudut Aktual (˚) Selisih (˚) % Error
Shoulder
105 105,5 0,50 0,48
110 110,5 0,50 0,45
115 116 1,00 0,87
120 121 1,00 0,83
125 127 2,00 1,60
130 131 1,00 0,77
135 137 2,00 1,48
140 141 1,00 0,71
145 146 1,00 0,69
150 150 0,00 0,00
155 154 1,00 0,65
160 160 0,00 0,00
165 165 0,00 0,00
170 170 0,00 0,00
175 174 1,00 0,57
180 177 3,00 1,67
Rata-rata 0,99 1,67
Sudut maksimal yang di-input ternyata hanya terbentuk sudut 177˚ yang aktual.
Jika dihitung berarti setiap 1 ˚ input maka akan terbentuk 0,98˚ pada aktualnya. Ini
merupakan sudut yang cukup akurat karena hanya terjadi pergeseran sekitar 0,02˚ saja.
Seperti pada sendi Base untuk melihat error yang terjadi lebih baik melihat selisih
yang terjadi pada sudut serial monitor dengan sudut aktual, selisih yang paling besar
adalah 3 derajat pada sudut maksimal servo. Error yang terjadi pada sendi ini dapat
dibilang cukup kecil dan error yang terjadi tidak beraturan. Gambar 4.8 adalah grafik
antara sudut input dan sudut yang terbentuk pada sendi Shoulder.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
Gambar 4.8 Grafik Sudut Shoulder
3. Elbow
Bagian sendi Elbow memiliki sistem penggerak yang agak berbeda dengan yang
lain. hal ini dikarenakan motor penggerak menggunakan metode tuas dalam
menggerakkan sendinya. Motor tidak langsung menempel pada sendi seperti yang
lainnya melainkan menggunakan link pembantu sehingga desain motor bisa berada di
bawah berdampingan dengan motor Shoulder. Dalam hal ini link pembantu juga
menggunakan prinsip sudut segi 4 sehingga sudut yang dibentuk oleh motor servo
sama dengan sudut yang terjadi pada sendi Elbow. Berikut Tabel 4.3 yang berisi hasil
pengambilan data.
0,00
10,00
20,00
30,00
40,00
50,00
60,00
70,00
80,00
90,00
100,00
110,00
120,00
130,00
140,00
150,00
160,00
170,00
180,00
0 10 20 30 40 50 60 70 80 90 100110120130140150160170180
SUD
UT
AK
TUA
L
SUDUT SERVO
SUDUT SERVO DAN AKTUAL SHOULDER
BESAR SUDUT
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
Tabel 4.3 Tabel Pengambilan Data Elbow
Nama Sendi Sudut pada Servo (˚) Sudut Aktual (˚) Selisih (˚) % Error
Elbow (Shoulder 40 ˚)
35 35,00 0,00 0,00
40 39,00 1,00 2,50
45 44,00 1,00 2,22
50 49,00 1,00 2,00
55 53,50 1,50 2,73
60 58,00 2,00 3,33
65 63,00 2,00 3,08
70 68,00 2,00 2,86
75 73,00 2,00 2,67
80 76,33 3,67 4,58
85 82,00 3,00 3,53
90 86,67 3,33 3,70
95 91,00 4,00 4,21
100 96,00 4,00 4,00
105 100,33 4,67 4,44
110 105,00 5,00 4,55
115 109,83 5,17 4,49
120 114,67 5,33 4,44
125 117,83 7,17 5,73
130 121,83 8,17 6,28
135 125,33 9,67 7,16
140 129,67 10,33 7,38
145 133,83 11,17 7,70
150 137,67 12,33 8,22
155 142,00 13,00 8,39
160 146,50 13,50 8,44
165 150,83 14,17 8,59
170 155,33 14,67 8,63
175 157,00 18,00 10,29
180 158,17 21,83 12,13
Rata-rata 6,82 5,28
Pengambilan data tetap menggunakan kelipatan 5˚ untuk jarak datanya. Sehingga
pada sendi Elbow ini ada 30 data yang dapat diambil dari sudut minimal ke sudut
maksimal. Sudut input minimal hanya bisa mencapai 35˚ karena penggerak Elbow
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
yang bertabrakan dengan motor servo penggerak Base. Sedangkan untuk sudut
maksimalnya sampai sudut input 180˚. Jika melihat error yang terjadi berdasarkan
selisih dapat dilihat jika selisih yang terjadi semakin besar ketika pada sudut
maksimal. Hal ini terjadi karena 1 derajat pada serial monitor bukan 1 derajat pada
sudut yang terbentuk pada motor servo sehingga pada sudut maksimal selisih tersebut
terakumulasi menjadi besar.
Gambar 4.9 Grafik Perbandiang Sudut Input dan Sudut Aktual Pada Sendi Elbow
Sendi ini mengalami pergeseran sendi input dan aktual yang lebih besar dari yang
lainnya khususnya pada sudut maksimal. Satu derajat pada input membentuk 0,88
pada sudut aktualnya. Hal ini terjadi karena kurang fix-nya baut penghubung pada
link-link penggerak yang menyebabkan terjadinya pergeseran sudut. Gambar 4.9
menunjukkan grafik pergeseran dan perbedaan antara sudut input dan sudut aktual
yang diukur terlihat pergeseran cukup besar pada sudut maksimal.
35,00
45,00
55,00
65,00
75,00
85,00
95,00
105,00
115,00
125,00
135,00
145,00
155,00
165,00
175,00
185,00
35
40
45
50
55
60
65
70
75
80
85
90
95
10
01
05
11
01
15
12
01
25
13
01
35
14
01
45
15
01
55
16
01
65
17
01
75
18
0
SUD
UT
AK
TUA
L
SUDUT SERVO
SUDUT SERVO DAN AKTUAL ELBOW
BESARSUDUT
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
4. Gripper
Pada bagian Gripper seperti yang telah disebutkan pada bab III bahwa untuk
melakukan gerakan membuka dan menutup diperlukan gerakan roda gigi 90˚ , namun
putaran roda gigi Gripper tidak linier dengan putaran motor servo, yang menurut bab
III berdasarkan simulasi diperoleh perbandingan 1: 2,37˚.
Tabel 4.4 Tabel Data Gripper
Nama Sendi Sudut pada Servo (˚) Sudut Aktual (˚)
Gripper
0 0,00
5 0,00
10 10,00
15 34,67
20 46,33
25 56,00
30 62,00
35 69,67
40 93,33
Pada hasil pengambilan data Gripper membuka dan menutup hanya dengan
gerakan motor servo 40˚ saja. Dan roda gigi Gripper telah membentuk 93,3˚. Data
yang diambil dapat dilihat pada Tabel 4.4. Jadi dapat dibuat perbandingan dari
pengambilan data ini yakni sudut motor servo dan sudut aktual adalah kira-kira 1: 2,3˚.
4.2.2. Pengujian Kinematika Lengan Robot
Pengujian kinematika lengan robot didasarkan pada perangcangan pada bab III
yakni menggunakan sumbu X dan Y untuk menentukan posisi. Pengambilan data dimulai
dengan sudut Shoulder yang paling kecil kemudian mengubah sudul Elbow ke minimal
sampai maksimal kemudian akan diambil titik X dan Y. Kemudian dilanjutkan dengan
sudul Shoulder yang lebih besar hingga ke maksimal. Data yang akan diambil akan
dibatasi oleh lantai sebagai batas bawah. Hasil dari X dan Y tersebut kemudian
dibandingkan dengan hasil perhitungan menggunakan rumus forward kinematika.
Pengambilan data pada lengan robot dapat dilihat pada Gambar 4.7.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
Gambar 4.10 Sumbu X Dan Y pada Lengan Robot
Tabel 4.5 Data Forward Kinematik Lengan Robot
Shoulder Elbow
X Aktual
Y Aktual
X Perhitungan
Y Perhitungan
Sudut Servo
Sudut Aktual Θ1
Sudut Min Max Servo
Sudut Min Max Aktual Θ2
15 ˚ 5 ˚
40 ˚ 15 ˚ 29 -1 29,51 -1,45
50 ˚ 21 ˚ 28,8 -2,4 29,15 -3,03
60 ˚ 29 ˚ 28,1 -4,5 28,41 -5,06
70 ˚ 35 ˚ 27,1 -6,5 27,67 -6,50
30 ˚ 21 ˚
35 ˚ 25 ˚ 28,3 4,3 28,81 4,04
40 ˚ 26 ˚ 28,4 3,1 28,79 3,77
50 ˚ 36 ˚ 28 0,5 28,32 1,11
60 ˚ 44 ˚ 26,8 -1,7 27,62 -0,93
70 ˚ 52 ˚ 25,8 -3,9 26,64 -2,86
80 ˚ 59 ˚ 24,6 -5,8 25,56 -4,42
85 ˚ 65 ˚ 23,7 -6,7 24,50 -5,64
60 ˚ 45 ˚
35 ˚ 51 ˚ 24 10,7 25,53 8,49
40 ˚ 53 ˚ 23,9 9,5 25,46 7,95
50 ˚ 65 ˚ 23,7 6,8 24,68 4,81
60 ˚ 73 ˚ 22,9 4,4 23,80 2,83
70 ˚ 81 ˚ 21,8 2,3 22,65 1,00
80 ˚ 88 ˚ 20,3 0,2 21,45 -0,46
90 ˚ 92 ˚ 18,8 -1,6 20,68 -1,22
100 ˚ 108 ˚ 16,6 -3 17,15 -3,70
l1
l2
P(x,y)
x dalam cm
y dalam cm
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
Tabel 4.5 (Lanjutan) Data Forward Kinematik Lengan Robot
Shoulder Elbow
X
Aktual
Y
Aktual
X
Perhitungan
Y
Perhitungan
Sudut
Servo
Sudut
Aktual
Θ1
Sudut
Min
Max
Servo
Sudut Min
Max
Aktual Θ2
60 ˚ 45 ˚
110 ˚ 111 ˚ 14,8 -4 16,42 -4,05
120 ˚ 126 ˚ 12,5 -4,8 12,54 -5,20
130 ˚ 135 ˚ 10,5 -5,2 10,11 -5,39
140 ˚ 145 ˚ 8,2 -5,3 7,42 -5,15
150 ˚ 150 ˚ 6,1 -5 6,10 -4,86
160 ˚ 157 ˚ 4,5 -4,4 4,31 -4,26
90 ˚ 88 ˚
35 ˚ 84 ˚ 16,7 14,6 15,96 15,37
40 ˚ 85 ˚ 17,1 14,2 15,98 15,10
50 ˚ 93 ˚ 16,8 9,7 15,94 12,94
60 ˚ 101 ˚ 16 7,3 15,60 10,80
70 ˚ 108 ˚ 15 5,2 15,06 8,99
80 ˚ 118 ˚ 13,5 3,2 13,92 6,54
90 ˚ 126 ˚ 11,5 1,4 12,71 4,75
100 ˚ 136 ˚ 9,4 -0,1 10,87 2,77
110 ˚ 144 ˚ 7,2 -1,2 9,17 1,44
120 ˚ 152 ˚ 4,9 -1,9 7,29 0,36
125 ˚ 156 ˚ 4,5 -2 6,31 -0,08
120 ˚ 112 ˚
35 ˚ 115 ˚ 9,6 12,9 10,12 12,45
40 ˚ 116 ˚ 9,5 11,6 10,11 12,18
50 ˚ 124 ˚ 9,1 8,6 9,80 10,04
60 ˚ 130 ˚ 8,4 6,3 9,38 8,47
70 ˚ 138 ˚ 7,2 4 8,57 6,46
80 ˚ 147 ˚ 5,5 1,7 7,34 4,37
90 ˚ 158 ˚ 3,9 0 5,41 2,11
150 ˚ 135 ˚
35 ˚ 137 ˚ 3,6 7,9 5,38 9,57
40 ˚ 140 ˚ 3,5 6,5 5,33 8,76
50 ˚ 150 ˚ 3,2 3,5 4,86 6,10
55 ˚ 155 ˚ 2,8 2,1 4,45 4,81
170 ˚ 157 ˚ 35 ˚ 158 ˚ 1,7 3 2,33 5,32
Dari data yang telah ditampilkan pada Tabel 4.5 dapat dilihat nilai XY aktual dan
nilai XY perhitungan. Tidak ada yang sama persis nilainya namun perbedaannya juga tidak
besar. Berikut adalah perhitungan rata-rata selisih pada X dan Y:
Rata-rata selisih X = ∑
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
= ∑
= 0,97 cm
Rata-rata selisih Y = ∑
= ∑
= 1,48 cm
Setelah dibuat rata-rata dari selisih antara perhitungan dan aktual maka nilai X
memiliki selisih 0,97 cm dan nilai Y memiliki selisih yang lebih besar yakni 1,48 cm. Pada
lampiran telah disertai tabel dengan besar error dalam persen, namun besar error tidak
relevan ketika data yang diuji terlalu kecil atau dekat dengan nilai 0 (nol). Oleh karena itu
nilai selisih merupakan cara terbaik untuk melihat error yang terjadi pada pergerakan XY
ini.
Gambar 4.11 Ruang Kerja Lengan Robot dalam X dan Y
Dari Tabel 4.5 yang menampilkan nilai X dan Y aktual dapat dibuat ruang kerja
dari lengan robot. Ruang kerja adalah batasan-batasan gerakan dari lengan robot yang
dalam Gambar 4.11 disajikan dalam ruang 2D pada sumbu X dan Y. Jadi lengan robot
tidak dapat menjangkau titik di luar wilayah ruang kerjanya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
4.2.3. Analisa Pergerakan Link
Pergerakan link-link yang dimaksud adalah link-link yang menggunakan prinsip
kerja sudut segi 4. Dimana jumlah dari dua sisi yang berbeda adalah 180˚ sehingga jika
setiap sudut memiliki sudut yang kembar maka jumlah sudut segi 4 adalah 360˚. Dari
prinsip segi 4 maka diambillah data sudut pada link-link lengan robot yang ada pada
Gambar 4.12.
Gambar 4.12 Nama Sudut Link Segi 4 pada Lengan Robot
Dalam pengambilan data ini dilakukan penentuan posisi secara acak karena tujuan
dari data yang diambil hanyalah besar sudut dari segi 4 yang bervariasi. Oleh karena itu
diambil 5 kali percobaan dengan posisi yang berbeda-beda pula.
Tabel 4.6 Sudut Link Segi 4 Lengan Robot
No Sudut A Sudut B Sudut C Sudut D Sudut E Sudut F
1 40 ˚ 140 ˚ 127 ˚ 61 ˚ 85 ˚ 95 ˚
2 90 ˚ 90 ˚ 88 ˚ 92 ˚ 70 ˚ 107 ˚
3 70 ˚ 110 ˚ 130 ˚ 55 ˚ 50 ˚ 130 ˚
4 18 ˚ 165 ˚ 145 ˚ 35 ˚ 86 ˚ 90 ˚
5 150 ˚ 30 ˚ 110 ˚ 68 ˚ 30 ˚ 147 ˚
Setiap dua sudut yang diambil merupakan bagian dari 1 segi 4. Jadi sudut A dan B
merupakan sudut segi 4 dari link pembantu Elbow, kemudian sudut C dan D merupakan
sudut dari segi 4 link pembantu Shoulder, dan yang terakhir adalah sudut E dan F
merupakan sudut segi 4 dari link pembantu Gripper.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
Tabel 4.7 Analisa Sudut Link Segi 4 Lengan Robot
No Jumlah Sudut A dan B
Jumlah Sudut segi 4 AB
% Error
Jumlah Sudut C dan D
Jumlah Sudut segi 4 CD
% Error
Jumlah Sudut E dan F
Jumlah Sudut segi 4 EF
% Error
1 180 ˚ 360 ˚ 0 188 ˚ 376 ˚ 4,44 180 ˚ 360 ˚ 0
2 180 ˚ 360 ˚ 0 180 ˚ 360 ˚ 0 177 ˚ 354 ˚ 1,67
3 180 ˚ 360 ˚ 0 185 ˚ 370 ˚ 2,78 180 ˚ 360 ˚ 0
4 183 ˚ 366 ˚ 1,67 180 ˚ 360 ˚ 0 176 ˚ 352 ˚ 2,22
5 180 ˚ 360 ˚ 0 178 ˚ 356 ˚ 1,11 177 ˚ 354 ˚ 1,67
Dari data yang didapatkan pada Tabel 4.7 terlihat error yang terjadi pada
pergerakan sudut pada lengan robot. Untuk segi 4 AB memiliki rata-rata error 0,33%, segi
4 CD memiliki rata-rata error 1,67%, dan segi 4 EF memiliki rata-rata error 1,11.
4.2.4. Pengujian Repeatability Gerakan Lengan Robot
Pengujian ini dilakukan untuk melihat tingkat kestabilan lengan robot dalam
melakukan pergerakan. Pergerakan yang akan diuji berdasarkan sudut yang diberikan dari
mikrokontroler dengan input Gamepad. Pengujian dilakukan dengan cara memberi input
tertentu pada masing-masing axis lengan robot yang mana akan diberikan secara berulang
sebanyak 10 kali. Dari input tersebut akan diukur sudut aktual yang terjadi pada lengan
robot. Membentuk sudut acuan dilakukan secara acak (CW atau CCW).
1. Base
Tabel 4.8 Repeatability Gerak Sendi Base
Percobaan Sudut acuan Sudut aktual Selisih % Error
1 80 ˚ 73 ˚ 7 ˚ 8,75
2 80 ˚ 73 ˚ 7 ˚ 8,75
3 80 ˚ 73 ˚ 7 ˚ 8,75
4 80 ˚ 73 ˚ 7 ˚ 8,75
5 80 ˚ 73 ˚ 7 ˚ 8,75
6 80 ˚ 73 ˚ 7 ˚ 8,75
7 80 ˚ 73 ˚ 7 ˚ 8,75
8 80 ˚ 73 ˚ 7 ˚ 8,75
9 80 ˚ 73 ˚ 7 ˚ 8,75
10 80 ˚ 73 ˚ 7 ˚ 8,75
Rata-rata 73 ˚ 7 ˚ 8,57
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
Berdasarkan pengambilan data yang telah dilakukan pada Tabel 4.8 sendi Base
melakukan pergerakan sudut yang sangat stabil hingga tidak terjadi perubahan dalam
kestabilannya.
2. Shoulder
Tabel 4.9 Repeatability Gerak Sendi Shoulder
Percobaan Sudut acuan Sudut aktual Selisih % Error
1 60 ˚ 54 ˚ 6 ˚ 10
2 60 ˚ 54 ˚ 6 ˚ 10
3 60 ˚ 53 ˚ 7 ˚ 11,67
4 60 ˚ 54 ˚ 6 ˚ 10
5 60 ˚ 53 ˚ 7 ˚ 11,67
6 60 ˚ 53 ˚ 7 ˚ 11,67
7 60 ˚ 54 ˚ 6 ˚ 10
8 60 ˚ 54 ˚ 6 ˚ 10
9 60 ˚ 54 ˚ 6 ˚ 10
10 60 ˚ 54 ˚ 6 ˚ 10
Rata-rata 53,7 ˚ 6,3 ˚ 10,50
Dari percobaan yang ditampilkan pada Tabel 4.9 gerakan sendi Shoulder lumayan
stabil hanya terjadi 3 perbedaan dari 10 kali percobaan yang dilakukan. Perbedaaan
yang terjadi pun tidak terlalu mencolok yakni hanya 1˚ yang paling besar.
3. Elbow
Tabel 4.10 Repeatability Gerak Sendi Elbow
Percobaan Sudut acuan Sudut aktual Selisih % Error
1 50 ˚ 49 ˚ 1 ˚ 2
2 50 ˚ 49 ˚ 1 ˚ 2
3 50 ˚ 48 ˚ 2 ˚ 4
4 50 ˚ 47,5 ˚ 2,5 ˚ 5
5 50 ˚ 48 ˚ 2 ˚ 4
6 50 ˚ 47,5 ˚ 2,5 ˚ 5
7 50 ˚ 47,5 ˚ 2,5 ˚ 5
8 50 ˚ 47,5 ˚ 2,5 ˚ 5
9 50 ˚ 47,5 ˚ 2,5 ˚ 5
10 50 ˚ 48 ˚ 2 ˚ 4
Rata-rata 47,95 ˚ 2,05 ˚ 4,1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
Tabel 4.10 memperlihatkan kestabilan gerak sendi Elbow. Dari 10 kali percobaan
yang dilakukan ada 3 variasi sudut yang terjadi yakni 49˚, 48˚, dan 47,5˚. Selisih dari 3
posisi tersebut yang paling besar adalah 2,5˚.
4. Gripper
Tabel 4.11 Repitability Gerak Gripper
Percobaan Sudut acuan Sudut aktual
1 15 ˚ 45 ˚
2 15 ˚ 55 ˚
3 15 ˚ 45 ˚
4 15 ˚ 55 ˚
5 15 ˚ 45 ˚
6 15 ˚ 55 ˚
7 15 ˚ 45 ˚
8 15 ˚ 55 ˚
9 15 ˚ 45 ˚
10 15 ˚ 55 ˚
Bebeda dari semua sendi yang ada, hasil dari percobaan Gripper ada pengecualian.
Desain yang Gripper membuat sudut acuan tidak akan sama dengan sudut aktual. Pada
Tabel 4.11 ditunjukkan hasil percobaan kestabilan dari Gripper, ternyata gerakan
sudut yang dilakukan tidak dapat stabil. Ada 2 variasi sudut yang terjadi pada
pengambilan data. Perbedaan tersebut terjadi ketika motor berputar CCW dan CW.
Selisih sudutnya pun cukup besar yakni mencapai 10˚. Ketidakstabilan ini terjadi
karena roda gigi yang menghubungkan penjepit Gripper memiliki renggang sedikit
yang mana ketika digerakkan membuat gerakan tidak fix atau dengan kata lain kocak.
4.3. Analisa Perangkat Lunak
4.3.1. Inisialisasi
Inisialisasi pada program pengendali lengan robot dengan Gamepad ini berisi
tentang pendefenisian dari fungsi library dan variabel yang digunakan dalam proses
pengoperasian data. Seperti pada Bab perancangan pada flowchart utama program, bagian
dari inisialisasi meliputi input/output yang digunakan, setup untuk komunikasi serial, serta
setup untuk USB host shield. Listing program inisialisasi dari pengendali lengan robot
dengan Gamepad dapat dilihat pada Gambar 4.13 dan Gambar 4.14.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
Gambar 4.13 Inisialisasi Library yang Digunakan
Gambar 4.14 Inisalisasi Variabel dan Input/Output 1
Gambar 4.15 Inisalisasi Variabel dan Input/Output 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
Gambar 4.13 memperlihatkan program ini menggunakan 2 library yaitu library
Servo.h dan library PS3USB.h. Servo.h berfungsi mengubah output digital dari
mikrokontroler dapat digunakan untuk mengatur motor servo yang mana membutuhkan
output analog. Dengan library ini motor servo diatur sudutnya dari 0-180˚. Sedangkan
library PS3USB.h mengatur komunikasi perangkat Gamepad yang terhubung ke USB host
shield dengan mikrokontroler melalui ICSP bus.
Pada Gambar 4.14 dan Gambar 4.15 yang ditunjuk no 1 merupakan variabel yang
berisi posisi sudut motor servo (0-180˚) sekaligus menentukan posisi awal ketika program
running. Pada no 2 merupakan variabel untuk membatasi sudut maksimal atau minimal
yang dapat dicapai oleh motor servo. Pada no 3 adalah alamat pin output untuk motor
servo yang berjumlah 4 pin. Sedangkan no 4 adalah variabel untuk motor servo yang akan
digunakan dan antara pin output dengan variabel motor servo dihubungkan oleh no 6.
Untuk bagian input dapat ditunjukkan pada no 5, dimana inputnya menggunakan Gamepad
PS3 yang terhubung melalui USB.
4.3.2. Pembacaan Input dan Perintah ke Output
Gambar 4.16 Input dan Output pada Program
Listing program pembacaan input dan perintah ke output dalam mikrokontroler
arduino dapat dilihat pada Gambar 4.16. Pembacaan input dari USB Gamepad
menggunakan komunikasi ISCP memanfaatkan port MISO, MOSI, SCK, dan RESET
mikrokontroler. Menggunakan library USB host shield sehingga semua input dari
Gamepad dapat terbaca (TRIANGLE, CROSS, SQUARE, CIRCLE, UP, DOWN, LEFT, dan
RIGHT). Sedangkan listing program output untuk menggerakkan motor servo ditunjukkan
pada Gambar 4.16 juga. Menggerakkan motor servo menggunakan pulsa-pulsa yang
dikeluarkan oleh mikrokontroler melalui port digital 4, 6, 7, dan 8. Motor servo digerakkan
berdasarkan posisi sudut yang telah disimpan pada variabel pos1/2/3/4 yang berisi sudut
dari 0-180˚.
Input
Output
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
4.3.3. Kecepatan Motor
Kecepatan motor berkaitan dengan delay yang digunakan. Delay yang
dimaksudkan adalah yang berada pada bagian void loop program, dengan semakin
besarnya nilai (dalam satuan milisecons) yang diberikan makan proses looping program
juga akan semakin lama. Letak delay ini ada di baris paling akhir sub program void loop
yang dapat dilihat pada Gambar 4.17.
Gambar 4.17 Delay pada Void Loop
4.3.4. Pengiriman Data ke User Melalui Serial Monitor
Pada Gambar 4.18 adalah program inisialisasi untuk memulai pembacaaan
komunikasi serial dengan baudrate 115200 Hz. Pembacaan serial ini berfungsi untuk
membaca data baik input atau output dari mikrokontroler. Hal ini berfungsi sebagai user
interface untuk pengecekan input dan output. Contoh program untuk pembacaan data
serial input dan output ini ada pada Gambar 4.19 dimana input ada pada nomor 1 dan
output pada nomor 2.
Gambar 4.18 Inisialisasi Pembacaan Serial
Gambar 4.19 Pembacaan Serial Input dan Output
Selanjutnya untuk menampilkan hasil pembacaan serial yang dilakukan adalah
dengan menggunakan fitur serial monitor yang sudah ada pada monitor arduino. Tampilan
serial monitor sebagai user interface dapat dilihat pada Gambar 4.20. Data yang
Input
Output
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
ditampilkan adalah input apa yang sedang ditekan, motor yang sedang beroperasi serta
sudut dari motor servo tersebut.
Gambar 4.20 Tampilan Serial Monitor sebagai User Interface
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Setelah pengujian yang dilakukan pada pengendali lengan robot dengan Gamepad,
dapat ditarik kesimpulan sebagai berikut:
1. Lengan robot dapat bergerak dengan ketelitian 5˚ pada tiga sendi Base, Shoulder,
Elbow, dan Gripper sebagai end effector.
2. Penelitian yang telah dilakukan sudah berhasil. Gerakan lengan robot sudah dapat
mengikuti perintah dari Gamepad dengan baik. Dari tingkat repeatability pada base
tidak mengalami pergeseran sudut, shoulder mengalami 1˚ pergeseran, elbow
mengalami pergeseran 1,5˚ , dan yang paling besar yakni gripper mengalami
pergeseran 10˚.
3. Pengendali lengan robot dengan gamepad telah berhasil menggerakkan robot
dengan tingkat error rata-rata pada pembentukan sudut 5%.
5.2. Saran
Berdasarkan hasil implementasi yang diberoleh, untuk pengembangan lebih lanjut
ada beberapa saran agar alat ini dapat bekerja lebik baik, yaitu:
1. Perancangan ulang pada konstruksi lengan robot agar lebih kokok dan stabil.
Khususnya untuk roda gigi pada Gripper yang masih belum fix.
2. Penggunaan motor gripper yang lebih baik akan sangat bermanfaat karena mikro
servo yang biasa sangat cepat rusak.
3. Komunikasi antara lengan robot dengan gamepad menggunakan kabel USB. Untuk
kedepannya dapat digantikan dengan komunikasi wireless misalnya menggunakan
bluetooth dongle, RF, ZigBee, dan Wifi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
DAFTAR PUSTAKA
[1]. Pitowarno, Endra,2006, Robotika – Desain, Kontrol, dan Kecerdasan Buatan.
Yogyakarta: Andi.
[2]. http://arduino.cc/en/Main/ArduinoUSBHostShield diakses pada tanggal 17
Desember 2014.
[3]. http://www.usbmadesimple.co.uk/index.html diakses pada tanggal 10
November 2014.
[4]. D------. 2009.Datasheet ATmega48PA/88PA/168PA/328P.Atmel.
[5]. http://www.circuitsathome.com/usb-host-shield-hardware-manual diakses pada
tanggal 20 januari 2015.
[6]. http://arduino.cc/en/guide/introduction diakses pada tanggal 21 Januari 2015.
[7]. http://arduino.cc/en/main/standalone diakses 23 februari 2015
[8]. Simanjuntak, Hotlan Y. 2013. Timbangan Saku Digital Miligram Berbasis
Mikrokontroler Atmega328. Skripsi Sarjana pada Universitas Sanata Dharma
Yogyakarta: tidak diterbitkan.
[9]. http://share.pdfonline.com/2e212161834342f9ac9b77b7a56791cf/BAB%20II.ht
m diakses pada tanggal 23 januari 2015.
[10]. http://www.toko-elektronika.com/en/tutorial/ADC.html diakses pada tanggal 22
Februari 2015.
[11]. http://www.repository.usu.ac.id/bitstream/123456789/35001/4/Chapter%20II.
pdf diakses pada tanggal 23 Februari 2015.
[12]. Artanto, Dian. 2010. Modul Praktikum Teknik Digital. Yogyakarta. Universitas
Sanata Dharma.
[13]. Winoto, Ardi, 2008, Mikrokontroler AVR Atmega8/32/16/8535 dan
pemrograman dengan bahasa C pada WinAVR, Bandung : Informatika.
[14]. http://www.thingiverse.com/thing:480446 diakses tanggal 22 Agustus 2015.
[15]. http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus diakses pada
tanggal 7 Mei 2015.
[16]. https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi diakses pada
tanggal 8 Mei 2015.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
[17]. http://eleccelerator.com/wiki/index.php?title=DualShock_3 diakses pada tanggal
10 Mei 2015.
[18]. https://www.networktechinc.com/usb-prots.html diakses pada tanggal 10 Mei
2015.
[19]. https://support.us.playstation.com/app/answers/detail/a_id/467/~/use-ps3-
controller-with-movies diakses pada tanggal 15 Mei 2015.
[20]. http://www.embedded.com/print/4402258 diakses pada tanggal 20 Mei 2015.
[21]. http://www.electronics-tutorials.ws/waveforms/waveforms.html diakses pada
tanggal 20 Mei 2015.
[22]. http://en.wikipedia.org/wiki/Duty_cycle diakses pada tanggal 20 Mei 2015.
[23]. Kusuma, Alfian A. 2015. Lengan Robot Peniru Gerakan Tangan Manusia.
Skripsi Sarjana pada Universitas Sanata Dharma Yogyakarta: tidak diterbitkan.
[24]. ............... , ................. , Motor Servo, http://elektronika-dasar.web.id/teori-
elektronika/motor-servo/ , diakses tanggal 20 Agustus 2015
[25]. Japar, Francis Giang Anak, 2010, Design Develop Robotic Arm For Automatic
Guided Conveyor, http://umpir.ump.edu.my/2893/1/CD5974.pdf, diakses pada
tanggal 20 Agustus 2015.
[26]. https://grabcad.com/library/me-arm-v3-0-1 diakses pada tanggal 13 maret 2015.
[27]. https://id.wikipedia.org/wiki/Tuas diakses tanggal 5 September.
[28]. http://www.gudangrumus.com/2014/08/rumus-pesawat-sederhana.html diakses
tanggal 19 September 2015.
[29]. www.ahmetozkurt.net/mts307/20072008/serkanokan/hardware.htm diakses
tanggal 2 Juni 2015.
[30]. www.feetechrc.com/product/analog-servo/standard-10kg-cm-metal-gears-
analog-servo-fs5109m/ diakses tanggal 12 Agustus 2015.
[31]. https://www.buyapi.ca/product/sg90-180-degrees-9g-micro-servo-motor-tower-
pro/ diakses tanggal 12 Agustus 2015.
[32]. http://fisikazone.com/torsi/ diakses tanggal 20 Oktober 2015.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.1
Hasil Pengujian Alat
Grafik L1. Kestabilan Gerak Base
Grafik L2. Kestabilan Gerak Shoulder
68
70
72
74
76
78
80
82
1 2 3 4 5 6 7 8 9 10
SUD
UT
PERCOBAAN
BASE
SUDUT ACUAN
SUDUT AKTUAL
48
50
52
54
56
58
60
62
1 2 3 4 5 6 7 8 9 10
SUD
UT
PERCOBAAN
SHOULDER
SUDUT ACUAN
SUDUT AKTUAL
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.2
Grafik L3. Kestabilan Gerak Elbow
Grafik L4. Kestabilan Gerak Gripper
46
46,5
47
47,5
48
48,5
49
49,5
50
50,5
1 2 3 4 5 6 7 8 9 10
SUD
UT
PERCOBAAN
ELBOW
SUDUT ACUAN
SUDUT AKTUAL
0
10
20
30
40
50
60
1 2 3 4 5 6 7 8 9 10
SUD
UT
PERCOBAAN
GRIPPER
SUDUT ACUAN
SUDUT AKTUAL
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.3
L5.Gambar Serial Monitor Sendi Base
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.4
L6. Gambar Serial Monitor Sendi Shoulder
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.5
L7. Gambar Serial Monitor Sendi Elbow
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.6
L8. Gambar Serial Monitor Gripper
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.7
L9. Tabel Pengujian Ketepatan Sudut pada Sendi Base (tiga kali pengujian)
Nama Sendi Sudut pada Servo(˚) Sudut sebenarnya(˚) selisih % Error
Base 0 0 0 0,00
5 3,5 1,5 30,00
10 8 2 20,00
15 12,5 2,5 16,67
20 17 3 15,00
25 21,5 3,5 14,00
30 26 4 13,33
35 31,5 3,5 10,00
40 36 4 10,00
45 40 5 11,11
50 45 5 10,00
55 50 5 9,09
60 54,5 5,5 9,17
65 60 5 7,69
70 64,5 5,5 7,86
75 69 6 8,00
80 73,5 6,5 8,13
85 78,5 6,5 7,65
90 84 6 6,67
95 88,5 6,5 6,84
100 93 7 7,00
105 99 6 5,71
110 103 7 6,36
115 108,5 6,5 5,65
120 112,5 7,5 6,25
125 117,5 7,5 6,00
130 122,5 7,5 5,77
135 126 9 6,67
140 131 9 6,43
145 136 9 6,21
150 141 9 6,00
155 145 10 6,45
160 150 10 6,25
165 155 10 6,06
170 159,5 10,5 6,18
175 164 11 6,29
180 169 11 6,11
Rata-rata 6,32 8,83
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.8
Nama Sendi Sudut pada Servo(˚) Sudut sebenarnya(˚) selisih % Error
Base 0 0 0,00 0,00
5 4 1,00 20,00
10 8,5 1,50 15,00
15 13 2,00 13,33
20 17,5 2,50 12,50
25 21,5 3,50 14,00
30 26 4,00 13,33
35 31,5 3,50 10,00
40 35,5 4,50 11,25
45 40 5,00 11,11
50 45 5,00 10,00
55 50 5,00 9,09
60 55 5,00 8,33
65 60 5,00 7,69
70 64,5 5,50 7,86
75 69 6,00 8,00
80 73,5 6,50 8,13
85 78,5 6,50 7,65
90 84 6,00 6,67
95 88,5 6,50 6,84
100 93 7,00 7,00
105 99 6,00 5,71
110 103 7,00 6,36
115 108,5 6,50 5,65
120 112,5 7,50 6,25
125 117,5 7,50 6,00
130 122,5 7,50 5,77
135 126 9,00 6,67
140 130,5 9,50 6,79
145 136 9,00 6,21
150 141 9,00 6,00
155 145 10,00 6,45
160 150 10,00 6,25
165 155 10,00 6,06
170 159,5 10,50 6,18
175 164 11,00 6,29
180 169 11,00 6,11
Rata-rata 6,28 8,28
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.9
Nama Sendi Sudut pada Servo (˚) Sudut sebenarnya(˚) selisih (˚) % Error
Base 0 0 0,00 0,00
5 4 1,00 20,00
10 8,5 1,50 15,00
15 13 2,00 13,33
20 17,5 2,50 12,50
25 22 3,00 12,00
30 26 4,00 13,33
35 31,5 3,50 10,00
40 36 4,00 10,00
45 40 5,00 11,11
50 45 5,00 10,00
55 50 5,00 9,09
60 54,5 5,50 9,17
65 59 6,00 9,23
70 64 6,00 8,57
75 69 6,00 8,00
80 73,5 6,50 8,13
85 78 7,00 8,24
90 83,5 6,50 7,22
95 88 7,00 7,37
100 93 7,00 7,00
105 99 6,00 5,71
110 103 7,00 6,36
115 109 6,00 5,22
120 114 6,00 5,00
125 118 7,00 5,60
130 122 8,00 6,15
135 127 8,00 5,93
140 131 9,00 6,43
145 136 9,00 6,21
150 141 9,00 6,00
155 145 10,00 6,45
160 150 10,00 6,25
165 155 10,00 6,06
170 159,5 10,50 6,18
175 164 11,00 6,29
180 168,5 11,50 6,39
Rata-rata 6,27 8,26
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.10
L10. Tabel Pengujian Ketepatan Sudut pada Sendi Shoulder (tiga kali pengujian)
Nama Sendi Sudut pada Servo Sudut sebenarnya selisih % Error
Shoulder 0 0 0,00 0,00
5 5,5 0,50 10,00
10 10 0,00 0,00
15 14,5 0,50 3,33
20 20 0,00 0,00
25 24 1,00 4,00
30 29 1,00 3,33
35 33,5 1,50 4,29
40 38,5 1,50 3,75
45 43 2,00 4,44
50 49 1,00 2,00
55 53,5 1,50 2,73
60 58 2,00 3,33
65 64,5 0,50 0,77
70 68 2,00 2,86
75 73 2,00 2,67
80 78,5 1,50 1,88
85 84 1,00 1,18
90 89 1,00 1,11
95 94 1,00 1,05
100 100,5 0,50 0,50
105 105,5 0,50 0,48
110 110,5 0,50 0,45
115 116 1,00 0,87
120 121 1,00 0,83
125 127 2,00 1,60
130 131 1,00 0,77
135 137 2,00 1,48
140 141 1,00 0,71
145 146 1,00 0,69
150 150 0,00 0,00
155 154 1,00 0,65
160 160 0,00 0,00
165 165 0,00 0,00
170 170 0,00 0,00
175 174 1,00 0,57
180 177 3,00 1,67
Rata-rata 1,00 1,73
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.11
Nama Sendi Sudut pada Servo Sudut sebenarnya selisih % Error
Shoulder 0 0 0,00 0,00
5 5 0,00 0,00
10 10 0,00 0,00
15 14,5 0,50 3,33
20 19,5 0,50 2,50
25 23 2,00 8,00
30 28,5 1,50 5,00
35 34 1,00 2,86
40 38 2,00 5,00
45 43,5 1,50 3,33
50 48,5 1,50 3,00
55 53 2,00 3,64
60 58 2,00 3,33
65 63,5 1,50 2,31
70 68 2,00 2,86
75 73 2,00 2,67
80 78 2,00 2,50
85 83 2,00 2,35
90 88,5 1,50 1,67
95 93,5 1,50 1,58
100 99,5 0,50 0,50
105 104 1,00 0,95
110 109 1,00 0,91
115 114,5 0,50 0,43
120 120 0,00 0,00
125 125 0,00 0,00
130 130 0,00 0,00
135 136,5 1,50 1,11
140 139,5 0,50 0,36
145 146 1,00 0,69
150 150,5 0,50 0,33
155 155 0,00 0,00
160 160 0,00 0,00
165 160 5,00 3,03
170 169 1,00 0,59
175 174 1,00 0,57
180 176 4,00 2,22
Rata-rata 1,20 1,83
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.12
Nama Sendi Sudut pada Servo Sudut sebenarnya selisih % Error
Shoulder 0 0 0,00 0,00
5 5 0,00 0,00
10 10 0,00 0,00
15 14,5 0,50 3,33
20 20 0,00 0,00
25 23 2,00 8,00
30 28,5 1,50 5,00
35 34 1,00 2,86
40 38 2,00 5,00
45 43,5 1,50 3,33
50 48,5 1,50 3,00
55 53 2,00 3,64
60 58 2,00 3,33
65 63,5 1,50 2,31
70 68 2,00 2,86
75 73 2,00 2,67
80 78 2,00 2,50
85 84 1,00 1,18
90 88,5 1,50 1,67
95 94 1,00 1,05
100 99,5 0,50 0,50
105 104 1,00 0,95
110 109 1,00 0,91
115 114,5 0,50 0,43
120 120 0,00 0,00
125 125 0,00 0,00
130 130 0,00 0,00
135 136,5 1,50 1,11
140 139,5 0,50 0,36
145 146 1,00 0,69
150 150,5 0,50 0,33
155 154 1,00 0,65
160 160 0,00 0,00
165 165 0,00 0,00
170 170 0,00 0,00
175 174 1,00 0,57
180 177 3,00 1,67
Rata-rata 0,99 1,62
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.13
L11. Tabel Pengujian Ketepatan Sudut pada Sendi Elbow (tiga kali pengujian)
Nama Sendi Sudut pada Servo Sudut sebenarnya selisih % Error
Elbow 35 35 0,00 0,00
Shoulder 40˚ 40 39 1,00 2,50
45 44 1,00 2,22
50 49 1,00 2,00
55 53,5 1,50 2,73
60 58 2,00 3,33
65 63 2,00 3,08
70 68 2,00 2,86
75 73 2,00 2,67
80 76 4,00 5,00
85 82 3,00 3,53
90 86 4,00 4,44
95 91 4,00 4,21
100 96 4,00 4,00
105 100 5,00 4,76
110 105 5,00 4,55
115 109,5 5,50 4,78
120 115 5,00 4,17
125 118 7,00 5,60
130 122 8,00 6,15
135 125,5 9,50 7,04
140 130 10,00 7,14
145 134 11,00 7,59
150 138 12,00 8,00
155 142 13,00 8,39
160 146,5 13,50 8,44
165 151 14,00 8,48
170 155,5 14,50 8,53
175 157 18,00 10,29
180 158 22,00 12,22
Rata-rata 6,82 5,29
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.14
Nama Sendi Sudut pada Servo Sudut sebenarnya selisih % Error
Elbow 35 35 0,00 0,00
Shoulder 40˚ 40 39 1,00 2,50
45 44 1,00 2,22
50 49 1,00 2,00
55 53,5 1,50 2,73
60 58 2,00 3,33
65 63 2,00 3,08
70 68 2,00 2,86
75 73 2,00 2,67
80 76 4,00 5,00
85 82 3,00 3,53
90 87 3,00 3,33
95 91 4,00 4,21
100 96 4,00 4,00
105 100,5 4,50 4,29
110 105 5,00 4,55
115 110 5,00 4,35
120 114 6,00 5,00
125 117,5 7,50 6,00
130 121,5 8,50 6,54
135 125 10,00 7,41
140 129 11,00 7,86
145 133,5 11,50 7,93
150 137 13,00 8,67
155 142 13,00 8,39
160 146,5 13,50 8,44
165 150,5 14,50 8,79
170 155 15,00 8,82
175 157 18,00 10,29
180 158 22,00 12,22
Rata-rata 6,95 5,37
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.15
Nama Sendi Sudut pada Servo Sudut sebenarnya selisih % Error
Elbow 35 35 0,00 0,00
Shoulder 40˚ 40 39 1,00 2,50
45 44 1,00 2,22
50 49 1,00 2,00
55 53,5 1,50 2,73
60 58 2,00 3,33
65 63 2,00 3,08
70 68 2,00 2,86
75 73 2,00 2,67
80 77 3,00 3,75
85 82 3,00 3,53
90 87 3,00 3,33
95 91 4,00 4,21
100 96 4,00 4,00
105 100,5 4,50 4,29
110 105 5,00 4,55
115 110 5,00 4,35
120 115 5,00 4,17
125 118 7,00 5,60
130 122 8,00 6,15
135 125,5 9,50 7,04
140 130 10,00 7,14
145 134 11,00 7,59
150 138 12,00 8,00
155 142 13,00 8,39
160 146,5 13,50 8,44
165 151 14,00 8,48
170 155,5 14,50 8,53
175 157 18,00 10,29
180 158,5 21,50 11,94
Rata-rata 6,70 5,17
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.16
L12. Tabel Pengujian Ketepatan Sudut pada Gripper (tiga kali pengujian)
Nama Sendi Sudut pada Servo Sudut sebenarnya
Gripper 0 0
5 0
10 10
15 35
20 45
25 56
30 62
35 70
40 96
Nama Sendi Sudut pada Servo Sudut sebenarnya
Gripper 0 0
5 0
10 10
15 35
20 47
25 56
30 62
35 70
40 94
Nama Sendi Sudut pada Servo Sudut sebenarnya
Gripper 0 0
5 0
10 10
15 34
20 47
25 56
30 62
35 69
40 90
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.17
L13. Tabel Data Forward Kinematik Lengan Robot
Shoulder Elbow
X aktual Y
aktual X
perhitungan Y
perhitungan Error X Error Y Selisih X Selisih Y
Sudut servo Sudut aktual θ1 Sudut min max
servo Sudut min max
aktual θ2
15 5 40 15 29 -1 29,51 -1,45 1,73 30,81 0,51 0,45
5 50 21 28,8 -2,4 29,15 -3,03 1,18 20,69 0,35 0,63
5 60 29 28,1 -4,5 28,41 -5,06 1,08 11,03 0,31 0,56
5 70 35 27,1 -6,5 27,67 -6,50 2,06 0,06 0,57 0,00
30 21 35 25 28,3 4,3 28,81 4,04 1,78 6,35 0,51 0,26
21 40 26 28,4 3,1 28,79 3,77 1,36 17,85 0,39 0,67
21 50 36 28 0,5 28,32 1,11 1,14 55,08 0,32 0,61
21 60 44 26,8 -1,7 27,62 -0,93 2,96 82,47 0,82 0,77
21 70 52 25,8 -3,9 26,64 -2,86 3,14 36,44 0,84 1,04
21 80 59 24,6 -5,8 25,56 -4,42 3,77 31,28 0,96 1,38
21 85 65 23,7 -6,7 24,50 -5,64 3,27 18,74 0,80 1,06
60 45 35 51 24 10,7 25,53 8,49 5,98 26,01 1,53 2,21
45 40 53 23,9 9,5 25,46 7,95 6,13 19,43 1,56 1,55
45 50 65 23,7 6,8 24,68 4,81 3,96 41,36 0,98 1,99
45 60 73 22,9 4,4 23,80 2,83 3,77 55,21 0,90 1,57
45 70 81 21,8 2,3 22,65 1,00 3,76 129,78 0,85 1,30
45 80 88 20,3 0,2 21,45 -0,46 5,35 143,54 1,15 0,66
45 90 92 18,8 -1,6 20,68 -1,22 9,10 30,68 1,88 0,38
45 100 108 16,6 -3 17,15 -3,70 3,20 18,90 0,55 0,70
45 110 111 14,8 -4 16,42 -4,05 9,84 1,19 1,62 0,05
45 120 126 12,5 -4,8 12,54 -5,20 0,29 7,65 0,04 0,40
45 130 135 10,5 -5,2 10,11 -5,39 3,84 3,50 0,39 0,19
45 140 145 8,2 -5,3 7,42 -5,15 10,51 2,85 0,78 0,15
45 150 150 6,1 -5 6,10 -4,86 0,00 2,88 0,00 0,14
45 160 157 4,5 -4,4 4,31 -4,26 4,52 3,29 0,19 0,14
90 88 35 84 16,7 14,6 15,96 15,37 4,63 5,03 0,74 0,77
88 40 85 17,1 14,2 15,98 15,10 7,02 5,98 1,12 0,90
88 50 93 16,8 9,7 15,94 12,94 5,39 25,04 0,86 3,24
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.18
L13. (Lanjutan) Tabel Data Forward Kinematik Lengan Robot
Shoulder Elbow
X aktual Y
aktual X
perhitungan Y
perhitungan Error X Error Y Selisih X Selisih Y
Sudut servo Sudut aktual
θ1 Sudut min max
servo Sudut min
max aktual θ2
90 88 70 108 15 5,2 15,06 8,99 0,43 42,16 0,06 3,79
88 80 118 13,5 3,2 13,92 6,54 3,03 51,08 0,42 3,34
88 90 126 11,5 1,4 12,71 4,75 9,54 70,52 1,21 3,35
88 100 136 9,4 -0,1 10,87 2,77 13,53 103,61 1,47 2,87
88 110 144 7,2 -1,2 9,17 1,44 21,45 183,26 1,97 2,64
88 120 152 4,9 -1,9 7,29 0,36 32,82 627,81 2,39 2,26
88 125 156 4,5 -2 6,31 -0,08 28,63 2398,10 1,81 1,92
120 112 35 115 9,6 12,9 10,12 12,45 5,16 3,64 0,52 0,45
112 40 116 9,5 11,6 10,11 12,18 5,99 4,74 0,61 0,58
112 50 124 9,1 8,6 9,80 10,04 7,18 14,31 0,70 1,44
112 60 130 8,4 6,3 9,38 8,47 10,49 25,61 0,98 2,17
112 70 138 7,2 4 8,57 6,46 16,03 38,12 1,37 2,46
112 80 147 5,5 1,7 7,34 4,37 25,07 61,08 1,84 2,67
112 90 158 3,9 0 5,41 2,11 27,92 100,00 1,51 2,11
150 135 35 137 3,6 7,9 5,38 9,57 33,07 17,46 1,78 1,67
135 40 140 3,5 6,5 5,33 8,76 34,33 25,81 1,83 2,26
135 50 150 3,2 3,5 4,86 6,10 34,16 42,62 1,66 2,60
135 55 155 2,8 2,1 4,45 4,81 37,13 56,34 1,65 2,71
170 157 35 158 1,7 3 2,33 5,32 27,18 43,58 0,63 2,32
Rata-rata 10,13452264 99,48686752 0,97 1,48
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.19
LISTING KESELURUHAN PROGRAM
L14. Listing Program Keseluruhan Pengendali Lengan Robot dengan Gamepad
#include <PS3USB.h>
#include <Servo.h>
#ifdef dobogusinclude
#include <spi4teensy3.h>
#endif
USB Usb;
PS3USB PS3(&Usb); // This will just create the instance
boolean printAngle;
uint8_t state = 0;
//Servo myservo; //Variable Servo Control
int pos1 = 90; // variable to store the servo position
int pos2 = 90;
int pos3 = 90;
int pos4 = 25;
const int maxDeg1 = 180;
const int minDeg1 = 0;
const int maxDeg2 = 180;
const int minDeg2 = 0;
const int maxDeg3 = 180;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.20
const int minDeg3 = 35;
const int maxDeg4 = 45;
const int minDeg4 = 10;
Servo myservo1; // create servo object to control a servo
Servo myservo2; // create servo object to control a servo
Servo myservo3; // create servo object to control a servo
Servo myservo4; // create servo object to control a servo
void setup()
myservo1.write(pos1);
myservo2.write(pos2);
myservo3.write(pos3);
myservo4.write(pos4);
myservo1.attach(5); // attaches the servo on pin 5 to the servo object
myservo2.attach(6);
myservo3.attach(7);
myservo4.attach(4);
Serial.begin(115200);
if (Usb.Init() == -1)
Serial.print(F("\r\nOSC did not start"));
while(1); //halt
Serial.print(F("\r\nPS3 USB Library Started"));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.21
void loop()
Usb.Task();
if (PS3.PS3Connected || PS3.PS3NavigationConnected)
if (PS3.getButtonClick(PS))
Serial.print(F("\r\nPS"));
if (PS3.getButtonClick(TRIANGLE))
if(pos3 < maxDeg3) pos3 += 5;
myservo3.write(pos3); // tell servo to go to position in variable ‘pos’
Serial.print(F("\r\nTraingle"));
Serial.print(F("\r\t ELBOW = " ));
Serial.print(pos3);
if (PS3.getButtonClick(CIRCLE))
if(pos4 > minDeg4) pos4 -= 5;
myservo4.write(pos4); // tell servo to go to position in variable ‘pos’
Serial.print(F("\r\nCircle"));
Serial.print(F("\r\t GRIPPER = " ));
Serial.print(pos4);
if (PS3.getButtonClick(CROSS))
if(pos3 > minDeg3) pos3 -= 5;
myservo3.write(pos3); // tell servo to go to position in variable ‘pos’
Serial.print(F("\r\nCross"));
Serial.print(F("\r\t ELBOW = " ));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.22
Serial.print(pos3);
if (PS3.getButtonClick(SQUARE))
if(pos4 < maxDeg4) pos4 += 5;
myservo4.write(pos4); // tell servo to go to position in variable ‘pos’
Serial.print(F("\r\nSquare"));
Serial.print(F("\r\t GRIPPER = " ));
Serial.print(pos4);
if (PS3.getButtonClick(UP))
if(pos2 > minDeg2) pos2 -= 5;
myservo2.write(pos2); // tell servo to go to position in variable ‘pos’
Serial.print(F("\r\nUp"));
Serial.print(F("\r\t SHOULDER = " ));
Serial.print(pos2);
PS3.setLedOff();
PS3.setLedOn(LED4);
if (PS3.getButtonClick(RIGHT))
if(pos1 > minDeg1) pos1 -= 5;
myservo1.write(pos1); // tell servo to go to position in variable ‘pos’
Serial.print(F("\r\nRight"));
Serial.print(F("\r\t BASE = " ));
Serial.print(pos1);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.23
PS3.setLedOff();
PS3.setLedOn(LED1);
if (PS3.getButtonClick(DOWN))
if(pos2 < maxDeg2) pos2 += 5;
myservo2.write(pos2); // tell servo to go to position in variable ‘pos’
Serial.print(F("\r\nDown"));
Serial.print(F("\r\t SHOULDER = " ));
Serial.print(pos2);
PS3.setLedOff();
PS3.setLedOn(LED2);
if (PS3.getButtonClick(LEFT))
if(pos1 < maxDeg1) pos1 += 5;
myservo1.write(pos1); // tell servo to go to position in variable ‘pos’
Serial.print(F("\r\nLeft"));
Serial.print(F("\r\t BASE = " ));
Serial.print(pos1);
PS3.setLedOff();
PS3.setLedOn(LED3);
if (PS3.getButtonClick(L1))
Serial.print(F("\r\nL1"));
if (PS3.getButtonClick(L3))
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.24
Serial.print(F("\r\nL3"));
if (PS3.getButtonClick(R1))
Serial.print(F("\r\nR1"));
if (PS3.getButtonClick(R3))
Serial.print(F("\r\nR3"));
if (PS3.getButtonClick(SELECT))
Serial.print(F("\r\nSelect - "));
PS3.printStatusString();
if (PS3.getButtonClick(START))
Serial.print(F("\r\nStart"));
printAngle = !printAngle;
if (printAngle)
Serial.print(F("\r\nPitch: "));
Serial.print(PS3.getAngle(Pitch));
Serial.print(F("\tRoll: "));
Serial.print(PS3.getAngle(Roll));
delay(100);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.25
DATA SHEET KOMPONEN
L15. Data Sheet Servo FeeTech FS5109M
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.26
L16. Data Sheet Servo TowerPro SG90
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.27
L17. USB Host Shield
The following device classes are currently supported by the shield:
HID devices, such as keyboards, mice, joysticks, etc.
game controllers - Sony PS3, Nintendo Wii, Xbox360
USB to serial converters - FTDI, PL-2303, ACM, as well as certain cell phones and
GPS receivers
ADK-capable Android phones and tables
Digital cameras - Canon EOS, Powershot, Nikon DSLRs and P&S, as well as
generic PTP
Mass storage devices, such as USB sticks, memory card readers, external hard
drives
Bluetooth dongles
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.28
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI