Teknologi robotika di Indonesia telah berkembang dengan pesat. Perkembangan ini
diikuti dengan hadirnya
smartphone
dengan sistem operasi android. Penelitian ini bertujuan
membuat prototipe lengan robot 4 DOF yang dapat menulis kata yang dikendalikan oleh
aplikasi pada android melalui
bluetooth
. Lengan robot dapat bergerak ke segala arah dan
dirancang agar mampu mengikuti perintah dari android ke semua sudut dimensi dengan motor
servo. Lengan robot dirancang untuk menulis huruf kapital dengan jenis seperti
fourteen
segment
. Hasil dari penelitian ini adalah lengan robot telah dapat menulis kata dengan
persentase keberhasilan 62% dan dapat dikendalikan jarah jauh dengan maksimal jarak 15
meter.
Kata kunci
— lengan robot, menulis, Android,
Bluetooth
, 4 DOF
Robotics technology in Indonesia has grown rapidly. This development was followed by
the presence of a Smartphone with android operating system. This study aims to create a
prototype robot arm 4 DOF which can write words that are controlled by the application on
android via Bluetooth. The robotic arm can move in any direction and designed to be capable
to follow the orders from android to all corners of the dimension with servo motors. The
robotic arm is designed to write with a capital letter types like fourteen segments. The results
from this study is the robot arm has been able to write the words with a success percentage of
62% and can be controlled remotely with a maximum distance of 15 meters.
Keyword — Robot Arm, writing, Android, Bluetooth, 4 DOF
TUGAS AKHIR
LENGAN ROBOT PENULIS KATA YANG
DIKENDALIKAN OLEH APLIKASI PADA ANDROID
Diajukan untuk memenuhi salah satu syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
disusun oleh:
PETRUS CLAVER HENDAR KRISTYANTO
NIM : 125114031
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
FINAL PROJECT
ROBOT ARM WRITER OF WORDS CONTROLLED
BY THE APPLICATION ON ANDROID
In partial fulfilment of the requirements
for the degree of
Sarjana Teknik
In Electrical Engineering Study Program
PETRUS CLAVER HENDAR KRISTYANTO
NIM : 125114031
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO :
“I am not the best, but I try to do my best”
Dengan ini kupersembahkan karyaku ini untuk...
Tuhanku Yesus Kristus Pembimbingku yang setia,
Keluargaku tercinta,
Teman-temanku seperjuangan,
Dan semua orang yang mengasihiku
Terima Kasih untuk
semuanya...
INTISARI
Teknologi robotika di Indonesia telah berkembang dengan pesat. Perkembangan ini
diikuti dengan hadirnya
smartphone
dengan sistem operasi android. Penelitian ini bertujuan
membuat prototipe lengan robot 4 DOF yang dapat menulis kata yang dikendalikan oleh
aplikasi pada android melalui
bluetooth
. Lengan robot dapat bergerak ke segala arah dan
dirancang agar mampu mengikuti perintah dari android ke semua sudut dimensi dengan motor
servo. Lengan robot dirancang untuk menulis huruf kapital dengan jenis seperti
fourteen
segment
. Hasil dari penelitian ini adalah lengan robot telah dapat menulis kata dengan
persentase keberhasilan 62% dan dapat dikendalikan jarah jauh dengan maksimal jarak 15
meter.
Kata kunci
— lengan robot, menulis, Android,
Bluetooth
, 4 DOF
ABSTRACT
Robotics technology in Indonesia has grown rapidly. This development was followed by
the presence of a Smartphone with android operating system. This study aims to create a
prototype robot arm 4 DOF which can write words that are controlled by the application on
android via Bluetooth. The robotic arm can move in any direction and designed to be capable
to follow the orders from android to all corners of the dimension with servo motors. The
robotic arm is designed to write with a capital letter types like fourteen segments. The results
from this study is the robot arm has been able to write the words with a success percentage of
62% and can be controlled remotely with a maximum distance of 15 meters.
Keyword — Robot Arm, writing, Android, Bluetooth, 4 DOF
DAFTAR ISI
Halaman Sampul (Bahasa Indonesia) ... i
Halaman Sampul (Bahasa Inggris) ... ii
Halaman Persetujuan ... iii
Halaman Pengesahan ... iv
Pernyataan Keaslian Karya ... v
Halaman Persembahan dan Motto Hidup ... vi
Lembar Pernyataan Persetujuan Karya Ilmiah Untuk Kepentingan Akademis ... vii
Intisari ... viii
Abstract
... ix
Kata Pengantar ... x
Daftar Isi ... xi
Daftar Gambar ... xiv
Daftar Tabel ... xvii
Daftar Persamaan ... xviii
Daftar Lampiran ... xix
BAB I:PENDAHULUAN
1.1.
Latar Belakang ... 1
1.2.
Tujuan dan Manfaat Penelitian ... 2
1.3.
Batasan Masalah ... 3
1.4.
Metodologi Penelitian ... 3
BAB II:DASAR TEORI
2.1.
Mikrokontroler ... 5
2.1.1. Mikrokontroler Arduino Mega 2560 ... 6
2.1.2 . Perangkat Lunak Arduino ... 9
2.2.
Motor Servo ... 10
2.3.
Adafruit Servo
Shield
16
Channel
PWM ... 12
2.3.1
Komunikasi I
2C ... 14
2.4.
Bluetooth ... 16
2.4.1
Modul
Bluetooth
HC-05 ... 17
2.4.2
Pengaturan HC-05 dengan
AT-COMMAND
... 19
2.5.
Pemodelan Kinematika Dalam Sistem Robotik ... 20
2.5.1
Konsep Kinematika ... 21
2.5.2
Penggunaan Persamaan Trigonometri ... 24
BAB III:PERANCANGAN
3.1.
Proses Kerja Sistem ... 28
3.2.
Perancangan Perangkat Keras (
Hardware)
... 29
3.2.1.
Desain Lengan Robot ... 29
3.2.2.
Perancangan Pengendali Utama ... 39
3.2.3.
Perancangan Rangkaian Motor Servo ... 40
3.3.
Perancangan Perangkat
Lunak (
Software)
... 41
3.3.1.
Diagram Alir Android ... 41
3.3.2.
Diagram Alir Robot Menulis Kata ... 42
BAB IV:HASIL DAN PEMBAHASAN
4.1.
Hasil Perancangan Perangkat Keras ... 44
4.2.
Hasil Pengujian ... 47
4.2.1. Pengujian Koneksi
Bluetooth
... 47
4.2.2. Pengujian Kinematika Lengan Robot ... 50
4.2.3. Pengujian
repeatabilitas
lengan robot ... 60
4.2.4. Pengujian keseluruhan sistem... 61
4.3.
Pembahasan Perangkat Lunak ... 65
4.3.1. Inisialisasi ... 65
4.3.2. Program
Home
... 66
4.3.3. Program Pemilihan Posisi Karakter ... 66
4.3.4. Pembacaan Data dari Android ... 67
4.3.5. Program Data Huruf ... 68
4.3.6. Program Garis Acuan ... 68
BAB V:KESIMPULAN DAN SARAN
5.1.
Kesimpulan ... 70
5.2.
Saran ... 70
DAFTAR PUSTAKA ... 71
LAMPIRAN ... 73
DAFTAR GAMBAR
Halaman
Gambar 1.1. Blok Diagram Prototipe Lengan Robot Menulis Kata ... 4
Gambar 2.1. Bentuk Fisik Arduino Mega 2560 ... 7
Gambar 2.2. Alokasi Penempatan Pin Arduino Mega 2560 ... 7
Gambar 2.3. Tampilan IDE Arduino ... 9
Gambar 2.4. Bentuk Fisik Motor Servo ... 10
Gambar 2.5. Konstruksi Motor Servo ... 11
Gambar 2.6. Kendali Pulsa Motor Servo ... 12
Gambar 2.7. Adafruit Servo
Shield
16
Channel
PWM ... 13
Gambar 2.8. Bentuk Fisik Modul
Bluetooth
Seri HC ... 17
Gambar 2.9. Pengaturan Modul
Bluetooth
Dengan AT-Command Melalui Arduino ... 19
Gambar 2.10 Diagram Sistem Robotik ... 20
Gambar 2.11. Diagram Sistem Kontrol Robotik ... 21
Gambar 2.12. Transformasi Kinematik Maju dan Kinematik Balik ... 21
Gambar 2.13. Gerakan Holonomic ... 23
Gambar 2.14. Gerakan Nonholonomic ... 23
Gambar 2.15. Gerakan Holonomic dan Nonholonomic ... 23
Gambar 2.16. Konfigurasi Lengan Robot Satu Sendi ... 24
Gambar 2.17. Konfigurasi Lengan Robot Dua Sendi ... 24
Gambar 2.18. Konfigurasi Lengan Robot Tiga Sendi ... 26
Gambar 3.1. Blok Diagram Sistem ... 29
Gambar 3.2. Tampilan Desain Gambar 3D Lengan Robot Menulis Kata ... 29
Gambar 3.3. Bagian
Base
dan Penggeraknya ... 30
Gambar 3.4. Dimensi Lengan Robot ... 30
Gambar 3.5. a. Desain 3D
End-Effector
Lengan Robot ... 31
Gambar 3.5. b. Desain 3D
Whiteboard
... 31
Gambar 3.6. Desain 3D Keseluruhan Prototipe Lengan Robot ... 34
Gambar 3.7. Desain 3D Keseluruhan Prototipe Lengan Robot Tampak Atas ... 35
Gambar 3.8. Desain 3D Keseluruhan Prototipe Lengan Robot Tampak Samping ... 35
Gambar 3.9. Desain 2D Sederhana Lengan Robot Tampak Atas ... 36
Gambar 3.10. Desain 3D Sederhana Lengan Robot Tampak Samping ... 37
Gambar 3.11. Contoh Beberapa Titik Acuan di tiap Huruf Serta Dimensi Huruf... 38
Gambar 3.12. Bentuk Keseluruhan Huruf Beserta Titik Acuannya ... 39
Gambar 3.13. Rangkaian Keseluruhan Sistem ... 40
Gambar 3.14. Gambar Rangkaian
Servo Controller
... 40
Gambar 3.15. Diagram Alir Android ... 41
Gambar 3.16. Diagram Alir Program Menulis Kata ... 42
Gambar 4.1.
Keseluruhan Bentuk Lengan Robot Menulis Kata ... 44
Gambar 4.2.
Motor Servo Sebagai Penggerak Lengan Robot ... 45
Gambar 4.3.
Motor Bagian
Base
yang Dihubungkan dengan Transmisi
Gear
... 45
Gambar 4.4.
Konektor Motor Servo ... 46
Gambar 4.5.
Rangkaian Elektrik Lengan Robot Menulis Kata ... 46
Gambar 4.6.
Ilustrasi Pengujian Koneksi
Bluetooth
... 47
Gambar 4.7.
Listing
Program Pengujian Koneksi
Bluetooth
... 48
Gambar 4.8.
Tampilan
Interface
Arduino
Bluetooth Terminal
... 48
Gambar 4.9.
Tampilan Serial Monitor pada IDE Arduino ... 49
Gambar 4.10.
Posisi
Home
Lengan Robot ... 50
Gambar 4.11.
Penyederhanaan 2D Lengan Robot Tampak Atas ... 50
Gambar 4.12.
Penyederhanaa 2D Lengan Robot Tampak Samping ... 51
Gambar 4.13.
Posisi Titik Acuan ... 53
Gambar 4.14.
Hasil Implementasi Titik Acuan Pada
Whiteboard
... 53
Gambar 4.15.
Permasalahan Mekanik Lengan Robot ... 58
Gambar 4.16.
Bentuk dan Posisi Garis Acuan ... 58
Gambar 4.17.
Hasil Implementasi Garis-Garis Acuan ... 59
Gambar 4.18.
End-effector
Menabrak Papan Tulis ... 59
Gambar 4.19.
Konfigurasi
Bluetooth
pada
Smartphone
... 61
Gambar 4.20.
Tampilan Awal Aplikasi Arduino
Bluetooth Terminal
... 61
Gambar 4.21.
Tampilan Aplikasi Arduino
Bluetooth Terminal
... 62
Gambar 4.22.
Bentuk Huruf A pada Posisi Karakter Pertama ... 62
Gambar 4.24.
Ilustrasi Bentuk Huruf yang Terbaca ... 64
Gambar 4.25.
Ilustrasi Bentuk Huruf yang Tidak Terbaca ... 64
Gambar 4.26.
Beberapa Huruf yang Membentuk Sebuah Kata ... 64
Gambar 4.27.
Listing
Program Inisialisasi Lengan Robot Menulis Kata ... 65
Gambar 4.28.
Listing
Program
Home
... 66
Gambar 4.29.
Listing
Program Pemilihan Posisi Karakter ... 66
Gambar 4.30.
Listing
Program Pembacaan Data dari Android ... 67
Gambar 4.31.
Data yang Diterima oleh Mikrokontroler... 67
Gambar 4.32.
Listing
Program Data Huruf ... 68
Gambar 4.33.
Listing
Sub
Program Garis Acuan ... 69
DAFTAR TABEL
Halaman
Tabel 2.1.
Keterangan Pin Arduino Mega 2560 ... 8
Tabel 2.2.
Keterangan Tombol Pada Tampilan IDE Arduino ... 10
Tabel 3.1.
Tabel Perkiraan Berat Lengan dan Beban yang Diangkat Lengan ... 32
Tabel 3.2.
Tabel Perkiraan Panjang Lengan dan Sudut Maksimal yang Dijangkau ... 34
Tabel 4.1.
Pengujian Koneksi
Bluetooth
... 49
Tabel 4.2.
Data Hasil Perhitungan Kinematika Setiap Titik Acuan ... 54
Tabel 4.3.
Perbandingan Hasil Perhitungan dengan Hasil Pengukuran ... 56
Tabel 4.4.
Hasil Pengujian
Repeatabilitas
Lengan Robot ... 60
Tabel 4.5.
Hasil Pengujian Keberhasilan Bentuk Huruf ... 63
DAFTAR PERSAMAAN
Halaman
Persamaan 2.1 ... 24
Persamaan 2.2 ... 25
Persamaan 2.3 ... 25
Persamaan 2.4 ... 25
Persamaan 2.5 ... 25
Persamaan 2.6 ... 25
Persamaan 2.7 ... 25
Persamaan 2.8 ... 25
Persamaan 2.9 ... 25
Persamaan 2.10 ... 25
Persamaan 2.11 ... 25
Persamaan 2.12 ...25
Persamaan 2.13 ...26
Persamaan 2.14 ...26
Persamaan 2.15 ...26
Persamaan 2.16 ...26
Persamaan 2.17 ...26
Persamaan 2.18 ...26
Persamaan 2.19 ...27
Persamaan 2.20 ...27
Persamaan 2.21 ...27
DAFTAR LAMPIRAN
Halaman
L1. Tabel Pengujian Koneksi
Bluetooth
... L1
L2. Tabel Data Hasil Perhitungan Kinematika Setiap Titik Acuan ... L2
L4. Tabel Perbandingan Hasil Perhitungan dengan Hasil Pengukuran ... L4
L6. Tabel Hasil Pengujian
Repeatabilitas
Lengan Robot ... L6
L7. Hasil Implementasi Keseluruhan Bentuk Huruf ... L7
L10.
Listing
Program Keseluruhan ... L10
BAB I
PENDAHULUAN
1.1
Latar Belakang
Dewasa ini teknologi robotika di indonesia berkembang dengan pesat.
Perkembangan ini telah meningkatkan kualitas kehidupan manusia. Teknologi robotika
telah menggantikan peralatan – peralatan manual menjadi otomatis yaitu dengan
penggunaan robot. Salah satu cara meningkatkan tingkat kecerdasan sebuah robot adalah
dengan menambah sensor atau aktuator pada robot tersebut. Di negara-negara maju
perkembangan robot mengalami peningkatan yang tinggi, saat ini robot telah digunakan
sebagai alat bantu dalam pekerjaan manusia. Seiring dengan berkembangnya teknologi,
khususnya teknologi elektronik, peran robot menjadi semakin penting tidak saja dibidang
sains, tapi juga di berbagai bidang lainnya, seperti di bidang industri manufaktur,
kedokteran, pertanian, bahkan militer. Teknologi robotika juga telah menjangkau sisi
hiburan dan pendidikan bagi manusia. Secara sadar atau tidak, saat ini robot telah “masuk”
dalam kehidupan sehari-hari manusia dalam berbagai bentuk dan jenis. Ada jenis robot
sederhana yang dirancang untuk melakukan kegiatan yang sederhana, mudah dan
berulang-ulang, ataupun robot yang diciptakan khusus untuk melakukan sesuatu yang
rumit, sehingga dapat berperilaku sangat kompleks dan secara otomatis dapat mengontrol
dirinya sendiri sampai batas tertentu.
Perkembangan teknologi robotika dan elektronik ini juga diikuti dengan
berkembangnya teknologi dalam bidang telekomunikasi. Yakni, dengan hadirnya
Smartphone
.
Smartphone
merupakan telepon genggam yang mempunyai kemampuan
tingkat tinggi yang bekerja menggunakan seluruh perangkat lunak sistem operasi yang
menyediakan hubungan standar dan mendasar bagi pengembang aplikasi. Salah satu
contoh sistem operasi yang ada adalah Android. Saat ini,
Smartphone
dengan sistem
operasi android mudah kita jumpai dalam kehidupan sehari-hari karena android sudah
digemari di beberapa negara, khususnya Indonesia.
Berdasarkan paparan diatas maka penulis ingin menciptakan purwarupa lengan
robot dengan 4
Degree Of Freedom (DOF)
. Peneliti yang sudah pernah membuat adalah
Syarifah Hamidah, Seno D.Panjaitan, dan Dedi Triyanto dalam penelitian yang berjudul
“
Sistem Pengendali Robot Lengan Menggunakan Pemogramman Visual Basic”
. Pada
penelitian ini, mikrokontroler yang digunakan adalah Atmega16. Lengan robot yang
digunakan memiliki 4
Degree Of Freedom (DOF)
dan menggunakan
Graphical User
Interface (GUI) Visual Basic 2010
sebagai antarmuka antara pengguna dengan sistem
kendali lengan robot [1].
Purwarupa lengan robot dengan 4
Degree Of Freedom (DOF)
yang akan dibuat
penulis dapat diaplikasikan untuk menulis kata dengan sistem operasi android sebagai
antarmuka antara pengguna dengan sistem kendali lengan robot. Lengan robot tersebut
dapat dikendalikan oleh penggunanya dari jarak jauh melalui teknologi
Bluetooth
. Lengan
robot dapat digunakan sebagai alat peraga saat pameran atau model saat perancangan
sistem kontrol otomasi.
Dalam pembuatan lengan robot ini memerlukan beberapa motor servo sebagai
penggerak lengan robot. Untuk menggerakkan motor servo tersebut memerlukan
servo
controller
yang digunakan untuk mengatur pergerakan lengan robot tersebut sehingga
dapat bergerak secara bersamaan. Penelitian ini memaparkan salah satu sudut teknologi
robotika dengan lengan robot yang memiliki kemampuan menulis pada
whiteboard
dengan
sebuah ujung yang diberikan spidol. Lengan robot tersebut dirancang agar mampu
bergerak secara seimbang dengan menggerakan motor servo pada setiap sendi robot secara
bersamaan. Robot ini dikendalikan oleh sebuah mikrokontroler Arduino yang
menggunakan sebuah Android sebagai masukannya yang dikirimkan melalui teknologi
Bluetooth
sehingga pergerakkan dari robot ini berjalan secara otomatis sesuai dengan
program yang dibuat. Lengan robot ini memiliki pergerakan sebanyak 4 DOF
( Degree Of
Freedom)
mulai dari pangkal sampai
end-effector
. Lengan robot dapat bergerak ke segala
arah dan dirancang agar mampu mengikuti perintah dari android dengan mikrokontroler ke
semua sudut dimensi dengan motor servo.
1.2
Tujuan dan Manfaat Penelitian
Tujuan dari penelitian ini adalah membuat purwarupa lengan robot dengan 4
DOF
1.3
Batasan Masalah
Agar penelitian ini dapat sesuai dengan apa yang menjadi tujuannya dan
menghindari terlalu kompleksnya permasalahan yang muncul, maka perlu adanya
batasan-batasan masalah yang sesuai dengan judul penelitian ini. Adapun batasan-batasan masalahnya
adalah :
a.
Pembuatan lengan robot ini menggunakan 4 derajat kebebasan (DOF).
b.
Penelitian akan dibatasi pada lengan robot menulis dengan maksimal enam
huruf.
c.
Penulisan huruf menggunakan huruf kapital dengan jenis huruf seperti
fourteen
segment
.
d.
Robot akan dikendalikan dengan sebuah mikrokontroler yakni Arduino yang
akan dihubungkan dengan sebuah Android sebagai masukannya melalui
teknologi
Bluetooth
.
e.
Menggunakan motor RC-servo sebagai aktuator.
f.
Robot dapat bergerak pada sumbu X, Y, dan Z.
g.
Menggunakan modul
Bluetooth
HC-05.
h.
Menggunakan aplikasi Arduino
Bluetooth Terminal
pada android yang
digunakan untuk mengirim data masukan pada arduino.
i.
Mengirim data huruf per satu karakter secara bergantian.
1.4 Metodologi Penelitian
Berdasarkan pada tujuan yang ingin dicapai maka metode yang digunakan adalah :
1.
Studi literatur dan referensi, yaitu dengan cara mendapatkan data dari membaca
buku-buku dan jurnal-jurnal yang terkait dengan mikrokontroler khususnya
Arduino dan juga mengenai modul
Bluetooth
HC-05.
2.
Studi kasus terhadap alat yang telah dibuat sebelumnya. Tahap ini dilakukan
guna memahami prinsip kerja alat sebelumnya.
3.
Menguji modul
Bluetooth
HC-05. Tahap ini dilakukan guna memahami prinsip
kerja dan karakter modul
Bluetooth
HC-05.
5.
Menguji
Servo Controller
. Tahap ini dilakukan guna memahami prinsip kerja
Servo Controller
baik secara sekuensial maupun bersamaan dan mengetahui cara
menggunakan antarmuka pada
Servo Controller
.
6.
Menguji rangkaian kendali dengan mikrokontroler Arduino. Tahap ini guna
lebih memahami bahasa yang digunakan mikrokontroler Arduino dan lebih
memahami cara kerja dengan mencoba membuat rangkaian kendali sederhana
terlebih dahulu.
7.
Perancangan sistem
hardware
dan
software
. Tahap ini bertujuan untuk mencari
dan menentukan komponen-komponen suatu sistem yang akan dibuat dengan
mempertimbangkan faktor-faktor permasalahan dan kebutuhan yang telah
ditentukan.
8.
Pembuatan sistem
hardware
dan
software
. Berdasarkan gambar 1.1,
mikrokontroler sebagai kontrol utama pada purwarupa lengan robot ini.
Mikrokontroler akan memproses masukan dari Android yang dikirim melalui
modul
Bluetooth
sebagai masukan untuk motor bekerja yang akan membuat
lengan robot bergerak membentuk huruf.
Gambar 1.1. Blok Diagram Prototipe Lengan Robot Menulis Kata
9.
Proses pengujian dan pengambilan data. Teknik pengambilan data dilakukan
dengan cara menguji keseluruhan sistem dengan menggabungkan antara
rangkaian kendali dengan rangkaian aktuator. Pengujian dilakukan dengan
mengkomunikasikan Android dengan Arduino.
BAB II
DASAR TEORI
2.1. Mikrokontroler
Mikrokontroler adalah suatu alat elektronika digital yang mempunyai masukan dan
keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus.
Sederhananya, cara kerja mikrokontroler sebenarnya hanya membaca dan menulis data.
Sekedar contoh, bayangkan diri anda saat mulai belajar membaca dan menulis, ketika
Anda sudah bisa melakukan hal itu anda mulai bisa membaca tulisan apapun baik itu
tulisan buku, cerpen, artikel dan sebagainya, dan anda pun mulai bisa menulis hal-hal
sebaliknya. Begitu pula jika anda sudah mahir membaca dan menulis data pada
mikrokontroler maka anda dapat membuat program untuk membuat suatu sistem
pengaturan menggunakan mikrokontroler sesuai dengan keinginan anda. Mikrokontroler
merupakan komputer didalam chip yang digunakan untuk mengontrol peralatan elektronik,
yang menekankan efisiensi dan efektifitas biaya. Secara harfiahnya bisa disebut
"pengendali kecil" dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan
komponen-komponen pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil
dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini. Dengan penggunaan
mikrokontroler ini maka :
1.
Sistem elektronik akan menjadi lebih ringkas
2.
Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari
sistem adalah perangkat lunak yang mudah dimodifikasi
3.
Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak
Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi komponen IC
TTL dan CMOS yang seringkali masih diperlukan untuk aplikasi kecepatan tinggi atau
sekedar menambah jumlah saluran masukan dan keluaran (I/O). Dengan kata lain,
mikrokontroler adalah versi mini atau mikro dari sebuah komputer karena mikrokontroler
sudah mengandung beberapa periferal yang langsung bisa dimanfaatkan, misalnya
port
paralel,
port
serial, komparator, konversi digital ke analog (DAC), konversi analog ke
digital dan sebagainya hanya menggunakan sistem minimum yang tidak rumit atau
kompleks [2].
2.1.1. Mikrokontroler Arduino Mega 2560
Arduino adalah sebuah
platform
elektronik yang
open source.
Nama Arduino tidak
hanya digunakan untuk menamai
board
rangkaiannya saja, tetapi juga untuk menamai
bahasa dan
software
pemrogramannya, serta lingkungan pemrogramannya atau yang
dikenal dengan sebutan
Integrated Development Environment
(IDE). Arduino memiliki
beberapa keunggulan dibandingkan dengan
platform
elektronik lainnya [3]. Beberapa
keunggulan tersebut antara lain:
1.
Modul Arduino adalah sebuah
platform
elektronik yang
open source
yang berbasis
pada kemudahan dan fleksibilitas penggunaan
hardware dan software
. Artinya
pembaca dapat mengunduh
software
dan gambar rangkaian Arduino tanpa harus
membayar kepada pembuat Arduino.
2.
IDE Arduino merupakan
multiplatform
yang dapat dijalankan di berbagai sistem
operasi seperti
Windows, Macintosh, dan Linux
.
3.
Modul Arduino mudah digunakan sebagai sebuah
platform
komputasi fisik yang
sederhana serta menerapkan bahasa pemrograman
processing
.
4.
Modul Arduino merupakan
platform
interaktif karena dapat mengambil masukan
dari berbagai tombol atau sensor, mampu mengendalikan berbagai lampu, motor,
dan
output
fisik lainnya.
5.
Modul Arduino dapat berdiri sendiri, atau dapat melakukan komunikasi dengan
software
yang berjalan di komputer seperti
Flash, Processing,
dan
MaxMSP
.
6.
Pemrograman Arduino menggunakan kabel yang terhubung dengan
port
Universal
Serial Bus
(USB), bukan
port serial
. Fitur ini sangat berguna karena banyak
komputer sekarang ini tidak memiliki
port
serial.
7.
Biaya yang dibutuhkan untuk membeli modul Arduino cukup murah, sehingga
tidak terlalu menakutkan untuk membuat kesalahan.
8.
Proyek Arduino ini dikembangkan dalam dunia pendidikan, sehingga bagi pemula
akan lebih cepat dan mudah untuk mempelajarinya.
Arduino sudah memproduksi begitu banyak minimum sistem. Beberapa diantaranya
adalah Arduino Uno, Arduino Leonardo, Arduino Due, Arduino
Mega 2560, Arduino
Mega ADK, Arduino Mikro, Arduino Duemilanove, Arduino Nano. Dalam penelitian yang
dikerjakan oleh penulis, akan digunakan salah satu produk Arduino yang dikenal dengan
nama Arduino Mega 2560. Gambar 2.1. merupakan tampilan Arduino Mega 2560.
Gambar 2.1. Bentuk fisik Arduino Mega 2560 [4]
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
[4].
Tabel 2.1. Keterangan Pin Arduino Mega 2560 [4]
No.
Parameter
Keterangan
1
ATmega 2560
IC mikrokontroler yang digunakan pada Arduino Mega 2560.
2
Jack
USB
Untuk komunikasi mikrokontroler dengan PC
3
Jack
Adaptor
Masukan
power
eksternal bila Arduino bekerja mandiri (tanpa
komunikasi dengan PC melalui kabel serial USB).
4
Tombol
Reset
Tombol
reset
internal yang digunakan untuk mereset modul
Arduino.
5
Pin
Analog
Menerima input dari perangkat analog lainnya.
6
Pin
Power
•
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
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
Diode
(LED)
Pin
digital
13 merupakan pin yang terkoneksi dengan LED
internal Arduino.
8
Pin PWM
Arduino Mega menyediakan 8 bit output PWM. Gunakan
fungsi
analogWrite()
untuk mengaktifkan pin PWM ini.
9
Pin Serial
Digunakan untuk menerima dan mengirimkan data serial TTL
(
Receiver
(Rx),
Transmitter
(Tx)). Pin 0 dan 1 sudah terhubung
kepada pin serial USB
to
TTL sesuai dengan pin ATmega.
10
Pin
Two Wire
Interface
(TWI)
Terdiri dari
Serial Data Line
(SDA) dan
Serial Interface Clock
(SCL).
11
Pin Digital
Pin yang digunakan untuk menerima
input digital
dan memberi
Tabel 2.1. (Lanjutan) Keterangan Pin Arduino Mega 2560 [4]
12
Pin
Serial
Peripheral
Interface
(SPI)
Terdiri dari 4 buah Pin :
1.
Master In Slave Out
(MISO)
Jalur
slave
untuk mengirimkan data ke
Master.
2.
Master Out Slave In
(MOSI)
Jalur
master
untuk mengirimkan data ke peralatan.
3.
Serial Clock
(SCK)
Clock
yang berfungsi untuk memberikan denyut pulsa ketika
sedang menyinkronkan transmisi data oleh
master
4.
Slave Select
(SS)
Pin untuk memilih jalur
slave
pada perangkat tertentu.
2.1.2. Perangkat Lunak Arduino
Area pemrograman Arduino dikenal dengan
Integrated Development Environment
[image:30.595.83.528.122.739.2](IDE) [5]. 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 [6].
Gambar 2.3. dan Tabel 2.2. merupakan area pemrograman Arduino dan keterangan
beberapa tombol utama.
Tabel 2.2. 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.
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.2. Motor Servo
Motor servo adalah sebuah motor DC yang dilengkapi rangkaian kendali dengan
sistem
closed feedback
yang terintegrasi dalam motor tersebut. Pada motor servo posisi
putaran sumbu (axis) dari motor akan diinformasikan kembali ke rangkaian kontrol yang
ada di dalam motor servo. Gambar 2.4 merupakan bentuk fisik dari motor servo.
Gambar 2.5 merupakan konstruksi dari motor servo yang disusun oleh sebuah
motor DC, gearbox, variabel resistor (VR) atau potensiometer dan rangkaian kontrol.
Potensiometer berfungsi untuk menentukan batas maksimum putaran sumbu (axis) motor
servo. Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang pada
pin kontrol motor servo.
Gambar 2.5. Konstruksi Motor Servo [7]
Motor servo adalah motor yang mampu bekerja dua arah (CW dan CCW) dimana
arah dan sudut pergerakan rotornya dapat dikendalikan dengan memberikan variasi lebar
pulsa (
duty cycle
) sinyal PWM pada bagian pin kontrolnya.
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).
Pulsa Kontrol Motor Servo
Gambar 2.6. Kendali Pulsa Motor Servo [7]
Motor Servo akan bekerja secara baik jika pada bagian pin kontrolnya diberikan
sinyal PWM dengan frekuensi 50 Hz. Dimana pada saat sinyal dengan frekuensi 50 Hz
tersebut dicapai pada kondisi Ton
duty cycle
1.5 ms, maka rotor dari motor akan berhenti
tepat di tengah-tengah (sudut 0°/ netral).
Pada saat Ton
duty cycle
dari sinyal yang diberikan kurang dari 1.5 ms, maka rotor
akan berputar ke berlawanan arah jarum jam (
Counter Clock wise
, CCW) 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.5 ms, maka rotor akan berputar searah jarum jam (
Clock Wise
, CW) dengan
membentuk sudut yang linier pula terhadap besarnya Ton
duty cycle
, dan bertahan diposisi
tersebut [7].
2.3
. Adafruit Servo Shield 16 Channel PWM
I2C lainnya serta sensor untuk pin SDA dan SCL selama alamat mereka tidak konflik.
Gambar 2.7. merupakan bentuk fisik dari Adafruit
Servo
Shield
16
Channel
PWM[8].
Gambar 2.7. Adafruit
Servo
Shield
16
Channel
PWM [8]
Spesifikasi dari Adafruit
Servo
Shield
16
Channel
PWM :
1.
Dapat digunakan untuk mengendalikan hingga 16 motor servo secara serentak
maupun sekuensial.
2.
Mendukung motor servo tipe standar dan kontinus.
3.
Dilengkapi kemampuan untuk membaca pulsa kontrol (posisi) servo,
Enable
dan
Disable
servo, kemampuan menyimpan dan menjalankan hingga 32 sekuen
gerakan, serta kemampuan menyimpan dan kembali ke posisi home (
default
).
4.
Menggunakan komunikasi I
2C, hanya dengan menggunakan 2 pin papan PWM
controller
akan mengendalikan semua 16
channel
atau pin sekaligus tanpa
tambahan pengeluaran untuk menambahkan arduino.
5.
Dapat menumpuk hingga 62 Adafruit
Servo
Shield
16
Channel
PWM dalam 1
arduino sehingga dapat mengendalikan hingga 992 motor servo hanya dengan 2
pin(SDA/SCL).
6.
Pengaturan alamat I
2C secara
hardware
melalui pin A5 untuk SCL dan pin A4
untuk SDA pada arduino.
7.
Dilengkapi dengan
library
yang bisa di
download
untuk dimasukkan ke dalam
arduino.
8.
Menggunakan 2 catudaya. Catudaya modul terpisah dengan catudaya motor servo
dan dilengkapi dengan LED indikator catudaya.
10.
Hampir semua servo di desain untuk bekerja aktif kira-kira di tegangan 5V atau 6V.
Logikanya jika ingin mengendalikan banyak servo maka dibutuhkan arus yang
tidak sedikit agar semua servo dapat bekerja secara serentak sehingga terdapat
beberapa pilihan
power
dibawah ini yang direkomendasikan untuk catudaya motor
servo:
a.
5v 2A
switching power supply
(dapat mengendalikan hingga 4 motor
servo).
b.
5V 10A
switching power supply
(dapat mengendalikan hingga 16 motor
servo)
c.
Jika menggunakan
battery
dapat menggunakan 4x AA
battery
dengan
tegangan 6v atau 4,8v (6v dengan
cell battery
Alkaline dan 4,8v dengan
cell
battery
yang dapat dicas).
2.3.1. Komunikasi I
2C
Bus adalah sistem pengantar yang dilengkapi dengan komponen pengendali untuk
melayani pertukaran data antara komponen
hardware
satu dengan komponen
hardware
lainnya. Pada sistem mikrokontroler terdapat bus Data, bus Alamat, dan beberapa
pengantar pengendali. Semakin tinggi frekuensi
clock
prosesor, maka semakin lebih cermat
pengembang untuk memperhatikan
timing
dari seluruh komponen yang terlibat, agar tidak
terjadi kesalahan dalam transaksi data.
Bus yang cukup sering digunakan adalah bus bersifat paralel. Transaksi data
dilakukan secara paralel sehingga transaksi data lebih cepat. Akan tetapi disisi lain Mahal.
Jika sistem relatif tidak membutuhkan transaksi yang cepat, maka penggunaan Serial Bus
menjadi pilihan. Salah satu pilihan sistem data bus yang sering digunakan adalah I
2C (
Inter
Integrated Circuit
). Sistem Bus I
2C pertamakali diperkenalkan oleh Firma Philips pada
tahun 1979.
Karakter I
2C :
1.
Serial Bus Data dikirim serial secara per-bit.
2.
Menggunakan dua Penghantar Koneksi dengan ground bersama I
2C terdiri dari dua
penghantar:
b.
SDA (
Serial Data
) untuk mentransaksikan data
3.
Jumlah Peserta Bus
maximal
127 peserta dialamatkan melalui 7-bit-alamat. Alamat
ditetapkan kebanyakan secara
hardware
dan hanya sebagian kecil dapat dirubah.
4.
Pengirim dan Penerima setiap transaksi data terjadi antara pengirim (
Transmitter
)
dan penerima (
Receiver
). Pengirim dan penerima adalah peserta bus.
5.
Master
and
Slave
Device
yang mengendalikan operasi transfer disebut Master,
sementara device yang di kendalikan oleh master di sebut Slave.
Aturan Komunikasi I
2C :
1.
I
2C adalah protokol transfer data serial. Device atau komponen yang mengirim data
disebut transmitter, sedangkan device yang menerimanya disebut receiver.
2.
Device
yang mengendalikan operasi transfer data disebut master, sedangkan
device
lainnya yang dikendalikan oleh master disebut slave.
3.
Master device
harus menghasilkan serial
clock
melalui pin SCL, mengendalikan
akses ke BUS serial dan menghasilkan sinyal kendali START dan STOP.
4.
I
2C adalah protokol transfer data serial. Device atau komponen yang mengirim data
disebut transmitter, sedangkan device yang menerimanya disebut receiver.
5.
Device
yang mengendalikan operasi transfer data disebut master, sedangkan
device
lainnya yang dikendalikan oleh master disebut slave.
6.
Master device
harus menghasilkan serial
clock
melalui pin SCL, mengendalikan
akses ke BUS serial dan menghasilkan sinyal kendali START dan STOP.
Definisi-definisi Kondisi Bus :
1.
Bus not busy
:
Pada saat ini Bus tidak sibuk, SCL dan SDA dua-duanya dalam keadaan HIGH.
2.
Start data transfer
:
Ditandai dengan perubahan kondisi SDA dari HIGH ke LOW ketika SCL HIGH.
3.
Stop data transfer
:
Ditandai dengan perubahan kondisi SDA dari LOW ke HIGH ketika SCL HIGH.
4.
Data valid
:
menandakan pengiriman bit baru.
Duty cycle
untuk SCL tidak mesti 50%, tetapi
frekuensi kemunculannya hanya ada 2 macam, yaitu mode standar 100kHz dan fast
mode atau mode cepat 400kHz. Setelah SCL mengirimkan sinyal HIGH yang
kedelapan, arah transfer SDA berubah, sinyal kesembilan pada SDA ini dianggap
sebagai
acknowledge
dari
receiver
ke
transmitter
.
5.
Acknowledge
:
Setiap
receiver
wajib mengirimkan sinyal
acknowledge
atau sinyal balasan
setiap selesai pengiriman 1-byte atau 8-bit data.
Master
harus memberikan ekstra
clock
pada SCL, yaitu clock kesembilan untuk memberikan kesempatan
receiver
mengirimkan sinyal
acknowledge
ke
transmitter
berupa keadaan LOW pada SDA
selama SCL HIGH. Meskipun master berperan sebagai
receiver
, ia tetap sebagai
penentu sinyal STOP. Pada bit-akhir penerimaan byte terakhir, master tidak
mengirimkan sinyal
acknowledge
, SDA dibiarkan HIGH oleh receiver dalam hal
ini master, kemudian master mengubah SDA dari LOW menjadi HIGH yang berarti
sinyal STOP.
2.4.
Bluetooth
Bluetooth adalah spesifikasi industri untuk jaringan kawasan pribadi (personal area
networks atau PAN) tanpa kabel.
Bluetooth
menghubungkan dan dapat dipakai untuk
melakukan tukar-menukar informasi di antara peralatan-peralatan. Spesifiksi dari peralatan
Bluetooth ini dikembangkan dan didistribusikan oleh kelompok
Bluetooth Special Interest
Group.
Awal mula dari
Bluetooth
adalah sebagai teknologi komunikasi
wireless
(tanpa
kabel) yang beroperasi dalam pita frekuensi 2,4 GHz
unlicensed
ISM
(Industrial, Scientific
and Medical)
dengan menggunakan sebuah
frequency hopping tranceiver
yang mampu
menyediakan layanan komunikasi data dan suara secara
real-time
antara
host-host
Bluetooth
dengan jarak jangkauan layanan yang terbatas (sekitar 10 meter).
Bluetooth
berupa
card
yang menggunakan frekuensi radio standar IEEE 802.11 dengan jarak layanan
yang terbatas dan kemampuan data transfer lebih rendah dari
card
untuk
Wireless Local
Area Network
(WLAN).
Protokol
Bluetooth
menggunakan sebuah kombinasi antara
circuit switching
dan
asinkron dan suara sinkron. Setiap kanal suara mendukung sebuah kanal suara sinkron 64
kb/s. Kanal asinkron dapat mendukung kecepatan maksimal 723,2 kb/s asimetris, dimana
untuk arah sebaliknya dapat mendukung sampai dengan kecepatan 57,6 kb/s. Sedangkan
untuk mode simetris dapat mendukung sampai dengan kecepatan 433,9 kb/s. Sebuah
perangkat yang memiliki teknologi
Wireless Bluetooth
akan mempunyai kemampuan
untuk melakukan pertukaran informasi dengan jarak jangkauan sampai dengan 10 meter
(~30 feet). Sistem
Bluetooth
menyediakan layanan komunikasi point to point maupun
komunikasi point to multipoint.
Produk
Bluetooth
dapat berupa PC
card
atau USB
adapter
yang dimasukkan ke
dalam perangkat. Perangkat-perangkat yang dapat diintegerasikan dengan teknologi
Bluetooth
antara lain : mobile PC, mobile phone, PDA (
Personal Digital Assistant
),
headset, kamera, printer, router dan sebagainya. Aplikasi-aplikasi yang dapat disediakan
oleh layanan
Bluetooth
ini antara lain : PC to PC
file transfer
, PC to PC
file synch
(
notebook to desktop), PC to mobile phone, PC to PDA,
wireless headset
, LAN
connection
via ethernet access point
dan sebagainya[9].
2.4.1. Modul Bluetooth HC-05
[image:38.595.83.528.243.686.2]Modul
Bluetooth
seri HC memiliki banyak jenis atau varian, yang secara garis
besar terbagi menjadi dua yaitu jenis
industrial series
yaitu HC-03 dan HC-04 serta
civil
series
yaitu HC-05 dan HC-06. Modul
Bluetooth serial
, yang selanjutnya disebut dengan
modul BT saja digunakan untuk mengirimkan data serial TTL via
Bluetooth
. Modul BT ini
terdiri dari dua jenis yaitu
Master
dan
Slave
.
Gambar 2.8. Bentuk Fisik Modul
Bluetooth
Seri HC-05 [10]
tidak dapat diubah mode kerjanya, contoh adalah HC-06-S. Modul BT ini akan bekerja
sebagai BT Slave dan tidak bisa diubah menjadi Master, demikian juga sebaliknya
misalnya HC-04M. Default mode kerja untuk modul BT HC dengan seri genap adalah
sebagai
Slave
.
Sedangkan modul BT HC dengan nomer seri ganjil, misalkan HC-05, kondisi
default biasanya diset sebagai
Slave
mode, tetapi pengguna bisa mengubahnya menjadi
mode
Master
dengan
AT Command
tertentu. Penggunaan utama dari modul BT ini adalah
menggantikan komunikasi serial via kabel, sebagai contoh:
1.
Jika akan menghubungkan dua sistem mikrokontroler agar bisa berkomunikasi via
serial port maka dipasang sebuah modul BT
Master
pada satu sistem dan modul BT
Slave
pada sistem lainnya. Komunikasi dapat langsung dilakukan setelah kedua
modul melakukan pairing. Koneksi via
Bluetooth
ini menyerupai komunikasi serial
biasa, yaitu adanya pin TXD dan RXD.
2.
Jika sistem mikrokontroler dipasangi modul BT
Slave
maka ia dapat berkomunikasi
dengan perangkat lain semisal PC yang dilengkapi adapter BT ataupun dengan
perangkat ponsel,
Smartphone
dan lain-lain
3.
Saat ini banyak perangkat seperti printer, GPS modul dan lain-lain yang bekerja
menggunakan media
Bluetooth
, tentunya sistem mikrokontroler yang dilengkapi
dengan BT
Master
dapat bekerja mengakses device-device tersebut
Pemakaian module BT pada sistem komunikasi baik antar dua sistem mikrokontrol
maupun antara suatu sistem ke device lain tidak perlu menggunakan driver, tetapi
komunikasi dapat terjadi dengan dua syarat yaitu :
1.
Komunikasi terjadi antara modul BT
Master
dan BT
Slave
, komunikasi tidak akan
pernah terjadi jika kedua modul sama-sama
Master
atau sama-sama
Slave
, karena
tidak akan pernah pairing diantara keduanya
2.
Password
yang dimasukkan cocok
rate
dan
password
saja. Sedangkan untuk modul HC-05 memiliki kemampuan lebih yaitu
bisa diubah
mode
kerjanya menjadi
Master
atau
Slave
serta diakses dengan lebih banyak
AT
Command
, modul ini sangat direkomendasikan, terutama dengan flexibilitasnya dalam
pemilihan mode kerjanya. Dalam penelitian ini penulis akan menggunakan modul
Bluetooth
seri HC-05[10].
2.4.2. Pengaturan HC-05 dengan AT-COMMAND
Pengaturan modul
Bluetooth
HC-05 dapat dilakukan dengan pengiriman
AT-Command. AT-Command adalah antarmuka perangkat lunak utama untuk modul nirkabel.
AT-Command menyediakan antarmuka untuk berinteraksi dengan modul untuk melakukan
berbagai tugas seperti mendapatkan informasi tentang modul
Bluetooth
, Menganti nama
devais modul, menganti kecepatan transmisi data dll Beberapa AT-Command yang
ditetapkan dalam spesifikasi adalah opsional. Dalam hal ini, pengiriman AT-Command
dilakukan melalui Arduino Uno. Untuk melakukan pengiriman AT-Command mode kerja
modul
Bluetooth
HC-05 perlu diubah dari mode transmisi data menjadi mode konfigurasi
dengan cara memberikan masukan
high
pada pin
KEY
pada modul
Bluetooth
HC-05.
Selain itu juga diperlukan beberapa
wiring
dan sedikit program pada Arduino Uno melalui
Arduino IDE. Pengiriman AT-Command dilakukan melalui serial monitor pada Arduino
IDE seperti yang terlihat pada Gambar 2.9.
2.5. Pemodelan Kinematika Dalam Sistem Robotik
Kinematika robot adalah studi analitis pergerakan lengan robot terhadap sistem
kerangka koordinat acuan yang diam/bergerak tanpa memperhatikan gaya yang
menyebabkan pergerakan tersebut. Model kinematika merepresentasikan hubungan
end-effector
dalam ruang tiga dimensi dengan variabel sendi dalam ruang sendi. Persamaan
kinematika maju mendeskripsikan posisi dan orientasi
end-effector
yang dinyatakan dalam
posisi sendi. Sedangkan persamaan kinematika balik mendeskripsikan konfigurasi posisi
sendi untuk menghasilkan posisi dan orientasi
end-effector
tertentu.
Secara garis besar sistem robotik terdiri dari sistem kontroler, elektronik dan
mekanik. Dalam bentuk diagram blok dapat dinyatakan seperti dalam Gambar 2.10 berikut
ini.
Gambar 2.10. Diagram Sistem Robotik [11]
G(s)
adalah fungsi alih pengendali, sedangkan
H(s)
adalah fungsi alih elemen
umpan balik untuk sistem robot secara fisik termasuk aktuator dan sistem elektroniknya.
Komponen
ri
adalah masukan acuan yang dalam penerapannya dapat berupa posisi,
kecepatan, dan percepatan. Dalam fungsi waktu, nilai masukan ini dapat bervariasi dan
kontinyu yang membentuk suatu konfigurasi trayektori. Komponen
e
adalah nilai galat
antara keluaran dan masukan acuan, sedangkan
u
adalah keluaran dari pengendali dan
y
adalah fungsi gerak robot yang diharapkan selalu sama dengan acuan yang didefinisikan
pada masukan
ri
.
Jika masukan merupakan fungsi dari suatu koordinat vektor posisi dan orientasi
P
(x,y,z) dan keluarannya adalah
θ
(θ
1,
θ
2,…,
θ
n) dimana
n
adalah jumlah sendi atau DOF,
Gambar 2.11. Diagram Sistem Kontrol Robotik [11]
Dalam Gambar 2.11 di atas, keluaran yang diukur dari gerakan robot adalah dalam
domain sudut dari sendi-sendi, baik sendi pada sistem tangan/kaki atau sudut dari
perputaran roda jika robot tersebut adalah
mobile robot
. Sedangkan yang diperlukan oleh
pengguna dalam pemrograman atau dalam pemetaan ruang kerja robot adalah posisi (ujung
tangan atau titik tertentu pada bagian robot) yang dinyatakan sebagai koordinat 2D
(kartesian) atau 3D. Dengan demikian perlu dilakukan transformasi koordinat antara ruang
kartesian dengan ruang sendi/sudut ini. Pada Gambar 2.12 dinyatakan sebagai kinematika
balik dan kinematika maju. Kombinasi antara transformasi koordinat
P
ke
θ
dengan
pengendali
G(s)
disebut sebagai pengendali kinematika. Masukannya berupa sinyal galat
P
,
e
p,
sedangkan keluarannya adalah sinyal kemudi
u
untuk aktuator. Dalam konteks
praktis,
u
adalah sinyal sinyal analog dari DAC untuk seluruh aktuator robot.
2.5.1. Konsep Kinematika
Dari Gambar 2.11, pengendali dinyatakan sebagai pengendali kinematik karena
mengandung komponen transformasi ruang kartesian ke ruang sendi. Dengan demikian
diperoleh keluaran pengendali
u
yang bekerja dalam ruang sendi,
u
(θ
1,
θ
2,…,
θ
n).
Sebaliknya, pengendali memerlukan umpan balik dalam bentuk koordinat karena acuan
diberikan dalam bentuk koordinat. Penjelasan ini dapat diilustrasikan dalam Gambar 2.12
berikut ini.
Dari Gambar 2.12 dapat diperoleh dua pernyataan mendasar, yaitu:
• Jika jari-jari r dan
θ
dari suatu struktur robot n-DOF diketahui, maka posisi
P
(x,y,z)
dapat dihitung. Jika
θ
merupakan sebuah fungsi berdasarkan waktu
θ
(t), maka posisi
dan orientasi
P
(t) dapat dihitung juga secara pasti. Transformasi koordinat ini dikenal
sebagai kinematika maju.
• Jika posisi dan orientasi
P
(t) diketahui maka,
θ
(t) tidak langsung dapat dihitung tanpa
mendefinisikan berapa DOF struktur robot itu. Jumlah sendi n dari n-DOF yang
dapat dibuat untuk melaksanakan tugas sesuai dengan posisi dan orientasi
P
(t) itu
dapat bernilai n=(m,m+1, m+2,…,m+p) dimana m adalah jumlah sendi minimum
dan p adalah jumlah sendi yang dapat ditambahkan. Robot berstruktur m-DOF
disebut dengan robot
nonredundant
, sedang bila (m+p)-DOF maka disebut sebagai
robot
redundant
. Transformasi ini dikenal sebagai kinematika balik (
Invers
Kinematics
).
Dari pernyataan di atas nampak bahwa analisis kinematika maju adalah relatif
sederhana dan mudah diimplementasikan. Di sisi lain, karena variabel-variabel bebas pada
robot yang diperlukan dalam akusisi kendali adalah berupa variabel-variabel sendi
(aktuator), sedang tugas yang didefinisikan hampir selalu dalam acuan koordinat kartesian,
maka analisis kinematika balik lebih sering digunakan dan dikaji secara mendalam dalam
dunia robotik. Jadi, kinematik dalam robotik adalah suatu bentuk pernyataan yang berisi
tentang deskripsi matematik geometri dari suatu struktur robot. Dari persamaan kinematik
dapat diperoleh hubungan antara konsep geometri ruang sendi pada robot dengan konsep
koordinat yang biasa dipakai untuk menentukan kedudukan dari suatu obyek.
Model kinematik robot dapat dibedakan dalam dua kelompok model pergerakan, yaitu :
1.
Holonomic
2.
Nonholonomic
Gambar 2.13. Gerakan Holonomic [11]
Berbeda dengan gerak nonholonomic. Ujung atau suatu titik yang memiliki sifat
nonholonomic mempunyai keterbatasan dalam arah gerakan. Gerak nonholonomic dapat
diilustrasikan seperti menggoreskan ujung pisau atau cutter ke atas permukaan kayu. Arah
gerak nonholonomic ini dibatasi oleh efek sentuhan ujung pipih yang menempel pada
permukaan kayu, sehingga tidak dapat bergerak dengan bebas ke kiri atau ke kanan tanpa
mengikuti arah sisi yang tajam. Jika diinginkan gerakan melengkung ataupun sudut tajam
terlebih dahulu harus mengarahkan sisi pisau yang tajam ke arah yang segaris dengan arah
gerak yang diinginkan. Contoh klasik kinematik dalam robotik yang memiliki sifat
nonholonomic adalah sistem penggerak dua roda kanan kiri pada mobile robot dengan satu
atau lebih roda bebas ( castor ) untuk menjaga keseimbangan.
Gambar 2.14. Gerakan Nonholonomic [11]
2.5.2. Penggunaan Persamaan Trigonometri
Analisis persamaan kinematik dapat diselesaikan dengan cara paling dasar yaitu
menggunakan persamaan trigonometri. Setiap komponen dalam koordinat (x, y, z)
dinyatakan sebagai transformasi dari tiap-
tiap komponen ruang sendi(r, θ). Jari
-jari r dalam
persamaan sering dituliskan sebagai panjang lengan atau link l. Untuk koordinat 2D
komponen z tidak dapat dituliskan. Pada robot manipulator dapat dianalisis mulai dari satu
sendi hingga tiga sendi.
Analisis kinematik lengan robot dengan satu sendi, yaitu
Gambar 2.16. Konfigurasi Lengan Robot Satu Sendi [11]
Kedudukan ujung lengan
�
(
�
,
�
)
dapat diperoleh dengan cara kinematik balik atau
invers kinematics
sebagai berikut,
�
= tan
−
1
(
y
x
)
(2.1)
Analisis kinematik lengan robot dengan dua sendi, yaitu
Kedudukan ujung lengan dinyatakan sebagai
�
(
�
,
�
)
sebagai berikut,
�
(
�
,
�
) =
�
(
�1
,
�2
)
( 2.2 )
Jika P diasumsikan sebagai vektor penjumlahan yang terdiri dari vektor r1 lengan-1
dan r2 lengan r2, yaitu :
�1
= [
�1
cos
�1
,
�1
sin
�1
]
( 2.3 )
�2
= [
�2
cos(
�1
+
�2
) ,
�2
sin(
�1
+
�2
)]
( 2.4 )
Maka,
�
=
�1
cos
�1
+
�2
cos
(
�1
+
�2
)
( 2.5 )
�
=
�
1sin
�
1+
�
2sin
(
�
1+
�
2)
( 2.6 )
Kinematika balik lengan robot dapat dijabarkan sebagai berikut. Dengan
menggunakan hukum identitas trigonometri,
cos (
�
+
�
) = cos(
�
) cos(
�
)
−
sin(
�
) sin
(
�
)
(2.7)
sin (
�
+
�
) = sin(
�
) cos(
�
) + sin(
�
) cos
(
�
)
(2.8)
Persamaan (2.5) dan (2.6) dapat ditulis kembali,
�
=
�
1cos
�
1+
�
2cos
�
1cos
�
2− �
2sin
�
1sin
�
2(2.9)
�
=
�
1���
�
1+
�
2sin
�
1cos
�
2+
�
2cos
�
1sin
�
2(2.10)
Dari dua persamaan terakhir ini kita dapat mencari
�
2
terlebih dahulu dengan
mengeluarkan cos
�
2
dari kedua persamaan. Dengan operasi pangkat dua pada kedua nya,
dan dikombinasikan diperoleh,
��� �
2
=
�
2
+
�
2−�
1 2−�
22
2
�
1�
2(2.11)
Sehingga,
�
2
= arccos
(
�
2+
�
2−�
1 2−�
22
2
�
1�
2)
(2.12)
tan
�
=
�
2sin
�
2�
2cos
�
2+
�
1dan
(2.13)
tan
�
=
�
�
(2.14)
Sedangkan,
�
1
=
� − �
(2.15)
Dengan menggunakan hukum identitas trigonometri,
tan(
� − �
) =
tan (
�
)
−
tan
(
�
)
1+tan (
�
) tan (
�
)
(2.16)
Didapat
tan
�
1
=
(
y(
�
1+
�
2cos
θ
2
) – x .
�
2sin
θ
2
x(
�
1+
�
2cos
θ
2) + y .
�
2sin
θ
2
)
(2.17)
Sehingga
�
1dapat dihitung,
�
1
= arctan
(
y(
�
1+
�
2cos
θ
2
) – x .
�
2sin
θ
2
x(
�
1+
�
2cos
θ
2) + y .
�
2sin
θ
2
)
(2.18)
Alhasil, Persamaan (2.12) dan (2.18) adalah persamaan kinematika balik bagi lengan robot
dua sendi.
[image:47.595.83.528.241.728.2]Analisis kinematik lengan robot dengan tiga sendi, yaitu
Dengan cara analisis kinematik balik yang sama seperti pada persamaan (2.3)
hingga (2.8) koordinat
�
(
�
�,
�
�)
dapat diperoleh,
�
�=
�
1cos
�
1+
�
2cos(
�
1+
�
2) +
�
3cos
(
�
1+
�
2+
�
3)
(2.19)
�
�=
�
1sin
�
1+
�
2sin(
�
1+
�
2) +
�
3sin
(
�
1+
�
2+
�
3)
(2.20)
Dengan
�
= (
�
1+
�
2+
�
3)
(2.21)
Dimana,
�
adalah sudut arah hadap lengan-3 terhadap sumbu X. Sehingga, jika
(
�
�,
�
�)
dan
(
�
,
�
)
diketahui maka
�
2dan
�
1dapat dicari dengan menggunakan
Persamaan (2.12) dan (2.18). Dari
(
�
�,
�
�)
dan
(
�
,
�
)
,
�
juga dapat dicari, sehingga
�
3
BAB III
PERANCANGAN SISTEM
Bab ini menjelaskan mengenai perancangan purwarupa
lengan robot dengan 4
Degree
Of Freedom (DOF)
yang dikontrol dari Android berbasis Arduino. Perancangan sistem yang
akan dibahas pada bab ini terdiri dari dua bagian, yaitu perangkat keras (
hardware
) dan
perangkat lunak (
software
). Perancangan sistem yang dibahas dalam bab ini terbagi dalam
tiga bagian besar, yaitu:
a.
Proses Kerja Sistem.
b.
Perancangan perangkat keras
-
Perancangan lengan robot.
-
Rangkaian pengendali utama dan motor servo.
c.
Perancangan perangkat lunak
-
Diagram Alir Utama.
-
Perangkat lunak pengendali utama dengan Arduino IDE.
-
Perangkat lunak antarmuka dengan Android.
3.1. Proses Kerja Sistem
Gambar 3.1. merupakan blok diagram sistem. Pada blok diagram tersebut,
perangkat keras yang akan dibuat terdiri dari lima bagian, yaitu sistem dari sistem operasi
Android, Modul
Bluetooth
HC-05, Arduino Mega 2560,
Servo Controller
, dan Motor RC
Servo. Rangkaian kontroler Arduino Mega 2560
pada prinsipnya akan menerima data yang
dikirimkan dari sistem operasi Android melalui
Bluetooth
yang akan diolah oleh modul
Bluetooth
HC-05 yang terhubung secara serial dengan Arduino Mega 2560.
Data yang diterima oleh kontroler Arduino Mega 2560 tersebut akan diolah.
Selanjutnya rangkaian kontroler Arduino Mega 2560 memberikan instruksi pada Motor RC
Servo yang dikendalikan oleh
Servo Controller
.
Modul
Bluetooth
HC-05
Arduino Mega 2560
RC-Servo (Sendi 1)
RC-Servo (Sendi 2)
RC-Servo (Sendi 3)
RC-Servo (Sendi 4)
SO Android
BT
Servo Controller
Gambar 3.1. Blok Diagram Sistem
3.2. Perancangan Perangkat Keras ( Hardware )
3.2.1. Desain Lengan Robot
Gambar 3.2. merupakan gambar keseluruhan
design
3D lengan robot menulis kata
berbasis mikrokontroler arduino. Lengan robot ini disusun dengan 5 bagian utama sebagai
aktuator yang akan digerakkan dengan motor RC
servo
. Kelima bagian utama ini disebut
sebagai penghubung atau
link
, yang meliputi :
1.
Base
(bagian dasar)
2.
Shoulder
(bagian bahu)
3.
Elbow
(bagian siku)
4.
Pitch
(bagian pergelangan)
5.
End-Effector
(bagian ujung yang diberi spidol)
Sedangkan bagian yang berperan sebagai penggerak (sendi) berdasarkan gerakkan
motor RC
servo
disebut sebagai
joint
.
Gambar 3.3. merupakan design 3D bagian dasar (
base
) yang berbentuk lingkaran
berdiameter 25cm. Bagian ini 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
bergerak secara rotasi dan dapat
menyebabkan perubahan posisi pada lengan-lengan penghubung yang lain.
Gambar 3.3. Bagian Base dan Penggeraknya
Gambar 3.4. merupakan dimensi dari lengan robot dimana 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
end-effector
adalah bagian yang digunakan untuk
mencekam spidol
.
Panjang
end-effector
sampai pada ujung spidol memiliki panjang 10cm.
Total keseluruhan panjang lengan robot dari pangkal
shoulder
sampai pada ujung spidol
adalah 45cm. 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
).
(a)
(b)
Gambar 3.5. (a) Desain 3D
End-Effector
Lengan Robot. (b) Desain 3D
Whiteboard
Gambar 3.5.a adalah desain 3D
end-effector
dari prototipe lengan robot yang akan
dibuat. Berfungsi sebagai tempat menaruh spidol yang akan digunakan untuk menulis.
Bagian ini akan ditempelkan pada bagian ujung dari lengan 3 pada lengan robot dengan
bantuan 2 buah baut untuk mengunci
end-effector
dengan lengan 3. Gambar 3.5.b adalah
desain dari whiteboard yang akan digabung dengan meja.
Tabel 3.1. Tabel Perkiraan Berat Lengan dan Beban yang Diangkat Lengan
NO.
Lengan Penghubung (link)
Perkiraan Berat
setiap lengan
Beban yang
diangkat setiap
lengan
1.
End-Effector
200gr
200gr
2.
Pitch
120gr
320gr
3.
Elbow
200gr
520gr
4.
Shoulder
500gr
1020gr
5.
Base
200gr
200gr
Pada tabel 3.1. untuk perkiraan berat setiap lengan merupakan total berat dari
material lengan dan motor RC
servo
yang menempel pada lengan. Sedangkan pada kolom
beban yang diangkat setiap lengan merupakan penjumlahan berat dari keseluruhan beban
yang harus diangkat oleh setiap lengan. Perancangan mekanik untuk desain lengan robot
menulis kata menggunakan material aluminium karena ringan dan mudah dikerjakan. Pada
tabel 3.1. bagian
base
diasumsikan memiliki berat yang ringan walaupun terletak paling
dasar karena bagian
base
tidak terbebani oleh berat keseluruhan dari
prototype
lengan
robot karena seluruh lengan