• Tidak ada hasil yang ditemukan

Kontroler lengan robot berbasis smartphone android.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Kontroler lengan robot berbasis smartphone android."

Copied!
134
0
0

Teks penuh

(1)

INTISARI

Hastobot adalah miniatur lengan robot industri yang dikembangkan oleh Program Studi Teknik Elektro Universitas Sanata Dharma. Hastobot terbuat dari akrilik dan digerakkan dengan 4 buah motor servo. Hastobot memiliki 4 derajat kebebasan. Penelitian ini difokuskan terhadap pembuatan kontroler untuk lengan robot Hastobot menggunakan Arduino dan Android dengan komunikasi Bluetooth.

Arduino terhubung dengan modul Bluetooth HC-05 sebagai slave untuk menerima data dari aplikasi Android. Aplikasi Android dibuat dengan Eclipse IDE (Integrated Development Environment). Motor servo digerakkan melalui mode geser touch screen pada aplikasi Android. Format data yang dikirimkan aplikasi Android menggunakan header data untuk mengidentifikasi pergerakan masing-masing motor servo. Aplikasi Android dirancang mampu menggerakkan lengan robot sesuai dengan daerah kerja lengan robot.

Aplikasi yang dihasilkan mampu menggerakkan lengan robot dengan baik. Aplikasi juga memiliki sistem pengaman lengan robot dari kerusakan akibat pergerakan motor servo yang tidak sesuai dengan daerah kerja lengan robot. Komunikasi data yang diterima Arduino mampu ditrasmisikan dengan baik dalam radius 15 meter.

(2)

ABSTRACT

Hastobot is an arm robot miniature developed by Electrical Engineering Sanata Dharma University. Hastobot made of acrylic and driven by 4 servo motors. Hastobot has 4 degree of freedom. This research was focused on Hastobot controller using Arduino and Android via Bluetooth communication.

Arduino is connected to Bluetooth HC-05 as a slave to receive data from Android Application. Android application was made from Eclipse IDE. Servo motors is driven by seekbar interface on Android application. Data format that has been sent from Android application has a data header to identificate which servo is desired to move. This application was design to make the robot moves as its workspaces.

Application was able to work well. The application has a damaging prevention from servo moves that‟s not equal to workspaces. Android application can only communicate within 15 meters of radius.

(3)

TUGAS AKHIR

KONTROLER LENGAN ROBOT BERBASIS

SMARTPHONE ANDROID

Diajukan untuk memenuhi salah satu syarat

memperoleh gelar Sarjana Teknik pada

Program Studi Teknik Elektro

Fakultas Sains dan Teknologi

disusun oleh :

YOEL ANGGUN WIRATAMA PUTRA

NIM : 115114046

PROGRAM STUDI TEKNIK ELEKTRO

JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(4)

i

TUGAS AKHIR

KONTROLER LENGAN ROBOT BERBASIS

SMARTPHONE ANDROID

Diajukan untuk memenuhi salah satu syarat

memperoleh gelar Sarjana Teknik pada

Program Studi Teknik Elektro

Fakultas Sains dan Teknologi

disusun oleh :

YOEL ANGGUN WIRATAMA PUTRA

NIM : 115114046

PROGRAM STUDI TEKNIK ELEKTRO

JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(5)

ii

FINAL PROJECT

ARM ROBOT CONTROLLER

USING ANDROID SMARTPHONE

In partial fulfilment of the requirements

for the degree of

Sarjana Teknik

Electrical Engineering Study Program

Faculty of Science and Technology

YOEL ANGGUN WIRATAMA PUTRA

NIM : 115114046

ELECTRICAL ENGINEERING STUDY PROGRAM

ELECTRICAL ENGINEERING DEPARTMENT

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

(6)

iii

HALAMAN PERSETUJUAN

TUGAS AKHIR

KONTROLER LENGAN ROBOT BERBASIS

SMARTPHONE ANDROID

disusun Oleh :

YOEL ANGGUN WIRATAMA PUTRA

NIM : 115114046

Telah disetujui oleh :

Pembimbing

(7)

iv

HALAMAN PENGESAHAN

TUGAS AKHIR

KONTROLER LENGAN ROBOT BERBASIS

SMARTPHONE ANDROID

disusun Oleh :

YOEL ANGGUN WIRATAMA PUTRA

NIM : 115114046

Telah dipertahankan di depan panitia penguji

pada tanggal 27 November 2015

dan dinyatakan memenuhi syarat

Susunan Panitia Penguji :

Nama Lengkap

Tanda Tangan

Ketua

:

Ir. Tjendro, M.Kom

Anggota

:

Djoko Untoro, S.Si, M.T

Anggota

:

Petrus Setyo Prabowo, S.T., M.T.

Yogyakarta, ...

Fakultas Sains dan Teknologi

Universitas Sanata Dharma

Dekan,

(8)

v

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa

tugas akhir ini tidak memuat karya atau bagian karya orang lain,

kecuali yang telah disebutkan dalam kutipan dan daftar pustaka

sebagaimana layaknya karya ilmiah

Yogyakarta, ...

(9)

vi

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

“Aku adalah orang yang bodoh, keras kepala, tidak

menghargai hidup, tidak bersyukur dan egois ketika aku

tidak mencari, menyiakan bahkan tidak menggunakan

kesempatan yang ada.”

Yoel Anggun Wiratama Putra

Karya ini kupersembahkan untuk...

Tuhan Yesus Kristus, Pembimbing dan Penyemangatku,

Keluarga tercinta,

Teman-teman seperjuangan TE 2011,

(10)

vii

HALAMAN PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK

KEPENTINGAN AKADEMIS

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :

Nama : YOEL ANGGUN WIRATAMA PUTRA

Nomor Mahasiswa : 115114046

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan

Universitas Sanata Dharma karya ilmiah saya yang berjudul :

KONTROLER LENGAN ROBOT BERBASIS SMARTPHONE

ANDROID

Beserta perangkat yang diperlukan (bila ada). Dengan demikian, saya telah memberikan

kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan

dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan

secara terbatas, dan mempublikasikannya di internet atau media lain untuk kepentiingan

akademis tanpa perlu meminta ijin dari saya meupun memberikan royalti kepada saya

selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini saya buat dengan sebenarnya.

Yogyakarta,...

(11)

viii

INTISARI

Hastobot adalah miniatur lengan robot industri yang dikembangkan oleh Program Studi Teknik Elektro Universitas Sanata Dharma. Hastobot terbuat dari akrilik dan digerakkan dengan 4 buah motor servo. Hastobot memiliki 4 derajat kebebasan. Penelitian ini difokuskan terhadap pembuatan kontroler untuk lengan robot Hastobot menggunakan Arduino dan Android dengan komunikasi Bluetooth.

Arduino terhubung dengan modul Bluetooth HC-05 sebagai slave untuk menerima data dari aplikasi Android. Aplikasi Android dibuat dengan Eclipse IDE( Integrated Development Environment ). Motor servo digerakkan melalui mode geser touch screen pada aplikasi Android. Format data yang dikirimkan aplikasi Android menggunakan header data untuk mengidentifikasi pergerakan masing-masing motor servo. Aplikasi Android dirancang mampu menggerakkan lengan robot sesuai dengan daerah kerja lengan robot.

Aplikasi yang dihasilkan mampu menggerakkan lengan robot dengan baik. Aplikasi juga memiliki sistem pengaman lengan robot dari kerusakan akibat pergerakan motor servo yang tidak sesuai dengan daerah kerja lengan robot. Komunikasi data yang diterima Arduino mampu ditrasmisikan dengan baik dalam radius 15 meter.

(12)

ix

ABSTRACT

Hastobot is an arm robot miniature developed by Electrical Engineering Sanata Dharma University. Hastobot made of acrylic and driven by 4 servo motors. Hastobot has 4 degree of freedom. This research was focused on Hastobot controller using Arduino and Android via Bluetooth communication.

Arduino is connected to Bluetooth HC-05 as a slave to receive data from Android Application. Android application was made from Eclipse IDE. Servo motors is driven by seekbar interface on Android application. Data format that has been sent from Android application has a data header to identificate which servo is desired to move. This application was design to make the robot moves as its workspaces.

Application was able to work well. The application has a damaging prevention from servo moves that‟s not equal to workspaces. Android application can only communicate within 15 meters of radius.

(13)

x

KATA PENGANTAR

Puji dan syukur kepada Tuhan Yang Maha Esa yang telah memberikan kenikmatan

berupa kesehatan jasmani dan rohani sehingga penulis dapat menyelesaikan tugas akhir

dengan lancar dari awal hingga diakhiri dengan munculnya laporan akhir dengan judul

“KONTROLER LENGAN ROBOT BERBASIS SMARTPHONE ANDROID”.

Dalam pembuatan laporan akhir dari awal hingga akhir tentunya ada bantuan dari

beberapa pihak sehingga laporan akhir yang disusun oleh penulis sesuai dengan ketentuan

