GERAKAN MANUSIA
Disusun Oleh:
Batasan masalah yang sesuai dengan judul tugas akhir ini. Adapun batasan masalahnya
adalah :
1. Menggunakan dua buah mikrokontroler arduino sebagai pengolah data sensor dan
sebagai penggerak aktuator robot. Mikrokontroler yang digunakan adalah Arduino Mega
2560 R3 dan Arduino Uno R3.
2. Sensor yang digunakan adalah one directional flex sensor 4,5”
3. Menggunakan motor RC-servo sebagai aktuator
4. Menggunakan servo shield sebagai driver motor servo
5. Robot dapat bergerak pada sumbu X, Y, dan Z
6. Kedua mikrokontroler tersebut menggunakan komunikasi serial.
BAB II
TINJAUAN PUSTAKA
2.1 Mikrokontroller
Mikrokontroler adalah salah satu dari bagian dasar dari suatu sistem komputer. Meskipun
mempunyai bentuk yang jauh lebih kecil dari suatu komputer pribadi dan komputer mainframe,
mikrokontroler dibangun dari elemen-elemen dasar yang sama. Secara sederhana, komputer akan
menghasilkan output spesifik berdasarkan inputan yang diterima dan program yang dikerjakan.
Seperti umumnya komputer, mikrokontroler adalah alat yang mengerjakan instruksi-instruksi yang
diberikan kepadanya. Artinya, bagian terpenting dan utama dari suatu sistem terkomputerisasi adalah
program itu sendiri yang dibuat oleh seorang programmer. Program ini menginstruksikan komputer
untuk melakukan jalinan yang panjang dari aksi-aksi sederhana untuk melakukan tugas yang lebih
kompleks yang diinginkan oleh programmer.
Perkembangan mikrokontroler sangat pesat. Saat ini jenis-jenis mikrokontroler memiliki berbagai
macam jenis, bentuk, fungsi yang beragam. Mikrokontroler dapat diprogram sesuai dengan keinginan
pengguna atau user dengan program tertentu yang akan dimasukkan kedalam mikrokontroler tersebut.
Bahasa pemrograman untuk mikrokontroler tersebut bermacam-macam yang digunakan, sebagai
contohnya bahasa C, C++, basic, dan assembly. Bahasa tersebut digunakan sesuai dengan
mikrokontroler yang digunakan. Pada penelitian ini, penulis menggunakan mikrokontroler tertentu
yaitu : arduino.
Arduino adalah sebuah platform elektronik yang open source. Arduino yang digunakan adalah
Arduino Mega 2560 R3 dan Arduino Uno R3. Bahasa pemrograman yang digunakan oleh arduino
adalah bahasa C. Arduino memiliki pemrograman sendiri yang dikenal dengan Integrated Development
Environment (IDE). Pemrograman tersebut digunakan untuk menulis program yang nanti akan
diunggah kedalam Arduino. Program tersebut dapat berfungsi pada beberapa sistem operasi seperti
Windows, Macintosh, dan Linux. Selain itu Arduino juga dapat saling berkomunikasi antar arduino.
Komunikasi tersebut dapat dilakukan dengan komunikasi serial. Komunikasi tersebut memanfaatkan
port tx dan rx pada Arduino.
2.2 Arduino Mega 2560 R3
11
2
4
12
Gambar 2. 2 Alokasi penempatan pin Arduino Mega 2560 R3
Tabel 2. 1 Keterangan Pin Arduino Mega 2560 R3
board Arduino.
10 Pin Two Wire Terdiri dari Serial Data Line (SDA) dan Serial Interface Clock
Interface (TWI) (SCL).
11 Pin Digital Pin yang digunakan untuk menerima input digital dan memberi
output berbentuk digital (0 dan 1 atau low dan high)
Motor DC Servo ( DC-SV ) pada dasarnya adalah motor DC-Magnet Permanen dengan
kualifikasi khusus yang sesuai dengan aplikasi “servoring” di dalam teknik control. Dalam kamus
Oxford istilah “servo” diartikan sebagai “a mechanism that controls a larger mechanism”.
Beberapa tipe motor DC-SV yang dijual bersama dengan paket rangkaian drivernya telah
memiliki rangkaian control kecepatan yang menyatu didalamnya. Putaran motor tidak lagi
berdasarkan tegangan supply ke motor, namun berdasarkan tegangan input khusus yang
berfungsi sebagai referensi kecepatan output [9]. Dalam skema dapat digambarkan pada
gambar 2.6
Dalam dunia hobby radio control ( RC ) dikenal istilah motor RC Servo yang memiliki
makna yang sedikit berbeda dengan motor DC Servo yang dibicarakan sebelumnya. Motor RC
Servo sering disingkat servo saja beroperasi berdasarkan control posisi pada poros Servo-nya.
Berdasarkan model servo yang tersedia dipasaran dengan spesifikasi yang bermacam-
macam. Pada umumnya servo memiliki memerlukan sinyal input dapam bentuk PWM dengan
jangkauan gerakan poros outputnya berkisar antara -120o-+120o [9]. Gambar 2.7
mengilustrasikan hubungan bentuk sinyal kontrol input dengan posisi poros output servo.
Motor servo jenis ini hanya mampu bergerak dua arah (CW dan CCW) dengan defleksi
masing-masing sudut mencapai 90° sehingga total defleksi sudut dari kanan – tengah –
kiri adalah 180°.
Motor servo jenis ini mampu bergerak dua arah (CW dan CCW) tanpa batasan defleksi
sudut putar (dapat berputar secara kontinyu) dengan kata lain dapat berputar 360o.
2.7 One-Directional Flex Sensor
Flex Sensor merupakan sensor yang berbentuk tipis seperti pita, dengan panjang 4,5 inchi.
Flex sensor bekerja seperti variabel resistor dengan nilai resistensi yang dapat berubah-ubah
pada saat terjadi lengkungan dan renggangan. Output resistensinya berubah secara linier selaras
dengan besarnya sudut sensor yang dibengkokkan.
Flex sensor dapat diterapkan dalam berbagai teknologi, beberapa teknologi yang dapat
menggunakan flex sensor adalah alat-alat medis, produk-produk olahraga, kontrol industri,
instrumen musik, alat ukur dan terapi fisik. Pada kondisi lurus memiliki resistansi 10Kohm dan
pada saat dibengkokkan memiliki resistansi 60Kohm hingga 110Kohm. Resistensi Flex Sensor
memiliki toleransi hingga 30%. Keluaran dari Flex Sensor memiliki nilai yang linier pada
pertambahannya. Flex Sensor memiliki panjang 4,5 inchi .
Flex sensor tersebut akan dihubungkan ke mikrokontroler, khususnya pada bagian Vout
dihubungkan pada input analog. Input analog pada Arduino memiliki ADC ( Analog to Digital
Converter ). ADC ( Analog to Digital Converter ) dapat membaca 10 bit data dengan resolusi
cukup besar yaitu 1024.
Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface merupakan modul
pengendali motor servo yang dapat mengendalikan hingga 16 motor servo pada setiap board
shield. Servo shield ini memiliki 6 alamat yang berbeda untuk mengontrol gerakan motor servo
sehingga dapat di cascade hingga 62 board dan dapat mengendalikan 992 motor servo secara
bersamaan. Selain itu servo shield ini menggunakan antar muka komunikasi I2C untuk
mengkontrol gerakan motor servo.
Komunikasi I2C menggunakan 2 buah port komunikasi yaitu SDA ( Serial Data ) dan
SCL ( Serial Clock Line ). Penganturan clock pengiriman data menggunakan TLC5940 sehingga
tidak perlu mengaktifkan clock secara terus menerus saat pengiriman data. Power supply untuk
driver dengan motor servo terpisah. Power supply untuk driver servo langsung terhubung
dengan arduino, sedangkan power supply untuk motor servo dihubungkan dengan
menyambungkan kabel dari luar dan memiliki tegangan 5 vdc 2A. Terdapat pengaman pada
konektor untuk power supply motor servo apabila terjadi kesalahan pada saat menyambungkan
sehingga polaritasnya terbalik.
2.9 Komunikasi Serial
Komunikasi serial merupakan komunikasi data dengan pengiriman data secara satu per
satu pada waktu tertentu. Komunikasi data serial hanya menggunakan dua kabel yaitu kabel
data untuk pengiriman yang disebut transmit ( TX ) dan kabel data untuk penerimaan yang
disebut receive ( RX ). Kelebihan dari komunikasi serial adalah jarak pengiriman dan
penerimaan dapat dilakukan dalam jarak yang cukup jauh dibandingkan dengan komunikasi
parallel tetapi kekurangannya kecepatannya lebih lambat dibandingkan komunikasi parallel.
Dalam komunikasi serial dikenal ada dua mode komunikasi serial:
A. Mode Sikron
Mode sinkron merupakan mode komunikasi yang pengiriman tiap bit data
dilakukan dengan menggunakan sinkronisasi clock. Saat transmitter hendak
mengirimkan data, harus disertai clock untuk sinkronisasi antara transmitter dan
receiver.
B. Mode Asikron
3. Parity bit
4. Stop bit selalu berlogic HIGH IDLE jika tidak ada pengiriman data
selanjutnya.[16]
BAB III
PERANCANGAN ALAT
3.1 Blok Diagram
Perancangan perangkat keras terbagi menjadi Perancangan Blok Diagram Sistem, Perancangan
Mekanik, Rangkaian Flex Sensor dan Motor Servo serta Rangkaian Pengendali Utama. Perancangan
perangkat keras, terlebih dahulu dilakukan perancangan blok diagram dari keseluruhan sistem serta
rancangan gambar 3D yang akan dibuat
Gambar 3.1 merupakan blok diagram sistem. Blok diagram tersebut, perangkat keras yang akan
dibuat terdiri dari lima bagian, yaitu Flex Sensor, Arduino Uno R3, Arduino Mega 2560, Adafruit
16-Channel 12-Bit PWM / Servo Shield – I2C Interface, dan Motor Servo. Terletak pada bagian
lengan manusia atau user, yaitu Flex Sensor dan Arduino Uno R3 sedangkan bagian lengan robot
terdapat yaitu Arduino Mega 2560, Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface,
dan Motor Servo. Sensor yang digunakan adalah Flex sensor. Flex sensor tersebut dipasangkan pada
lengan manusia atau user. Lengan manusia atau user yang diberi Flex sensor terdapat pada bagian
sendi, antara lain: pergelangan tangan, siku, bahu, dan dibagian dada dibawah tulang selangka (
berseberangan dengan tulang belikat).
Output Flex sensor berupa resistansi yang memiliki nilai hambatan mulai dari 10Kohm – 40Kohm,
nilai hambatan tersebut berubah secara linear. Menggunakan rangkaian pembagi tegangan pada Flex
sensor tersebut sehingga dapat merubah nilai tegangan yang akan dibaca oleh mikrokontroler Arduino
Uno. Nilai tegangan yang diubah oleh Flex sensor memiliki rentang nilai 0 volt hingga 5 volt. Output
dari rangkaian pembagi tegangan tersebut dihubungkan pada port analog input Arduino Uno. Bagian
port analog input Arduino Uno sudah memiliki ADC ( Analog to Digital Converter ) sehingga
mikrokontroler tersebut dapat membaca nilai tegangan yang keluar dari rangkaian sensor tersebut.
Data analog yang dibaca oleh mikrokontroler Arduino Uno diolah dan dihitung sehingga dapat
menghasilkan nilai yang dapat digunakan untuk menggerakkan motor servo. Data dari Arduino Uno
dimasukkan kedalam register sebelum dikirim ke Arduino Mega 2560. Komunikasi antara Arduino
Uno dengan Ardunio Mega 2560 dihubungkan secara komunikasi serial, dengan menghubungkan port
TX dan RX pada Arduino Uno dan Arduino Mega 2560.
Data yang diterima oleh Arduino Uno R3 diolah, sehingga dapat digunakan untuk
menggerakkan motor servo yang dibantu oleh servo controller. Servo Controller yang digunakan
adalah Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface. Arduino Mega 2560
digunakan untuk mengirim pulsa-pulsa yang nantinya akan digunakan untuk menggerakkan motor
servo. Arduino Mega 2560 dengan Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface
dihubungkan secara komunikasi I2C. Komunikasi I2C tersebut menggunakan port SDA ( Serial
Data ) dan SCL ( Serial Clock ) untuk transfer data.
Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface dapat
menggerakkan motor servo secara sekuensial maupun secara serempak. Motor servo yang
digunakan berjumlah lima buah. Motor servo tersebut digunakan sebagai aktuator lengan robot
tersebut. Motor servo tersebut menggerakkan bagian-bagian lengan robot antara lain bagian Base,
Shoulder, Elbow, dan Pitch. Bagian Shoulder terdapat dua buah motor servo sebagai penggeraknya dan
memiliki torsi yang paling besar daripada yang lainnya, dikarenakan bagian tersebut yang menerima
beban yang paling besar. Lengan robot tersebut dapat bergerak sesuai ( meniru ) dengan gerakkan
lengan manusia atau user.
Gambar 3.2 merupakan diagram alir perancangan perangkat lunak secara umum. Diagram alir
tersebut menggambarkan cara kerja dari program lengan robot yang dibuat. Mulai dari pembacaan
sensor hingga menggerakkan motor servo. Pengendalian lengan robot menggunakan dua buah
mikrokontroler sebagai pengendali utama. Program lengan robot tersebut selalu diawali dengan
inisialisasi. Kedua buah mikrokontroler saling terhubung secara serial, agar mikrokontroler tersebut
dapat berkomunikasi. Mikrokontroler 1 digunakan untuk mengolah data dari sensor yang digunakan
oleh user pada lengan. Mikrokontroler 2 digunakan untuk memberi pulsa-pulsa untuk menggerakkan
motor servo melalui servo kontroler. Servo kontroler tersebut telah dikomunikasi dengan
mikrokontroler 2 secara I2C, sehingga komunikasi serial antara mikrokontroler 1 dan mikrokontroler
2 tidak terganggu.
3.3 Desain Robot
Gambar 3.2. merupakan gambar keseluruhan design 3D lengan robot peniru gerakan tangan
manusia. Lengan robot peniru greakan tangan manusia disusun dengan 5 bagian utama sebagai aktuator
yang akan digerakkan dengan motor RC servo. Kelima bagian utama ini disebut sebagai penghubung
atau link. Sedangkan bagian yang berperan sebagai penggerak (sendi) berdasarkan gerakkan motor RC
servo disebut sebagai joint.
Gambar 3.2. menampilkan keseluruhan design perancangan mekanik 3D lengan robot peniru
gerakan tangan manusia beserta lima bagian utama pada robot yang berperan sebagai penghubung
(link), yang meliputi :
Gambar 3.3. merupakan design 3D bagian dasar (base) berbentuk lingkaran yang berdiameter 25cm.
Base terhubung dengan sebuah as yang memanjang ke bawah dan mempunyai roda gigi. Roda gigi
pada as berhubungan dengan roda gigi pada sebuah motor RC servo yang digunakan sebagai penggerak
base. Base bergerak secara rotasi dan dapat menyebabkan perubahan posisi pada lengan-lengan
penghubung yang lain.
Gambar 3. 4 posisi gear pemutar base yang di couple dengan motor servo
Bagian shoulder memiliki panjang lengan 18cm dan bergerak secara rotasi dengan 2 buah motor
RC servo. Bagian elbow memiliki panjang lengan 12cm dan bergerak secara rotasi dengan sebuah
motor RC servo. Bagian pitch memiliki panjang lengan 5cm dan bergerak secara rotasi dengan sebuah
motor RC servo. Bagian paling ujung adalah end effector digunakan untuk menunjukkan end point dari
lengan robot tersebut. Panjang end effector sampai ujung 7cm. End effector tersebut menggunakan
sebuah spidol sebagai ujungnya. Total keseluruhan panjang lengan robot peniru gerakan tangan
manusia dari pangkal shoulder sampai pada ujung end effector adalah 42cm. Besarnya dimensi berupa
panjang yang dimiliki oleh keseluruhan penghubung (link) menentukan kemampuan sebagai
jangkauan lengan robot ketika melakukan gerakkan.
Bagian yang berperan sebagai penggerak adalah sendi (joint) terhubung langsung dengan motor
RC servo. Gerakkan yang terjadi pada joint di setiap bagian pangkal dari link adalah rotasi.
Gerakkan secara rotasi menyebabkan adanya perbedaan besarnya sudut- sudut yang terjadi pada
setiap penghubung (link) dari titik acuan awal yaitu pada bagian pangkal dari bahu (shoulder).
Motor RC servo yang digunakan sebanyak 5 buah. Pemilihan motor RC servo yang digunakan pada
setiap joint berdasarkan pada kemampuan yang harus dimiliki setiap joint untuk mengangkat beban.
Beban dapat berupa lengan (link) dan benda yang diangkat. Kemampuan motor untuk berputar dengan
suatu beban merupakan gaya putar yang disebut torsi (torque). Berikut ini perkiraan berat lengan
penghubung (link) pada perancangan lengan robot:
Tabel 3. 1 Tabel perkiraan berat lengan dan beban yang diangkat lengan pada perancangan lengan robot
Tabel 3.1. menunjukkan perkiraan berat setiap lengan merupakan total berat dari material lengan
dan motor RC servo yang menempel pada lengan. Kolom beban yang diangkat setiap lengan
merupakan penjumlahan berat dari keseluruhan beban yang harus diangkat oleh setiap lengan.
Perancangan mekanik untuk desain lengan robot peniru gerakan tangan manusia menggunakan
material aluminium karena ringan dan mudah dikerjakan. Tabel 3.1. menunjukkan bagian base
diasumsikan memiliki berat yang ringan walaupaun terletak paling dasar karena bagian base tidak
terbebani oleh berat keseluruhan dari prototype lengan robot karena seluruh lengan robot sudah
ditopang oleh empat buah tiang penyangga. Perancangan mekanik motor RC servo yang digunakan
hanya untuk memutar bagian base yang memiliki torsi yang tidak terlalu besar yaitu diperkirakan
sebesar10 kg.cm
Gambar 3.4. merupakan gambar design end effector yang akan digunakan pada ujung lengan robot
peniru gerakan tangan manusia. Bagian ini dirancang memiliki berat maksimal adalah 100gram dan
memiliki ujung berupa spidol yang bebannya cukup ringan.
Beban pada ujung robot cukup ringan sehingga gerakan robot tidak terbebani cukup besar oleh end
effector. Ujung berupa spidol maka lengan robot tersebut dapat dengan mudah dibandingkan
gerakannya, apakah gerakannya sama seperti gerakan lengan manusia atau user.
Gambar 3. 6 . Tampilan seluruhnya design gambar 3D lengan robot
Gambar 3.6 merupakan seluruh tampilan design lengan robot. Lengan robot tersebut memiliki 3
buah sumbu koordinat, yaitu X, Y, dan Z. Koordinat tersebut berguna untuk mengetahui posisi dari end
point lengan robot tersebut.
Design lengan robot yang dikendalikan oleh motor servo memiliki gerakan yang terbatas.
Motor servo yang digunakan memiliki batas putar. Batas putar motor servo yang digunakan adalah
1800 . Tetapi sudut yang digunakan pada lengan robot tidak digunakan pada posisi maksimal.
Sudut yang digunakan disesuaikan dengan sudut maksimal pada lengan manusia atau user. Sudut
maksimal yang dapat di jangkau oleh lengan robot sebagai berikut
Tabel 3. 2 sudut maksimal yang dapat digunakan motor servo sesuai sudut
Komunikasi I2C dipilih karena pengiriman data lebih cepat dan tidak mengganggu komunikasi
serial antara Ardunio Mega 2560 dengan Arduino Uno. Agar tetap dapat melakukan komunikasi serial
antara Arduino Mega 2560 dan Arduino Uno R3. Serta komunikasi I2C pada Arduino Mega 2560
dengan Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface tetap dapat bekerja untuk
menggerakkan motor servo.
Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface tersebut dapat menggerakkan 16
servo secara bersamaan atau sekuensial. Servo controller tersebut menggunakan sumber tegangan yang
terpisah dengan arduino.
Perancangan aktuator yang digunakan adalah motor servo. Motor servo yang digunakan
berjumlah 5 buah untuk menggerakkan lengan.
Motor servo tersebut akan dihubungkan secara langsung ke servo controller tanpa perlu
menggunakan rangkaian tambahan sebagai pendukung rangkaian tersebut. Motor servo
tersebut digerakkan dengan menggunakan Adafruit 16-Channel 12-Bit PWM / Servo Shield
– I2C Interface yang dihubungkan dengan Arduino Mega 2560. Antara Adafruit 16- Channel
12-Bit PWM / Servo Shield – I2C Interface dengan Arduino Mega 2560 dihubungkan
dengan komunikasi I2C. Komunikasi I2C tersebut menggunakan port SDA dan SCL.
Port tersebut digunakan untuk transfer data serial antara Servo Controller dengan
Arduino. Saat Arduino Mega 2560 tersebut memberikan perintah tertentu pada servo
controler, maka servo controller tersebut akan langsung melakukan perintah yang
diberikan untuk menggerakkan motor servo tersebut.
Gambar 3. 13 Gambar Port Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface yang akan
dihubungkan ke motor servo
BAB IV
1. Desain Mekanik: Lengan robot harus dirancang sedemikian rupa agar dapat meniru gerakan
lengan manusia dengan akurasi yang tinggi. Desain ini melibatkan pemilihan material,
mekanisme persendian, sensor, dan aktuator yang diperlukan untuk menggerakkan lengan.
2. Sensor dan Persepsi: Untuk meniru gerakan manusia dengan tepat, lengan robot perlu dilengkapi
dengan sensor yang dapat mendeteksi gerakan manusia. Sensor-sensor ini dapat berupa sensor
gerakan, sensor tekanan, atau sensor visi komputer yang mampu melacak gerakan dan posisi
tubuh manusia.
3. Algoritma dan Kendali: Pembuatan algoritma dan sistem kendali yang efektif sangat penting
dalam mengontrol lengan robot agar dapat meniru gerakan manusia dengan baik. Ini melibatkan
pemodelan matematis dari gerakan manusia, pengembangan algoritma kinematik dan dinamik,
dan teknik pengendalian yang efisien.
4. Pembelajaran Mesin: Salah satu pendekatan yang dapat digunakan adalah pembelajaran mesin, di
mana lengan robot dapat belajar dari gerakan manusia melalui data yang dikumpulkan. Dengan
menggunakan teknik-teknik seperti pembelajaran mendalam (deep learning) atau pembelajaran
penguatan (reinforcement learning), lengan robot dapat meningkatkan kemampuannya untuk
meniru gerakan manusia seiring berjalannya waktu.
5. Aplikasi: Lengan robot peniru gerakan manusia memiliki berbagai aplikasi potensial di berbagai
bidang. Contohnya, dalam industri manufaktur, lengan robot seperti ini dapat digunakan untuk
membantu pekerja manusia dalam tugas-tugas yang berat dan berbahaya. Di bidang rehabilitasi
medis, lengan robot ini dapat digunakan untuk membantu pemulihan pasien yang mengalami
cedera atau kehilangan fungsi motorik.
Namun, perlu dicatat bahwa pembahasan ini berhubungan dengan konsep dan teknologi yang sedang
berkembang. Meskipun ada banyak penelitian dan pengembangan dalam bidang ini, implementasi
komersial yang luas dari lengan robot peniru gerakan manusia masih terbatas.
4.2.1. Pengujian Analog to Digital Converter Flex Sensor
ADC merupakan bagian yang sangat penting untuk lengan robot peniru
gerakan tangan manusia. Diperlukan pengujian ADC pada alat ini. Ini bertujuan
untuk menentukan bahwa dapat atau tidak dapatnya ADC ini digunakan sebagai
pengubah tegangan analog menjadi bilangan dalam bentuk bit-bit digital. Pada
program arduino didalamnya sudah memiliki konversi ADC, sehingga dari input
analog yang di terima oleh arduino dapat langsung diubah kedalam bit data digital.
Bit data digital arduino memiliki rentang mulai dari 0 – 1023. Sehingga nilai input
sensor yang memiliki rentang dari 0 -5 volt maka akan langsung diubah kedalan data
digital dengan rentang 0 -1023.
Data hasil pengujian analog to digital converter pada saat flex sensor kondisi
lurus ( 90o ) dan pada saat kondisi flex sensor membengkok ( membengkok kearah 0o
dan 180o ) dapat dilihat pada Tabel 4.1. berikut ini :
Table 4.1. Tabel output ADC pada rangkaian flex sensor
Sudut Output ADC Pada Rangkaian Flex Sensor
Lengkungan Pitch Pitch Elbow Shoulder Base Base
( A0 ) ( A1 ) ( A2 ) ( A4 ) ( A5 ) ( A6 )
0o 505 519 463 513 567 535
10 o 507 519 464 513 569 535
20 o
508 519 465 515 571 537
30 o
511 519 466 517 573 539
40 o
513 519 467 519 575 541
50 o
515 520 469 523 578 542
60 o
520 521 471 529 583 544
70 o
526 525 475 537 597 555
80 o
534 527 481 549 617 568
90 o
554 532 492 564 640 585
100 o
571 542 507 596 664 611
110 o
586 559 525 619 679 631
120 o
600 579 547 640 696 649
130 o
615 599 567 655 709 665
140 o
628 615 586 667 720 682
150 o
638 625 604 678 734 696
160 o
648 637 619 688 742 707
170 o
655 645 634 695 751 720
180 o
662 653 650 701 756 728
Keterangan :
2
Gambar 4.. Listing program pembacaan flex sensor bagian lengan user
4.3.3. Pengiriman Data Sensor Mikrokontroler Lengan User
Listing program pengiriman data sensor dapat dilihat pada Gambar 4.3.
Pengiriman data sensor menggunakan komunikasi serial, memanfaatkan port Tx dan
Rx mikrokontroler. Menggunakan library software mySerial sehingga dapat
menggunakan pin 10 dan 11 sebagai port serial. Pengiriman data dilakukan secara
berurutan mulai data1 hingga data4 dan berulang lagi. Komunikasi serial tersebut
menggunakan bautrate 4800 sebagai kecepatan pengiriman data serial.
Gambar 4.3. Listing program pengiriman data sensor bagian lengan user
Gambar 4.4. Listing program pembacaan data sensor dan pengiriman data serial
5.1 Kesimpulan
Setelah melakukan perancangan dan pengujian pada lengan robot peniru
gerakan tangan manusia, peneliti dapat menarik kesimpulan sebagai berikut :
1. Penelitian yang telah dilakukan dapat disimpulkan bahwa penelitian tersebut sudah
berhasil. Gerakan lengan robot sudah dapat mengikuti gerakan tangan manusia
secara real time. Berdasarkan pengujian gerakan lengan robot tersebut memiliki rata-
rata % error kurang dari 10%.
2. Nilai output dari One directional flex sensor adalah linear terhadap lengkungan
gerakan sensor. Nilai keluaran flex sensor yang dihasilkan cukup linear dengan
kelinearannya R2 = 0,861 – 0,953. Resolusi output yang dihasilkan oleh flex
sensor hanya memiliki resolusi yang kecil sehingga nilai output terlalu mudah
berubah walaupun sensor tidak melengkung.
5.2 Saran
Berdasarkan hasil implementasi yang diperoleh, untuk pengembangan lebih
lanjut ada beberapa saran agar alat ini dapat bekerja lebih baik, yaitu :
1. Perancangan ulang pada konstruksi lengan robot agar lebih kokoh dan stabil.
Penggunaan motor servo dengan tipe metal gear yang memiliki torsi besar dan
memiliki ketahanan yang baik.
2. One directional flex sensor memiliki keterbatasan dalam arah lengkungan sensor
dan range resistansi yang kecil saat melengkung. Oleh sebab itu hindari pembacaan
gerakan yang dua arah dan melakukan pembacaan dengan range yang cukup lebar
hal itu menyebabkan nilai resistansi yang dihasilkan sering berubah.
3. Membaca lengkungan yang dua arah dapat menggunakan sensor lain seperti Bi-
Directional Flex Sensor. Selain itu untuk menambah range pembacaan dapat
menambahkan rangkaian pengkondisi sinyal sehingga gerakan motor lebih persisi.
4. Komunikasi antara lengan robot dengan lengan manusia atau user, yang
pada awalnya menggunakan komunikasi serial dengan kabel TX dan RX.
Hal tersebut dapat digantikan dengan menggunakan komunikasi wireless
seperti menggunakan Bluethoot, RF, ZigBee, dan Wifi.