PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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...
vi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 effectornya 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
viii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
ix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 xi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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
xii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 xiii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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 xiv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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
xv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 xvi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
xvii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
xviii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Penggunaan
komunikasi
USB
dipilih
dibandingkan
dengan
2
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
5
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 Differential '1' Differential '0' Single Ended Zero (SE0) Single Ended One (SE1) Data J State: Low-speed Full-speed Data K State: Low-speed Full-speed
Levels D+ high, D- low D- high, D+ low D+ and D- low D+ and D- high Differential '0' Differential '1' Differential '1' Differential '0'
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
17
Tabel 2.2 (Lanjutan) State pada Koneksi USB [3] Bus State Idle State: Low-speed Full-speed Resume State Start of Packet (SOP)
Levels D- high, D+- low D+ high, D- low Data K state Data lines switch from idle to K state SE0 for 2 bit times followed by J state for 1 bit time SE0 for >= 2us Idle for 2.5us SE0 for >= 2.5 us
End of Packet (EOP) Disconnect Connect Reset
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
01 00 00 00 00 00 87 87 83 7A 00 00 00 00
yang ditekan)
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
18
Tabel 2.3 (Lanjutan) Data Hex dari Gamepad No. Tombol yang digunakan
Data Hex
2
01 00 10 00 00 00 87 87 83 79 00 00 00 00
Nav. Up
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
19
Tabel 2.4 Paket Data Gamepad [17] Byte index 0 1 2 3 4 5 6 7 8 9 10 11 12
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
report ID (always 0x01) reserved D Sele D left D down D up Start R3 L3 right ct Squar Triangl X Circle R1 L1 R2 L2 e e Unknown PS Unknown Left stick X axis Left stick Y axis Right stick X axis Right stick Y axis Unknown, seems to count downwards, non-random pattern Unknown, seems to count upwards by 3, but by 2 when [10] underflows Unknown yet, 0x03 or 0x04
13-24
analog button data
25-39 40-41 42-43 44-45 46-47 48-49
unknown acceleromerer X axis, little endian 10 bit unsigned acceleromerer Y axis, little endian 10 bit unsigned acceleromerer Z axis, little endian 10 bit unsigned gyroscope, little endian 10 bit unsigned unknown
Info
1 means pressed, 0 means released
00 is released and FF is fully pressed
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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) OC1B dapat difungsikan sebagai keluaran PWM (Pulse With Modulation), SS PB2 merupakan jalur komunikasi SPI SPI dan juga berfungsi sebagai jalur pemrograman serial (ISP) OC2A dapat difungsikan sebagai keluaran PWM (Pulse With Modulation), MOSI PB3 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
23
Tabel 2.5 (Lanjutan) Fungsi Khusus Port B[13] Pin
Keterangan
PB5 PB6 PB7
SCK merupakan jalur komunikasi SPI dan juga berfungsi sebagai jalur pemrograman serial (ISP), Pin reset 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 PC0
PC1
PC2
PC3
PC4
PC5
PC6
Keterangan ADC0 channel dengan resolusi 10 bit. ADC digunakan untuk mengubah input yang berupa tegangan analog menjadi data digital ADC1 channel dengan resolusi 10 bit. ADC digunakan untuk mengubah input yang berupa tegangan analog menjadi data digital ADC2 channel dengan resolusi 10 bit. ADC digunakan untuk mengubah input yang berupa tegangan analog menjadi data digital ADC3 channel dengan resolusi 10 bit. ADC digunakan untuk mengubah input yang berupa tegangan analog menjadi data digital ADC4 channel dengan resolusi 10 bit. ADC digunakan untuk mengubah input yang berupa tegangan analog menjadi data digital ADC5 channel dengan resolusi 10 bit. ADC digunakan untuk mengubah input yang berupa tegangan analog menjadi data digital ADC6 channel dengan resolusi 10 bit. ADC digunakan untuk mengubah input yang berupa tegangan analog menjadi data digital 12C merupakan salah satu fitur yang terdapat pada PORTC. I2C
Port C
digunakan untuk komunikasi dengan sensor atau device lain yang memiliki komunikasi data tipe I2C seperti sensor kompas
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Tabel 2.7 USB Interface Group [9] Nomor Pin Nama
Tipe Keterangan
14
USBDP
I/O
15
USBDM I/O
USB data signal plus USB data signal minus
Tabel 2.8 Power dan Ground Group [9] Nomor Pin
Nama
Tipe
1
VCCIO
PWR
4, 17, 20
GND
PWR
Keterangan Supply untuk UART interface dan CBUS dengan range +1.8V sampai +5.25V Ground Keluaran tegangan sebesar +3.3V.
16
3V3 OUT
OUT
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
26
Test
Input
Disambung ke GND untuk test mode
27
OSC1
Input
Input 12MHz oscillator cell
28
OSC0
Output
Ouput dari 12Mhz oscillator cell
Active low reset. Jika tidak digunakan disambung ke VCC.
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
26
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
29
Tabel 2.11 Keterangan Tombol Pada Tampilan IDE Arduino [12] No. Tombol
Nama
Fungsi Menguji apakah ada kesalahan pada program atau
1
Verify
sketch. Apabila sketch sudah benar, maka sketch tersebut akan dikompilasi. Kompilasi adalah proses mengubah kode program ke dalam kode mesin. Mengirimkan kode mesin hasil kompilasi ke board
2
Upload
3
New
Membuat sketch yang baru
4
Open
Membuka sketch yang sudah ada
5
Save
Menyimpan sketch
Serial
Menampilkan data yang dikirim dan diterima
6
Arduino
Monitor 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
31
Berikut pada Gambar 2.21 ditampilkan bagian-bagian dari lengan robot dan arah gerakan setiap sendinya. ELBOW
SHOULDER GRIPPER
Buka/Tutup
BASE
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:
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 1 dan
lengan-2,[1]
=[ cos =[
lengan-
,
sin
] .....................................................................................(2.11)
cos ( + ),
sin ( + )] ...................................................................(2.12)
maka x= cos
+
cos ( + ) ..............................................................................(2.13)
y=
+
sin ( + ) ..............................................................................(2.14)
sin
Persamaan (2.13) dan (2.14) adalah persamaan kinematik maju dari lengan robot.[1]
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
Lengan Robot Servo 1 (BASE)
Servo 2 (SHOULDER) Gamepad
USB Host Shield
ATmega 328 Servo 3 (ELBOW)
Servo 4 (GRIPPER)
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
34
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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.
+5V GND Reset SCK MISO MOSI
MIKROKONTROLER
Gambar 3.5 Koneksi Antara USB Host Shield Dan Mikrokontroler
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
41
ELBOW
SHOULDER GRIPPER BASE
Buka/Tutup
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]
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
47
Gambar 3.16 Arah Pergerakan Semua Sendi pada Lengan Robot
3.2.5. Jangkauan Lengan Robot y dalam cm
l2
l1 P(x,y) x dalam cm
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Gambar 3.18 Posisi Maksimal Vertikal a) Posisi 1; x= cos
= 90 ; +
= -95
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; x= cos
=5; +
= -40
cos ( + )
48
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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. 1
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.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
51
180˚
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.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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
Lengan Robot ke Posisi Awal
Input dari Gamepad
Pengolahan data gamepad
Output ke motor servo
Selesai
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
53
Mulai
Tombol
LEFT ditekan?
Tidak
Ya
Servo1 CCW (Base min)
Jika
Ya
Tombol
Tidak
DOWN ditekan?
Ya
Servo1 CW (Base max)
Tidak Servo1=180˚
Tombol
RIGHT ditekan?
Tidak
Jika Servo1=0˚
Tombol
Tidak
UP ditekan?
Ya
Servo2 CW (Shoulder max)
Ya
Ya
Ya
Tidak
Jika Servo2=0˚
Tombol
TRIANGLE ditekan?
Tidak
Ya
Servo2 CCW (Shoulder min)
Jika Tidak Servo2=180˚
Tidak
Servo3 CW (Elbow max)
Jika Tidak Servo3=180˚
Ya
Ya
Tombol
CROSS ditekan? Ya
Servo3 CCW (Elbow min)
Jika Tidak Servo3=35˚ Ya
Tidak
Tombol
SQUARE ditekan?
Tidak
Tombol
CIRCLE ditekan?
Ya
Ya
Servo4 CW (Gripper max)
Servo4 CCW (Gripper min)
Jika Tidak Servo4=35˚
Tidak
Jika Servo4=0˚
Ya
Kembali
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
Ya
Tidak
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
LENGAN ROBOT RANGKAIAN ELEKTRIK
GAMEPAD
Gambar 4.1 Keseluruhan Sistem Pengendali Lengan Robot dengan Gamepad
55
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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. Keterangan : 1. 2. 3. 4. 5. 6. 7. 8.
Base Shoulder Elbow Gripper Link Gripper 1 Link Gripper 2 Tempat Rangkaian Elektrik Link 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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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
59
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
60
Tabel 4.1(Lanjutan) Sudut Sendi Base Nama Sendi Sudut pada Servo (˚) Sudut Aktual (˚) 175 164,00 Base 180 168,83 Rata-rata
Selisih (˚) 11,00 11,17 6,29
% Error 6,29 6,20 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
180,00 170,00 160,00 150,00 140,00 130,00 120,00 110,00 100,00 90,00 80,00 70,00 60,00 50,00 40,00 30,00 20,00 10,00 0,00
SUDUT SERVO DAN AKTUAL BASE
BESAR SUDUT
0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180
SUDUT AKTUAL
monitor bukan 1 derajat pada sudut aktual).
SUDUT SERVO
Gambar 4.7 Grafik Perbandingan Sudut Base
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
62
Tabel 4.2 (Lanjutan) Pengujian Sudut Shoulder Nama Sendi Sudut pada Servo (˚) Sudut Aktual (˚) Selisih (˚) % Error
Shoulder
Rata-rata
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 0,99
1,67 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
63
SUDUT AKTUAL
SUDUT SERVO DAN AKTUAL SHOULDER 180,00 170,00 160,00 150,00 140,00 130,00 120,00 110,00 100,00 90,00 80,00 70,00 60,00 50,00 40,00 30,00 20,00 10,00 0,00
BESAR SUDUT
0 10 20 30 40 50 60 70 80 90 100110120130140150160170180 SUDUT SERVO
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.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
64
Tabel 4.3 Tabel Pengambilan Data Elbow
Nama Sendi
Elbow (Shoulder 40 ˚)
Rata-rata
Sudut pada Servo (˚) Sudut Aktual (˚) Selisih (˚) % Error 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
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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.
SUDUT SERVO DAN AKTUAL ELBOW 185,00 175,00 165,00 155,00 145,00 125,00 115,00
BESAR SUDUT
105,00 95,00 85,00 75,00 65,00 55,00 45,00 35,00 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125 130 135 140 145 150 155 160 165 170 175 180
SUDUT AKTUAL
135,00
SUDUT SERVO
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.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
67
y dalam cm
l2 l1
P(x,y)
x dalam cm
Gambar 4.10 Sumbu X Dan Y pada Lengan Robot Tabel 4.5 Data Forward Kinematik Lengan Robot Shoulder Sudut Servo
15 ˚
30 ˚
60 ˚
Elbow Sudut Aktual Θ1
5˚
21 ˚
45 ˚
Sudut Min Max Servo
Sudut Min Max Aktual Θ2
X Aktual
Y Aktual
X Perhitungan
Y Perhitungan
40 ˚ 50 ˚ 60 ˚ 70 ˚ 35 ˚
15 ˚ 21 ˚ 29 ˚ 35 ˚ 25 ˚
29 28,8 28,1 27,1 28,3
-1 -2,4 -4,5 -6,5 4,3
29,51 29,15 28,41 27,67 28,81
-1,45 -3,03 -5,06 -6,50 4,04
40 ˚ 50 ˚ 60 ˚ 70 ˚ 80 ˚ 85 ˚
26 ˚ 36 ˚ 44 ˚ 52 ˚ 59 ˚ 65 ˚
28,4 28 26,8 25,8 24,6 23,7
3,1 0,5 -1,7 -3,9 -5,8 -6,7
28,79 28,32 27,62 26,64 25,56 24,50
3,77 1,11 -0,93 -2,86 -4,42 -5,64
35 ˚
51 ˚
24
10,7
25,53
8,49
40 ˚ 50 ˚ 60 ˚ 70 ˚ 80 ˚ 90 ˚ 100 ˚
53 ˚ 65 ˚ 73 ˚ 81 ˚ 88 ˚ 92 ˚ 108 ˚
23,9 23,7 22,9 21,8 20,3 18,8 16,6
9,5 6,8 4,4 2,3 0,2 -1,6 -3
25,46 24,68 23,80 22,65 21,45 20,68 17,15
7,95 4,81 2,83 1,00 -0,46 -1,22 -3,70
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
68
Tabel 4.5 (Lanjutan) Data Forward Kinematik Lengan Robot Shoulder Sudut Servo
Sudut Aktual Θ1
60 ˚
45 ˚
90 ˚
88 ˚
120 ˚
112 ˚
150 ˚
135 ˚
170 ˚
157 ˚
Elbow Sudut
Sudut Min
Min
Max
Max
X Aktual
Y Aktual
X Perhitungan
Y Perhitungan
14,8 12,5 10,5 8,2 6,1 4,5 16,7 17,1 16,8 16 15 13,5 11,5 9,4 7,2 4,9 4,5 9,6 9,5 9,1 8,4 7,2 5,5 3,9 3,6 3,5 3,2 2,8 1,7
-4 -4,8 -5,2 -5,3 -5 -4,4 14,6 14,2 9,7 7,3 5,2 3,2 1,4 -0,1 -1,2 -1,9 -2 12,9 11,6 8,6 6,3 4 1,7 0 7,9 6,5 3,5 2,1 3
16,42 12,54 10,11 7,42 6,10 4,31 15,96 15,98 15,94 15,60 15,06 13,92 12,71 10,87 9,17 7,29 6,31 10,12 10,11 9,80 9,38 8,57 7,34 5,41 5,38 5,33 4,86 4,45 2,33
-4,05 -5,20 -5,39 -5,15 -4,86 -4,26 15,37 15,10 12,94 10,80 8,99 6,54 4,75 2,77 1,44 0,36 -0,08 12,45 12,18 10,04 8,47 6,46 4,37 2,11 9,57 8,76 6,10 4,81 5,32
Aktual Θ2
Servo 110 ˚ 120 ˚ 130 ˚ 140 ˚ 150 ˚ 160 ˚ 35 ˚ 40 ˚ 50 ˚ 60 ˚ 70 ˚ 80 ˚ 90 ˚ 100 ˚ 110 ˚ 120 ˚ 125 ˚ 35 ˚ 40 ˚ 50 ˚ 60 ˚ 70 ˚ 80 ˚ 90 ˚ 35 ˚ 40 ˚ 50 ˚ 55 ˚ 35 ˚
111 ˚ 126 ˚ 135 ˚ 145 ˚ 150 ˚ 157 ˚ 84 ˚ 85 ˚ 93 ˚ 101 ˚ 108 ˚ 118 ˚ 126 ˚ 136 ˚ 144 ˚ 152 ˚ 156 ˚ 115 ˚ 116 ˚ 124 ˚ 130 ˚ 138 ˚ 147 ˚ 158 ˚ 137 ˚ 140 ˚ 150 ˚ 155 ˚ 158 ˚
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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
71
Tabel 4.7 Analisa Sudut Link Segi 4 Lengan Robot Jumlah No 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 1 2 3 4 5 6 7 8 9 10 Rata-rata
Sudut acuan 80 ˚ 80 ˚ 80 ˚ 80 ˚ 80 ˚ 80 ˚ 80 ˚ 80 ˚ 80 ˚ 80 ˚
Sudut aktual 73 ˚ 73 ˚ 73 ˚ 73 ˚ 73 ˚ 73 ˚ 73 ˚ 73 ˚ 73 ˚ 73 ˚ 73 ˚
Selisih 7˚ 7˚ 7˚ 7˚ 7˚ 7˚ 7˚ 7˚ 7˚ 7˚ 7˚
% Error 8,75 8,75 8,75 8,75 8,75 8,75 8,75 8,75 8,75 8,75 8,57
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 1 2 3 4 5 6 7 8 9 10 Rata-rata
Sudut acuan 60 ˚ 60 ˚ 60 ˚ 60 ˚ 60 ˚ 60 ˚ 60 ˚ 60 ˚ 60 ˚ 60 ˚
Sudut aktual 54 ˚ 54 ˚ 53 ˚ 54 ˚ 53 ˚ 53 ˚ 54 ˚ 54 ˚ 54 ˚ 54 ˚ 53,7 ˚
Selisih 6˚ 6˚ 7˚ 6˚ 7˚ 7˚ 6˚ 6˚ 6˚ 6˚ 6,3 ˚
% Error 10 10 11,67 10 11,67 11,67 10 10 10 10 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 1 2 3 4 5 6 7 8 9 10 Rata-rata
Sudut acuan 50 ˚ 50 ˚ 50 ˚ 50 ˚ 50 ˚ 50 ˚ 50 ˚ 50 ˚ 50 ˚ 50 ˚
Sudut aktual 49 ˚ 49 ˚ 48 ˚ 47,5 ˚ 48 ˚ 47,5 ˚ 47,5 ˚ 47,5 ˚ 47,5 ˚ 48 ˚ 47,95 ˚
Selisih 1˚ 1˚ 2˚ 2,5 ˚ 2˚ 2,5 ˚ 2,5 ˚ 2,5 ˚ 2,5 ˚ 2˚ 2,05 ˚
% Error 2 2 4 5 4 5 5 5 5 4 4,1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 1 2 3 4 5 6 7 8 9 10
Sudut acuan 15 ˚ 15 ˚ 15 ˚ 15 ˚ 15 ˚ 15 ˚ 15 ˚ 15 ˚ 15 ˚ 15 ˚
Sudut aktual 45 ˚ 55 ˚ 45 ˚ 55 ˚ 45 ˚ 55 ˚ 45 ˚ 55 ˚ 45 ˚ 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
74
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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
Input 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˚.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 Input Output
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
78
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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.
79
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI [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-ps3controller-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/teorielektronika/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-gearsanalog-servo-fs5109m/ diakses tanggal 12 Agustus 2015. [31]. https://www.buyapi.ca/product/sg90-180-degrees-9g-micro-servo-motor-towerpro/ diakses tanggal 12 Agustus 2015. [32]. http://fisikazone.com/torsi/ diakses tanggal 20 Oktober 2015.
80
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Hasil Pengujian Alat
Grafik L1. Kestabilan Gerak Base
BASE 82 80
SUDUT
78 76 SUDUT ACUAN
74
SUDUT AKTUAL 72 70 68 1
2
3
4
5
6
7
8
9
10
PERCOBAAN
Grafik L2. Kestabilan Gerak Shoulder
SHOULDER 62 60
SUDUT
58 56 SUDUT ACUAN
54
SUDUT AKTUAL 52 50 48 1
2
3
4
5
6
PERCOBAAN
7
8
9
10
L.1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L.2
Grafik L3. Kestabilan Gerak Elbow
ELBOW 50,5 50 49,5
SUDUT
49 48,5 SUDUT ACUAN
48
SUDUT AKTUAL
47,5 47 46,5 46 1
2
3
4
5
6
7
8
9
10
PERCOBAAN
Grafik L4. Kestabilan Gerak Gripper
GRIPPER 60
50
SUDUT
40
30
SUDUT ACUAN SUDUT AKTUAL
20
10
0 1
2
3
4
5
6
PERCOBAAN
7
8
9
10
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L5.Gambar Serial Monitor Sendi Base
L.3
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L6. Gambar Serial Monitor Sendi Shoulder
L.4
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L7. Gambar Serial Monitor Sendi Elbow
L.5
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L8. Gambar Serial Monitor Gripper
L.6
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L9. Tabel Pengujian Ketepatan Sudut pada Sendi Base (tiga kali pengujian)
Nama Sendi Sudut pada Servo(˚) Sudut sebenarnya(˚) selisih % Error Base
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125 130 135 140 145 150 155 160 165 170 175 180 Rata-rata
0 3,5 8 12,5 17 21,5 26 31,5 36 40 45 50 54,5 60 64,5 69 73,5 78,5 84 88,5 93 99 103 108,5 112,5 117,5 122,5 126 131 136 141 145 150 155 159,5 164 169
0 1,5 2 2,5 3 3,5 4 3,5 4 5 5 5 5,5 5 5,5 6 6,5 6,5 6 6,5 7 6 7 6,5 7,5 7,5 7,5 9 9 9 9 10 10 10 10,5 11 11 6,32
0,00 30,00 20,00 16,67 15,00 14,00 13,33 10,00 10,00 11,11 10,00 9,09 9,17 7,69 7,86 8,00 8,13 7,65 6,67 6,84 7,00 5,71 6,36 5,65 6,25 6,00 5,77 6,67 6,43 6,21 6,00 6,45 6,25 6,06 6,18 6,29 6,11 8,83
L.7
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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
L.8
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
168,5
11,50 6,27
6,39 8,26
180 Rata-rata
L.9
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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
L.10
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
1,20
1,83
Rata-rata
L.11
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
0,99
1,62
Rata-rata
L.12
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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
L.13
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
6,95
5,37
Rata-rata
L.14
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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
6,70
5,17
Rata-rata
L.15
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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
L.16
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L.17
L13. Tabel Data Forward Kinematik Lengan Robot Shoulder
Sudut servo
Elbow
Sudut aktual θ1 15
30
60
90
5 5 5 5 21 21 21 21 21 21 21 45 45 45 45 45 45 45 45 45 45 45 45 45 45 88 88 88
Sudut min max servo 40 50 60 70 35 40 50 60 70 80 85 35 40 50 60 70 80 90 100 110 120 130 140 150 160 35 40 50
Sudut min max aktual θ2 15 21 29 35 25 26 36 44 52 59 65 51 53 65 73 81 88 92 108 111 126 135 145 150 157 84 85 93
X aktual
29 28,8 28,1 27,1 28,3 28,4 28 26,8 25,8 24,6 23,7 24 23,9 23,7 22,9 21,8 20,3 18,8 16,6 14,8 12,5 10,5 8,2 6,1 4,5 16,7 17,1 16,8
Y aktual
X perhitungan
Y perhitungan
-1 -2,4 -4,5 -6,5 4,3 3,1 0,5 -1,7 -3,9 -5,8 -6,7 10,7 9,5 6,8 4,4 2,3 0,2 -1,6 -3 -4 -4,8 -5,2 -5,3 -5 -4,4 14,6 14,2 9,7
29,51 29,15 28,41 27,67 28,81 28,79 28,32 27,62 26,64 25,56 24,50 25,53 25,46 24,68 23,80 22,65 21,45 20,68 17,15 16,42 12,54 10,11 7,42 6,10 4,31 15,96 15,98 15,94
-1,45 -3,03 -5,06 -6,50 4,04 3,77 1,11 -0,93 -2,86 -4,42 -5,64 8,49 7,95 4,81 2,83 1,00 -0,46 -1,22 -3,70 -4,05 -5,20 -5,39 -5,15 -4,86 -4,26 15,37 15,10 12,94
Error X
1,73 1,18 1,08 2,06 1,78 1,36 1,14 2,96 3,14 3,77 3,27 5,98 6,13 3,96 3,77 3,76 5,35 9,10 3,20 9,84 0,29 3,84 10,51 0,00 4,52 4,63 7,02 5,39
Error Y
30,81 20,69 11,03 0,06 6,35 17,85 55,08 82,47 36,44 31,28 18,74 26,01 19,43 41,36 55,21 129,78 143,54 30,68 18,90 1,19 7,65 3,50 2,85 2,88 3,29 5,03 5,98 25,04
Selisih X
0,51 0,35 0,31 0,57 0,51 0,39 0,32 0,82 0,84 0,96 0,80 1,53 1,56 0,98 0,90 0,85 1,15 1,88 0,55 1,62 0,04 0,39 0,78 0,00 0,19 0,74 1,12 0,86
Selisih Y
0,45 0,63 0,56 0,00 0,26 0,67 0,61 0,77 1,04 1,38 1,06 2,21 1,55 1,99 1,57 1,30 0,66 0,38 0,70 0,05 0,40 0,19 0,15 0,14 0,14 0,77 0,90 3,24
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L.18
L13. (Lanjutan) Tabel Data Forward Kinematik Lengan Robot Shoulder Sudut servo 90
120
150
170
Sudut aktual θ1 88 88 88 88 88 88 88 112 112 112 112 112 112 112 135 135 135 135 157
Elbow Sudut min max Sudut min servo max aktual θ2 70 108 80 118 90 126 100 136 110 144 120 152 125 156 35 115 40 116 50 124 60 130 70 138 80 147 90 158 35 137 40 140 50 150 55 155 35 158 Rata-rata
X aktual 15 13,5 11,5 9,4 7,2 4,9 4,5 9,6 9,5 9,1 8,4 7,2 5,5 3,9 3,6 3,5 3,2 2,8 1,7
Y aktual
X perhitungan
Y perhitungan
5,2 3,2 1,4 -0,1 -1,2 -1,9 -2 12,9 11,6 8,6 6,3 4 1,7 0 7,9 6,5 3,5 2,1 3
15,06 13,92 12,71 10,87 9,17 7,29 6,31 10,12 10,11 9,80 9,38 8,57 7,34 5,41 5,38 5,33 4,86 4,45 2,33
8,99 6,54 4,75 2,77 1,44 0,36 -0,08 12,45 12,18 10,04 8,47 6,46 4,37 2,11 9,57 8,76 6,10 4,81 5,32
Error X
Error Y
0,43 3,03 9,54 13,53 21,45 32,82 28,63 5,16 5,99 7,18 10,49 16,03 25,07 27,92 33,07 34,33 34,16 37,13 27,18 10,13452264
42,16 51,08 70,52 103,61 183,26 627,81 2398,10 3,64 4,74 14,31 25,61 38,12 61,08 100,00 17,46 25,81 42,62 56,34 43,58 99,48686752
Selisih X 0,06 0,42 1,21 1,47 1,97 2,39 1,81 0,52 0,61 0,70 0,98 1,37 1,84 1,51 1,78 1,83 1,66 1,65 0,63 0,97
Selisih Y 3,79 3,34 3,35 2,87 2,64 2,26 1,92 0,45 0,58 1,44 2,17 2,46 2,67 2,11 1,67 2,26 2,60 2,71 2,32 1,48
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI LISTING KESELURUHAN PROGRAM
L14. Listing Program Keseluruhan Pengendali Lengan Robot dengan Gamepad #include
#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;
L.19
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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")); }
L.20
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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 = " ));
L.21
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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);
L.22
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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))
L.23
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 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); }
L.24
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI DATA SHEET KOMPONEN
L15. Data Sheet Servo FeeTech FS5109M
L.25
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L16. Data Sheet Servo TowerPro SG90
L.26
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI 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 PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L.28