yang ada. Dengan adanya bantuan dari beberapa pihak, penulis dapat menyelesaikan

laporan akhir tersebut dan hendak mengucapkan terima kasih kepada beberapa pihak

diantaranya adalah sebagai berikut :

1. Tuhan Yang Maha Esa yang telah memberikan kenikmatan berupa kesehatan

jasmani dan rohani.

2. Kedua orang tua dan saudara penulis yang telah mendukung dan memberikan doa

restu.

3. Bapak Petrus Setyo Prabowo, S.T., M.T., sebagai Ka. Prodi Teknik Elektro

Universitas Sanata Dharma Yogyakarta

4. Bapak Djoko Untoro, S.Si,M.T., sebagai Dosen Pembimbing Tugas Akhir yang

dengan penuh pengertian dan kesabaran telah meluangkan waktu untuk

memberikan bimbingan, masukan, dan motivasi dalam penulisan laporan akhir ini.

5. Bapak Ir. Tjendro, M.Kom., dan Bapak Petrus Setyo Prabowo, S.T., M.T., sebagai

dosen penguji yang telah memberikan bimbingan dan masukan dalam merevisi

laporan akhir ini.

6. Teman-teman Teknik Elektro angkatan 2011 yang telah banyak membantu baik

lahir maupun batin.

7. Semua pihak yang telah memberikan bantuan dalam penyusunan laporan akhir ini.

Dalam penyusunan laporan akhir ini tentunya terdapat kekurangan dan kelemahan

serta jauh dari kata sempuna. Karena kesempurnaan hanya milik Tuhan semata. Oleh

Karena itu penulis menerima masukan berupa kritik dan saran dengan harapan menjadikan

(14)

xi

Semoga laporan akhir ini dapat diterima dengan baik oleh semua pihak. Dan semua

kekurangan yang ada dapat dimaklumi. Semoga laporan akhir ini dapat memberikan

manfaat kepada penulis dan pembaca.

Yogyakarta, ...

(15)

xii

DAFTAR ISI

HALAMAN JUDUL ... i

HALAMAN PERSETUJUAN ... iii

HALAMAN PENGESAHAN ... iv

PERNYATAAN KEASLIAN KARYA ... v

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ... vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii

INTISARI ... viii

ABSTRACT ... ix

KATA PENGANTAR ... x

DAFTAR ISI ... xii

DAFTAR GAMBAR ... xv

DAFTAR TABEL ... xvii

BAB I PENDAHULUAN 1.1 Latar Belakang ... 1

1.2 Tujuan ... 2

1.3 Manfaat ... 2

1.4 Batasan Masalah ... 3

1.5 Metodologi Penelitian ... 3

BAB II DASAR TEORI 2.1 Sistem Operasi Android 2.1.1 Sejarah dan Perkembangan ... 4

2.1.2 Android Software Stack ... 7

2.1.3 Pengembangan Android ... 8

2.2 Bluetooth 2.2.1 Sejarah dan Pengertian ... 10

2.2.2 Bluetooth Protocol ... 10

(16)

xiii

2.2.4 Jangkauan Bluetooth ... 14

2.2.5 Keamanan Bluetooth ... 14

2.2.6 Bluetooth Android ... 15

2.2.7 Modul Bluetooth HC-05 ... 16

2.3 Arduino Board ... 17

2.4 Mikrokontroler ATmega 2.4.1 Fitur dan Arsitektur ... 20

2.4.2 Konfigurasi Pin ATmega 328 ... 22

2.5 Robot 2.5.1 Lengan robot ... 24

2.5.2 Kinematika Robot ... 25

2.5.3 Analisa Kinematika Dengan Persamaan Trigonometri ... 26

2.6 Motor Servo 2.6.1 Pengertian ... 27

2.6.2 Pengendalian Motor Servo ... 29

2.6.3 Spesifikasi Motor Servo ... 30

BAB III PERANCANGAN 3.1 Pemodelan Sistem ... 31

3.2 Perancangan dan Konfigurasi Modul Bluetooth 3.2.1 Pengkabelan Modul Bluetooth dengan Arduino Uno ... 32

3.2.2 Konfigurasi Modul Bluetooth HC-05 ... 32

3.3 Desain Lengan Robot ... 36

3.4 Perancangan User Interface pada Android ... 42

3.5 Format Pengiriman Data ... 44

3.6 Perancangan Diagram Alir 3.6.1 Diagram Alir Aplikasi Android Kontroler Lengan Robot ... 46

3.6.2 Diagram Alir Arduino Uno ... 47

(17)

xiv

4.1.2 Kalibrasi dan Daerah Kerja Lengan Robot ... 51

4.1.3 Analisa Matematis Lengan Robot ... 57

4.2 Aplikasi Kontroler Lengan Robot 4.2.1 Antarmuka Aplikasi Kontroler Lengan Robot ... 64

4.2.2 Cara Penggunaan Aplikasi Kontroler Lengan Robot ... 68

4.2.3 Pembahasan Program Komunikasi Bluetooth ... 68

4.2.4 Hasil Komunikasi Aplikasi Kontroler Lengan Robot ... 72

KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 77

5.1 Saran ... 77

DAFTAR PUSTAKA ... 78

(18)

xv

DAFTAR GAMBAR

Gambar 2.1 Android Software Stack ... 7

Gambar 2.2 Bluetooth Stack Protocol ... 10

Gambar 2.3 Jaringan Piconet ... 12

Gambar 2.4 Jaringan Scatternet ... 12

Gambar 2.5 Proses Pairing ... 14

Gambar 2.6 Modul Bluetooth HC-05 ... 15

Gambar 2.7 Diagram Blok Sederhana Arduino Uno ... 16

Gambar 2.8 Bagian-Bagian Arduino ... 17

Gambar 2.9 Arsitektur Mikrokontroler ATmega 328 ... 20

Gambar 2.10 Konfigurasi Pin ATmega 328 ... 20

Gambar 2.11 Bagian umum lengan robot ... 23

Gambar 2.12 Relasi Kinematika Maju dan balik ... 23

Gambar 2.13 Robot Lengan 1 DOF ... 24

Gambar 2.14 Robot Lengan 2 DOF ... 24

Gambar 2.15 Motor Servo ... 26

Gambar 2.16 Gerak Motor Servo ... 27

Gambar 2.17 Motor Servo FITECH 5654 MG ... 28

Gambar 2.18 Perhitungan torsi lengan robot ... 29

Gambar 2.19 Perhitungan torsi lengan robot elbow ... 30

Gambar 3.1 Diagram Blok Sistem ... 31

Gambar 3.2 Pengkabelan Modul Bluetooth HC-05 ... 32

Gambar 3.3 Listing Program setting Bluetooth HC-05 ... 33

Gambar 3.4 Status Mode AT Command HC-05 ... 34

Gambar 3.5 Setting Nama Bluetooth HC-05 ... 34

Gambar 3.6 Setting Password Bluetooth HC-05 ... 34

Gambar 3.7 Setting Role Bluetooth HC-05 ... 35

Gambar 3.8 Setting baud rate, stop bit, parity Bluetooth HC-05 ... 35

Gambar 3.9 Alamat Bluetooth HC-05 ... 36

(19)

xvi

Gambar 3.11 Desain Roda Gigi Gripper Me Arm v3 ... 37

Gambar 3.12 Desain Link dan Joint(1)... 37

Gambar 3.13 Desain Link dan Joint(2)... 38

Gambar 3.14 Susunan Motor Lengan Robot Me Arm v3(1) ... 38

Gambar 3.15 Susunan Motor Lengan Robot Me Arm v3(2) ... 39

Gambar 3.16 Acuan Sudut Pergerakan Lengan Shoulder ... 39

Gambar 3.17 Acuan Sudut Pergerakan Lengan Elbow ... 40

Gambar 3.18 Acuan Posisi End Effector ... 40

Gambar 3.19 Acuan Lebar Cengkraman Gripper ... 41

Gambar 3.20 Desain Antarmuka Aplikasi Kontroler Lengan Robot ... 42

Gambar 3.21 Desain Masukan dengan Seekbar ... 43

Gambar 3.22 Format Frame USART ... 44

Gambar 3.23 Diagram Alir Aplikasi Kontroler Lengan Robot ... 46

Gambar 3.24 Diagram Alir Aplikasi Arduino Uno ... 47

Gambar 4.1 Lengan Robot Tampak Samping(Elbow) ... 48

Gambar 4.2 Lengan Robot Tampak Samping(Shoulder) ... 50

Gambar 4.3 Keyboard Masukan Kalibrasi ... 52

Gambar 4.4 Hasil Kalibrasi Lengan Robot Elbow ... 53

Gambar 4.5 Hasil Kalibrasi Lengan Robot Shoulder ... 54

Gambar 4.6 Daerah Kerja Lengan Robot Tampak Atas... 56

Gambar 4.7 Daerah Kerja Lengan Robot Tampkak Samping ... 56

