Anda di halaman 1dari 41

LENGAN ROBOT PENIRU

GERAKAN MANUSIA

Disusun Oleh:

Nama Anggota : Berlia Sabrina


Muhammad Hilmi
Ricky Ferlino
Yara Quswara Saragih
Kelas/Kelompok : 6 EC / Kelompok 1

Dosen Pengampu : Renny Maulidda, S.T., M.T.

PROGRAM STUDI SARJANA TERAPAN TEKNIK


ELEKTRO JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SRIWIJAYA
2022
DAFTAR ISI
BAB I
PENDAHULUAN

1.1 Latar Belakang


Perkembangan teknologi robotika saat ini sangat pesat. Robot memiliki peran yang
penting dalam berbagai bidang, seperti kesehatan, kedokteran, pertanian, dan manufaktur.
Bahkan, robot telah masuk ke kehidupan sehari-hari, mulai dari mainan anak-anak hingga
alat bantu rumah tangga. Jenis robot juga semakin beragam, mulai dari yang menggunakan
roda hingga yang berkaki. Robot saat ini mampu bergerak ke segala arah, tidak terbatas
seperti sebelumnya. Bahkan, robot yang dibuat saat ini semakin menyerupai manusia,
meskipun hanya pada beberapa bagian seperti tangan, kepala, atau kaki.
Robot yang ada sekarang memiliki berbagai kegunaan, membantu manusia dalam
pekerjaan dan meringankan beban kerja. Mereka dapat digunakan untuk pekerjaan ringan
hingga berat dan berbahaya. Robot-robot ini dilengkapi dengan sensor dan kecerdasan
buatan, sehingga mereka dapat menentukan tindakan yang tepat saat menerima rangsangan
dari lingkungan sekitar.
Berdasarkan perkembangan ini, muncul keinginan untuk menciptakan sebuah robot.
Robot yang diinginkan dibuat dengan konsep menyerupai lengan manusia. Lengan robot ini
dapat mengikuti gerakan tangan manusia dan dapat digerakkan menuju tiga sumbu: X, Y,
dan Z. Lengan robot menggunakan motor servo sebagai penggeraknya. Untuk menggerakkan
motor servo, diperlukan servo controller yang digunakan untuk mengatur pergerakan lengan
robot agar dapat mengikuti gerakan lengan manusia secara bersamaan. Lengan robot ini
dikendalikan menggunakan mikrokontroler sebagai otaknya.
Lengan robot ini menggunakan sensor flex 4,5 inci dan Arduino Mega2560-R3 serta
Arduino Uno R3. Lengan robot yang akan dibuat dapat mengikuti gerakan lengan manusia.
Sensor ditempatkan pada lengan manusia mulai dari bahu hingga pergelangan. Sensor akan
mengirimkan sinyal yang akan diterima oleh mikrokontroler. Di dalam mikrokontroler,
sinyal ini akan diproses dan digunakan untuk menentukan posisi motor servo, sehingga
gerakan servo dapat sesuai dengan gerakan lengan manusia. Selain itu, lengan robot yang
akan dibuat juga digunakan sebagai media pembelajaran tentang robotika.
1.2 Rumusan Masalah
1. Bagaimana merancang sistem mekanik lengan robot yang mampu mengikuti gerakan lengan
manusia ?
2. Apa saja jenis sensor yang tepat untuk digunakan dalam mendeteksi gerakan lengan manusia dan
bagaimana cara mengintegrasikannya dengan lengan robot?
1.3 Tujuan
Penelitian ini memiliki tujuan untuk
1. Mengetahui pembuatan sebuah alat yang dapat membantu dan meringankan pekerjaan manusia,
menggantikan peran manusia dalam pekerjaan yang berat dan berbahaya.
2. Memahami cara kerja sebuah lengan robot dengan tiga sumbu (X, Y, dan Z)
3. Dapat digunakan sebagai alat pembelajaran dalam bidang robotika. Mempelajari cara kerja dan
prinsip pengendalian lengan robot, dapat meningkatkan pemahaman dan keterampilan dalam
mengembangkan teknologi robotika.

1.4 Batasan Masalah

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

Gambar 2. 1 Arduino Mega 2560 R3


