PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
TUGAS AKHIR
KONTROLER LENGAN ROBOT DENGAN KENDALI MOUSE Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro
Oleh: DEWANGGA ADI WARDANA NIM : 135114056
JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2015
i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
FINAL PROJECT
ROBOTIC ARM CONTROLLER WITH MOUSE In partial fulfilment of requirements for the degree of Sarjana Teknik In Electrical Engineering Study Program
DEWANGGA ADI WARDANA NIM : 135114056
ELECTRICAL ENGINEERING STUDY PROGRAM ELECTRICAL ENGINEERING DEPARTMENT FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY 2015
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO :
"Formula dari sebuah kesuksesan adalah kerja keras, pantang menyerah, dan berdoa"
Dengan ini kupersembahkan karyaku ini untuk ...... Tuhan Yesus Kristus Pembimbingku yang setia, Negaraku Indonesia yang tercinta, Keluargaku tercinta, Maria Sekar Palupi, Teman-teman seperjuangan, Dan semua orang yang mengasihiku
Terima Kasih untuk semuanya... vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
INTISARI
Lengan robot yang dipakai pada industri menarik untuk dipelajari. Lengan robot di industri mempunyai ukuran yang besar dan mahal. Program studi teknik elektro Universitas Sanata Dharma mengembangkan miniatur lengan robot yang dapat ditaruh di atas meja. Diperlukan kontroler yang mudah dioperasikan oleh orang awam,semisal menggunakan mouse sebagai user control untuk menggerakan lengan robot. Pada penelitian ini bertujuan membuat pengendali lengan robot 3 DOF dengan USB mouse. Kontroler yang digunakan adalah Atmega328 yang menggunakan IDE (Integrated Development Environment) dari Arduino. Komunikasi antara mikrokontroler dan USB mouse menggunakan USB host shield for Arduino. Lengan robot dapat bergerak menggunakan motor servo sebagai aktuator dan dapat bergerak bebas berdasarkan tiga bagian yakni base, shoulder, elbow, dan sebagai end effector-nya adalah gripper. Base dikendalikan melalui gerakan x pada mouse, gerakan y untuk mengendalikan shoulder, elbow dikendalikan melalui kombinasi gerakan y dan tombol tengah (tombol pada scroll). Tombol kanan untuk membuka, tombol kiri untuk menutup gripper. Hasil dari penelitian ini adalah lengan robot yang dapat bergerak presisi 1° pada base, shoulder dan elbow, sedangkan pada gripper memiliki pergerakkan sudut hingga 5°. Kata kunci : Lengan robot, USB Host Shield, mouse, Arduino, 3 DOF
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT Robotic arm used in the industry attractive to study. Robotic arm in the industry has a size large and expensive. Study program electrical engineering Sanata Dharma University developed a miniature robotic arm that can be put on the table. Needed easy controller operated by people, such as using the mouse as a user control to drive the robot arm. This research aims at making the 3 DOF robotic arm control with USB mouse. The controller that is used is the Atmega328 using IDE (Integrated Development Environment) from the Arduino. Communication between the microcontroller and USB mouse using a USB host shield for Arduino. Robotic arm can move using a servo motor as actuator and can move freely on the basis of three parts, namely base, shoulder, elbow, and as an end effector is the gripper. Base is controlled through the movement of x on y, the movement of the mouse to control the shoulder, the elbow is controlled through a combination of motion by and the Center button (the button on the scroll). The right button to open, the left button to close the gripper. The results of this research are a robotic arm that can move precision 1 ° at the base, shoulder and elbow, while on the gripper has a practical angle of up to 5 °. Keywords: Robotic Arm, mouse, USB Host Shield, Arduino, 3 DOF
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK 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 KEPENTINGAN AKADEMIS ...................................... vii INTISARI .................................................................................................................... viii ABSTRACT ..................................................................................................................... ix KATA PENGANTAR ..................................................................................................... x DAFTAR ISI .................................................................................................................. xi DAFTAR GAMBAR................................................................................................... xiii DAFTAR TABEL ........................................................................................................ xvi DAFTAR PERSAMAAN ......................................................................................... xviii DAFTAR LAMPIRAN ............................................................................................. xviii
BAB I PENDAHULUAN 1.1. Latar Belakang .................................................................................................... 1.2. Tujuan ................................................................................................................. 1.2 Manfaat ............................................................................................................... 1.3. Batasan Masalah ................................................................................................. 1.4. Metodologi Penelitian ........................................................................................
1 2 2 2 3
BAB II DASAR TEORI 2.1. Arduino ............................................................................................................... 4 2.1.1. Konfigurasi Pin Atmega328P-PU ........................................................... 7 2.2. Motor Servo ...................................................................................................... 10 2.2.1. Prinsip Kerja Motor Servo ....................................................................... 10
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.2.2. Micro Servo ............................................................................................. 2.2.3. Motor Servo Standar ................................................................................ 2.3. USB Optical Mouse .......................................................................................... 2.4. USB Host Shield ............................................................................................... 2.4.1. Serial Peripheral Interface(SPI) ............................................................ 2.5. Komunikasi USB .............................................................................................. 2.6. Sistem Kontrol Lengan Robot .......................................................................... 2.6.1. Jangkauan Lengan Robot ..................................................................... 2.7. Link Penggerak Prinsip Tuas ............................................................................ 2.8. Sudut Bangun Segi 4 ........................................................................................ 2.9. FTDI FT232RL ................................................................................................
11 12 13 14 15 18 21 21 22 23 24
BAB III PERANCANGAN PENELITIAN 3.1. Proses Kerja Sistem .......................................................................................... 3.2. Perancangan Perangkat Keras .......................................................................... 3.2.1. Minimum Sistem ATmega328 ............................................................. 3.2.2. Fungsi Tombol Mouse .......................................................................... 3.2.3. Desain Lengan Robot ........................................................................... 3.2.4. Jangkauan Lengan Robot ..................................................................... 3.3. Perancangan Perangkat Lunak ........................................................................ 3.3.1. Flowchart Utama ..................................................................................
27 28 28 30 31 33 37 37
BAB IV HASIL DAN PEMBAHASAN 4.1. Hasil Perancangan Hardware ........................................................................... 4.2. Hasil Pengujian Hardware ............................................................................... 4.2.1. Pengujian Ketepatan Sudut Lengan Robot ........................................... 4.2.2. Pengujian Kinematika Lengan Robot ................................................... 4.2.3. Analisa Pergerakan Link ...................................................................... 4.2.4. Pengujian Repeatability Gerakan Lengan Robot.................................. 4.3. Analisa Software ............................................................................................... 4.3.1. Inisialisasi ............................................................................................. 4.3.2. Pembacaan Input dan Perintah ke Output.............................................
39 44 44 48 51 52 55 55 57
BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan ....................................................................................................... 58 5.2. Saran ................................................................................................................. 58 DAFTAR PUSTAKA .................................................................................................. 58 LAMPIRAN ................................................................................................................. 61
xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR Halaman Gambar 1.1 Diagram Blok Perancangan ......................................................................... 3 Gambar 2.1 Konfigurasi Pin Atmega328[3] ................................................................... 4 Gambar 2.2 Tampilan IDE Arduino ................................................................................ 5 Gambar 2.3 Konfigurasi Pin ATmega328P-PU[5] ......................................................... 8 Gambar 2.4 Prinsip Kerja Motor Servo [7] ................................................................... 11 Gambar 2.5 Micro Servo [8] ......................................................................................... 11 Gambar 2.6 Konfigurasi Tombol Mouse ....................................................................... 13 Gambar 2.7 Konfigurasi board USB host shield[10] .................................................... 15 Gambar 2.8 Transfer data SPI[13] ................................................................................. 16 Gambar 2.9 Kondisi awal transfer data[13]................................................................... 17 Gambar 2.10 Perpindahan isi register clock pertama dan kedua[13 [15] ...................... 17 Gambar 2.11 Data berpindah penuh[13] ....................................................................... 18 Gambar 2.12 Konfigurasi kabel USB [14] .................................................................... 18 Gambar 2.13 Detached State [15] ................................................................................. 19 Gambar 2.14 Attached State [15] .................................................................................. 19 Gambar 2.15 Idle State [16] .......................................................................................... 19 Gambar 2.16 Contoh Pengiriman Data USB [17] ......................................................... 20 Gambar 2.17 Sistem open loop pada lengan robot ........................................................ 21 Gambar 2.18 Konfigurasi perhitungan jangkauan lengan robot.................................... 22 Gambar 2.19 Prinsip kerja tuas...................................................................................... 23
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 2.20 Sudut-sudut yang dimiliki oleh bangun datar segi 4 ............................... 24 Gambar 2.21 FTDI Basic Breakout[20] ........................................................................ 24 Gambar 2.22 Motor Servo Standar ................................................................................ 12 Gambar 3.1 Blok Diagram Proses Sistem ..................................................................... 27 Gambar 3.2 Bagian-bagian Lengan Robot .................................................................... 28 Gambar 3.3 Rangkaian Minimum Sistem ..................................................................... 29 Gambar 3.4 Koneksi Antara USB Host Shield Dan Mikrokontroler ............................ 30 Gambar 3.5 Gerakan Mouse .......................................................................................... 31 Gambar 3.6 Desain Awal Lengan Robot[24] ................................................................. 32 Gambar 3.7 Tampilan 3D Lengan Robot ...................................................................... 32 Gambar 3.8 Desain Gripper[25].................................................................................... 33 Gambar 3.9 Perhitungan Jangkauan Lengan Robot ...................................................... 34 Gambar 3.10 Jangkauan Maksimal Horisontal.............................................................. 34 Gambar 3.11 Pergerakan Sudut Elbow .......................................................................... 35 Gambar 3.12 Pergerakan Sudut Gripper ....................................................................... 36 Gambar 3.13 Pergerakan Sudut Base ............................................................................ 36 Gambar 3.14 Flowchart Utama .................................................................................... 37 Gambar 3.15 Flowchart Subsistem .............................................................................. 38 Gambar 4.1 Keseluruhan Sistem Kontroler Lengan Robot Kendali Mouse ................. 39 Gambar 4.2 Bagian Keseluruhan Lengan Robot ........................................................... 40 Gambar 4.3 Letak Motor pada Lengan Robot .............................................................. 41 Gambar 4.4 USB Host Shield dan Minimum sistem ATmega328 ................................ 42
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.5 Rangkaian Minimum Sistem ATmega328 ................................................. 42 Gambar 4.6 Pemasangan USB Host Shield dengan Minimum sistem ATmega328 ...... 43 Gambar 4.7 Grafik Perbandingan Sudut Base ............................................................... 45 Gambar 4.8 Grafik Sudut Shoulder ............................................................................... 46 Gambar 4.9 Grafik Perbandiang Sudut Input dan Sudut Aktual Pada Sendi Elbow ..... 47 Gambar 4.10 Sumbu X Dan Y pada Lengan Robot ..................................................... 49 Gambar 4.11 Ruang Kerja Lengan Robot dalam X dan Y ............................................ 51 Gambar 4.12 Nama Sudut Link Segi 4 pada Lengan Robot .......................................... 51 Gambar 4.13 Inisialisasi Library .................................................................................... 55 Gambar 4.14 Inisalisasi Variabel dan Input/Output ....................................................... 55 Gambar 4.15 Inisialisasi bagian mouse .......................................................................... 56 Gambar 4.16 Batasan nilai gerak mouse. ....................................................................... 56 Gambar 4.17 Input dan Output pada Program ............................................................... 57
xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL Halaman Tabel 2.1 Keterangan Tombol Pada Tampilan IDE Arduino ........................................... 5 Tabel 2.2 Fungsi Khusus port B[5] .................................................................................. 8 Tabel 2.2 (Lanjutan) Fungsi Khusus port B[5]................................................................. 9 Tabel 2.3 Fungsi Khusus port C[5] .................................................................................. 9 Tabel 2.4 Tabel konfigurasi pin servo ............................................................................ 12 Tabel 2.5 Paket Data Mouse [9] ..................................................................................... 13 Tabel 2.6 Data Biner Mouse .......................................................................................... 14 Tabel 2.7 State pada Koneksi USB [15] ......................................................................... 20 Tabel 2.8 USB Interface Group[22] ............................................................................... 25 Tabel 2.9 Power dan Ground Group[22] ....................................................................... 25 Tabel 2.10 Miscellanous Signal Group[22] ................................................................... 26 Tabel 3.1 Port-port pada mikrokontroler ........................................................................ 29 Tabel 3.2 Fungsi Mouse ................................................................................................. 30 Tabel 3.2 (Lanjutan) Fungsi mouse ................................................................................ 31 Tabel 4.1 Keterangan Bagian Lengan Robot ................................................................. 40 Tabel 4.1 (Lanjutan) Keterangan Bagian Lengan Robot................................................ 41 Tabel 4.2 Tabel Pengujian Sudut Base ........................................................................... 44 Tabel 4.3 Tabel Pengujian Sudut Shoulder .................................................................... 45 Tabel 4.4 Tabel Pengujian Sudut Elbow ........................................................................ 46 Tabel 4.4 (Lanjutan) Tabel Pengujian Sudut Elbow...................................................... 47
xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 4.5 Tabel Pengujian Sudut Gripper ...................................................................... 48 Tabel 4.6 Data Forward kinematik lengan robot ........................................................... 49 Tabel 4.6 (Lanjutan) Data Forward kinematik lengan robot .......................................... 50 Tabel 4.7 Sudut link segi 4 lengan robot ........................................................................ 52 Tabel 4.8 Repeatability Gerak Sendi Base .................................................................... 52 Tabel 4.8 (Lanjutan) Repeatability Gerak Sendi Base ................................................... 53 Tabel 4.9 Repeatability Gerak Sendi Shoulder ............................................................. 53 Tabel 4.10 Repeatability Gerak Sendi Elbow ................................................................ 53 Tabel 4.10 Repeatability Gerak Sendi Elbow ................................................................. 54 Tabel 4.11 Repeatability Gerak Gripper ....................................................................... 54 Tabel 4.12 Perubahan Hasil Perancangan Fungsi Mouse............................................... 40
xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR PERSAMAAN Halaman Persamaan 2.1 ................................................................................................................ 22 Persamaan 2.2 ................................................................................................................ 22 Persamaan 2.3 ................................................................................................................ 22 Persamaan 2.4 ................................................................................................................ 22 Persamaan 2.5 ................................................................................................................ 22 Persamaan 2.6 ................................................................................................................ 23
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. Listing Program Kontroler Lengan Robot dengan Kendali mouse ........................ L.3 L6. Data Sheet Servo FeeTech FS5109M .................................................................... L.8 L7. Data Sheet Servo TowerPro SG90 ......................................................................... L.9 L8. USB Host Shield..................................................................................................... L.10
xviii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I PENDAHULUAN
1.1.
Latar Belakang Teknologi di masa kini berkembang begitu pesat, teknologi yang canggih telah
menggantikan peralatan-peralatan manual yang membutuhkan banyak sumber daya manusia, salah satunya adalah robot. Penggunaan robot tersebut adalah berupa lengan robot. Lengan robot merupakan bagian dari robot yang dapat meringankan beban kerja manusia secara langsung, tetapi masih terdapat kendala bagaimana cara mengontrol lengan robot dengan mudah dikendalikan. Pada penelitian sebelumnya masih menggunakan komputer sebagai alat bantu untuk interface yang dibuat oleh Berio Molina “Controlling a servo motor with processing”[1]. Pada penelitian yang akan dibuat penulis, komputer akan sebagai alat pendukung upload atau download program ke mikrokontroler dan mouse sebagai interface. Berdasarkan hal diatas, penulis ingin membuat tugas akhir berjudul “Kontroler Lengan Robot dengan Kendali Mouse”.Dengan begitu memudahkan pengguna mengendalikan lengan robot, karena dengan menggunakan mouse pengguna dapat lebih leluasa mengendalikan lengan robot tersebut. Sistem alat ini berbasis mikrokontroler ATmega 328P-PU Arduino sebagai kontroler penggerak motor servo yang digunakan untuk sendi-sendi lengan robot sehingga menyerupai gerakan lengan manusia. Dengan sistem kendali menggunakan USB mouse sebagai interfacenya, komunikasi antara mouse dengan kontroler menggunakan komunikasi serial. Komunikasi serial disini adalah USB 2.0 dimana didalamnya terdapat empat pin output antara lain pin 1 berupa sumber tegangan, pin 2 berupa data (-), pin 3 berupa data (+) dan pin 4 berupa ground. Alasan menggunakan mouse karena semua orang pastilah mengenal mouse komputer dan mudah cara mengoperasikannya dan dari segi biaya lebih murah, kemudian gerakan mouse lebih leluasa lalu dari bentuknya sesuai dengan ukuran tangan manusia sehingga nyaman digunakan.
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2
1.2. Tujuan dan Manfaat Penelitian Tujuan penelitian ini adalah dapat membuat lengan robot yang dengan mudah dikendalikan lewat mouse tanpa harus merubah program untuk melakukan gerakangerakan yang diinginkan. Manfaat dari penelitian alat ini bisa sebagai modul pembelajaran di dunia pendidikan, mengenalkan salah satu bentuk bagian dari robot dan bisa juga sebagai sarana hiburan bagi anak-anak maupun orang dewasa dengan begitu bisa menjadi alat untuk media belajar dan bermain.
1.3.
Batasan Masalah Batasan masalah dalam penelitian ini yaitu :
a. Menggunakan empat buah motor servo. b. Menggunakan USB optical mouse. c. Menggunakan mikrokontroler ATmega328P-PU. d. Menggunakan gambar desain mekanik yang didapat secara open source.
1.4.
Metodologi Penelitian Berdasarkan tujuan yang ingin dicapai maka metode-metode yang digunakan dalam
penyusunan tugas akhir ini adalah : a. Pengumpulan bahan referensi Mengumpulkan dan mempelajari berbagai informasi yang menunjang penyusunan penulisan tugas akhir ini, melalui buku maupun artikel yang ada di internet. b. Perancangan sistem hardware dan software Rancangan hardware berupa gambar desain mekanik yang sudah ada dan dilakukan modifikasi sesuai yang diinginkan. Pada software dibuat dengan sedemikian rupa dengan tujuan memudahkan pengguna, hardware dan software memerlukan penyesuaian sehingga dapat berkomunikasi dengan baik. Gambar 1.1 memperlihatkan diagram blok model yang akan dirancang.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3
MIKROKONTROLER
Lengan Robot
USB Mouse
Gambar 1.1. Diagram Blok Perancangan
c. Pembuatan hardware dan koneksi dengan software Berdasarkan gambar 1.1 sistem akan bekerja saat pengguna menggerakkan mouse sebagai inputan ke lengan robot, mouse akan mengirimkan data analog ke software yang ada dalam komputer untuk diubah menjadi data digital yang akan diterima oleh Arduino kemudian Arduino mengirimkan data ke lengan robot sehingga lengan robot dapat digerakkan sesuai dengan kontroler mouse tersebut. d. Proses pengambilan data Pengambilan data dilakukan saat mouse menggerakkan per motor servo sebagai sendi pada lengan robot diukur ketepatan sudut dalam setiap pergeseran motor servo, jarak jangkauan lengan robot. e. Analisis dan penyimpulan hasil percobaan Analisis data dilakukan dengan mengecek data keluaran dari mouse dapat dibaca oleh Arduino sehingga komunikasi antara mouse dan lengan robot dapat berjalan dengan semestinya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB II DASAR TEORI
2.1.
Arduino Arduino adalah pengendali mikro single-board yang bersifat open source yang
dirancang untuk memudahkan penggunaan barang elektronik dalam berbagai bidang. Hardwarenya mempunyai prosesor ATmega328P-PU pabrikan Atmel dan softwarenya memiliki bahasa pemrograman sendiri [2]. Arduino mempunyai sebuah konektor USB (Universal Serial Bus), konektor power dan tombol reset. Arduino memuat semua yang dibutuhkan untuk menunjang mikrokontroler, mudah menghubungkannya ke sebuah computer dengan sebuah kabel USB atau mensuplainya dengan sebuah adaptor. Kegunaan Arduino disini sebagai kontroler pembacaan input dari mouse dan menjadikan output ke motor servo yang ada di lengan robot.
Gambar 2.1 Konfigurasi pin ATmega328[3]
4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 5
Gambar 2.2 Tampilan IDE Arduino Tabel 2.1 Keterangan Tombol Pada Tampilan IDE Arduino 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 melalui
6
Monitor
Arduino
komunikasi serial.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 6
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. Arduino memiliki beberapa kelebihan dibandingkan dengan platform elektronik lainnya [4]. Beberapa kelebihan arduino sebagai berikut : a. Open Source Hardware maupun software Arduino adalah open source. Artinya kita bisa membuat tiruan atau clone atau board yang kompatibel dengan board Arduino tanpa harus membeli board asli buatan Italy. Kalaupun kita membuat board yang persis dengan desain asli, kita tidak akan dianggap membajak (asalkan tidak menggunakan trade mark ‘Arduino’). b. Tidak memerlukan chip programmer Chip pada Arduino sudah dilengkapi dengan bootloader yang akan menangani proses upload dari komputer. Dengan adanya bootloader ini kita tidak memerlukan chip programmer lagi, kecuali untuk menanamkan bootloader pada chip yang masih blank. c. Koneksi USB Sambungan dari komputer ke board Arduino menggunakan USB, bukan serial atau parallel port. Sehingga akan mudah menghubungkan Arduino ke PC atau laptop yang tidak memiliki serial/parallel port. d. Fasilitas chip yang cukup lengkap Arduino menggunakan chip AVR ATmega 168/328 yang memiliki fasilitas PWM, komunikasi serial, ADC, timer, interupt, SPI dan I2C. Sehingga Arduino bisa digabungkan bersama modul atau alat lain dengan protokol yang berbeda-beda. e. Ukuran kecil dan mudah dibawa Ukuran board Arduino cukup kecil, mudah di bawah kemana-mana bersama laptop atau dimasukan ke dalam saku.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 7
f. Bahasa pemrograman relatif mudah Walaupun bahasa pemrograman Arduino adalah bahasa C/C++, tetapi dengan penambahan library dan fungsi-fungsi standar membuat pemrograman Arduino lebih mudah dipelajari dan lebih manusiawi. Contoh, untuk mengirimkan nilai HIGH pada pin 10 pada Arduino, cukup menggunakan fungsi digitalWrite(10, HIGH); Sedangkan kalau menggunakan bahasa C aslinya adalah PORTB |=(1<<2); g. Tersedia library gratis Tersedia library yang sangat banyak untuk menghubungkan Arduino dengan macam-macam sensor, aktuator maupun modul komunikasi. Misalnya library untuk mouse, keyboard, servo, GPS, dsb. Berhubung Arduino adalah open source, maka library-library ini juga open source dan dapat di download gratis di website Arduino. h. Komunitas open source yang saling mendukung Software Linux, PHP, MySQL atau WordPress perkembangannya begitu pesat karena merupakan software open source dimana ada komunitas yang saling mendukung pengembangan proyek. Demikian juga dengan Arduino, pengembangan hardware dan software Arduino didukung oleh pencinta elektronika dan pemrograman di seluruh dunia. Contoh, interface USB pada Arduino Uno mengambil dari LUFA project. Library dan contoh-contoh program adalah sumbangan dari beberapa programmer mikrokontroler, seperti Tom Igoe, dsb.
2.1.1. Konfigurasi Pin ATmega328P-PU Dalam penelitian ini menggunakan mikrokotroler tipe ATmega328P-PU, mikrokontroler ini sudah terintegrasi dengan board Arduino sehingga mudah untuk digunakan dan memiliki fitur-fitur yang sudah lengkap. ATmega328P-PU adalah sebuah mikrokontroller yang biasa dipakai pada modul mikrokontroller arduino. Ukuran flash memorinya yang cukup besar yaitu 32kb dapat memungkinkan kamu membuat project mikrokontroller dari yang termudah hingga cukup rumit tanpa harus khawatir kehabisan memori flash maupun ram[5]. Gambar konfigurasi pin ATmega328P-PU dapat dilihat pada gambar 2.3 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8
Gambar 2.3 Konfigurasi Pin ATmega328P-PU[5] ATmega328P-PU memiliki 3 buah Port utama yaitu port B, port C, dan port D dengan total pin input / output sebanyak 23 pin. port tersebut dapat difungsikan sebagai input/output digital atau difungsikan sebagai kelengkapan alat lainnya. Dari gambar diatas dapat dijelaskan kegunaan masing-masing pin pada ATmega328P-PU sebagai berikut : 1. VCC merupakan pin yang berfungsi sebagai input catu daya. 2. GND merupakan pin ground 3. 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.2. Tabel 2.2 Fungsi Khusus port B[5] Pin
Keterangan
PB0
ICP1 berfungsi sebagai timer counter 1 input capture pin
PB1
OC1A dapat difungsikan sebagai keluaran PWM (Pulse With Modulation)
PB2
OC1B dapat difungsikan sebagai keluaran PWM (Pulse With Modulation), SS merupakan jalur komunikasi SPI SPI dan juga berfungsi sebagai jalur pemrograman serial (ISP)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 9
Tabel 2.2 (Lanjutan) Fungsi Khusus port B OC2A dapat difungsikan sebagai keluaran PWM (Pulse With Modulation), MOSI PB3
merupakan jalur komunikasi SPI SPI dan juga berfungsi sebagai jalur pemrograman serial (ISP) MISO merupakan jalur komunikasi SPI dan juga berfungsi sebagai jalur
PB4
pemrograman serial (ISP) SCK merupakan jalur komunikasi SPI dan juga berfungsi sebagai jalur
PB5
pemrograman serial (ISP),
PB6 PB7
Pin reset TOSC2 berfungsi sebagai sumber clock external untuk timer, XTAL2 merupakan sumber clock utama mikrokontroler
4. Port C (portC0...portC5) merupakan jalur data 7 bit yang dapat difungsikan sebagai input/ouput digital. Tabel 2.3 menunjukan fungsi khusus dari port C. Tabel 2.3 Fungsi Khusus port C[5] Pin PC0
PC1
PC2
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
Port
12C merupakan salah satu fitur yang terdapat pada PORTC. I2C digunakan untuk
C
komunikasi dengan sensor atau device lain yang memiliki komunikasi data tipe I2C
5. 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 : a.
USART (TXD dan RXD) merupakan jalur data komunikasi serial dengan level sinyal TTL. Pin TXD berfungsi untuk mengirimkan data serial, sedangkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 10
RXD kebalikannya yaitu sebagai pin yang berfungsi untuk menerima data serial. b. 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. c. XCK dapat difungsikan sebagai sumber clock external untuk USART, namun kita juga dapat memanfaatkan clock dari CPU, sehingga tidak perlu membutuhkan external clock. d. T0 dan T1 berfungsi sebagai masukan counter external untuk timer 1 dan timer 0. e. AIN0 dan AIN1 keduanya merupakan input untuk analog comparator.
2.2.
Motor Servo Motor servo adalah motor yang mampu bekerja dua arah searah jarum jam dan
berlawanan arah jarum jam (CW dan CCW), dimana arah dan sudut pergerakan rotornya dapat dikendalikan hanya dengan memberikan pengaturan duty cycle sinyal PWM (Pulse Width Modulation) pada bagian pin kontrolnya [6]. Motor servo banyak digunakan pada peranti R/C (remote control) seperti mobil, pesawat, helikopter, dan kapal, serta sebagai aktuator robot maupun penggerak pada kamera.
2.2.1. Prinsip Kerja Motor Servo Motor Servo akan bekerja secara baik jika pada bagian pin kontrolnya diberikan sinyal PWM (Pulse Width Modulation) dengan frekuensi 50Hz. Dimana pada saat sinyal dengan frekuensi 50Hz tersebut dicapai pada kondisi Ton duty cycle 1.5ms, maka rotor dari motor akan berhenti tepat di tengah-tengah (sudut 0° / netral) [6]. Pada saat Ton duty cycle dari sinyal yang diberikan kurang dari 1.5ms, maka rotor akan berputar ke arah kiri dengan membentuk sudut yang besarnya linier terhadap besarnya Ton duty cycle, dan akan bertahan diposisi tersebut. Dan sebaliknya, jika Ton duty cycle dari sinyal yang diberikan lebih dari 1.5ms, maka rotor akan berputar ke arah kanan dengan membentuk sudut yang linier pula terhadap besarnya Ton duty cycle, dan bertahan diposisi tersebut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 11
Gambar 2.4 Prinsip Kerja Motor Servo [7]
2.2.2. Micro Servo Perancangan menggunakan micro servo sebagai penggerak bagian Gripper. Berikut adalah spesifikasi dari micro servo yang digunakan.[8]
Ukuran
: 21x12x22 mm / 0.74x0.42x0.78 in
Tegangan
: 3v ~ 6v
Berat
: 9g / 0.32oz
Kecepatan
: 0.12 sec/60(4.8V)
Torsi
: 1.6 kg-cm
Temperatur kerja
: -30C~60C
Modulasi
: Analog
Tipe motor
: 3-pole
Tipe gir
: Plastik
Jangkauan rotasi
: 180˚
Gambar 2.5 Micro Servo [8]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 12
Tabel 2.4 Tabel konfigurasi pin servo Pin
Keterangan
Oranye
PWM
Merah
VCC
Cokelat
GROUND
2.2.3. Motor Servo Standar Motor servo standar digunakkan pada bagian lengan robot selain pada griper seperti pada bagian base, shoulder, elbow. . Berikut adalah spesifikasi dari motor servo yang digunakan.[8]
Torsi
:
4.8V : 9.02 kg-cm 6.0V :10.22 kg-cm
Kecepatan
:
4.8V : 0.18 sec/60° 6.0V : 0.16 sec/60°
Berat Jarak Rotasi
: :
56.0 g 180°
Gambar 2.22 Motor Servo Standar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 13
2.3.
USB Optical Mouse Interface yang digunakan pada kontroler lengan robot menggunakan USB optical
mouse. Mouse disini dipilih karena penggunaannya yang mudah dan yang terpenting plug and play pada semua perangkat komputer jaman sekarang. Mouse sendiri terdapat beberapa bagian yang mempunyai fungsi-fungsi tersendiri seperti tombol klik kanan, tombol klik kiri, tombol klik tengah, scroll dan optik sendiri sebagai sensor penggerak pointer. Tombol-tombol tersebut dapat dibaca oleh mikrokontroler.
Gambar 2.6 Konfigurasi Tombol Mouse Paket data yang dikirimkan oleh mouse ke mikrokontroler seperti pada tabel 2.5 dan pada gambar 2.7 menunjukan data yang dikirimkan tiap fungsi pada mouse. Bagian mouse dapat dilihat pada gambar 3.2. Tabel 2.5 Paket Data Mouse [9]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 14
Tabel 2.6 Data Biner Mouse
Bagian Mouse
Data Hexa
Klik Kanan
02000000
Klik Kiri
01000000
Middle Button
04000000
Scroll Up
00000001
Scroll Down
000000FF
Geser X -
00FF0F00
Geser X +
00010000
Geser Y -
00001000
Geser Y +
0000F0FF
Data Biner 0000 0010 0000 0000 0000 0000 0000 0000 0000 0001 0000 0000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0000 0000 0000 0000 0000 0000 1111 1111 0000 0000 1111 1111 0000 1111 0000 0000 0000 0000 0000 0001 0000 0000 0000 0000 0000 0000 0000 0000
2.4.
0001 0000 0000 0000 0000 0000 0000 0000 1111 0000 1111 1111
USB Host Shield USB host shield berfungsi untuk berkomunikasi melalui USB ke perangkat
arduino. Contoh dari penggunaan USB host shield seperti : kita dapat menerima masukan dari USB mouse/keyboard (Human Input Device / HID). USB host shield menggunakan IC kontroler MAX3421E, MAX3421E dapat digunakan untuk mengakses perangkat USB mass storage. Arduino melakukan komunikasi dengan MAX3421E menggunakan SPI bus (melalui header ICSP) melalui pin 10,11,12, dan 13 pada ATmega328P [10].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 15
Gambar 2.7 Konfigurasi board USB host shield[10]
2.4.1. Serial Peripheral Interface (SPI) Serial Peripheral Interface (SPI) adalah protokol data serial sinkron digunakan oleh mikrokontroler untuk berkomunikasi dengan satu atau lebih perangkat peripheral cepat jarak pendek. Hal ini juga dapat digunakan untuk komunikasi antara dua mikrokontroler. Dengan koneksi SPI selalu ada perangkat satu master (biasanya mikrokontroler) yang mengontrol perangkat peripheral. Serial Peripheral Interface ( SPI ) merupakan salah satu mode komunikasi serial synchrounous kecepatan tinggi yang dimiliki oleh ATmega328. Komunikasi SPI membutuhkan
3
ini data dapat saling
jalur yaitu
MOSI, MISO,
dikirimkan
dan
SCK.
Melalui komunikasi
baik antara mikrokontroller maupun
antara
mikrokontroller dengan peripheral lain di luar mikrokontroller.
SPI bus dapat dioperasikan dengan sebuah perangkat single master dan dengan satu atau lebih perangkat slave. [11] Untuk memulai komunikasi, bus master mengkonfigurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 16
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 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. [12] 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).[12]
Gambar 2.8 Transfer data SPI[13]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 17
Pin atau kaki SS (slave select) merupakan pin yang berfungsi untuk mengaktifkan slave sehingga pengiriman data hanya dapat dilakukan jika slave dalam keadaan aktif (active low). Dari gambar diagram SPi diatas anda sudah bisa membayangkan bagaimana cara SPI mentransfer data antara Master dan slave. Intinya ada di register geser 8 bit. Tiap clock dari SCK akan mempertukarkan 1 bit data , jadi untuk mempertukarkan register di master dan slave perlu 8 kali clock. contoh konkritnya begini: data di register geser master adalah 1111 1111 data di register gaser slave adalah 0000 0000[13].
Gambar 2.9 Kondisi awal transfer data[13] kemudian pada clock pertama dan kedua isi register berpindah sebagai berikut :
Gambar 2.10 Perpindahan isi register clock pertama dan kedua[13]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 18
Setelah 8 kali clock data berpindah:
Gambar 2.11 Data berpindah penuh[13]
2.5. Komunikasi USB USB yang merupakan singkatan dari Universal Serial Bus, gunanya untuk mentransmsikan data dari portable luar ke perangkat lain kemudian di proses lebih lanjut. Kabel USB memiliki 4 jalur kabel yang memiliki fungsi tidak sama. Jalur pertama berwarna merah sebagai pembawa suplai tegangan +5V (VCC), jalur kedua berwarna putih sebagai pembawa sinyal data (+), jalur ketiga berwarna hijau sebagai pembawa sinyal data (-), kemudian jalur keempat berwarna hitam sebagai ground.
Gambar 2.12. Konfigurasi kabel USB [14] Ada beberapa kondisi sinyal dari USB, yang terbentuk dari kabel D+ dan D-. Perbedaan dari kondisi tersebut adalah:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 19
a) Detached Ketika tidak ada perangkat USB yang tersambung maka D+ dan D- akan low seperti pada Gambar 2.13.
Gambar 2.13 Detached State [15] 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.14 merupakan kondisi attached.
Gambar 2.14 Attached State [15] c) Idle Keadaan ketika garis pulled up dalam keadaan high, dan garis lain low, terlihat pada Gambar 2.15. Keadaan ini terjadi sebelum dan sesudah paket data terkirim.
Gambar 2.15 Idle State [16]
d) Kondisi-kondisi lain dapat dilihat pada Tabel 2.7 dan contoh pengiriman data USB pada Gambar 2.16.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 20
Gambar 2.16. Contoh Pengiriman Data USB [17] Tabel 2.7 State pada Koneksi USB [15]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 21
2.6.
Sistem Kontroler Lengan Robot Sistem kontrol loop terbuka yang digunakan pada sistem kontrol lengan robot yang
penulis gunakan. Sistem kontrol loop terbuka adalah suatu sistem yang keluarannya tidak mempunyai pengaruh terhadap aksi kontrol. Artinya, sistem kontrol terbuka keluarannya tidak dapat digunakan sebagai umpan balik (feedback) dalam masukkan. Dalam suatu sistem kontrol terbuka, keluaran tidak dapat dibandingkan dengan masukan acuan. Jadi, untuk setiap masukan acuan berhubungan dengan operasi tertentu, sebagai akibat ketetapan dari sistem tergantung kalibrasi. Sistem kontrol terbuka dapat digunakan hanya jika hubungan antara masukan dan keluaran diketahui dan tidak terdapat gangguan internal maupun eksternal [18]. Sistem kontrol lengan robot ini mempunyai 3 bagian proses utama, yaitu membaca masukan (mouse), memproses data masukan, mengirim data keluar sebagai sinyal ke aktuator (micro servo).
Kontroler
Lengan Robot
Mouse
Gambar 2.17 Sistem open loop pada lengan robot
2.6.1. 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 z dapat tidak dituliskan.[19] Pada Gambar 2.18 ditunjukkan konfigurasi lengan robot untuk perhitungan trigonometri.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 22
Gambar 2.18. Konfigurasi perhitungan jangkauan lengan robot Ujung dari lengan dinyatakan sebagai P(x,y),[19] P(x,y)=f( ,
) ...................................................................................................(2.1)
Jika P diasumsikan sebagai verktor penjumlahan yang terdiri dari vektor 1 dan
lengan-2,[19]
=[ cos =[
lengan-
,
sin
] .......................................................................................(2.2)
cos ( + ),
sin ( + )] .....................................................................(2.3)
maka x= cos
+
cos ( + ) ................................................................................(2.4)
y=
+
sin ( + ) ................................................................................(2.5)
sin
Persamaan (2.4) dan (2.5) adalah persamaan kinematik maju dari lengan robot.[19]
2.7 . Link Pengerak 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.[26] tuas dapat dibedakan atas 3 kelas yaitu: 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 23
Gambar 2.19 Prinsip kerja tuas Prinsip kerja tuas kelas pertama ditunjukkan pada gambar 2.19 dari gambar tersebut dapat diperjelas dengan rumus berikut: W . Lb = F . Lk ..................................................................................................(2.6) Keterangan : W = berat beban Lb = panjang lengan beban F = gaya yang diberikan L = panjang lengan kuasa Prinsip kerja tuas akan ditemukan pada link penggerak yang mana digunakan untuk meringankan beban motor dalam mengangkat beban.
2.8.
Sudut Bangun Segi 4 Perhitungan sudut segi 4 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. Persamaan sudut segi-n dapat ditunjukkan pada persamaan di bawah ini: Segi-n = (n-2) x 180˚
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 24
Gambar 2.20 Sudut-sudut yang dimiliki oleh bangun datar segi 4
Dari gambar 2.20 kita dapat menemukan berapa besar sudut dan cara menghitung sudut pada segi 4. Segi 4 = (4-2) x 180˚ = 360˚ Jadi dapat dikatakan bahwa jumlah dari sudut a,b,c,d pada masing-masing bangun datar segi 4 yang ditunjukkan pada gambar 2. adalah 360˚.
2.8. FTDI FT232RL FTDI FT232RL adalah modul konversi sinyal USB ke sinyal TTL/UART (USB to TTL Converter) yang andal dan praktis untuk digunakan pada rangkaian elektronika berbasis mikrokontroler, dengan demikian perangkat mikrokontroler bisa berkomunikasi lewat standar USB.
Gambar 2.21 FTDI Basic Breakout[20]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 25
Pada gambar 2.21 terlihat modul FTDI Basic Breakout FT232RL. Modul ini difungsikan sebagai USB-to-Serial Adapter yang mana digunakan 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.8), Power dan Ground (Tabel 2.9), Miscellaneous signal group (Tabel 2.10), UART interface dan CBUS group yang dikelompokkan pada bebarapa tabel dibawah ini[21]. Tabel 2.8 USB Interface Group[22] Nomor Pin Nama
Tipe Keterangan
14
USBDP
I/O
15
USBDM I/O
USB data signal plus USB data signal minus
Tabel 2.9 Power dan Ground Group[22] Nomor Pin
Nama
Tipe
Keterangan Supply untuk UART interface dan CBUS
1
VCCIO
PWR
dengan range +1.8V sampai +5.25V
4, 17, 20
GND
PWR
Ground Keluaran tegangan sebesar +3.3V. Dikopling dengan kapasitor 100nF ke
16
3V3 OUT
OUT
19
VCC
PWR
+3.3V sampai 5.25V untuk supply core
24
AGND
PWR
Analog ground untuk interval clock
ground
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 26
Tabel 2.10 Miscellanous Signal Group[22] 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Bab III PERANCANGAN PENELITIAN
3.1.
Proses Kerja Sistem Perancangan sistem ini meliputi beberapa bagian yang dapat ditunjukan pada
gambar 3.1. Bagian-bagian perancangan meliputi minimum sistem mikrokontroller, USB host shield, desain lengan robot, micro servo dan interface dengan mouse. Minimum sistem mikrokontroler ATmega328 pada perancangan ini sudah menggunakan sistem minimun jadi pengaturan gerakan lengan robot dapat di program sesuai dengan kebutuhan. Proses pertama kali pada pergerakan lengan robot diawali dengan bergeraknya micro servo pada posisi nol dan saklar on. Sistem bekerja pada saat pengguna mengoperasikan fungsifungsi mouse untuk menggerakan lengan robot dengan leluasa. Mikrokontroler akan mengendalikan micro servo yang diaplikasikan pada lengan robot setelah menerima data masukan dari mouse sebgai interface. Mouse mengirimkan data masukan ke mikrokontroler dengan bantuan USB host shield yang berfungsi menampilkan data digital untuk kemudian diolah oleh mikrokontroler. Tombol-tombol pada mouse mempunyai fungsi masing-masing untuk menggerakkan setiap micro servo terdapat pada lengan robot. Bagian-bagian robot seperti pada gambar 3.2.
USB host Shield
MinSis ATmega328
Gambar 3.1 Blok Diagram Proses Sistem
27
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 28
ELBOW
SHOULDER GRIPPER
Buka/Tutup
BASE
Gambar 3.2 Bagian-bagian Lengan Robot
3.2.
Perancangan Perangkat Keras Bagian-bagian utama dalam perancangan perangkat keras, yaitu : a. Minimum sistem ATmega328 b. Fungsi Tombol Mouse c. Desain kerangka lengan robot
3.2.1. Minimum Sistem ATmega328 Rangkaian minimum sistem merupakan rangkaian dasar yang harus dimiliki oleh mikrokontroler supaya dapat diprogram. Rangkaian minimum sistem sederhana dengan tambahan IC USB To Serial converter yang terhubung ke port serial mikrokontroler [23]. IC ini digunakan sebagai jalur komunikasi antara komputer atau perangkat lain seperti mouse dengan mikrokontroler. Mikrokontroler membutuhkan sistem minimum yang terdiri dari rangkaian eksternal yaitu rangkaian osilator dan rangkaian reset.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 29
Gambar 3.3. Rangkaian Minimum Sistem
Port-port yang digunakan pada minimum sistem hanya yang diperlukan sesuai kebutuhan dapat diprogram. Port yang digunakan berfungsi membaca data masukan dari USB host shield yang dimana terhubung dengan mouse sebagai interface, sebagai downloader program kontrol lengan robot, keluaran ke micro servo. Tabel penggunaan port di tampilkan pada tabel 3.1 Tabel 3.1 Port-port pada mikrokontroler No
Nama Port
Keterangan
1
Port_icsp01
SCK
2
Port_icsp02
MISO
3
Port_icsp03
MOSI
4
Port_D02
Output servo_01
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 30
5
Port_D03
Output servo_02
6
Port_D04
Output servo_03
7
Port_D05
Output servo_04
8
Port_D01
TX
9
Port_D0
RX
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.4 terlihat bahwa shield mengirim data ke mikrokontroler.
+5V GND Reset SCK MISO MOSI
mikrokontroler
Gambar 3.4 Koneksi Antara USB Host Shield Dan Mikrokontroler
3.2.2.
Fungsi Tombol Mouse Pada perancangan ini mouse yang digunakan mempunyai fungsi tiap
bagian.Bagian yang digunakan dapat dijelaskan pada tabel 3.2 dan fungsi-fungsi bisa dilihat pada gambar 3.5 untuk lebih memperjelas bagian-bagian lengan robot pada ganbar 3.2. Tabel 3.2 Fungsi Mouse Fungsi Mouse
Keterangan
Klik Kiri
Menggerakkan griper menutup
Klik Kanan
Menggerakkan griper terbuka
Middle button + Geser Y(-)
Menggerakkan elbow turun
Middle button + Geser Y(+)
Menggerakkan elbow naik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 31
Tabel 3.2 (Lanjutan) Fungsi Mouse Fungsi Mouse Geser X -
Keterangan Menggerakkan base ke kiri
Geser X +
Menggerakkan base ke kanan
Geser Y-
Menggerakkan shoulder naik
Geser Y +
Menggerakkan shoulder turun
Gerak Y +
Gerak X +
Gerak X -
Gerak Y -
Gambar 3.5. Gerakan Mouse
3.2.3.
Desain Lengan Robot Rancangan lengan robot menggunakan rancangan dari Lite Arm Robot i2 yang
merupakan desain yang bersifat open source dan legal [24]. Desain tersebut sangat cocok dalam pembuatan tugas akhir ini karena membantu sekali dalam mengaplikasikan kontroler yang akan dibuat. Kelebihan desain ini lengan robot ketika sudah dibuat berukuran kecil sehinggga bisa untuk dipergunakan dalam ruangan yang tidak terlalu besar dan juga bisa untuk modul pembelajaran tentang robotika. Desain awal dapat ditunjukan pada gambar 3.6 dan gambar 3.7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 32
Gambar 3.6. Desain Awal Lengan Robot[24]
Gambar 3.7 Tampilan 3D Lengan Robot
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 33
1. Desain Griper Desain griper seperti pada Gambar 3.8 adalah desain griper yang dapat membuka dan menutup untuk menjepit benda. Griper ini digerakkan oleh satu motor mikro servo yang terhubung menggunakan link ke salah satu penjepit. Untuk membuat kedua penjepit bergerak bersamaan dengan satu motor servo saja maka pada bagian pangkal penjepit didesain seperti roda gigi sehingga saling terhubung satu sama lain.
Gambar 3.8 Desain Griper[25]
2. Sudut Pergerakan Setiap motor micro servo yang digunakan memiliki kemampuan dapat berputar sebesar 180˚, sehingga seharusnya setiap sendi dari lengan robot termasuk griper dapat bergerak bebas secara rotasi sebesar 180˚.
3.2.4. Jangkauan Lengan Robot Untuk melakukan perhitungan jangkauan lengan robot menggunakan persamaan (2.4) dan (2.5). Perhitungan ini diperlukan posisi sudut yang berbeda. Letak l1 dan l2 pada lengan robot ditunjukkan pada Gambar 3.7. Panjang lengan l1: 14,3 cm Panjang lengan l2: 15,5 cm
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 34
Gambar 3.9. Perhitungan Jangkauan Lengan Robot
Gambar 3.10 Jangkauan Maksimal Horisontal =0;
= -40
x= cos
+
cos ( + )
x=14,3 cos 5 + 15,5 cos (5-40) x= 26,9 cm y=
sin
+
sin ( + )
y= 14,2 sin 5 + 15,3 sin (5-40) y= -7,6 cm P(x,y) = (26,9, -7,6)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 35
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 juga posisi sudut pergerakan lengan robot yang lain yang dapat dijelaskan dengan gambar tiap bagian lengan robot. Hasil pergerakan sudut ini berdasarkan simulasi desain menggunakan software Solidworks. Hasil simulasi ini memperoleh batasan-batasan kondisi pergerakan dari lengan robot. 1. 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 dapat bergerak 180˚. 2. Elbow Pada elbow terjadi konversi perubahan sudut antara motor servo dan lengan. Dari hasil simulasi lengan membuat sudut 53˚ ternyata motor membutuhkan gerakan 118˚. Jadi diperoleh perbandingan putaran sudut antara motor servo dan sudut lengan adalah 1: 0,45 derajat
. Gambar 3.11 Pergerakan Sudut Elbow Lengan elbow ini memiliki batasan-batasan pergerakan yang berkaitan dengan lengan shoulder. Dari gambar 3.11 lengan elbow dapat melakukan pergerakan sudut paling besar yakni 60˚. Ketika shoulder pada posisi dibawah 90˚, pergerakan elbow dibatasi oleh link 1 sehingga hanya bisa membuat sudut <60˚. Begitu juga
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 36
ketika shoulder pada posisi di atas 90˚, pergerakan elbow dibatasi oleh link 1 dan juga lantai dasar.
3. Griper
Gambar 3.12 Pergerakan Sudut Gripper[25] Untuk melakukan gerakan membuka dan menutup (pada Gambar 3.10) hanya diperlukan gerakan 90˚ oleh roda gigi, namun perputaran roda gigi tidak linier dengan perputaran sudut motor servo, dari 90˚ putaran roda gigi didapat 38˚ putaran sudut pada motor servo. Jadi diperoleh perbandingan putaran sudut antara motor servo dan roda gigi adalah 1: 2,37 derajat.
4. Base
180˚
Gambar 3.13 Pergerakan Sudut Base Pada bagian ini motor servo dapat bergerak bebas 180˚ seperti terlihat pada Gambar 3.13.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 37
3.3. Perancangan Perangkat Lunak 3.3.1.
Flowchart Utama Flowchart utama menunjukan program utama yang ada dalam proses kerja
secara keseluruhan, dapat dilihat pada gambar 3.14. Program utama dimulai dengan menghidupkan sumber tegangan (power supply) atau tombol power ON yang kemudian melakukan inisialisasi register sebagai tempat penyimpanan data lalu inisialisasi input/output. Dan selanjutnya mikrokontroler mengatur micro servo ke posisi awal untuk dapat melanjutkan proses selanjutnya pembacaan input dari mouse yang kemudian menggerakan micro servo sebagai outputnya. Proses kerja sistem akan bekerja terus menerus dari pembacaan input dan eksekusi ke output hingga tombol power OFF dan sistem selesai. Mulai
Inisialisasi Register dan I/O
Lengan Robot ke Posisi Awal
Input dari Mouse
Pengolahan data mouse
Output ke motor servo
Selesai
Gambar 3.14 Flowchart Utama
Pada gambar 3.15 menunjukan proses yang lebih detil dalam proses utama dalam bentuk flowchart. Menjelaskan setiap alur proses dari fungsi tiap – tiap tombol mouse yang digunakan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 38
MULAI
YA
TIDAK
TIDAK GERAK X-
GERAK X+
GERAK Y-
TIDAK GERAK Y+
YA
YA
YA
SERVO 1 CCW Sudut =0º
SERVO 1 CW Sudut =180º
SERVO 2 CCW Sudut =0º
TIDAK KLIK KIRI
YA
SERVO 2 CW Sudut =180º
TIDAK KLIK KANAN
TIDAK SCROLL UP
YA
YA
YA
SERVO 3 CCW Sudut =0º
SERVO 3 CW Sudut =180º
SERVO 4 CCW Sudut =0º
SELESAI
Gambar 3.15 Flowchart Subsistem
TIDAK SCROLL DOWN
YA
SERVO 4 CW Sudut =180º
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB IV HASIL DAN PEMBAHASAN Pada bab ini hasil implementasi alat beserta dengan pembahasan dibagi menjadi dua bagian yaitu hasil perancangan pada perangkat keras (Hardware) dan hasil perancangan pada perangkat lunak. Hasil implementasi kontroler lengan robot dengan kendali mouse berbasis mikrokontroler ATmega328 ini secara keseluruhan sudah sesuai dengan perancangan pada BAB III.
4.1.
Hasil Perancangan Hardware Perangkat keras pada kontroler lengan robot dengan kendali mouse terdiri atas dua
bagian yaitu : rancangan lengan robot danrangkaian elektrik (kontroler). Perancangan lengan robot sesuai dengan model rancangan dari lite arm i2 dengan sedikit modifikasi pada bagian gripper, terdiri dari 4 bagian lengan robot seperti Base, Shoulder, Elbow dan Gripper. Kemudian pada kontroler terdapat USB Host Shield dan minimum sistem ATmega328 sebagai penghubung USB mouse, dimana mouse tersebut berfungsi sebagai interface nya. Hasil perancangan perangkat keras dapat dilihat pada gambar 4.1.
Gambar 4.1 Keseluruhan Sistem Kontroler Lengan Robot Kendali Mouse
39
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 40
Pada gambar 4.2 menunjukan bagian-bagian lengan robot yang terdiri dari Base, Shoulder, Elbow dan Griper, selain itu terdapat juga link pembantu pada mekanik lengan robot yaitu : link gripper dan link elbow dimana link griper mempunyai jumlah dua, lebih jelasnya dapat dilihat keterangan pada tabel 4.1.
Gambar 4.2 Bagian Keseluruhan Lengan Robot Tabel 4.1 Keterangan Bagian Lengan Robot No.
Nama Bagian
1
Base
2
Shoulder
3
Elbow
4
Griper
5
Link Griper 1
6
Link Griper 2
7
Tempat Rangkaian Elektrik
8
Link Elbow
Desain lengan robot ini menempatkan 3 buah motor servo standar pada bagian bawah yang berfungsi agar tidak membebani kerja motor servo yang lain dikarenakan motor servo standar mempunyai beban 56gr, pada bagaian atas atau pada griper terpasang 1 micro servo dengan beban 9gr. Penempatan tiap motor servo ditunjukan pada gambar 4.3.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 41
Ganbar 4.3 Letak Motor Servo Pada kontroler terdapat bebrapa rangkaian elektrik yang berfungsi mengatur putaran motor servo pada lengan robot seperti pada gambar 4.4.
Gambar 4.4 USB Host Shield dan Minimum sistem ATmega328
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 42
Pada gambar 4.5 menampilkan hasil rangkaian elektronik Minimum sistem ATmega328, dimana ATmega328 berfungsi sebagai otak dari pengendalian lengan robot dengan kendali mouse. Bentuk fisik minimum sistem 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 Rangkaian Minimum Sistem ATmega328 Minimum sistem ATmega328 dan USB host shield dipasang secara bertumpuk sehingga mudah untuk dipasang pada tempat yang tersedia pada lengan robot karena tidak banyak memakan tempat. USB host shield kompetibel untuk Arduino uno dan Arduino mega, oleh karena itu port-port minimum sistem Atmega 328 dibuat persis dengan arduino uno sehingga dapat dipasang seperti pada gambar 4.6. Minimum sistem, USB host shield, dan juga motor servo menggunakan tegangan 5 V yang berasal dari adaptor. Gambar 4.7 menunjukkan penempatan dan koneksi elektrik antara motor servo, minimum sistem, USB host shield, dan power dari adaptor.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 43
Gambar 4.6 Pemasangan USB Host Shield dengan Minimum sistem ATmega328
4.2.
Hasil Pengujian Hardware
4.2.1. Pengujian Ketepatan Sudut Lengan Robot Pada bab III motor servo dikatakan mampu berputar hingga 180° namun pada pengujian didapat hasil yang berbeda dari spesifikasi yang sebenarnya, hasil pengujian ketepatan sudut dapat dilihat pada tabel. Semua pengambilan data yang diambil dengan sudut 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. 1. Base Pada motor base seharusnya mampu berputar hingga 180° namun karena terdapat batasan pada hardware sehingga motor servo tidak dapat berputar secara maksimal. 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 dilihat secara detail melaui serial monitor pada software arduino. Data yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 44
diambil berjumlah 5 yang mana menggunakan kelipatan 45˚ dalam pengambilan data. Hasil pengambilan data dapat dilihat pada tabel 4.2. Tabel 4.2 Tabel Pengujian Sudut Sendi Base Nama Sendi Sudut pada Servo(serial monitor) Sudut aktual Selisih sudut Base
0°
0°
0°
45°
42°
3°
90°
85°
5°
135°
131°
4°
180°
173°
7°
Dari tabel 4.2 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 173˚.
Gambar 4.7 Grafik perbandingan sudut Base
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 45
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,967˚ sudut aktual. 2. Shoulder Pada sendi shoulder data yang diambil dilakukan pengambilan data sebanyak 5 kali seperti pada sudut base dengan kelipatan tiap sudut 45°. Hasil pengambilan data yang ditampilkan pada tabel 4.3. Tabel 4.3 Tabel Pengujian Sudut Shoulder Nama Sendi Sudut pada Servo(serial monitor) Sudut aktual Selisih sudut Shoulder
0°
0°
0°
45°
41°
4°
90°
84°
6°
135°
130°
3°
170°
166°
4°
Pada motor servo Shoulder hanya mampu mencapai sudut maksimal sebesar 170° dikarenakan keterbatasan rangka lengan robot sudah bertabrakan. Dari sudut maksimal yang dapat diinput ternyata hanya dapat terbentuk pada sudut 166˚ yang aktual. Jika dihitung berarti setiap 1˚ input maka akan terbentuk 0,98˚ pada aktualnya. Pada sudut ini sudah merupakan sudut yang cukup akurat karena hanya terjadi pergeseran sekitar 0,02˚. Gambar 4.8 amenampilkan grafik antara sudut yang diinput dengan sudut yang terbentuk pada sendi shoulder.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 46
Gambar 4.8 Grafik sudut shoulder 3. Elbow Pada bagian sendi elbow menggunakan metode penggerak tuas untuk menggerakkan sendinya, jadi motor tidak langsung menggerakkan sendinya seperti pada bagian lengan robot yang lain. Bagian sendi elbow 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.4 yang berisi hasil pengambilan data. Tabel 4.4 Tabel Pengujian Sudut Elbow Nama Sendi Elbow (Shoulder 55°)
Sudut pada Servo(serial monitor) Sudut aktual Selisih Sudut 35°
35°
0°
65°
63°
2°
95°
91°
4°
125°
120°
5°
155°
145°
10°
165°
150°
15°
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 47
Data yang diambil sebanyak 6 data dengan kelipatan untuk setiap sudut 30°, sehingga pada sendi elbow data yang dapat diambil dari sudut minimal ke sudut maksimal. Sudut input minimal hanya bisa mencapai 35˚ karena penggerak elbow sudah mencapai batas maksimal hardware dengan motor servo penggerak base. Sedangkan untuk sudut maksimalnya hanya terbatas pada sudut input 165˚. Hal ini juga karena keterbatasan
rancangan
hardware antara link penggerak elbow dan lengan shoulder.
Gambar 4.9 Grafik Data perbandingan sudut input dan sudut aktual sendi Elbow Sendi elbow mengalami pergeseran pada sendi input dan aktual yang lebih besar dari yang lainnya khususnya pada sudut maksimal. Pada input sudut 1˚ membentuk sudut 0,88° pada sudut aktualnya. Hal ini terjadi karena baut penghubung pada link-link penggerak yang kurang sempurna 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. 4. Gripper Pada bab III telah dijelaskan bahwa gripper difungsikan untuk membuka dan menutup saja dengan 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˚. Pada hasil pengambilan data gripper membuka dan menutup hanya dengan gerakan motor servo 45˚ saja. Dan roda gigi gripper telah membentuk 95˚. Data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 48
yang diambil dapat dilihat pada tabel 4.5. Jadi dapat dibuat perbandingan dari pengambilan data ini yakni sudut motor servo dan sudut aktual adalah 1: 2,11˚. Tabel 4.5 Tabel Pengujian Sudut Gripper Nama Sendi
Gripper
Sudut pada Servo Sudut aktual (serial monitor) 0˚ 0˚ 10 ˚ 40 ˚ 20 ˚ 65 ˚ 30 ˚ 83 ˚ 35 ˚ 105 ˚
4.2.2. Pengujian Kinematika Lengan Robot Pengujian kinematika lengan robot didasarkan pada perancangan pada bab 3 yakni menggunakan sumbu x dan y untuk menentukan posisi. Pengambilan data dimulai dengan sudut shoulder paling minimal kemudian mengubah sudut elbow ke minimal sampai maksimal kemudian akan diambil titik x dan y. Kemudian dilanjutkan dengan sudut shoulder yang lebih besar hingga ke maksimal. Data yang akan diambil akan dibatasi oleh rancangan hardware paling bawah 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.10.
Gambar 4.10 Sumbu x dan y pada Lengan Robot
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 49
Tabel 4.6 Data Forward kinematik lengan robot Shoulder
Sudut Servo
15 ˚
30 ˚
60 ˚
Sudut Aktual Θ1
5˚
21 ˚
45 ˚
Elbow X Aktual
Y Aktual
X Perhitungan
Y Perhitungan
15 ˚
29
-1
29,51
-1,45
50 ˚
21 ˚
28,8
-2,4
29,15
-3,03
60 ˚
29 ˚
28,1
-4,5
28,41
-5,06
70 ˚
35 ˚
27,1
-6,5
27,67
-6,50
35 ˚
25 ˚
28,3
4,3
28,81
4,04
40 ˚
26 ˚
28,4
3,1
28,79
3,77
50 ˚
36 ˚
28
0,5
28,32
1,11
60 ˚
44 ˚
26,8
-1,7
27,62
-0,93
70 ˚
52 ˚
25,8
-3,9
26,64
-2,86
80 ˚
59 ˚
24,6
-5,8
25,56
-4,42
85 ˚
65 ˚
23,7
-6,7
24,50
-5,64
35 ˚
51 ˚
24
10,7
25,53
8,49
40 ˚
53 ˚
23,9
9,5
25,46
7,95
50 ˚
65 ˚
23,7
6,8
24,68
4,81
60 ˚
73 ˚
22,9
4,4
23,80
2,83
70 ˚
81 ˚
21,8
2,3
22,65
1,00
80 ˚
88 ˚
20,3
0,2
21,45
-0,46
90 ˚
92 ˚
18,8
-1,6
20,68
-1,22
100 ˚
108 ˚
16,6
-3
17,15
-3,70
Sudut Min Max Servo
Sudut Min Max Aktual Θ2
40 ˚
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 50
Tabel 4.6 (Lanjutan) Data Forward Kinematik Lengan Robot Shoulder Sudut Servo
Sudut Aktual Θ1
60 ˚
45 ˚
90 ˚
88 ˚
120 ˚
112 ˚
150 ˚
135 ˚
170 ˚
157 ˚
Elbow Sudut Min Max 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 ˚
Sudut Min 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 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.6 dapat dilihat nilai x y aktual dan nilai x y perhitungan. Tidak ada yang sama persis nilainya namun perbedaannya juga tidak besar. Jika dibuat rata-rata dari selisih antara perhitungan dan aktual maka nilai x memiliki selisih 0,96 cm dan nilai y memiliki selisih yang lebih besar yakni 1,48 cm.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 51
Gambar 4.11 Ruang kerja lengan robot secara x dan y Dari tabel 4.6 menampilkan hasil nilai x dan y aktual sehingga dapat dibuat ruang kerja dari lengan robot. Ruang kerja adalah batasan-batasan gerakan dari lengan robot yang dalam gambar 4.11 ditampilkan dalam ruang 2D pada sumbu x dan y. Jadi lengan robot tidak dapat menjangkau titik di luar wilayah ruang kerjanya.
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 52
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.7 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.
4.2.4 Pengujian Repeatability Gerakan Lengan Robot Untuk dapat melihat tingkat kestabilan pergerakan lengan robot dalam setiap pergerakannnya dapat dilakukan pengujian ini. Pergerakan yang akan diuji berdasarkan sudut yang diberikan dari mikrokontroler dengan input mouse. 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. 1. Base Tabel 4.8 Repeatability Gerak Sendi Base Percobaan Sudut acuan Sudut aktual Selisih 1 80 ˚ 73 ˚ 7˚ 2 80 ˚ 73 ˚ 7˚ 3 80 ˚ 73 ˚ 7˚ 4 80 ˚ 73 ˚ 7˚ 5 80 ˚ 73 ˚ 7˚ 6 80 ˚ 73 ˚ 7˚
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 53
Tabel 4.8 (lanjutan) Repeatability Gerak sendi Base Percobaan Sudut acuan Sudut aktual Selisih 7˚ 7 80 ˚ 73 ˚ 8
80 ˚
73 ˚
7˚
9
80 ˚
73 ˚
7˚
10
80 ˚
73 ˚
7˚
73 ˚
7˚
Rata-rata
Berdasarkan pengambilan data yang telah dilakukan pada Tabel 4.8 sendi Base melakukan pergerakan sudut yang sangat stabil hingga tidak terjadi perubahan dalam kestabilannya. 2. Shoulder Tabel 4.9 Repeatability Gerak Sendi Shoulder Percobaan Sudut acuan Sudut aktual Selisih sudut 1 60 ˚ 54 ˚ 6˚ 2 60 ˚ 54 ˚ 6˚ 3 60 ˚ 53 ˚ 7˚ 4 60 ˚ 54 ˚ 6˚ 5 60 ˚ 53 ˚ 7˚ 6 60 ˚ 53 ˚ 7˚ 7 60 ˚ 54 ˚ 6˚ 8 60 ˚ 54 ˚ 6˚ 9 60 ˚ 54 ˚ 6˚ 10 60 ˚ 54 ˚ 6˚ Rata-rata 53,7 ˚ 6,3 ˚ Dari percobaan yang ditampilkan pada Tabel 4.9 gerakan sendi Shoulder lumayan stabil hanya terjadi 3 perbedaan dari 10 kali percobaan yang dilakukan. Perbedaaan yang terjadi pun tidak terlalu mencolok yakni hanya 1˚ yang paling besar. 3. Elbow Tabel 4.10 Repeatability Gerak Sendi Elbow Percobaan Sudut acuan Sudut aktual Selisih 1 50 ˚ 49 ˚ 1˚ 2 50 ˚ 49 ˚ 1˚
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 54
3 4 5 6 7 8 9 10
50 ˚ 50 ˚ 50 ˚ 50 ˚ 50 ˚ 50 ˚ 50 ˚ 50 ˚ Rata-rata
48 ˚ 47,5 ˚ 48 ˚ 47,5 ˚ 47,5 ˚ 47,5 ˚ 47,5 ˚ 48 ˚ 47,95 ˚
2˚ 2,5 ˚ 2˚ 2,5 ˚ 2,5 ˚ 2,5 ˚ 2,5 ˚ 2˚ 2,05 ˚
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 Repeatability Gerak Gripper Percobaan Sudut acuan Sudut aktual 1 15 ˚ 45 ˚ 2 15 ˚ 55 ˚ 3 15 ˚ 45 ˚ 4 15 ˚ 55 ˚ 5 15 ˚ 45 ˚ 6 15 ˚ 55 ˚ 7 15 ˚ 45 ˚ 8 15 ˚ 55 ˚ 9 15 ˚ 45 ˚ 10 15 ˚ 55 ˚ Bebeda dari semua sendi yang ada, hasil dari percobaan Gripper ada pengecualian. Desain yang Gripper membuat sudut acuan tidak akan sama dengan sudut aktual. Pada Tabel 4.11 ditunjukkan hasil percobaan kestabilan dari Gripper, ternyata gerakan sudut yang dilakukan tidak dapat stabil. Ada 2 variasi sudut yang terjadi pada pengambilan data. Perbedaan tersebut terjadi ketika motor berputar CCW dan CW. Selisih sudutnya pun cukup besar yakni mencapai 10˚. Ketidakstabilan ini terjadi karena roda gigi yang menghubungkan penjepit Gripper memiliki kelonggaran yang cukup besar yang mana ketika digerakkan membuat gerakan tidak presisi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 55
4.3
Analisa SoftWare
4.3.1 Inisialisasi Inisialisasi pada program kontroler lengan robot dengan kendali mouse 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 kontroler lengan robot dengan kendali mouse dapat dilihat pada gambar 4.13 dan gambar 4.14.
Gambar 4.13 Inisialisasi library
Gambar 4.14 Inisialisasi variabel dan input/output
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 56
Gambar 4.15 Inisialisasi bagian mouse Gambar 4.13 memperlihatkan program ini menggunakan beberapa library yaitu diantaranya library Servo.h dan library hidboot.h. library hidboot.h mengatur komunikasi perangkat mouse yang terhubung ke USB host shield dengan mikrokontroler melalui ICSP bus. Sedangkan 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˚ 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 adalah variabel untuk motor servo yang akan digunakan dan antara pin output. Pada no 3 merupakan variabel untuk membatasi sudut maksimal atau minimal yang dapat dicapai oleh motor servo.. Sedangkan no 4 adalah alamat pin output untuk motor servo yang berjumlah 4 pin. Inisialisasi bagian mouse ditunjukan pada no 5 yang mana nantinya berfungsi sebagai perintah output.
43.2. Pembacaan Input dan Perintah ke Output
Gambar 4.16 Input dan Output pada Program
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 57
Listing program pembacaan input dan perintah ke output dalam mikrokontroler arduino dapat dilihat pada Gambar 4.16. Pembacaan input dari USB mouse menggunakan komunikasi ISCP memanfaatkan port MISO, MOSI, SCK, dan RESET mikrokontroler. Menggunakan library USB host shield sehingga semua input dari mouse dapat terbaca (RightButton, LeftButton, MiddleButton, X&Y move). 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 MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan Dari hasil percobaan dan pengujian yang dilakukan pada pengendali lengan robot dengan kendali mouse, dapat disimpulkan bahwa: 1. Lengan robot dapat bergerak pada Base, Shoulder, Elbow, dan Gripper sebagai end effector. 2. Berdasarkan percobaan dan pengujian yang telah dilakukan dapat disimpulkan bahwa penelitian tersebut sudah berhasil. Gerakan lengan robot dapat mengikuti perintah dari gerakkan mouse dengan baik. Dari tingkat repeatability pada base tidak mengalami pergeseran sudut, shoulder mengalami 1˚ pergeseran, elbow mengalami pergeseran 1˚. 3. Pengendali lengan robot dengan kendali mouse telah berhasil menggerakkan robot dengan tingkat selisih sudut 1°-5°.
5.2. Saran Saran untuk pengembangan kontroler lengan robot dengan kendali mouse lebih lanjut ada beberapa saran agar alat ini dapat bekerja lebik baik, yaitu: 1. Perancangan ulang pada konstruksi lengan robot agar lebih kuat dan stabil. Khususnya untuk roda gigi pada Gripper yang belum sempurna. 2. Penggunaan motor mikro servo yang lebih berkualitas pada bagian gripper yang sering kali mudah 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.
58
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Daftar Pustaka [1]
http://beriomolina.com/Controlling-a-servo-motor-with diakses pada tanggal 11 Juni 2015
[2]
http://arduino.cc/en/guide/introduction diakses pada tanggal 18 November 2014
[3]
http://avrprogrammers.com/atmega/atmegaxx8 diakses pada tanggal 25 November 2015
[4]
http://hardi-santosa.blog.ugm.ac.id/2012/06/24/kelebihan-arduino-yang-memikat/ diakses pada tanggal 18 Desember 2014
[5]
Winoto, Ardi, 2008, Mikrokontroler AVR Atmega8/32/16/8535 dan pemrograman dengan bahasa C pada WinAVR, Bandung : Informatika.
[6]
http://www.mdp.ac.id/materi/2011-2012-1/.../TK322-041035-859-21.pdf diakses pada tanggal 11 November 2014
[7]
http://bansky.net/blog_stuff/images/servo_pulse_width.png diakses pada tanggal 21 November 2014.
[8]
http://datasheet.sparkgo.com.br/SG90Servo.pdf diakses pada tanggal 22 November 2014.
[9]
http://www.computer-engineering.org/usbmouse/ diakses pada tanggal 25 November 2014.
[10]
http://www.mouser.com/new/arduino/arduino-usb-host-shield/ diakses pada tanggal 18 Desember 2014.
[11]
http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus diakses pada tanggal 7 Mei 2015.
[12]
https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi diakses pada tanggal 8 Mei 2015.
[13]
https://pccontrol.wordpress.com/2011/09/16/pengetahuan-dasar-pemrograman-spiserial-pheriperal-interface-pada-avr-dengan-avr-studio/ diakses pada tanggal 8 Juni 2015.
[14]
http://www.se7ensins.com/forums/threads/tutorial-making-a-usb-to-molex-for-ack3-or-other-things.785623/ diakses pada tanggal 28 Januari 2015.
[15]
http://www.usbmadesimple.co.uk/index.html diakses pada tanggal 10 November 2014.
[16]
http://www.embedded.com/print/4402258 diakses pada tanggal 20 Mei 2015. 59
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
[17]
https://www.networktechinc.com/usb-prots.html diakses pada tanggal 10 Mei 2015.
[18]
http://www.dfe.com/resources/faq_openloopvsclosedloop.html diakses pada tanggal 10 Februari 2015.
[19]
Pitowarno, Endra,2006, Robotika – Desain, Kontrol, dan Kecerdasan Buatan. Yogyakarta: Andi.
[20]
http://www.buildcircuit.com/ftdi-basic-breakout-board/ diakses pada tanggal 24 Februari 2015.
[21]
Simanjuntak, Hotlan Y. 2013. Timbangan Saku Digital Miligram Berbasis Mikrokontroler Atmega328. Skripsi Sarjana pada Universitas Sanata Dharma Yogyakarta: tidak diterbitkan.
[22]
http://share.pdfonline.com/2e212161834342f9ac9b77b7a56791cf/BAB%20II.html diakses pada tanggal 23 januari 2015.
[23]
http://zaada.co.id/ngooprek/?p=18 diakses pada tanggal 9 Maret 2015.
[24]
http://www.thingiverse.com/thing:298820 diakses pada tanggal 20 Maret 2015.
[25]
https://grabcad.com/library/me-arm-v3-0-1 diakses pada tanggal 20 Maret 2015
[26]
http://www.rumus-fisika.com/2013/10/pesawat-sederhana.html diakses pada tanggal 1 November 2015
60
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
61
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L.1
Hasil Pengujian Alat
Grafik L1. Kestabilan Gerak Base
BASE 100% 90% 80%
SUDUT
70% 60% 50%
SUDUT AKTUAL
40%
SUDUT ACUAN
30% 20% 10% 0% 1
2
3
4
5
6
7
8
9
10
PERCOBAAN
Grafik L2. Kestabilan Gerak Shoulder
SHOULDER 120 100
SUDUT
80 60
SUDUT AKTUAL SUDUT ACUAN
40 20 0 1
2
3
4
5
6
PERCOBAAN
7
8
9
10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L.2
Grafik L3. Kestabilan Gerak Elbow
ELBOW 120
100
SUDUT
80
60
SUDUT AKTUAL SUDUT ACUAN
40
20
0 1
2
3
4
5
6
7
8
9
10
PERCOBAAN
Grafik L4. Kestabilan Gerak Gripper
GRIPPER 80 70 60
SUDUT
50 40
SUDUT AKTUAL SUDUT ACUAN
30 20 10 0 1
2
3
4
5
6
PERCOBAAN
7
8
9
10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L.3
LISTING KESELURUHAN PROGRAM
L5. Listing Program Keseluruhan Kontroler Lengan Robot dengan kendali mouse #include
#include #include <max3421e.h> #include <usbhost.h> #include <usb_ch9.h> #include <Usb.h> #include <usbhub.h> #include #include #include #include <printhex.h> #include <message.h> #include #include <parsetools.h> #include <Servo.h>
int pos1 = 90; int pos2 = 90; int pos3 = 90; int pos4 = 90; 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L.4 const int maxDeg1 = 180; const int minDeg1 = 0; const int maxDeg2 = 160; const int minDeg2 = 5; const int maxDeg3 = 90; const int minDeg3 = 0; const int maxDeg4 = 180; const int minDeg4 = 40; const int servo1 = 6; // first servo const int servo2 = 7; // second servo const int servo3 = 8; // third servo const int servo4 = 5; // four servo class MouseRptParser : public MouseReportParser { protected: virtual void OnMouseMove
(MOUSEINFO *mi);
virtual void OnLeftButtonUp
(MOUSEINFO *mi);
virtual void OnLeftButtonDown (MOUSEINFO *mi); virtual void OnRightButtonUp (MOUSEINFO *mi); virtual void OnRightButtonDown
(MOUSEINFO *mi);
virtual void OnMiddleButtonUp (MOUSEINFO *mi); virtual void OnMiddleButtonDown
(MOUSEINFO *mi);
}; void MouseRptParser::OnMouseMove(MOUSEINFO *mi) { Serial.print("dx="); Serial.print(mi->dX, DEC); if(mi->dX <=-125 && pos1 < maxDeg1) pos1 += 1;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L.5 myservo1.write(pos1); if(mi->dX >=125 && pos1 > minDeg1) pos1 -= 1; myservo1.write(pos1); delay(30);
Serial.print(" dy="); Serial.println(mi->dY, DEC); if(mi->dY <=-125 && pos2 > minDeg2) pos2 -= 1; myservo2.write(pos2); if(mi->dY >=125 && pos2 < maxDeg2) pos2 += 1; myservo2.write(pos2); delay(30);
}; void MouseRptParser::OnLeftButtonUp (MOUSEINFO *mi) { Serial.println("L Butt Up"); }; void MouseRptParser::OnLeftButtonDown
(MOUSEINFO *mi)
{ if(pos3 > minDeg3) pos3 -= 5; myservo3.write(pos3); Serial.println("L Butt Dn"); delay(30);
}; void MouseRptParser::OnRightButtonUp {
(MOUSEINFO *mi)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L.6 Serial.println("R Butt Up"); }; void MouseRptParser::OnRightButtonDown
(MOUSEINFO *mi)
{ if(pos3 < maxDeg3) pos3 += 5; myservo3.write(pos3); Serial.println("R Butt Dn"); delay(30); }; void MouseRptParser::OnMiddleButtonUp
(MOUSEINFO *mi)
{ Serial.println("M Butt Up"); }; void MouseRptParser::OnMiddleButtonDown
(MOUSEINFO *mi)
{ Serial.println("M Butt Dn"); if(Serial.println("M Butt Dn") && mi->dY >= 0 && pos4 < maxDeg4) pos4 += 1; myservo4.write(pos4); delay(30); if(Serial.println("M Butt Dn") && mi->dY <= -0 && pos4 > minDeg4) pos4 -= 1; myservo4.write(pos4); delay(30); }; USB
Usb;
USBHub
Hub(&Usb);
HIDBoot uint32_t next_time; MouseRptParser
Prs;
Mouse(&Usb);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L.7 void setup() { myservo1.attach(servo1); // attaches the servo on pin 6 to the servo object myservo2.attach(servo2); // attaches the servo on pin 7 to the servo object myservo3.attach(servo3); // attaches the servo on pin 8 to the servo object myservo4.attach(servo4); // attaches the servo on pin 5 to the servo object Serial.begin( 115200 ); Serial.println("Start");
if (Usb.Init() == -1) Serial.println("OSC did not start."); delay( 200 ); next_time = millis() + 5000; Mouse.SetReportParser(0,(HIDReportParser*)&Prs); } void loop() { Usb.Task(); delay(15);
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L.8
DATA SHEET KOMPONEN
L6. Data Sheet Servo FeeTech FS5109M
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L.9
L7. Data Sheet Servo TowerPro SG90
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L.10
L8. USB Host Shield
The following device classes are currently supported by the shield: HID devices, such as keyboards, mice, joysticks, etc. game controllers - Sony PS3, Nintendo Wii, Xbox360 USB to serial converters - FTDI, PL-2303, ACM, as well as certain cell phones and GPS receivers ADK-capable Android phones and tables Digital cameras - Canon EOS, Powershot, Nikon DSLRs and P&S, as well as generic PTP Mass storage devices, such as USB sticks, memory card readers, external hard drives Bluetooth dongles
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L.11