Gambar 4.8 Analisa Grafis Lengan Robot Posisi 1 ... 57

Gambar 4.9 Analisa Grafis Lengan Robot Posisi 2 ... 58

Gambar 4.10 Proses Pengambilan Data x dan y... 59

Gambar 4.11 Proses Pengambilan Data Sudut Lengan Elbow dan Base ... 59

Gambar 4.12 Proses Pengambilan Sudut Motor Base. ... 60

Gambar 4.13 Sudut Nyata x=13cm dan y=10.51cm ... 63

Gambar 4.14 Sudut Nyata x=16cm dan y=9cm ... 63

Gambar 4.15 Analisa Grafis Lengan Robot Posisi 3 ... 64

Gambar 4.16 SplashActivity ... 65

(20)

xvii

Gambar 4.18 Tampilan Data Melalui Serial Monitor ... 75

Gambar 4.19 Tampilan Kesalahan Sudut pada Serial Monitor ... 75

DAFTAR TABEL Tabel 2.1 Spesifikasi Motor Servo FITECH 5645 MG ... 30

Tabel 3.1 Format Data Aplikasi Kontroler Lengan Robot ... 46

Tabel 3.2 Contoh Kode ASCII untuk Pengiriman a90 ... 44

Tabel 3.3 Format Frame karakter a ... 45

Tabel 3.4 Format Frame karakter 9 ... 45

Tabel 3.5 Format Frame karakter 0 ... 45

Tabel 4.1 Hasil Daerah Kerja 1 ... 55

Tabel 4.2 Hasil Daerah Kerja 2 ... 55

Tabel 4.3 Perbandingan Data Terukur dan Data Sebenarnya Posisi x dan y Lengan Robot ... 60

Tabel 4.4 Nilai OffsetElbow dan Shoulder yang dihasilkan berdasarkan tabel 4.3 ... 61

Tabel 4.5 Pengiriman dan Penerimaan Data ... 74

(21)

1

BAB I

PENDAHULUAN

1.1

Latar Belakang

Robot adalah sebuah alat mekanik yang dapat melakukan tugas fisik baik

menggunakan pengawasan dan kontrol manusia, ataupun program yang sudah tertanam dalam sebuah prosesor. Istilah robot berasal dari bahasa Cheko “robota” yang berarti kuli atau pekerja yang tidak mengenal lelah dan bosan [1]. Robot merupakan teknologi yang

saat ini dipakai dalam banyak hal terutama untuk membantu pekerjaan manusia. Robotika

berkembang seiring dengan perubahan kebutuhan hidup dalam kehidupan manusia. Robot

dinilai berguna karena dapat mengurangi kesalahan-kesalahan pekerjaan yang umumnya

dilakukan oleh manusia. Robot diaplikasikan dalam berbagai hal misalnya, bidang industri,

pendidikan dan kesehatan. Robot industri dan kesehatan umumnya dirancang untuk

melakukan perkerjaan yang membutuhkan tingkat akurasi dan tingkat presisi yang tinggi

dengan desain yang rumit. Berbeda dengan hal tersebut, robot pendidikan dirancang

dengan desain yang sederhana dan mudah digunakan.

Salah satu jenis robot adalah lengan robot. Lengan robot dapat digerakkan secara

otomatis dan manual. Menggerakkan lengan robot secara otomatis diperlukan kontroler.

Kontroler adalah alat yang dipakai untuk mengatur gerakan robot secara otomatis. Dewasa

ini, Kontroler dikembangkan dalam berbagai variasi. Istilah pengendali sering

diterjemahkan dengan kata controlling. Kedua istilah ini acapkali penggunaannya dipertukarkan terutama di dalam dunia teknologi. Istilah pengendali didefinisikan sebagai

seluruh proses kegiatan penilaian terhadap obyek kontrol dan atau kegiatan tertentu dengn

tujuan untuk memastikan apakah pelaksanaan tugas dan fungsi obyek kontrol tersebut telah

sesuai dengan yang ditetapkan.

(22)

Dengan adanya website pendukung, para pengembang aplikasi disediakan tempat untuk belajar dan bertukar pikiran secara online.

Smartphone digunakan sebagai kontroler karena fasilitas lengkap yang telah disediakan. Banyaknya sensor dan koneksi nirkabel menjadi standar fasilitas

smartphone. Fasilitas smartphone yang sering digunakan sebagai kontroler robot adalah sensor posisi dan koneksi Bluetooth. Bluetooth digunakan karena sudah dapat dikembangankan menggunakan kelas-kelas yang disediakan oleh Android versi 2.0.

Teknologi yang digunakan untuk menghubungkan Arduino dengan smartphone Android disebut AOA (Android Open Accessories). AOA memungkinkan para pengembang memaksimalkan fungsi smartphone sebagai sebuah pengendali. Berdasarkan teknologi AOA, maka dibuatlah sebuah lengan robot yang dapat

dikendalikan dengan smartphone berbasis Android. [2]

1.2

Tujuan

Tujuan dari penelitian ini adalah

1. Menghasilkan lengan robot untuk media pembelajaran.

2. Mengembangkan sebuah kontroler lengan robot menggunakan smartphone Android.

3. Mengimplementasikan teknologi komunikasi RF (Radio Frequency) menggunakan Bluetoothuntuk mengendalikan lengan robot.

1.3

Manfaat

Manfaat dari penelitian ini adalah

1. Sebagai sarana pembelajaran lengan robot dengan 4 DOF (Degree of Freedom). 2. Sebagai sarana pembelajaran tentang sistem operasi Android dengan teknologi

AOA (Android Open Accessories) yang berhubungan dengan robotika. 3. Sebagai sarana pembelajaran komunikasi menggunakan Bluetooth.

4. Menghasilkan dokumentasi tentang robotika dan Android.

1.4

Batasan Masalah

Batasan masalah penelitian ini adalah

1. Desain lengan robot menggunakan desain open source.

(23)

3. Menggunakan motor servo sebagai penggerak 4 axis lengan robot.

4. Kontroler menggunakan smartphone berbasis Android dengan bahasa pemrograman Java.

5. Menggunakan Bluetoothsebagai media komunikasi.

1.5

Metodologi Penelitian

Metode penelitian yang digunakan dalam penyusunan tugas akhir ini adalah : 1. Studi Pustaka

Studi pustaka yang didapatkan dari buku cetak maupun elektronik, video pembelajaran , website pengembang dan jurnal penelitian terkait.

2. Penentuan Hardware

Penentuan hardware Bluetooth modul dan smartphone Android yang dapat digunakan sebagai sebuah pengendali. Tidak semua perangkat Android memiliki fasilitas debugging, maka dilakukan penelitian untuk menentukan

smartphone yang dapat digunakan sebagai pengendali.

3. Perancangan Software

Perancangan software difokuskan untuk melakukan pengiriman data melalui koneksi Bluetooth agar lengan robot dapat bergerak sesuai perintah. 4. Pengamatan dan Pengambilan Data

(24)

4

BAB 2

DASAR TEORI

2.1

Sistem Operasi Android

2.1.1

Sejarah dan Perkembangan

Android adalah sistem operasi yang berbasis Linux untuk telepon seluler seperti

telepon pintar dan komputer tablet [1]. Android bersifat open source. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi sesuai

keinginan mereka sendiri yang digunakan untuk berbagai macam piranti bergerak.

Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak

untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.

Perangkat mobile yang menggunakan Android setidaknya telah terinstal aplikasi [3] :

1. Email pengguna.

2. Pengaturan SMS.

3. Personal Information Management yang terintegrasi dengan kalender dan daftar kontak.

4. Browser.

5. Galeri gambar dan pemutar musik.

6. Kamera dan video recording. 7. Kalkulator.

8. Alarm.

Perkembangan dan kelebihan masing-masing versi Android adalah sebagai berikut

[4] :

1. Android versi 1.1

Pada 9 Maret 2009, Google merilis Android versi 1.1. Android versi ini dilengkapi dengan

(25)

2. Android Versi 1.5 (Cupcake)

Pada pertengahan Mei 2009, Google kembali merilis telepon seluler dengan

menggunakan Android dan SDK (Software Development Kit) dengan versi 1.5 (Cupcake). Terdapat beberapa pembaruan termasuk juga penambahan beberapa fitur

dalam seluler versi ini yakni kemampuan merekam dan menonton video dengan modus

kamera, mengunggah video ke Youtube dan gambar ke Picasa langsung dari telepon,

dukungan Bluetooth A2DP, kemampuan terhubung secara otomatis ke headset

Bluetooth, animasi layar, dan keyboard pada layar yang dapat disesuaikan dengan sistem.

3. Android Versi 1.6 (Donut)

Donut dirilis pada September dengan menampilkan proses pencarian yang lebih baik

dibanding sebelumnya, penggunaan baterai indikator dan kontrol applet VPN. Fitur lainnya adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan

dihapus, kamera, camcorder dan galeri yang dintegrasikan, CDMA / EVDO, 802.1x, VPN, gestures, teknologi text to change speech.