Arduino Mega 2560 adalah sebuah board mikrokontroler yang berbasis pada IC
ATmega 2560. Arduino Mega 2560 memiliki 54 buah pin digital yang dapat digunakan
sebagai input ataupun output. Dari 54 buah pin tersebut, 15 pin diantaranya dapat
digunakan sebagai output Pulse Width Modulation (PWM), memiliki 16 buah pin analog
input, 4 buah pin UART yang berfungsi sebagai port serial hardware, sebuah osilator
kristal 16 MHz, sebuah jack female untuk koneksi USB, jack female adaptor, dan sebuah
tombol reset.
IC mikrokontroler yang digunakan pada penelitian ini adalah ATmega 2560.
Mikrokontroler ATmega 2560 berbentuk persegi dengan jumlah pin sebanyak 100 buah
pin. ATmega 2560 memiliki kemampuan untuk mengeksekusi instruksi program dalam satu
siklus clock tunggal, sehingga ATmega 2560 mampu mengoptimalkan konsumsi daya
dibandingkan kecepatan pemrosesan program. Gambar 2.2. dan Tabel 2.1. menjelaskan
tentang alokasi penempatan pin dan keterangan masing-masing pin.
6 7 8 9 10

11
2
4

12
Gambar 2. 2 Alokasi penempatan pin Arduino Mega 2560 R3
Tabel 2. 1 Keterangan Pin Arduino Mega 2560 R3

No. Parameter Keterangan


1 ATmega 2560 IC mikrokontroler yang digunakan pada Arduino Mega 2560.
2 Jack USB Untuk komunikasi mikrokontroler dengan PC
Masukan power eksternal bila Arduino bekerja mandiri (tanpa
3 Jack Adaptor
komunikasi dengan PC melalui kabel serial USB).
Tombol reset internal yang digunakan untuk mereset modul
4 Tombol Reset
Arduino.
5 Pin Analog Menerima input dari perangkat analog lainnya.
 Vin = Masukan tegangan input bagi Arduino ketika
menggunakan dumber daya eksternal.
 5 V = Sumber tegangan yang dihasilkan regulator internal

board Arduino.

 3,3 V = Sumber tegangan yang dihasilkan regulator internal


6 Pin Power board Arduino. Arus maksimal pada pin ini adalah 50 mA.

 GND = Pin ground dari regulator tegangan board Arduino.

 IOREF = Tegangan Referensi.

 AREF = Tegangan Referensi untuk input analog.


7 Light-Emitting Pin digital 13 merupakan pin yang terkoneksi dengan LED
Diode (LED) internal Arduino.
8 Pin PWM Arduino Mega menyediakan 8 bit output PWM. Gunakan
fungsi analogWrite() untuk mengaktifkan pin PWM ini.

Digunakan untuk menerima dan mengirimkan data serial TTL


9 Pin Serial (Receiver (Rx), Transmitter (Tx)). Pin 0 dan 1 sudah terhubung
kepada pin serial USB to TTL sesuai dengan pin ATmega.

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)

Terdiri dari 4 buah Pin :

 Master In Slave Out (MISO)


Jalur slave untuk mengirimkan data ke Master.

 Master Out Slave In (MOSI)

Pin Serial Jalur master untuk mengirimkan data ke peralatan.


12 Peripheral  Serial Clock (SCK)
Interface (SPI) Clock yang berfungsi untuk memberikan denyut pulsa
ketika sedang menyinkronkan transmisi data oleh master

 Slave Select (SS)


Pin untuk memilih jalur slave pada perangkat tertentu.

2.3 Arduino Uno R3

Gambar 2. 3 Tampilan Arduino Uno R3


Arduino Uno R3 adalah mikrokontroler menggunakan ATmega328. Uno memiliki 14 pin input/output
digital (dimana 6 pin dapat digunakan sebagai output PWM), 6 input analog, 16 MHz osilator kristal,
koneksi USB, jack power, ICSP header, dan tombol reset [5] . Secara spesifikasi, Arduino Uno sama dengan
Duemilanove, dan Uno diluncurkan di tahun 2010 sedangkan Duemilanove diluncurkan di tahun 2009
Gambar 2. 4 Alokasi penempatan pin Arduino Uno R3

Tabel 2. 2 Keterangan Pin Arduino Uno R3

