View
221
Download
0
Category
Preview:
Citation preview
i
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
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...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
DAFTAR ISI
HALAMAN JUDUL (Bahasa Indonesia) ........................................................................ i
HALAMAN JUDUL (Bahasa Inggris)........................................................................... ii
HALAMAN PERSETUJUAN ...................................................................................... iii
HALAMAN PENGESAHAN ........................................................................................ iv
PERNYATAAN KEASLIAN KARYA .......................................................................... v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ............................................... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI
KARYA ILMIAH UNTUK 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
1.2. Tujuan ................................................................................................................. 2
1.2 Manfaat ............................................................................................................... 2
1.3. Batasan Masalah ................................................................................................. 2
1.4. Metodologi Penelitian ........................................................................................ 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
2.2.2. Micro Servo ............................................................................................. 11
2.2.3. Motor Servo Standar ................................................................................ 12
2.3. USB Optical Mouse .......................................................................................... 13
2.4. USB Host Shield ............................................................................................... 14
2.4.1. Serial Peripheral Interface(SPI) ............................................................ 15
2.5. Komunikasi USB .............................................................................................. 18
2.6. Sistem Kontrol Lengan Robot .......................................................................... 21
2.6.1. Jangkauan Lengan Robot ..................................................................... 21
2.7. Link Penggerak Prinsip Tuas ............................................................................ 22
2.8. Sudut Bangun Segi 4 ........................................................................................ 23
2.9. FTDI FT232RL ................................................................................................ 24
BAB III PERANCANGAN PENELITIAN
3.1. Proses Kerja Sistem .......................................................................................... 27
3.2. Perancangan Perangkat Keras .......................................................................... 28
3.2.1. Minimum Sistem ATmega328 ............................................................. 28
3.2.2. Fungsi Tombol Mouse .......................................................................... 30
3.2.3. Desain Lengan Robot ........................................................................... 31
3.2.4. Jangkauan Lengan Robot ..................................................................... 33
3.3. Perancangan Perangkat Lunak ........................................................................ 37
3.3.1. Flowchart Utama .................................................................................. 37
BAB IV HASIL DAN PEMBAHASAN
4.1. Hasil Perancangan Hardware ........................................................................... 39
4.2. Hasil Pengujian Hardware ............................................................................... 44
4.2.1. Pengujian Ketepatan Sudut Lengan Robot ........................................... 44
4.2.2. Pengujian Kinematika Lengan Robot ................................................... 48
4.2.3. Analisa Pergerakan Link ...................................................................... 51
4.2.4. Pengujian Repeatability Gerakan Lengan Robot.................................. 52
4.3. Analisa Software ............................................................................................... 55
4.3.1. Inisialisasi ............................................................................................. 55
4.3.2. Pembacaan Input dan Perintah ke Output............................................. 57
BAB V KESIMPULAN DAN SARAN
5.1. Kesimpulan ....................................................................................................... 58
5.2. Saran ................................................................................................................. 58
DAFTAR PUSTAKA .................................................................................................. 58
LAMPIRAN ................................................................................................................. 61
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviii
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
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.
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 gerakan-
gerakan 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
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.
USB Mouse
MIKROKONTROLER
Lengan Robot
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
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]
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
1 Verify
Menguji apakah ada kesalahan pada program atau
sketch. Apabila sketch sudah benar, maka sketch
tersebut akan dikompilasi. Kompilasi adalah proses
mengubah kode program ke dalam kode mesin.
2 Upload Mengirimkan kode mesin hasil kompilasi ke board
Arduino
3 New Membuat sketch yang baru
4 Open Membuka sketch yang sudah ada
5 Save Menyimpan sketch
6 Serial
Monitor
Menampilkan data yang dikirim dan diterima melalui
komunikasi serial.
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
PB3
OC2A dapat difungsikan sebagai keluaran PWM (Pulse With Modulation), MOSI
merupakan jalur komunikasi SPI SPI dan juga berfungsi sebagai jalur pemrograman
serial (ISP)
PB4 MISO merupakan jalur komunikasi SPI dan juga berfungsi sebagai jalur
pemrograman serial (ISP)
PB5 SCK merupakan jalur komunikasi SPI dan juga berfungsi sebagai jalur
pemrograman serial (ISP),
PB6 Pin reset
PB7 TOSC2 berfungsi sebagai sumber clock external untuk timer, XTAL2 merupakan
sumber clock utama mikrokontroler
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 Keterangan
PC0 ADC0 channel dengan resolusi 10 bit. ADC digunakan untuk mengubah input yang
berupa tegangan analog menjadi data digital
PC1 ADC1 channel dengan resolusi 10 bit. ADC digunakan untuk mengubah input yang
berupa tegangan analog menjadi data digital
PC2 ADC2 channel dengan resolusi 10 bit. ADC digunakan untuk mengubah input yang
berupa tegangan analog menjadi data digital
Port
C
12C merupakan salah satu fitur yang terdapat pada PORTC. I2C digunakan untuk
komunikasi dengan sensor atau device lain yang memiliki komunikasi data tipe I2C
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 : 56.0 g
Jarak Rotasi : 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 Data Biner
Klik Kanan 02000000 0000 0010 0000 0000
0000 0000 0000 0000
Klik Kiri 01000000 0000 0001 0000 0000
0000 0000 0000 0000
Middle Button 04000000 0000 0100 0000 0000
0000 0000 0000 0000
Scroll Up 00000001 0000 0000 0000 0000
0000 0000 0000 0001
Scroll Down 000000FF 0000 0000 0000 0000
0000 0000 1111 1111
Geser X - 00FF0F00 0000 0000 1111 1111
0000 1111 0000 0000
Geser X + 00010000 0000 0000 0000 0001
0000 0000 0000 0000
Geser Y - 00001000 0000 0000 0000 0000
0001 0000 0000 0000
Geser Y + 0000F0FF 0000 0000 0000 0000
1111 0000 1111 1111
2.4. 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 jalur yaitu MOSI, MISO, dan SCK. Melalui komunikasi
ini data dapat saling dikirimkan 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
Mouse Lengan Robot
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 lengan-
1 dan lengan-2,[19]
=[ cos , sin ] .......................................................................................(2.2)
=[ cos ( + ), sin ( + )] .....................................................................(2.3)
maka
x= cos + cos ( + ) ................................................................................(2.4)
y= sin + sin ( + ) ................................................................................(2.5)
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 USB data signal plus
15 USBDM I/O USB data signal minus
Tabel 2.9 Power dan Ground Group[22]
Nomor Pin Nama Tipe Keterangan
1 VCCIO PWR
Supply untuk UART interface dan CBUS
dengan range +1.8V sampai +5.25V
4, 17, 20 GND PWR Ground
16 3V3 OUT OUT
Keluaran tegangan sebesar +3.3V.
Dikopling dengan kapasitor 100nF ke
ground
19 VCC PWR +3.3V sampai 5.25V untuk supply core
24 AGND PWR Analog ground untuk interval clock
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 Active low reset. Jika tidak digunakan
disambung ke VCC.
26 Test Input Disambung ke GND untuk test mode
27 OSC1 Input Input 12MHz oscillator cell
28 OSC0 Output Ouput dari 12Mhz oscillator cell
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
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 fungsi-
fungsi 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.
Gambar 3.1 Blok Diagram Proses Sistem
USB host
Shield
MinSis
ATmega328
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
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.
Buka/Tutup
GRIPPER
ELBOW
SHOULDER
BASE
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.
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
mikrokontroler
MOSI
MISO
SCK
Reset
GND
+5V
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Tabel 3.2 (Lanjutan) Fungsi Mouse
Fungsi Mouse Keterangan
Geser X - Menggerakkan base ke kiri
Geser X + Menggerakkan base ke kanan
Geser Y- Menggerakkan shoulder naik
Geser Y + Menggerakkan shoulder turun
Gerak X -Gerak X +
Gerak Y -
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
Gambar 3.13 Pergerakan Sudut Base
Pada bagian ini motor servo dapat bergerak bebas 180˚ seperti terlihat pada Gambar
3.13.
180˚
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
Selesai
Lengan
Robot ke
Posisi Awal
Input dari
Mouse
Pengolahan
data mouse
Output ke
motor servo
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
GERAK
X -
GERAK
X +
GERAK
Y -
GERAK
Y +
KLIK
KIRI
KLIK
KANAN
SCROLL
UP
SCROLL
DOWN
SERVO 1 CCW
Sudut =0º
SERVO 4 CW
Sudut =180º
SERVO 4 CCW
Sudut =0º
SERVO 3 CW
Sudut =180º
SERVO 3 CCW
Sudut =0º
SERVO 2 CW
Sudut =180º
SERVO 2 CCW
Sudut =0º
SERVO 1 CW
Sudut =180º
SELESAI
YA YAYAYAYAYAYAYA
YATIDAKTIDAKTIDAKTIDAKTIDAK TIDAKTIDAK
Gambar 3.15 Flowchart Subsistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
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
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 Sudut pada Servo(serial monitor) Sudut aktual Selisih Sudut
Elbow (Shoulder 55°) 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 Sudut pada Servo
(serial monitor) Sudut aktual
Gripper
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 Elbow
X
Aktual
Y
Aktual
X
Perhitungan
Y
Perhitungan
Sudut
Servo
Sudut
Aktual
Θ1
Sudut
Min Max
Servo
Sudut Min
Max
Aktual Θ2
15 ˚ 5 ˚
40 ˚ 15 ˚ 29 -1 29,51 -1,45
50 ˚ 21 ˚ 28,8 -2,4 29,15 -3,03
60 ˚ 29 ˚ 28,1 -4,5 28,41 -5,06
70 ˚ 35 ˚ 27,1 -6,5 27,67 -6,50
30 ˚ 21 ˚
35 ˚ 25 ˚ 28,3 4,3 28,81 4,04
40 ˚ 26 ˚ 28,4 3,1 28,79 3,77
50 ˚ 36 ˚ 28 0,5 28,32 1,11
60 ˚ 44 ˚ 26,8 -1,7 27,62 -0,93
70 ˚ 52 ˚ 25,8 -3,9 26,64 -2,86
80 ˚ 59 ˚ 24,6 -5,8 25,56 -4,42
85 ˚ 65 ˚ 23,7 -6,7 24,50 -5,64
60 ˚ 45 ˚
35 ˚ 51 ˚ 24 10,7 25,53 8,49
40 ˚ 53 ˚ 23,9 9,5 25,46 7,95
50 ˚ 65 ˚ 23,7 6,8 24,68 4,81
60 ˚ 73 ˚ 22,9 4,4 23,80 2,83
70 ˚ 81 ˚ 21,8 2,3 22,65 1,00
80 ˚ 88 ˚ 20,3 0,2 21,45 -0,46
90 ˚ 92 ˚ 18,8 -1,6 20,68 -1,22
100 ˚ 108 ˚ 16,6 -3 17,15 -3,70
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
Tabel 4.6 (Lanjutan) Data Forward Kinematik Lengan Robot
Shoulder Elbow
X
Aktual
Y
Aktual
X
Perhitungan
Y
Perhitungan
Sudut
Servo
Sudut
Aktual
Θ1
Sudut
Min
Max
Servo
Sudut Min
Max
Aktual Θ2
60 ˚ 45 ˚
110 ˚ 111 ˚ 14,8 -4 16,42 -4,05
120 ˚ 126 ˚ 12,5 -4,8 12,54 -5,20
130 ˚ 135 ˚ 10,5 -5,2 10,11 -5,39
140 ˚ 145 ˚ 8,2 -5,3 7,42 -5,15
150 ˚ 150 ˚ 6,1 -5 6,10 -4,86
160 ˚ 157 ˚ 4,5 -4,4 4,31 -4,26
90 ˚ 88 ˚
35 ˚ 84 ˚ 16,7 14,6 15,96 15,37
40 ˚ 85 ˚ 17,1 14,2 15,98 15,10
50 ˚ 93 ˚ 16,8 9,7 15,94 12,94
60 ˚ 101 ˚ 16 7,3 15,60 10,80
70 ˚ 108 ˚ 15 5,2 15,06 8,99
80 ˚ 118 ˚ 13,5 3,2 13,92 6,54
90 ˚ 126 ˚ 11,5 1,4 12,71 4,75
100 ˚ 136 ˚ 9,4 -0,1 10,87 2,77
110 ˚ 144 ˚ 7,2 -1,2 9,17 1,44
120 ˚ 152 ˚ 4,9 -1,9 7,29 0,36
125 ˚ 156 ˚ 4,5 -2 6,31 -0,08
120 ˚ 112 ˚
35 ˚ 115 ˚ 9,6 12,9 10,12 12,45
40 ˚ 116 ˚ 9,5 11,6 10,11 12,18
50 ˚ 124 ˚ 9,1 8,6 9,80 10,04
60 ˚ 130 ˚ 8,4 6,3 9,38 8,47
70 ˚ 138 ˚ 7,2 4 8,57 6,46
80 ˚ 147 ˚ 5,5 1,7 7,34 4,37
90 ˚ 158 ˚ 3,9 0 5,41 2,11
150 ˚ 135 ˚
35 ˚ 137 ˚ 3,6 7,9 5,38 9,57
40 ˚ 140 ˚ 3,5 6,5 5,33 8,76
50 ˚ 150 ˚ 3,2 3,5 4,86 6,10
55 ˚ 155 ˚ 2,8 2,1 4,45 4,81
170 ˚ 157 ˚ 35 ˚ 158 ˚ 1,7 3 2,33 5,32
Dari data yang telah ditampilkan pada tabel 4.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 80 ˚ 73 ˚ 7 ˚
8 80 ˚ 73 ˚ 7 ˚
9 80 ˚ 73 ˚ 7 ˚
10 80 ˚ 73 ˚ 7 ˚
Rata-rata 73 ˚ 7 ˚
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 50 ˚ 48 ˚ 2 ˚
4 50 ˚ 47,5 ˚ 2,5 ˚
5 50 ˚ 48 ˚ 2 ˚
6 50 ˚ 47,5 ˚ 2,5 ˚
7 50 ˚ 47,5 ˚ 2,5 ˚
8 50 ˚ 47,5 ˚ 2,5 ˚
9 50 ˚ 47,5 ˚ 2,5 ˚
10 50 ˚ 48 ˚ 2 ˚
Rata-rata 47,95 ˚ 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
58
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
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-spi-
serial-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-a-
ck3-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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
[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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.1
Hasil Pengujian Alat
Grafik L1. Kestabilan Gerak Base
Grafik L2. Kestabilan Gerak Shoulder
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
1 2 3 4 5 6 7 8 9 10
SUD
UT
PERCOBAAN
BASE
SUDUT AKTUAL
SUDUT ACUAN
0
20
40
60
80
100
120
1 2 3 4 5 6 7 8 9 10
SUD
UT
PERCOBAAN
SHOULDER
SUDUT AKTUAL
SUDUT ACUAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.2
Grafik L3. Kestabilan Gerak Elbow
Grafik L4. Kestabilan Gerak Gripper
0
20
40
60
80
100
120
1 2 3 4 5 6 7 8 9 10
SUD
UT
PERCOBAAN
ELBOW
SUDUT AKTUAL
SUDUT ACUAN
0
10
20
30
40
50
60
70
80
1 2 3 4 5 6 7 8 9 10
SUD
UT
PERCOBAAN
GRIPPER
SUDUT AKTUAL
SUDUT ACUAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L.3
LISTING KESELURUHAN PROGRAM
L5. Listing Program Keseluruhan Kontroler Lengan Robot dengan kendali mouse
#include <avr/pgmspace.h>
#include <avrpins.h>
#include <max3421e.h>
#include <usbhost.h>
#include <usb_ch9.h>
#include <Usb.h>
#include <usbhub.h>
#include <avr/pgmspace.h>
#include <address.h>
#include <hidboot.h>
#include <printhex.h>
#include <message.h>
#include <hexdump.h>
#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<HID_PROTOCOL_MOUSE> Mouse(&Usb);
uint32_t next_time;
MouseRptParser Prs;
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Recommended