4. Android Versi 2.1 (Eclair)

Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan versi 2.0/2.1

(Eclair), perubahan yang dilakukan adalah pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI (User Interface) dengan browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2 MP, digital Zoom,

dan Bluetooth 2.1.

5. Android Versi 2.2 (Froyo: Frozen Yogurt)

Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan. Perubahan-perubahan

umumnya terhadap versi-versi sebelumnya antara lain dukungan Adobe Flash 10.1,

kecepatan kinerja dan aplikasi 2 sampai 5 kali lebih cepat, intergrasi V8 JavaScript yang

dipakai Google Chrome yang mempercepat kemampuan rendering pada browser, pemasangan aplikasi dalam SD Card, kemampuan WiFi Hotspot portabel, dan kemampuan pembaruan otomatis dalam aplikasi Android Market.

6. Android Versi 2.3 (Gingerbread)

Pada 6 Desember 2010, Android versi 2.3 (Gingerbread) diluncurkan. Perubahan-perubahan umum yang didapat dari Android versi ini antara lain peningkatan

(26)

headphone virtualization, dan bass boost), dukungan kemampuan NFC ( Near Field Communication ), dan dukungan jumlah kamera yang lebih dari satu.

7. Android Versi 3.0 (Honeycomb)

Android Honeycomb dirancang khusus untuk tablet. Android versi ini mendukung ukuran layar yang lebih besar. User Interface pada Honeycomb juga berbeda karena sudah didesain untuk tablet. Honeycomb juga mendukung multi prosesor dan juga akselerasi perangkat keras untuk grafis.

8. Android Versi 4.0 (Ice Cream Sandwich)

Ice Cream Sandwich didesain untuk baik itu telepon ataupun tablet. Android ICS menawarkan banyak peningkatan dari apa yang sudah ada di Gingerbread dan Honeycomb dengan pada saat yang sama memberikan inovasi-inovasi baru. Beberapa peningkatan itu antara lain kemampuan copy paste yang lebih baik, data logging dan warnings, dan kemampuan untuk mengambil screenshot dengan menekan power dan volume bersamaan. Selain itu keyboard dan kamus juga mendapat perbaikan. Inovasi-inovasi baru di ICS antara lain penggunaan font “Roboto” di Android 4.0 Ice Cream Sandwich System Bar dan Action Bar. adanya Android 4.0 Ice Cream Sandwich voice control yang memungkinkan kita mendikte teks yang ingin kita ketik. Selain itu Face Unlock merupakan salah satu hal yang menonjol di Android versi baru ini. Juga ada NFC based app yang disebut Android Bump, yang memungkinkan pengguna untuk bertukar informasi atau data hanya dengan menyentuhkan gadget.

9. Android Versi 4.1 (Jelly Bean)

Android Jelly Bean yang diluncurkan pada acara Google I/O membawa sejumlah keunggulan dan fitur baru. Penambahan baru diantaranya meningkatkan input keyboard, desain baru fitur pencarian, UI yang baru dan pencarian melalui voice search yang lebih cepat. Google Now juga menjadi bagian yang diperbarui. Google Now memberikan

informasi yang tepat pada waktu yang tepat pula. Salah satu kemampuan Google Now

adalah dapat mengetahui informasi cuaca, lalu-lintas, ataupun hasil pertandingan

(27)

2.1.2

Android Software Stack [3]

Android software stack dapat dilihat pada gambar 2.1

Gambar 2.1. Android software stack [3].

Dalam Android software stack terdapat beberapa hal penting antara lain :

1. Linux Kernel

Merupakan sebuah perangkat lunak yang menjadi bagian utama dari sebuah

sistem operasi. Di dalam Linux Kernel terdapat hardware driver, power management, keamanan dan jaringan.

2. Dalvik Virtual Machine (DVM)

Salah satu elemen kunci dari Android adalah DVM. Android berjalan dalam

DVM bukan di Java Virtual Machine. DVM berjalan di dalam Kernel untuk menangani fungsional tingkat rendah.

3. Application Framework

(28)

4. Application Layer

Lapisan ini terdapat fungsi dasar smartphone seperti menelepon, menjalankan browser, mengirim pesan singkat dan mengakses daftar kontak.

2.1.3

Pengembangan Android [5]

Untuk keperluan pengembangan Android diperlukan alat yang bernama SDK

(Software Development Kit). SDK merupakan alat bantu dan API (Application Programming Interface) dalam mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Di dalam sebuah SDK akan terdapat :

1. Android Application Programming Interface (API)

Inti dari sebuah SDK adalah pustaka dari Android API yang menyediakan

akses para pengembang ke Android stack. Pustaka tersebut adalah pustaka yang sama digunakan oleh Google ketika membuat aplikasi.

2. Development tools

Di dalam SDK terdapat berbagai development tool yang akan meng-compile dan melakukan debugging terhadap aplikasi yang dibuat sehingga aplikasi tersebut dapat dijalankan.

3. Android Virtual Device (AVD) Manager dan Emulator

Android Emulator adalah aplikasi yang dapat digunakan untuk menjalankan

aplikasi Android di Personal Computer. Aplikasi tersebut menyediakan beberapa model smartphone yang dapat disimulasikan mirip dengan tampilan aslinya. Dengan menggunakan emulator, dapat diketahui

bagaimana aplikasi yang dibuat dapat berjalan dalam sebuah smartphone. 4. Dokumentasi

SDK menyediakan referensi tentang isi masing-masing paket dari sebuah

kelas dan cara menggunakannya.

5. Contoh koding

Di dalam SDK terdapat beberapa contoh koding dan cara penggunaan fitur

(29)

6. Dukungan Online

SDK menghubungkan para pengembang untuk saling bertukar ide

informasi, pengembangan dan penyelesaian masalah seputar Android di

http://developer.android.com/resources/community-groups.html.

2.2

Bluetooth

2.2.1

Sejarah dan Pengertian

Bluetooth berasal dari nama seorang Raja, Harald Blatand. Harald adalah anak

dari Raja Gorm yang menguasai Jultland semenanjung Denmark. Blatand dalam bahasa

Denmark berarti gigi biru. Raja Blatand telah berhasil mempersatukan Denmark dengan

sebagian wilayah Norwegia. Ericsson memilih nama Bluetooth karena harapan terhadap

teknologi tersebut. Bluetooth diharapkan dapat menjadi sambungan komunikasi

perangkat mobile di seluruh dunia.

Bluetooth adalah sebuah 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 [6].

Bluetooth adalah teknologi jaringan RF (Radio Frequency) yang terdapat radio frekuensi transceiver dan full set protocol jaringan dalam sebuah chip kecil yang cukup untuk dimasukkan dalam sebuah perangkat mobile. Bluetooth adalah salah satu standar jaringan RF yang digunakan untuk membuat jaringan Personal Area Network ad-hoc dalam jangkauan tidak lebih dari 10 meter [7].

2.2.2

Bluetooth Protocol [7]

Protocol adalah sebuah aturan ataupun standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik

komputer. Protocol dapat diterapkan pada perangkat keras maupun perangkat lunak. Protocol dalam umumnya dikenal dengan spesifikasi dari sebuah perangkat keras.

(30)

Protokol-protokol Bluetooth dikelompokkan berdasarkan prioritas dan

penggunaan. Protokol-protokol tersebut membentuk sebuah susunan yang biasa disebut

[image:30.595.99.506.159.772.2]