No. Parameter Keterangan


1 ATmega 328 IC mikrokontroler yang digunakan pada Arduino Uno R3.
2 Jack USB Untuk komunikasi mikrokontroler dengan PC
Masukan power eksternal bila Arduino bekerja mandiri (tanpa
3 Jack Adaptor
komunikasi dengan PC melalui kabel serial USB).
Tombol reset internal yang digunakan untuk mereset modul
4 Tombol Reset
Arduino.
5 Pin Analog Menerima input dari perangkat analog lainnya.
 Vin = Masukan tegangan input bagi Arduino ketika
menggunakan dumber daya eksternal.
 5 V = Sumber tegangan yang dihasilkan regulator internal
6 Pin Power board Arduino.

 3,3 V = Sumber tegangan yang dihasilkan regulator internal


board Arduino. Arus maksimal pada pin ini adalah 50 mA.

 GND = Pin ground dari regulator tegangan board Arduino.

 IOREF = Tegangan Referensi.


 AREF = Tegangan Referensi untuk input analog.
7 Pin Digital Pin yang digunakan untuk menerima input digital dan memberi
output berbentuk digital (0 dan 1 atau low dan high)
Digunakan untuk menerima dan mengirimkan data serial TTL
8 Pin Serial (Receiver (Rx), Transmitter (Tx)). Pin 0 dan 1 sudah terhubung
kepada pin serial USB to TTL sesuai dengan pin ATmega.

2.4 Perangkat Lunak Arduino

Area pemrograman Arduino dikenal dengan Integrated Development Environment (IDE).


Area pemrograman yang digunakan untuk menulis baris program dan mengunggahnya ke
dalam board Arduino, disamping itu juga dibuat lebih mudah dan dapat berjalan pada
beberapa sistem operasi seperti Windows, Macintosh, dan Linux . Gambar 2.11 dan Tabel 2.3
merupakan area pemrograman Arduino dan keterangan beberapa tombol utama.

Gambar 2. 5 Tampilan IDE Arduino

Tabel 2. 3 Keterangan Tombol Pada Tampilan IDE Arduino

No. Tombol Nama Fungsi

Menguji apakah ada kesalahan pada program


atau sketch. Apabila sketch sudah benar, maka
sketch tersebut akan dikompilasi. Kompilasi
1 Verify adalah proses mengubah kode program ke
dalam kode mesin.
Mengirimkan kode mesin hasil kompilasi ke
2 Upload
board Arduino

3 New Membuat sketch yang baru

4 Open Membuka sketch yang sudah ada

5 Save Menyimpan sketch

Serial Menampilkan data yang dikirim dan diterima


6
Monitor melalui komunikasi serial.

IDE Arduino membutuhkan beberapa pengaturan yang digunakan untuk mendeteksi


board Arduino yang sudah dihubungkan ke komputer. Beberapa pengaturan tersebut adalah
mengatur jenis board yang digunakan sesuai dengan board yang terpasang dan mengatur jalur
komunikasi data melalui perintah Serial Port. Kedua pengaturan tersebut dapat ditemukan
pada pull down menu Tools.
2.5 Motor DC

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

Gambar 2. 6 Skema ekivalen motor DC Servo dengan kontrol kecepatan


2.6 RC Servo

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.

Gambar 2. 7 Prinsip kerja RC Servo

Gambar 2. 8 Motor RC Servo

Jenis-jenis Motor Servo:

1. Motor Servo Standar

Motor servo jenis ini hanya mampu bergerak dua arah (CW dan CCW) dengan defleksi
masing-masing sudut mencapai 90° sehingga total defleksi sudut dari kanan – tengah –
kiri adalah 180°.

2. Motor Servo Continuous

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.

Gambar 2. 9 Flex Sensor

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.

Gambar 2. 10 Gambar rangkaian pembagi


tegangan
ADC ( Analog to Digital Converter ) digunakan untuk tegangan 0 hingga 5 volt.
Agar dapat membaca nilai 0 hingga 5 volt maka dibuat rangkian pembagi tegangan dengan
resolusi 0 hingga 5 volt. Rumus yang digunakan untuk menghitung Vout pada rangkaian pembagi
tegangan yaitu sama seperti gambar 3.6 , dimana nilai R1 merupakan nilai dari Flex Sensor
yang dapat berubah nilai resistensinya . Nilai pada R2 merupakan nilai resistor yang tetap nilai
resistensinya.

2.8 Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface

Gambar 2. 11 Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface

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

Komunikasi asinkron serial merupakan sebuah protocol transmisi asinkronous,


dimana komunikasi ini tidak menggunakan clock, tetapi telah memiliki baudrate
yang telah disepakati oleh masing-masing sistem yang sedang berkomunikasi. Kerja
dari komunikasi ini adalah, signal start dikirimkan pada saat sebelum data
dikirimkan dan signal stop dikirimkan setelah setiap data selesai dikirimkan. Signal
start digunakan untuk mempersiapkan mekanisme penerimaan untuk menerima dan
memproses data yang akan dikirimkan dan signal stop berguna untuk mempersiapkan
mekanisme penerimaan data berikutnya.

Berikut ini adalah protocol pengiriman data secara serial asinkron :

1. Start bit selalu berlogic LOW

2. Pengiriman data bit dari 0 sampai 8.

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 Blok Diagram

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.

3.2 Flow Chart

Gambar 3. 2 Flow Chart

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 Desain 3D Lengan Robot

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

Perkiraan Berat Beban yang


NO Lengan Penghubung
setiap lengan diangkat
. (link)
setiap lengan
1. End effector 100gr 100gr
2. Pitch 120gr 220gr

3. Elbow 200gr 420gr

4. Shoulder 500gr 920gr

5. Base 200gr 200gr

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. 5 Design end effector

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

Sudut maksimal yang


NO. Lengan Penghubung (link) Panjang lengan
dapat dijangkau
1 Pitch + End Effector 12cm 1800

2 Elbow 12cm 1800

3 Shoulder 18cm 1800

4 Base ( berputar pada poros ) 0cm 1800

3.4 Skeman Rangkaian Elektrik


Rangkaian pengendali utama terdapat tiga buah yang digunakan untuk mengontrol gerakan lengan
robot. Pengendali tersebut adalah Arduino Mega 2560 R3, Arduino Uno R3, dan Adafruit 16-
Channel 12-Bit PWM / Servo Shield – I2C Interface.
Arduino Mega 2560 R3 dan Arduino Uno R3 dihubungkan dengan cara komunikasi serial
menggunakan UART TTL Arduino, yaitu menggunakan pin TX dan RX untuk melakukan kamunikasi
serial. Pin TX Arduino Uno R3 dihubungkan pada pin RX Arduino Mega 2560 dan Pin RX Arduino
Uno R3 dihubungkan pada pin TX Arduino Mega 2560 agar dapat berkomunikasi. Komunikasi
serial yang digunakan tersebut menggunakan program yang berbeda sehingga dapat menggunakan pin
10 dan pin 11 untuk komunikasi serial, sebagai pengganti pin TX dan pin RX yang sudah ada.
Arduino Mega 2560 dikomunikasikan dengan Adafruit 16-Channel 12-Bit PWM / Servo Shield –
I2C Interface. Komunikasi tersebut menggunakan komunikasi I2C, komunikasi tersebut memanfaatkan
pin SDA dan SCL pada Arduino Mega 2560 dan pada Adafruit 16-Channel 12-Bit PWM / Servo Shield
– I2C Interface.

Gambar 3. 7 koneksi serial tx rx

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.

Gambar 3. 8 koneksi komunikasi i2c


3.4.1 Perancngan Elektronik menggunkan flex sensor
Perancangan rangkaian Flex Sensor, menggunakan rangkaian pembagi tegangan. Alasan
menggunakan rangkaian pembagi tegangan dikarenakan keluaran dari Flex Sensor berupa hambatan
atau resistensi. Keluaran dari rangkaian pembagi tegangan tersebut akan dihubungkan ke ADC (
Analog to Digital Converter ) pada Arduino Mega 2560 R3.

Gambar 3. 9 pemasangan Flex Sensor

Gambar 3. 10 rangkaian flex sensor pada skematik

Gambar 3. 11 sambungan output flex sensor ke ADC Arduino

3.4.2 Perancangan Elektronik menggunakan motor servo

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.