Bluetooth Stack Protocol.`Gambar 2.2 di bawah ini adalah gambar Bluetooth Stack Protocol.

Gambar 2.2. Bluetooth stack protocol [7].

1. Bluetooth Radio Layer

Merupakan lapisan paling bawah dalam spesifikasi Bluetooth. Lapisan ini

menentukan operasi dan sistem minimum dalam komunikasi Bluetooth

termasuk perangkat penerima, pengiriman dan penerimaan data dan sinyal

RF dalam ISM (Industrial, Scientific and Medical) band. 2. Baseband

Baseband adalah sebuah physical layer protocol Bluetooth yang terletak diatas Bluetooth Radio Layer dalam Bluetooth stack protocol. Baseband mengatur physical channel dan menyediakan sambungan dari dan ke sebuah komunikasi termasuk pengecekan kesalahan, hop selection dan keamanan jaringan.

3. Link Manager Protocol

(31)

4. Logical Link Control and Adaptation Protocol (L2CAP)

L2CAP merupakan data-link layer dalam pemodelan Open System Interconnection (OSI). LC2AP memungkinkan layer di atasnya dapat menerima dan mengirim paket data sampai 64kb.

5. RFCOMM

RFCOMM merupakan cable replacement protocol dalam Bluetooth stack. RFCOMM menciptakan sebuah serial port virtual yang dapat digunakan sesuai dengan standar EIA (Electronics Industry Association) 232. Dengan adanya RFCOMM berbagai adapted protocol dengan dasar serial dapat berkomunikasi dengan Bluetooth.

6. AT Command

AT Command adalah berbagai set instruksi untuk memberikan perintah dalam komunikasi port serial.

2.2.3

Piconet dan Scatternet [7]

Komunikasi antar peralatan Bluetooth akan menghasilkan sebuah jaringan

Bluetooth yang dinamakan dengan Piconet . Sebuah Piconet paling sederhana terdiri

atas dua buah peralatan Bluetooth dimana salah satu modul yang menginisiasi koneksi

disebut sebagai master sedangkan peralatan lain yang menerima tawaran inisiasi dinamakan sebagai slave. Jika hanya dua peralatan yang berkomunikasi ,maka koneksinya dikatakan sebagai point to point. Satu master dapat memiliki lebih dari satu koneksi secara simultan dengan beberapa slave pada saat bersamaan . Koneksi ini dinamakan dengan koneksi point to multipoint. Kedua tipe koneksi tersebut masih merupakan bagian dari Piconet. Piconet-piconet dapat saling berkomunikasi untuk

membentuk sebuah jaringan baru yang dinamakan Scatternet. Gambar 2.3 dan 2.4 di

(32)
[image:32.595.97.496.91.601.2]

Gambar 2.3. Jaringan Piconet [7].

(33)

2.2.4

Jangkauan Bluetooth [7]

Umumnya peralatan-peralatan Bluetooth dapat saling berkomunikasi dalam

jarak yang sedang antara 1 hingga 100 m. Jarak maksimal ini dapat dihasilkan

tergantung dari daya output yang digunakan dalam modul Bluetooth. Modul Bluetooth

biasanya berupa satu IC (Integrated Circuit) chip komunikasi khusus yang telah mengimplementasikan protocol Bluetooth. Setidaknya terdapat tiga kelas Bluetooth berdasarkan daya output dari jarak jangkauannya yaitu :

a. Daya kelas 1 yang beroperasi pada daya antara 1mW hingga 100mW dan

didesain untuk peralatan Bluetooth dengan jangkauan hingga 100 meter.

b. Daya kelas 2 beroperasi antara 0.25mW hingga 2.5mW dan didesain untuk

jarak jangkauan hingga sekitar 20m.

c. Daya kelas 3 memiliki daya maksimal hingga 1mW dan bekerja untuk

peralatan dengan jarak sekitar 10cm.

2.2.5

Keamanan Bluetooth [7]

Bluetooth mencegah perangkat asing untuk mengakses atau terhubung dengan

sebuah perangkat secara ilegal. Standar pilihan keamanan pada Bluetooth dapat

ditambahkan dalam perangkat Bluetooth. Keamanan yang biasa digunakan pada

beberapa perangkat Bluetooth adalah dengan meminta PIN (Personal Idetification Number) yang dibuat dalam perangkat master ketika membuka jaringan yang akan terhubung dengan perangkat slave.

Metode lain untuk menghubungkan 2 buah perangkat Bluetoothadalah pairing. Pairing menggunakan PIN yang ditentukan sendiri oleh user. Pertukaran dan verifikasi terjadi antara kedua perangkat Bluetooth ketika pairing. Sebagian besar Bluetooth mobile tidak memiliki built-in PIN sehingga harus memasukkan kode kedalam handphone ketika pairing dengan perangkat lain.

(34)
[image:34.595.116.458.71.279.2]

Gambar 2.5. Proses Pairing [7].

2.2.6

Bluetooth Android [3]

Android menyediakan fasilitas bagi pengembang untuk melakukan komunikasi

secara wireless menggunakan teknologi Bluetooth. API (Application Programming Interface) pada Android menyediakan fasilitas untuk mengatur dan memonitoring perangkat Bluetooth. Dengan menginisiasikan sebuah komunikasi menggunakan Bluetooth Socket , sebuah perangkat dapat mengirim dan menerima stream data dalam sebuah aplikasi. Pustaka Bluetoothtelah ada dalam Android versi 2.0 (SDK API level

5).

Sejak Android 2.1, hanya data yang terhubung melalui proses pairing saja yang dapat dikoneksikan. Namun perlu diketahui tidak setiap mobile Android mempunyai koneksi Bluetooth. Android menyediakan kelasuntuk perangkat dan jaringan Bluetooth

dalam Android packages sebagai berikut :

a. BluetoothAdapter

Digunakan untuk mengidentifikasi koneksi Bluetooth dalam Android.

b. BluetoothDevice

Setiap perangkat yang akan terhubung direpresentasikan dalam

BluetoothDevice.

c. BluetoothSocket

Sebagai jalur pengiriman dan penerimaaan stream data. d. BluetoothServerSocket

(35)

2.2.7

Modul Bluetooth HC-05 [9]

Modul Bluetooth lebih dikenal dengan nama modul BT. Modul ini digunakan

untuk mengirimkan data serial TTL (Transistor Transistor Logic) melalui Bluetooth. Modul Bluetooth memiliki dua tipe yakni, tipe master dan slave. Tipe modul BT dapat diketahui dari nomer seri yang berasal dari pabrik pembuat. Modul BT dengan nomer

ganjil dapat digunakan sebagai master dan slave. Tipe tersebut tidak dapat diubah oleh pengguna. Jadi modul BT master tidak bisa berubah menjadi slave kecuali untuk modul seri tertentu yang memungkinkan untuk diubah menggunakan AT Command yang ada.

Gambar 2.6. Modul BT HC-05 [9].

Modul BT HC-05 merupakan tipe modul BT yang dapat diubah dari master ke slave maupun sebaliknya. Modul BT dapat digunakan ketika perangkat master telah melakukan pairing dengan perangkat slave. Komunikasi tidak akan terjadi ketika semua perangkat adalah master atau semua perangkat adalah slave. Komunikasi yang terjadi antara modul BT master dan modul BT slave menyerupai komunikasi serial biasa dengan adanya TXD dan RXD.

Untuk dapat mengkonfigurasi perangkat modul BT, digunakan AT Command. AT Command memungkinkan pengguna untuk memberikan password, user name, baud rate, parity dan parameter lainnya yang digunakan untuk komunikasi.

2.3

Arduino Board [8]

(36)

Environment) yang canggih. IDE adalah sebuah software yang sangat berperan untuk menulis program, meng-compile menjadi kode biner dan meng-upload ke dalam memori mikrokontroler.

Komponen utama didalam papan Arduino adalah sebuah mikrokontroler 8 bit dengan merk ATmega yang dibuat oleh Atmel Corporation. Berbagai papan Arduino menggunakan tipe Atmega yang berbeda-beda tergantung dari spesifikasinya. Sebagai

contoh Arduino Uno menggunakan Atmega328 sedangkan Arduino Mega 2560 yang

lebih canggih menggunakan Atmega2560. Pada gambar 2.7 berikut ini diperlihatkan

contoh diagram blok sederhana dari mikrokontroler Atmega328 yang dipakai pada

Arduino Uno.

Gambar 2.7. Diagram blok sederhana Arduino Uno [8].

Blok-blok pada gambar 2.7 dijelaskan sebagai berikut:

1. Universal Asynchronous Receiver/Transmitter (UART) adalah antar muka yang digunakan untuk komunikasi serial seperti pada RS-232, RS-422 dan

RS-485.

(37)

3. 32KB RAM flash memori bersifat non-volatile, digunakan untuk menyimpan program yang dimuat dari komputer. Selain program, flash memory juga menyimpan bootloader.

4. Bootloader adalah program inisiasi yang ukurannya kecil, dijalankan oleh CPU saat daya dihidupkan. Setelah bootloader selesai dijalankan, berikutnya program di dalam RAM akan dieksekusi.

5. 1KB EEPROM bersifat non-volatile, digunakan untuk menyimpan data yang tidak boleh hilang saat daya dimatikan.

6. Central Processing Unit (CPU), bagian dari mikrokontroler untuk menjalankan setiap instruksi dari program.

7. Portinput/output, pin-pin untuk menerima data (input) digital atau analog, dan mengeluarkan data (output) digital atau analog.

Pada gambar 2.8 di bawah ini adalah bagian-bagian Arduino.

Gambar 2.8. Bagian-bagian Arduino [8].

Bagian-bagian komponen dari Arduino Board pada gambar 2.8 dapat dijelaskan

sebagai berikut:

1. 14 Pin input/output digital (0-13)

(38)

2. USB (Universal Serial Bus) Berfungsi untuk:

1. Memuat program dari komputer ke dalam papan .

2. Komunikasi serial antara papan dan komputer.

3. Memberi daya listrik kepada papan.

3. Q1 – Kristal (quartzcrystal oscillator)

Jika mikrontroler dianggap sebagai sebuah otak, maka kristal adalah jantungnya

karena komponen ini menghasilkan detak-detak yang dikirim kepada

mikrokontroler agar melakukan sebuah operasi untuk setiap detaknya. Kristal ini

memakai 16 juta kali per detik (16MHz).

4. Tombol Reset S1

Untuk me-reset mikrokontroler sehingga program akan mulai lagi dari awal. Perhatikan bahwa tombol reset ini bukan untuk menghapus program atau mengosongkan mikrokontroler.

5. In-Circuit Serial Programming (ICSP)

Port ICSP memungkinkan pengguna untuk memprogram mikrokontroler secara langsung, tanpa melalui bootloader. Umumnya pengguna Arduino tidak melakukan cara tersebut, sehingga ICSP tidak sering dipakai walaupun

disediakan.

6. IC 1 – Mikrokontroler ATmega

Komponen utama dari papan Arduino, di dalamnya terdapat CPU, ROM dan

RAM.

7. X1 – sumber daya eksternal

Jika hendak disuplai dengan sumber daya eksternal, papan Arduino dapat

diberikan tegangan DC antara 9-12V.

8. 6 Pin input analog (0-5)

Pin ini sangat berguna untuk membaca tegangan yang dihasilkan oleh sensor

(39)

2.4

Mikrokontroler ATmega 328 [10]

2.4.1

Fitur dan Arsitektur

ATMega328 adalah mikrokontroller keluaran dari atmel yang mempunyai

arsitektur RISC (Reduce Instruction Set Computer) di mana setiap proses eksekusi data lebih cepat dari pada arsitektur CISC (Completed Instruction Set Computer).

Beberapa fitur yang dimiliki oleh Atmega 328 antara lain :

1. 130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus clock. 2. 32 x 8-bit register serba guna.

3. Kecepatan mencapai 16 MIPS dengan clock 16 MHz.

4. 32 KB Flash memory dan pada Arduino memiliki bootloader yang menggunakan 2 KB dari flash memory sebagai bootloader.

5. Memiliki EEPROM ( Electrically Erasable Programmable Read Only Memory) sebesar 1KB sebagai tempat penyimpanan data semi permanen karena EEPROM

tetap dapat menyimpan data meskipun catu daya dimatikan.

6. Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM ( Pulse Width Modulation) output.

7. Master / Slave SPI Serial interface.

Mikrokontroller ATmega328 memiliki arsitektur Harvard Yaitu memisahkan

memori untuk kode program dan memori untuk data sehingga dapat memaksimalkan

kerja dan parallelism.Instruksi – instruksi dalam memori program dieksekusi dalam satu alur tunggal, dimana pada saat satuinstruksi dikerjakan instruksi berikutnya sudah

diambil dari memori program. Konsep inilah yang memungkinkan instruksi – instruksi

dapat dieksekusi dalam setiap satu siklus clock.

32x8-bit register serba guna digunakan untuk mendukung operasi pada ALU (Arithmatic Logic unit) yang dapat dilakukan dalam satu siklus. Dari 6 register serbaguna ini dapat digunakan sebagai 3 buah register pointer 16-bit pada mode pengalamatan tak langsung untuk mengambil data pada ruang memori data. Ketiga

register pointer 16-bit ini disebut dengan register X ( gabungan R26 dan R27 ), register Y(gabungan R28 dan R29 ), dan register Z (gabungan R30 dan R31).

(40)

atas,terdapat register lain yang terpetakan dengan teknik memory mapped I/O selebar 64byte. Beberapa register ini digunakan untuk fungsi khusus antara lain sebagai register kontrol Timer/ Counter, Interupsi, ADC, USART, SPI, EEPROM, dan fungsi I/O lainnya. Register – register ini menempati memori pada alamat 0x20h –0x5Fh. Untuk

mengetahui alur hubungan dari arsitektur ATmega328 dapat dilihat pada gambar 2.9

berikut:

Gambar 2.9. Arsitektur mikrokontroler ATmega 328 [10].

2.4.2

Konfigurasi Pin ATmega 328

Gambar 2.10 di bawah ini menunjukkan konfigurasi pin ATmega 328.

(41)

ATMega 328 memiliki 3 buah PORT utama yaitu PORT B, PORT C, dan PORT D dengan total pin input/output sebanyak 23 pin. PORT tersebut dapat difungsikan sebagai input/output digital atau difungsikan sebagai periperial lainnya. Di bawah ini merupakan penjelasan PORT yang ada di ATMega 328.

1. PORT B

PORT B merupakan jalur data 8 bit yang dapat difungsikan sebagai input/output. Selain itu PORT B juga dapat memiliki fungsi alternatif seperti di bawah ini.

1. ICP1 (PB0), berfungsi sebagai Timer/Counter 1 input capture pin.

2. OC1A (PB1), OC1B (PB2) dan OC2 (PB3) dapat difungsikan sebagai

keluaran PWM (Pulse Width Modulation).

3. MOSI (PB3), MISO (PB4), SCK (PB5), SS (PB2) merupakan jalur

komunikasi SPI.Selain itu pin ini juga berfungsi sebagai jalur pemograman

serial (ISP).

4. TOSC1 (PB6) dan TOSC2 (PB7) dapat difungsikan sebagai sumber clock external untuk timer.

5. XTAL1 (PB6) dan XTAL2 (PB7) merupakan sumber clock utama mikrokontroler.

2. PORT C

PORT C merupakan jalur data 7 bit yang dapat difungsikan sebagai input/output digital. Fungsi alternatif PORT C antara lain sebagai berikut:

1. ADC6 channel (PC0, PC1, PC2, PC3, PC4, PC5) dengan resolusi sebesar 10

bit. ADC dapat digunakan untuk mengubah input yang berupa tegangan analog menjadi data digital.

2. I2C (SDA dan SDL) merupakan salah satu fitur yang terdapat pada PORTC.

I2C digunakan untuk komunikasi dengan sensor atau perangkat lain yang

memiliki komunikasi data tipe I2C seperti sensor kompas, accelerometer nunchuck.

3. PORT D ffffffffffffffffffffffffffffff

(42)

1. USART (TXD dan RXD) merupakan jalur data komunikasi serial dengan

level sinyal TTL. Pin TXD berfungsi untuk mengirimkan data serial,

sedangkan RXD kebalikannya yaitu sebagai pin yang berfungsi untuk

menerima data serial.

2. Interrupt (INT0 dan INT1) merupakan pin dengan fungsi khusus sebagai interupsi hardware. Interupsi biasanya digunakan sebagai selaan dari program, misalkan pada saat program berjalan kemudian terjadi interupsi

hardware/software maka program utama akan berhenti dan akan menjalankan program interupsi.

3. XCK dapat difungsikan sebagai sumber clock external untuk USART, namun kita juga dapat memanfaatkan clock dari CPU, sehingga tidak perlu membutuhkan external clock.

4. T0 dan T1 berfungsi sebagai masukan counter external untuk timer 1 dan timer 0.

5. AIN0 dan AIN1 keduanya merupakan masukan untuk analog komparator.

2.5

Robot

2.5.1

Lengan Robot[11]

Robot Manipulator adalah nama yang popular untuk lengan mekanik atau lengan

robot. Manipulator merupakan gabungan dari beberapa segmen dan joint yang secara umum dibagi menjadi 3 bagian yaitu arm, wrist, end effector. RIA (Robotic Industries Association) mendefinisikan robot sebagai manipulator yang didesain untuk memindahkan material, benda, alat atau peralatan tertentu lewat pergerakan yang

terprogram untuk melakukan berbagai tugas.

Konfigurasi merujuk pada setiap sambungan (link) manipulator terhubung antara satu lengan dengan yang lain pada setiap joint. Setiap sambungan akan terhubung dengan sambungan berikutnya, baik berupa linear joint (prismatik) yang selanjutnya disingkat dengan huruf P, atau berupa hubungan revolute yang dapat disingkat dengan huruf R. Setiap joint minimal terdiri atas 1 Degree of Freedom (DOF). Sebuah robot lengan dengan 3 DOF setidaknya dapat bergerak keatas-bawah, kanan-kiri,

(43)

Gambar 2.11. Bagian umum lengan robot [11].

2.5.2

Kinematika Robot[11]

Kinematika dapat didefinisikan sebagai studi pergerakan robot (motion) tanpa memperhatikan gaya (force) ata factor lainnya yang memengaruhi pergerakan tersebut. Pada sebuah analisa kinematic, posisi, kecepatan dan akselerasi dari seluruh link digitung tanpa memperhatikan gaya yang menyebabkan pergerakan. Kinematika robot,

secara umum terbagi menjadi dua, yaitu :

1. Kinematika Maju (Forward Kinematics)

Kinematika maju juga disebut dengan kinematika direct, di mana panjang dari setiap link dan sudut dari setiap joint diketahui untuk menghitung posisi robot.

2. Kinematika Balik (Inverse Kinematics)

Kinematika balik adalah analisa kinematik yang digunakan untuk

menghitung sudut dari masing-masing joint dengan panjang setiap link dan posisi robot telah diketahui.

(44)

2.5.3

Analisa Kinematik Dengan Persamaan Trigonometri[11]

a. Robot Lengan 1 DOF

Gambar 2.13. Robot lengan 1 DOF [11].

Dengan menggunakan kinematika maju maka kedudukan ujung lengan P(x,y) dapat dinyatakan dengan :

= ... (2.1)

= ... (2.2)

Menggunakan kinematika balik, maka didapatkan dengan perhitungan sebagai berikut :

= ... (2.3)

b. Robot Lengan 2 DOF

(45)

Kedudukan ujung lengan dinyatakan sebagai P(x,y) dimana :

... (2.4)

... (2.5)

Persamaan di atas dapat diperoleh dengan menggunakan analisa kinematika

maju dengan hukum identitas trigonometri :

... (2.6) ... (2.7)

Maka didapatkan :

... (2.8)

... (2.9)

Dari dua persamaan terakhir dan menggunakan analisa kinematika balik maka

akan didapatkan :

{

}

... (2.10)

Dan sudut dapat dicari melalui

Dengan hukum identitas trigonometri :

... (2.11)

Didapatkan:

... (2.12)

Sehingga :

=

... (2.13)

2.6

Motor Servo (Servo motor) [11]

2.6.1

Pengertian

Motor servo adalah sebuah motor dengan sistem closed feedback dimana posisi dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor

servo. Motor terdiri dari sebuah motor, serangkaian gear, potentiometer dan rangkaian kontrol. Potentiometer berfungsi untuk menentukan batas sudut dari putaran servo.

Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim

melalui kaki sinyal kabel motor.

Motor servo biasanya hanya bergerak mencapai sudut tertentu saja dan tidak

(46)

keperluan tertentu, motor servo dapat dimodifikasi agar bergerak kontinyu. Pada robot,

motor ini sering digunakan untuk bagian kaki, lengan atau bagian-bagian lain yang

mempunyai gerakan terbatas. Motor servo adalah motor yang mampu bekerja dua arah,

yaitu searah jarum jam atau clockwise (CW) dan berlawanan arah jarum jam atau counterclockwise (CCW) di mana arah dan sudut pergerakan rotornya dapat dikendalikan hanya dengan memberikan pengaturan duty cycle sinyal Pulse Width Modulation (PWM) pada bagian pin kontrolnya. Motor servo merupakan sebuah motor DC yang memiliki rangkaian kontrol elektronik dan internal gear untuk mengendalikan pergerakan dan sudut angularnya.

Sistem mekanik pada motor servo seperti yang ditunjukkan gambar 2.15 terdiri

dari :

a. 3 jalur kabel : power, ground dan control. b. Internal gear.

c. Potentiometer.

d. Feedback control.

Gambar 2.15. Motor servo.

2.6.2

Pengendalian Motor Servo [11]

Kabel kontrol digunakan untuk mengatur sudut posisi dari batang output. Sudut

posisi ditentukan oleh durasi pulsa yang diberikan oleh kabel kontrol. Motor sevo

digerakkan dengan menggunakan PWM (Pulse Width Modulation). Motor sevo akan mengecek pulsa setiap 20 milisecond. Panjang pulsa akan menentukan seberapa jauh motor akan berputar. Contohnya, pada pulsa 1,5 milisecond akan membuat motor berputar sejauh 90° (lebih sering disebut posisi netral). Jika pulsa lebih pendek dari 1,5

(47)

maka akan berputar mendekati 180°. Dari Gambar 2.16 di bawah, durasi pulsa

menentukan sudut dari batang output.

(48)

2.6.3

Spesifikasi Motor Servo

Spesifikasi untuk motor servo yang digunakan ditunjukkan dalam tabel 2.1. di bawah ini.

Gambar 2.17. Motor Servo FITECH 5654 MG.

Tabel 2.1. Spesifikasi Motor Servo FITECH 5645 MG.

2.6.4 Torsi Lengan Robot

Perhitungan torsi maksimal yang dibutuhkan diambil pada saat lengan robot

dalam posisi seperti pada gambar 2.18, karena lengan robot memiliki jarak jangkau

terpanjang dari tumpuan lengan. Gambar 2.18 berikut merupakan posisi yang akan

menjadi acuan perhitungan torsi maksimal lengan robot.

Berat 52g/1.84 oz

Dimensi 40.5 x 20 x 42 mm

Torsi saat 6V 14.2 kg/cm

Kecepatan saat 6V 0.17 detik / 60

0

tanpa beban

Tegangan Kerja 4.8 V – 6.0 V

Tipe Gear Metal

Tipe Motor 3 kutub

(49)

Gambar 2.18. Perhitungan torsi lengan robot.

Rumus yang digunakan untuk menghitung torsi adalah sebagai berikut

∑ ... (2.14)

... (2.15)

... (2.16)

... (2.17)

Keterangan :

=Torsi (Nm)

=Jarak antara titik pusat rotasi dengan titik yang terkena gaya (m).

=Gaya (N)

=Panjang titik yang terkena gaya terhadap titik pusat rotasi secara tegak lurus (m).

=Massa benda. (Kg)

=Gaya Gravitasi. (9.8m/s2)

Berdasarkan persamaan 217x dengan besar gaya dan arah gaya yang sama,

semakin besar jari-jari yang diukur maka semakin besar pula torsi yang dibutuhkan.

Oleh karena itu maka pengukuran torsi maksimal dilakukan saat end effector lengan robot berada di titik jangkau terjauh dari base.

Torsi yang dihitung adalah torsi untuk lengan elbow dan shoulder. Untuk lengan elbow perhitungannya sebagai berikut.

(50)

.

.

Torsi motor=12kg/cm.

.

Misal

Gambar 2.19 Perhitungan torsi lengan elbow.

∑ ... (2.18)

... (2.19)

... (2.20)

... (2.21)

... (2.22)

Hasil perhitungan pada persamaan 2.22 tidak mempertimbangkan kekuatan

bahan serta kekuatan desain lengan robot.

(51)

31

BAB III

PERANCANGAN

3.1

Pemodelan Sistem

Perancangan sistem dan blok diagram dapat dilihat pada gambar 3.1 di bawah ini.

Gambar 3.1. Diagram blok sistem.

Parameter gambar diatas adalah sebagai berikut:

1. Sistem yang digunakan adalah open loop.

2. Menggunakan smartphone Android sebagai kontroler.

3. Menggunakan papan Arduino Uno sebagai kontroler lengan robot.

4. Menggunakan 4 buah mikro servo sebagai penggerak lengan robot.

5. Menggunakan Bluetooth modul HC-05.

6. Memanfaatkan Serial Monitor untuk mengecek data yang dikirim dari Android ke

Arduino Uno.

7. Catu daya Arduino didapatkan dari USB konektor.

8. Susunan motor pada lengan robot dapat dilihat pada gambar 3.14 dan 3.15

Android

Modul Bluetooth

Arduino Uno

Servo Base

Servo Shoulder

Servo Elbow

Servo Gripper

(52)

3.2

Perancangan dan Konfigurasi Modul Bluetooth

3.2.1

Pengkabelan Modul Bluetooth dengan Arduino Uno

Modul Bluetooth dihubungkan dengan Arduino seperti gambar 3.2 di bawah ini.

Gambar 3.2. Pengkabelan Modul Bluetooth HC-05 [12].

Parameter gambar 3.2 adalah sebagai berikut :

1. Modul Bluetooth pin TX dihubungkan dengan pin 10 pada Arduino Uno.

2. Modul Bluetooth pin RX dihubungkan dengan pin 11 pada Arduno Uno.

3. Modul Bluetooth pin VCC dihubungkan dengan pin VCC pada Arduno Uno.

4. Modul Bluetooth pin GND dihubungkan dengan pin GND pada Arduno Uno.

5. Modul Bluetooth pin KEY dihubungkan dengan pin 9 pada Arduno Uno. Pin 9

Arduino Uno difungsikan sebagai keluaran digital tinggi. Pin KEY pada modul

Bluetooth hanya digunakan ketika mengkonfigurasi parameter-parameter pada

modul Bluetooth atau untuk memasuki mode AT Command.

6. Catu daya Arduino Uno didapatkan dari USB konektor yang dihubungkan ke

Personal Computer. Dengan menggunakan USB konektor sebagai catu daya, komunikasi modul Bluetooth dengan Arduino Uno dapat di-debug melalui serial monitor yang terdapat dalam Arduino IDE.

3.2.2

Konfigurasi Modul Bluetooth HC-05

Dengan menggunakan mode AT Command, modul Bluetooth dikonfigurasi sebagai berikut :

1. Nama perangkat modul Bluetooth adalah USD_115114046.

(53)

3. Modul Bluetooth dikonfigurasikan sebagai perangkat slave. 4. Menggunakan baud rate 38400 dengan 0 stop bit dan no parity.

Gambar 3.3. Listing program untuk setting Bluetooth HC-05.

(54)

Gambar 3.4. Status mode AT Command HC-05.

Gambar 3.4 menunjukkan Arduino mengirimkan command dengan format AT. Respon yang dikembalikan oleh Bluetooth HC-05 adalah OK. Respon tersebut

menandakan HC-05 sudah dalam AT Commandmode.

Gambar 3.5. Setting nama Bluetooth HC-05.

Gambar 3.5 menunjukkan Arduino mengirimkan command dengan format AT+NAME=USD_115114046. Respon yang dikembalikan oleh Bluetooth HC-05

adalah OK. Untuk mengetahui bahwa nama sudah terganti digunakan format

AT+NAME dengan respon yang dikembalikan oleh Bluetooth HC-05 adalah OK dan

+NAME:USD_115114046.

(55)

Gambar 3.6 menunjukkan Arduino mengirimkan command dengan format AT+PSWD=USD_115114046. Respon yang dikembalikan oleh Bluetooth HC-05

adalah OK. Untuk mengetahui bahwa password sudah terganti digunakan format AT+PSWD dengan respon yang dikembalikan oleh Bluetooth HC-05 adalah OK dan

+PSWD:115114046.

Gambar 3.7. Setting role Bluetooth HC-05.

Gambar 3.7 menunjukkan Arduino mengirimkan command dengan format AT+ROLE=0. Respon yang dikembalikan oleh Bluetooth HC-05 adalah OK. Untuk

mengetahui bahwa role sudah terganti menjadi slave digunakan format AT+ROLE dengan respon yang dikembalikan oleh Bluetooth HC-05 adalah OK dan +ROLE:0.

Gambar 3.8. Setting baud rate, stop bit, parity Bluetooth HC-05.

Gambar 3.8 menunjukkan Arduino mengirimkan command dengan format AT+UART=38400,0,0. Respon yang dikembalikkan oleh Bluetooth HC-05 adalah OK.

(56)

Gambar 3.9. Alamat Bluetooth HC-05

Gambar 3.9 menunjukkan Arduino mengirimkan command dengan format AT+ADDR. Respon yang dikembalikan oleh Bluetooth HC-05 adalah OK dan

+ADDR=2014:11:282428. Command tersebut digunakan untuk mengetahui alamat Bluetooth HC-05.

3.3

Desain Lengan Robot

Desain lengan robot yang digunakan merupakan desain lengan robot yang

bersifat open source. Desain lengan robot ini bernama Me Arm v3. Desain lengan robot dapat diunduh di situs www.grabcad.com/library/me-arm-v3-0-1. Lengan robot Me Arm v3 dapat digerakkan hanya dengan menggunakan mikro servo. Me Arm v3 terdiri

dari 4 buah motor penggerak. Pada end effector terdapat gripper yang dapat digunakan untuk mencapit benda. Berikut gambar-gambar desain lengan robot Me Arm v3.

(57)

Gripper pada Me Arm v3 digerakkan dengan satu buah motor servo. Untuk dapat membuat kedua penjepit bergerak secara bersamaan, gripper Me Arm v3 dilengkapi konfigurasi roda gigi seperti yang akan ditunjukkan pada gambar 3.11.

Gambar 3.11. Desain roda gigi gripper Me Arm v3.

Desain link dan joint lengan robot Me Arm v3 ditunjukkan oleh gambar 3.12 dan 3.13 di bawah ini.

(58)
[image:58.595.90.495.78.617.2]

Gambar 3.13 Desain link dan joint (2).

Gambar 3.14 dan gambar 3.15 di bawah ini merupakan susunan motor pada lengan robot Me Arm v3.

Gambar 3.14 Susunan motor lengan robot Me Arm v3(1) .

(59)

Gambar 3.15 Susunan motor lengan robot Me Arm v3(2) .

Perkiraan pergerakan untuk masing-masing motor adalah sebagai berikut :

1. Motor base bergerak antara 00 - 1800. 2. Motor shoulder bergerak antara 450 - 1500. 3. Motor elbow bergerak antara 450 - 1500. 4. Motor gripper bergerak antara 300 - 800.

Titik acuan dalam perhitungan sudut pergerakan lengan robot adalah sebagai

[image:59.595.91.490.94.754.2]

berikut:

Gambar 3.16 Acuan sudut pergerakan lengan shoulder.

Motor Elbow Motor Gripper

Y

(60)
[image:60.595.100.496.87.589.2]

Gambar 3.17 Acuan sudut pergerakan lengan elbow.

Gambar 3.18 Acuan posisi end effector.

Y

X

X

(61)
[image:61.595.90.498.89.610.2]

Gambar 3.19 Acuan lebar cengkraman gripper.

Acuan pada gripper berupa lebar pembukaan mulut gripper dengan satuan cm. Motor yang digunakan untuk gripper menggunakan motor servo mikro.

(62)

3.4

Perancangan User Interface pada Android

Desain antarmuka aplikasi Kontroler Lengan Robot dibuat seperti gambar 3.16

dan 3.17. Antarmuka bertujuan untuk memudahkan pengguna dalam menggerakkan

[image:62.595.97.495.183.522.2]

lengan robot.

Gambar 3.20. Desain antarmuka aplikasi Kontroler Lengan Robot..

Keterangan desain antarmuka dalam gambar 3.20 adalah sebagai berikut:

1. Enable

Ditekan untuk mengaktifkan koneksi Bluetooth pada smartphone Android. Status 1 merupakan textview yang akan menginformasikan apakah Bluetooth sedang menyala atau mati.

2. Paired

(63)

3. Scan

Ditekan untuk melakukan scanning terhadap perangkat Bluetooth yang aktif dan akan melakukan sambungan. Status 3 merupakan textview yang akan menginformasikan apakah ada perangkat Bluetooth lain yang aktif dan akan

melakukan sambungan.

4. Connect

Ditekan untuk membuka sebuah sambungan terhadap perangkat Bluetooh yang

aktif dan sudah ter-paired dengan smartphone Android. Status 4 merupakan textview yang akan menginformasikan apakah Bluetooth sudah tersambung dengan perangkat lain atau belum.

Untuk memberikan masukan pada motor servo lengan robot, digunakan

[image:63.595.91.513.76.706.2]

seek bar. Seek bar digunakan dengan cara digeser atau di-drag.

Gambar 3.21. Desain masukan dengan seek bar. Keterangan desain antarmuka dalam gambar 3.21 adalah sebagai berikut :

1. Seek Bar Base

Digunakan untuk menggerakkan motor servo base lengan robot. 2. Seek Bar Shoulder

Digunakan untuk menggerakkan motor servo shoulder lengan robot. 3. Seek Bar Elbow

Digunakan untuk menggerakkan motor servo elbow lengan robot. 4. Seek Bar Gripper

Digunakan untuk menggerakkan motor servo gripper lengan robot.

(64)

3.5

Format Pengiriman Data

[image:64.595.93.498.322.641.2]

Data akan dikirim menggunakan serial komunikasi UART dengan baud rate 38400, tanpa parity dan 0 stop bit. Gambar 3.22 di bawah ini merupakan format frame komunikasi UART secara umum.

Gambar 3.22 Format frame USART.

Data dari Aplikasi Kontroler Lengan Robot adalah berupa String yang memuat

data header yang akan digunakan sebagai tanda untuk mendeteksi masing-masing motor yang ingin digerakkan dan data sudut pergerakan pada lengan robot yang telah

ternormalisasi. Tabel 3.1 di bawah ini menunjukkan format data yan

Gambar

Gambar 2.2. Bluetooth stack protocol [7].
Gambar 2.3. Jaringan Piconet [7].
Gambar 2.5. Proses Pairing [7].
Gambar 3.13 Desain link dan joint (2).
+7

Referensi

Dokumen terkait

android berbasis Arduino nano, pada pengendali ini menggunakan Arduino nano sebagai sistem pengendalian Bluetooth, modul Bluetooth digunakan sebagai penerimaan perintah yang

Jika modul Bluetooth Hc-05 mendapatkan data serial dari aplikasi di smartphone, data tersebut akan diteruskan ke Arduino Nano.. Arduino akan mencocokkan data yang

Remote Control ini menggunakan Arduino Uno sebagai sistem pengendali atau mikrokontroller, modul Bluetooth HC-05 digunakan sebagai penerimaan perintah yang

android berbasis Arduino nano, pada pengendali ini menggunakan Arduino nano sebagai sistem pengendalian Bluetooth, modul Bluetooth digunakan sebagai penerimaan perintah yang

Tahap pertama dilakukan pairing antara smartpone android dengan modul bluetooth V3 pada ruangan terbukatanpa halangan, dan pengujian pairing dengan modul bluetooth

install di smartphone android mampu menghubngkan dari smartphone ke arduino melalui bluetooth HC-05 dan berhasil menurunkan suhu dengan cara mengontrol relay sehingga

Komunikasi menggunakan modul Bluetooth HC-05 yang berfungsi untuk mengirim data sensor dari Arduino kemudian diterima Android.. Jika kondisi tersebut

Perancangan hardware untuk merancang sistem pemesanan makanan ini menggunakan komponen arduino uno sebagai modul untuk melakukan proses, modul Bluetooth HC-05 sebagai