Gambar 3. 12 rangkaian motor servo untuk lengan

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

ANALISA DAN PEMBAHASAN

4.1 Hasil Percobaan


Dari percobaan rangkaian robot penyortir barang, robot bergerak dengan menggerakkan
potensio. Berikut ini data hasil percobaannya :
• Jika potensio di putar kearah min atau max, maka robot akan bergerak ke derajat tertentu
jika potensio diputar ke min maka motor servo derajatnya sama dengan 0 derajat, jika
potensio diputar ke arah max maka motor servo akan bergerak 180 derajat.
• Jika yang diputar potensio pertama, maka motor servo di bagian base robot akan
berputar arah dari 0 – 180 derajat
• Jika yang diputar potensio kedua, maka motor servo di bagian lengan robot bergerak
keatas atau kebawah
• Jika yang diputar potensio ketiga, maka motor servo di bagian capit akan mencapit
benda

4.2 Analisa Percobaan


Pembahasan mengenai lengan robot peniru gerakan manusia berkaitan dengan pengembangan sistem
mekanik yang mampu meniru gerakan dan tindakan manusia secara presisi dan akurat. Tujuan utama
dari teknologi ini adalah untuk menciptakan robot yang dapat bekerja sama dengan manusia, mengikuti
perintah mereka, dan melaksanakan tugas-tugas yang memerlukan tingkat keahlian dan keterampilan
manusia. Ada beberapa aspek yang perlu dipertimbangkan dalam pembahasan tentang lengan robot
peniru gerakan manusia, yaitu:

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

4.2.2. Pengujian Gerakan Lengan Robot


Perancangan lengan robot peniru gerakan tangan manusia. Gerakan yang
dilakukan oleh lengan robot tersebut dirancang untuk meniru gerakan tangan manusia
atau user yang mengendalikannya dengan menggunakan flex sensor sebagai
pengendali. Gerakan-gerakan yang dapat ditiru oleh lengan robot sebagai berikut :
Gambar 4.1. manunjukkan gerakan lengan robot dapat bergerak sama seperti
gerakan tangan pengguna. Bagian pergelangan tangan pengguna akan sama
gerakanannya pada bagian pitch di lengan robot.
Bagian elbow pada lengan robot bergerak berdasarkan gerakan yang
dideteksi oleh flex sensor pada bagian siku tangan manusia. Gerakan pada
lengan robot akan sama seperti gerakan pada lengan manusia pada bagian siku

Bagian bahu tangan manusia menggunakan sebuah flex sensor digunakan


untuk mendeteksi gerakannya. Bagian shoulder lengan robot akan bergerak sesuai
dengan gerakan bahu lengan manusia seperti pada Gambar 4.20.
Bagian bawah bahu lengan manusia menggunakan dua buah flex sensor.
Flex sensor tersebut digunakan untuk mendeteksi gerakannya sehingga dapat
menggerakan
Dari pengujian gerakan motor yang telah dilakukan pada setiap motor. Data
gerakan motor servo yang bergerak berdasarkan gerakan tangan manusia telah di
catat pada tabel untuk setiap gerakan motor servo. Gerakan motor servo memiliki
rata-rata nilai
error yang cukup kecil yaitu kurang dari 10% error. Untuk setiap motor servo
memiliki nilai error yang berbeda-beda hal tersebut terjadi karena setiap tipe motor
servo memiliki spesifikasi yang berbeda-beda.

4.3 Analisa Perangkat Lunak


4.3.1. Inisialisasi Mikrokontroler Lengan User
Inisialisasi pada lengan robot peniru gerakan tangan manusia ini berisi tentang
pendefinisian dari library dan variabel yang digunakan dalam proses pengoperasian
data. Seperti pada bab perancangan pada diagram alir program, bagian dari
inisialisasi meliputi input dan output baik digital maupun analog yang digunakan
serta setup untuk komunikasi serial. Listing program inisialisasi dari alat ini dapat
dilihat seperti pada gambar 4.1.

Gambar 4.1. Listing program inisialisasi bagian lengan user

4.3.2. Pembacaan Sensor Mikrokontroler Lengan User


Listing program pembacaan sensor dapat dilihat pada Gambar 4.23. Keluaran
dari flex sensor bersifat sangat sensitif. Sehingga bit data pada ADC yang
dihasilkan dari output flex sensor nilainya berubah-ubah meskipun tidak ada
gerakan yang dilakukan oleh
lengan user dan rentang nilai output yang dihasilkan oleh flex sensor memiliki
rentang nilai yang kecil sehingga perubahan nilainya pada saat sensor membengkok
bernilai kecil.
Flex sensor yang digunakan hanya memiliki satu arah lengkungan
sehingga hanya dapat melengkung dari 0o – 90o . Data yang dihasilkan oleh
sensor dikonversi kedalam nilai sudut 0o – 90o. Untuk gerakan lengan user yang
lebih dari 90o, maka digunakan dua buah sensor sehingga dapat membaca
gerakan lengan hingga 180o. Bagian lengan yang menggunakan dua buah sensor
adalah bagian pergelangan tangan dan bagian bahu. Bagian tersebut gerakan
lengannya lebih dari 90o.
Lengan robot yang dibuat memiliki 4 DOF sehingga hanya 4 sendi yang
diberi sensor sesuai dengan lengan robot. Data dari 6 buah sensor yang dipasang pada
lengan user dibuat menjadi 4 buah data yang akan dikirim untuk menggerakkan
lengan robot tersebut.

Keterangan :

1. Konversi data sensor


kedalam sudut.
2. Data sensor sebagai
1 penggerak lengan
robot.

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

Pada Gambar 4.4. merupakan pembacaan serial monitor pada program


mikrokontroler. Serial monitor menampilkan pembacaaan sensor dan data sensor
yang telah diolah, serta data sensor yang dikirim ke mikrokontroler 2 sebagai data
untuk menggerakkan motor servo. Pengiriman data dilakukan secara serial sehingga
data dikirimkan secara berurutan dari data1 hingga data4.
37

4.3.4. Inisialisasi Mikrokontroler Robot


Inisialisasi pada lengan robot peniru gerakan tangan manusia ini berisi tentang
pendefinisian dari library dan variabel yang digunakan dalam proses pengoperasian
data. Seperti pada bab perancangan pada diagram alir program, bagian dari
inisialisasi meliputi input, output baik digital maupun analog yang digunakan, setup
komunikasi i2c dan setup untuk komunikasi serial serta setup motor servo pada servo
controller. Listing program inisialisasi dari alat ini dapat dilihat seperti pada Gambar
4.5.

Gambar 4.5. Listing program inisialisasi mikrokontroler robot

4.3.5. Pembacaan Data Serial Mikrokontroler Robot


Listing program pembacaan data serial mikrokontroler robot dapat dilihat pada
Gambar 4.6. Pembacaan 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. Pembacaan data dilakukan
secara berurutan mulai data1 hingga data4 dan berulang lagi.
Komunikasi serial tersebut menggunakan bautrate 4800 sebagai kecepatan
pengiriman data serial. Komunikasi serial dengan diberi syarat apabila ada data
yang diterima maka data tersebut dibaca dan dimasukkan kedalam masing-masing
register data.
38

Gambar 4.6. Listing program pembacaan data serial mikrokontroler robot

4.3.6. Menggerakkan Motor Servo


Listing program menggerakkan motor servo pada mikrokontroler robot
dapat dilihat pada Gambar 4.28. Menggerakkan motor servo menggunakan pulsa-
pulsa yang dikeluarkan oleh mikrokontroler melalui motor servo shield. Komunikasi
antara mikrokontroler dengan motor servo shield menggunakan komunikasi I2C
dengan menggunakan port SDA dan SCL. Dengan menggunakan motor servo shield
sehingga program yang digunakan sesuai dengan library pada motor servo shield.

Gambar 4.7. Listing program menggerakkan motor servo

Selanjutnya penerimaan data serial dari mikrokontroler 1. Data serial


tersebut diubah menjadi pulsa – pulsa yang digunakan untuk menggerakkan motor
servo. Setiap motor servo memiliki rentang pulsa yang berbeda-beda, hal tersebut
terjadi karena motor yang digunakan memiliki tipe dan pembuatan yang berbeda.
BAB V
KESIMPULAN DAN
SARAN

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.

Anda mungkin juga menyukai