Pengendalian "roll bot" menggunakan android melalui bluetooth dan arduino.

(1)

INTISARI

Dalam perkembangan zaman yang cepat ini perkembangan teknologi pun juga berkembang dengan cepat pula. Hal ini dimanfaatkan oleh beberapa orang untuk mengembangkan teknologi yang sudah ada khususnya bluetooth dan remote control. Teknologi Bluetooth ini dapat digunakan untuk pengiriman dan penerima data. Sebagai mahasiswa teknik elektro yang berkembang pada bidang kendali, maka sudah seharusnya mengembangkan teknologi yang berkaitan dengan system kendali tersebut. Berfikir untuk mengembangkan teknologi dari bluetooth untuk mengendalikan mobil remote control, maka dibentuklah system pengendalian menggunakan bluetooth untuk mengendalikan “Roll Bot” yang merupakan mobil remote control dengan dua roda.

Prinsip kerja dari system tersebut adalah dengan menggunakan handphone dengan system operasi android yang nantinya akan mengirimkan perintah yang berupa perintah maju, mundur, belok kanan, belok kiri, berhenti, demo, menambah kecepatan dan mengurangi kecepatan dan akan menerima data yang berupa jarak “Roll Bot” terhadap halangan. Data yang dikirim berupa jarak antara “Roll Bot” dengan halangan dalam centimeter. Data yang diterima oleh mikrokontroler akan menimbulkan gerakan yang sesuai dengan perintah yang dikirimkan oleh android.

Hasil akhir dari penelitian ini adalah dapat dihasilkannya system pengontrolan mobil remote control menggunakan android yang melalui bluetooth dan menghasilkan system untuk mengirimkan data dari mikrokontroler ke android.


(2)

ABSTRACT

In this rapid development period technological developments was also growing quickly as well. This is use by the several people to develop existing technologies particulary bluetooth and remote control. Bluetooth technology can be used for sending and receiving data. As a student of electrical engineering that developed in the field of control, then it should be to develop technologies relating to the control system. Thinking to develop the technology of bluetooth to control a remote control car, then formed using bluetooth control system to control the "Roll Bot" which is a remote control car with two wheels.

The working principle of the system is to use a mobile phone with the operating system android that will send commands a command forward, backward, turn right, turn left, stop, demos, increase the speed and reduce the speed and will receive the data form of distance "Roll Bot "against the obstruction. The data is sent form of distance between "Robot" with obstruction in centimeters. Data received by the microcontroller will cause movement in accordance with commands sent by the android.

The end result of this research is can control system generates a remote control car that using android system through bluetooth and generating system to send data from the microcontroller to android.


(3)

i

TUGAS AKHIR

PENGENDALIAN “ROLLBOT” MENGGUNAKAN ANDROID

MELALUI BLUETOOTH DAN ARDUINO

Diajukan Untuk Memenuhi Syarat

Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

disusun Oleh:

Leonardus Antony Wibisono

NIM : 12514017

PROGRAM STUDI TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA


(4)

ii

FINAL PROJECT

CONTROLLING “ROLLBOT” USING

ANDROID TROUGH

BY BLUETOOTH AND ARDUINO

Presented as Partial Fulfillment of The Requirements

To Obtain The Sarjana Teknik Degree

In Electrical Engineering Study Program

Leonardus Antony Wibisono

NIM : 12514017

ELECTRICAL ENGINEERING STUDY PROGRAM

SCIENCE AND TECHNOLOGY FACULTY

SANATA DHARMA UNIVERSITY

YOGYAKARTA


(5)

LEMBAR

PERSETUJUAN TUGAS

AKHIR

PENGENDALTAN

"ROLL

BOT" MENGGUNAKAN ANDROID

MELALUI

BLUETOOTH DAN ARDUINO

,'q

uf

il-i4

lrt ., t


(6)

LEMBAR

PENGESAHAN TUGAS

AKHIR

PENGENDALIAN

"ROLL

BOT'

MENGGUNAKAN ANDROID

MELALUI

BLUETOOTH DAN ARDUINO

Disusun oleh:

LEONARDUS ANTONY WIBISONO

Ketua: Sekretaris: Anggota:

Djoko k. Ti

t

fW|-b*s..zoro

Fakultas Sains dan Teknologi

Universitas Sanata Dharma

tv

ffi-f

boyoKotrSe

I


(7)

LEMBAR 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.


(8)

MOTTO:

TIDAK

ADA

HAL

YAN6

TTDAK

MUNGKIN

JIKA

KITA

MELAKUKANNYA BER5AMA DENoAN TUHAN

Skripsi ini kupersembahkan untuk... Yesus Kristus pembimbing dan Iuhanku yang haik Papa dan Mama tercinta


(9)

LEMBAR PERNYATAAN

PERSETUJUAN

PUBLIKASI KARYA

ILMIAH

IINTUK

KEPENTINGAN

AKADEMIS

Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma: Nama : LEONARDUS ANTONY WIBISONO

Nomor Mahasiswa :

l25ll40l7

Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul:

PENGENDALIAN

*ROLI.

BOT'' MENGGUNAKAN ANDROID

MELALUI

BLUETOOTH DAN

ARDUII\O

Beserta perangkat yang diperiukan (biia a<ia). Dengan <iemii<ian saya memberikan kepacia Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan seara terbatas, dan mempublikasikannya dilntemet atau media lain untuk kepentingan akademis tanpa perlu

meminta ijin dari saya maupun memberikan royaliti kepada saya sekana tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini yang saya buat dengan sebenarnya.

Yogyakarla,

1l Juli 2016

(LEONA us ANTONY WIBISONO)


(10)

INTISARI

Dalam perkembangan zaman yang cepat

ini

perkembangan teknologi pun juga

berkembang dengan cepat pula.

Hal

ini

dimanfaatkan

oleh

beberapa orang untuk mengembangkan teknologi yang sudah ada khususnya bluetooth dan remote control. Teknologi Bluetooth

ini

dapat digunakan untuk pengiriman dan penerima data. Sebagai mahasiswa teknik elektro yang berkembang pada bidang kendali, maka sudah seharusnya mengembangkan teknologi yang berkaitan dengan system kendali tersebut. Berfikir untuk mengembangkan teknologi dari bluetooth untuk mengendalikan mobil remote control, maka

dibentuklah system pengendalian menggunakan bluetooth untuk mengendalikan "Roll Bot" yang merupakan mobil remote control dengan dua roda.

Prinsip kerja dari system tersebut adalah dengan menggunakan handphone dengan system operasi android yang nantinya akan mengirimkan perintah yang berupa perintah maju,

mundur, belok kanan, belok

kiri,

berhenti, demo, menambah kecepatan dan mengurangi kecepatan dan akan menerima data yang berupa jarak "Roll Bot" terhadap halangan. Data

yang dikirim berupa jarak antara "Roll Bot" dengan halangan dalam centimeter. Data yang

diterima oleh mikrokontroler akan menimbulkan gerakan yang sesuai dengan perintah yang

dikirimkan oleh android.

Hasil aklir dari penelitian

ini adalah

dapat- dihasilkannya system pengontrolan mobil

remote control menggunakan android yang melalui bluetooth dan menghasilkan system untuk mengirimkan data dari mikrokontroler ke android.

Kata kunci: Bluetooth, mikrokontroler arduinorooRoll Bot", android.


(11)

ABSTRACT

In this rapid development period technological developments was also growing quickly

as well. This

is

use by the several people

to

develop existing technologies particulary bluetooth and remote control. Bluetooth technology can be used for sending and receiving data. As a student of electrical engineering that developed in the field of control, then it should be to develop technologies relating to the control system. Thinking to develop the technology of bluetooth to control a remote control car, then formed using bluetooth control system to control the "Roll Bot" which is a remote control car with two wheels.

The working principle of the system is to use a mobile phone with the operating system android that will send commands a command forward, backward, turn right, turn left,

stop, demos, increase the speed and reduce the speed and will receive the data form of distance "Roll Bot "against the obstruction. The data is sent form of distance between "Robot" with

obstruction

in centimeters.

Data received by the microcontroller

will cause

movement in accordance with commands sent by the android.

The end result of this research is can control system generates a remote control car that using android system through bluetooth and generating system

to

send data from the

microcontroller to android.


(12)

KATA

PEI{GANTAR

Puji syukur dan terima kasih kepada Tuhan Yesus Kristus atas segala karuniaNya

sehingga

tugas

akhir

ini

yang

berjudul

"PENGENDALIAN

"ROLL

BOT"

MENGGTINAKAN ANDROID

MELALUI

BLUETOOTH

DAN

ARDUINO" dapat

diselesaikan dengan baik. Laporan tugas akhir

ini

disusun sebagai persyaratan mahasiswa untuk memperoleh gelar Sarjana Teknik di Universitas Sanata Dharma Yogyakarta.

Penelitian

ini dapat diselesaikan dengan

baik atas bantuan, gagasan, dukungan baik moral maupun material dari berbagai pihak. Pada kesempatan ini peneliti ingin mengucapkan terima kasih kepada:

1.

Selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

2.

Bapak Petrus Setyo Prabowo, S.T., M.T. selaku Ketua Program Studi Teknik Elektro

Universitas Sanala Dharma Ycgyakarta.

3.

Bapak Djoko Untoro Suwarno, S.Si., M.T. selaku dosen pembimbing yang dengan kesabaran hati telah memberikan pengarahan serta membimbing penulis dalam penyelesaian tugas akhir ini.

4.

Kepada seluruh dosen, laboran dan staff Teknik Elektro yang sudah memberikan ilmu ,

pengarahan dan masukan selama perkuliahan berlangsung.

5.

Seluruh teman-teman seperjuangan Teknik Elektro angkatan 2012 yang telah membantu mengingatkan, membantu, memberi arahan dan menghibur penulis dalam penulisa tugas akhir ini.

6.

Kedua orang tuaku tersayang yang telah membantu penulis dalam hal moral dan material dan yang telah mengingatkan serta mendoakan penulis dalam menyelesaikan tugas akhir ini.

7.

Maria Angelika Suhadi sebagai kekasih yang telah selalu mengingatkan dan memberi semangat kepada penulis dalam pengerjaan tugas akhir ini.

8.

Semua pihak yang membantu penulis menyelesaikan tugas akhir ini secara langsung maupun tidak langsung.


(13)

Penulis menyadari pasti ada kekurangan dalam penulisan tugas akhir ini maka, penulis sangat mengharapkan kritik dan saran yang dapat membangun serta menyempurnakan tulisan tugas akhir ini. Semoga tugas akhir ini dapat dimanfaatkan dan dikembangkan lebih lanjut oleh peneliti lain sehingga tulisa ini dapat lebih bermanfaat.

Juli 2016


(14)

i

DAFTAR ISI

Halaman Sampul (Bahasa Indonesia) ... i

Halaman Sampul (Bahasa Inggris) ... ii

Lembar Persetujuan ... iii

Lembar Pengesahan ... iv

Lembar Pernyataan Keaslian Karya ... v

Halaman Motto ... vi

Lembar Pernyataan Persetujuan Publikasi Karya Ilmiah ... vii

Intisari ... viii

Abstract ... ix

Kata Pengantar ... x

Daftar isi ... xii

Daftar Gambar ... xvii

Daftar Tabel ... xx

BAB I: PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Tujuan ... 2

1.3 Batasan Masalah ... 2

1.4 Metodologi Penelitian ... 3

BAB II: DASAR TEORI ... 4

2.1 Android ... 4

2.1.1. Pengertian Handphone Android ... 4


(15)

ii

2.2 Arduino Nano Menggunakan ATMEGA 328 ... 5

2.2.1. Pengertian ... 5

2.2.2. Spesifikasi ... 5

2.2.3. Sumber Tegangan ... 6

2.2.4. PIN ... 6

2.2.5. Memori ... 8

2.2.6. Konfigurasi Arduino Nano Menggunakan ATMEGA 328 .. 8

2.2.7. Komunikasi ... 9

2.3 Bluetooth HC-05 ... 10

2.3.1. Deskripsi ... 10

2.3.2. Spesifikasi ... 10

2.4 Komunikasi ... 12

2.4.1. Protokol Komunikasi Serial ... 12

2.4.2. Protokol Komunikasi Bluetooth HC-05 ... 13

2.5 Motor DC ... 15

2.5.1. Pengertian ... 15

2.5.2. Cara Kerja ... 16

2.6 Driver Motor DC Menggunakan ICL298 ... 17

2.5.1. Pengertian ... 17

2.5.2. Spesifikasi ... 17

2.7 Sensor Jarak Ultrasonik PING ... 18

2.5.1. Pengertian ... 18

2.5.2. Spesifikasi ... 18

2.5.1. Cara Kerja Sensor ... 19


(16)

iii

BAB III: PERANCANGAN ... 23

3.1 Proses Kerja Sistem Pengendalian “Roll Bot” ... 23

3.2 Kebutuhan Perangkat Keras ... 24

3.3 Kebutuhan Perangkat Lunak ... 25

3.4 Perancangan Alat ... 26

3.4.1. Perancangan Konstruksi “Roll Bot” ... 26

3.4.2. Perancangan Rangkaian Penggerak Motor ... 26

3.4.3. Perancangan Sensor PING ... 29

3.5 Perancangan Program ... 30

3.5.1. Diagram Alir Pergerakan “Roll Bot” Pada Arduino ... 30

3.5.2. Diagram Alir Pergerakan “Roll Bot” Pada Android ... 32

3.5.3. Tampilan Interface Pada Hand Phone Android ... 34

BAB IV: HASIL DAN PEMBAHASAN ... 37

4.1 Hasil Implementasi Alat ... 37

4.2 Hasil Perancangan Perangkat Keras ... 38

4.3 Penggunaan Modul Bluetooth HC-05 ... 39

4.4 Hasil Perancangan Menggunakan Arduino ... 39

4.4.1. Perintah Maju ... 40

4.4.2. Perintah Mundur ... 40

4.4.3. Perintah Kanan ... 41

4.4.4. Perintah Kiri ... 41

4.4.5. Perintah Demo ... 42

4.4.6. Perintah Berhenti ... 43

4.4.7. Perintah Tambah ... 44


(17)

iv

4.4.9. Mengirim Data Sensor PING ... 45

4.5. Hasil Perancangan Menggunakan Android ... 46

4.4.1. Connect ... 46

4.4.2. Tombol Atas ... 47

4.4.3. Tombol Bawah ... 48

4.4.4. Tombol Kanan ... 48

4.4.5. Tombol Kiri ... 49

4.4.6. Tombol Demo ... 49

4.4.7. Tombol Stop ... 50

4.4.8. Tombol Tambah ... 50

4.4.9. Tombol Kurang ... 51

4.4.10. Menerima Data Dari Arduino ... 51

4.6 Analisis Percobaan ... 52

4.6.1. Analisis data sensor PING ... 52

4.6.2. Hasil data pengamatan pergerakan dan kinerja “Roll Bot” .. 56

4.6.1. Tombol Maju ... 56

4.6.2. Tombol Mundur ... 57

4.6.3. Tombol Belok Kanan ... 58

4.6.4. Tombol Belok Kiri ... 58

4.6.5. Tombol Stop ... 59

4.6.6. Tombol Menambah Kecepatan ... 59

4.6.7. Tombol Menurangi Kecepatan ... 60

4.6.8. Tombol Demo ... 61

4.6.9. Mengirim Data PING dari Arduino ke Android ... 62


(18)

v

BAB V: KESIMPULAN DAN SARAN ... 64

5.1 Kesimpulan ... 64

5.2 Saran ... 64

DAFTAR PUSTAKA ... 65 LAMPIRAN


(19)

vi

DAFTAR GAMBAR

Gambar 2.1. Tampilan Awal Android Studio ... 5

Gambar 2.2. Board Arduino Nano Beserta PIN ... 7

Gambar 2.3. Tampilan Awal Program Arduino ... 10

Gambar 2.4. Konfigurasi PIN Bluetooth HC-05 ... 11

Gambar 2.5. Bluetooth HC-05 ... 12

Gambar 2.6. Detail Mekanik Motor DC ... 16

Gambar 2.7. Konfigurasi IC L298 ... 17

Gambar 2.8. Sensor Jarak Ultrasonik PING ... 18

Gambar 2.9. Diagram Waktu Sensor PING ... 19

Gambar 2.10. Jarak Ukur Sensor PING ... 20

Gambar 2.11. Instalasi Sensor PING ... 20

Gambar 2.12. Ilustrasi Titik Berat “Roll Bot” (Tampak Samping) ... 17

Gambar 3.1. Proses Kerja “Roll Bot” ... 23

Gambar 3.2. Konstruksi Roll Bot Tampak Depan dan Tampak Atas ... 26

Gambar 3.3. Driver Motor DC Dengan IC L298 ... 27

Gambar 3.4. Grafik Jarak Terhadap Waktu ... 30

Gambar 3.5. Flowchart Sistem Pada Arduino ... 32

Gambar 3.6. Arah Putar “Roll Bot” Pada Perintah Demo ... 32

Gambar 3.7. Flowchart Sistem Pada Android ... 34

Gambar 3.8. Interface Pada Handphone Android ... 35


(20)

vii

Gambar 4.2. Driver Motor DC L298 ... 38

Gambar 4.3. Modul Bluetooth HC-05 ... 38

Gambar 4.4. Modul Sensor PING ... 39

Gambar 4.5. Program Maju Pada Arduino ... 40

Gambar 4.6. Program Mundur Pada Arduino... 41

Gambar 4.7. Program Belok KananPada Arduino ... 41

Gambar 4.8. Program Belok Kiri Pada Arduino ... 42

Gambar 4.9. Program Demo Pada Arduino ... 43

Gambar 4.10. Program Berhenti Pada Arduino ... 44

Gambar 4.11. Program Tambah Pada Arduino ... 44

Gambar 4.12. Program Kurang Pada Arduino ... 45

Gambar 4.13. Program Mengirim Data Sensor PING Pada Arduino ... 46

Gambar 4.14. Program Connect Pada Android ... 47

Gambar 4.15. Program Send Data Pada Android ... 47

Gambar 4.16. Program Atas (Maju) Pada Android ... 48

Gambar 4.17. Program Bawah (Mundur) Pada Android ... 48

Gambar 4.18. Program Kanan (Belok Kanan) Pada Android ... 49

Gambar 4.19. Program Kiri (Belok Kiri) Pada Android ... 49

Gambar 4.20. Program Demo Pada Android ... 50

Gambar 4.21. Program Stop Pada Android ... 50

Gambar 4.22. Program Tambah (Menambah Kecepatan) Pada Android ... 51

Gambar 4.23. Program Kurang (Mengurangi Kecepatan) Pada Android ... 51

Gambar 4.24. Program Menerima data Dari Arduino Pada Android ... 52


(21)

viii

Gambar 4.26. Pergerakan “Roll Bot” pada perintah maju ... 56

Gambar 4.27. Pergerakan “Roll Bot” pada perintah mundur ... 57

Gambar 4.28. Pergerakan “Roll Bot” belok kanan ... 58

Gambar 4.29. Pergerakan “Roll Bot” belok kiri ... 58

Gambar 4.30. Pemberhentian putaran motor ... 59

Gambar 4.31. Penambahan kecepatan “Roll Bot” ... 60

Gambar 4.32. Pengurangan kecepatan “Roll Bot” ... 60

Gambar 4.33. Pergerakan demo “Roll Bot” ... 61

Gambar 4.34. Grafik pergerakan demo “Roll Bot” ... 61


(22)

ix

DAFTAR TABEL

Tabel 2.1. Spesifikasi Arduino Nano... 5 Tabel 2.2. Konfigurasi PIN Pada Arduino nano ... 6 Tabel 2.3. Tabel Konfigurasi PIN Bluetooth HC-05 ... 11 Tabel 2.4. Tabel Logika kontrol driver Motor DC dengan IC L298 kanan ... 17 Tabel 2.5. Tabel Logika kontrol driver Motor DC dengan IC L298 kiri ... 18 Tabel 3.1. Kondisi Putaran Motor DC terhadap arah pergerakan “Roll Bot” .. 28 Tabel 3.2. Tabel Perhitungan Menggunakan Rumus 2.2 Pada Dasar Teori ... 29 Tabel 4.1. Data Percobaan ... 53 Tabel 4.2. Error Pada Masing – Masing Jarak ... 55


(23)

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Seiring dengan berkembangnya jaman modern ini, perkembangan teknologi pun semakin cepat dan semakin canggih dalam perkembangannya. Ada pun sekarang permainan anak – anak menjadi sorotan untuk dikembangkan menjadi lebih modern lagi. Pada Tahun 1966 dunia dikenalkan sebuah teknologi mainan untuk anak – anak yang terbaru yaitu mobil

remote control, yang diproduksi oleh EL-Gi (Elettronica Giocattoli), sebuah perusahan asal Eggio Emilia, Italia[1]. Kemudian ditahun 1970 dunia dikenalkan mobil remote control yang bertenaga nitro, yang diproduksi oleh mardave, perusahaan asal Inggris[1]. Kemudian pada tahun 1976 perusahaan Jepang Tamiya mengeluarkan produk RC pertamanya dengan menggunakan sistem radio atau krontrol jarak jauh menggunakan remote yang memancarkan gelombang radio[1].

Bukan hanya permainan anak – anak yang berkembang namun, teknologi telepon genggam pun menunjukan perkembangan yang sangat signifikan dari tahun ke tahun. Pada Tahun 1990-an kita memandang hand phone yang berwarna kemudian touch screen sudah sangat canggih, namun pada zaman sekarang ini hampir seluruh hand phone yang diproduksi oleh beberapa pabrik menggunakan teknologi tersebut, untuk performa kecepatan , sistem operasi dan tampilan pada layar pun menjadi bervariasi. Kemudian pada Tahun 2005 Android.inc dengan dukungan dari google mulai mengembangkan teknologi android untuk sistem operasi dihand phone, yang kemudian dirilis pada tahun 2007[2]. Ponsel pertama yang dirilis menggunakan sistem operasi android adalah ponsel HTC Dream pada Oktober 2008 dengan nama sistem operasi android 1.0 Astro[2]. Kemudian teknologi ini pun berkembang hingga sekarang, versi android terbaru untuk saat ini adalah android 6.0 Marshmallow, yang tentunya tampilannya lebih menarik dibandingkan sistem operasi android sebelumnya.

Peneliti mendapatkan suatu ide untuk perkembangan mainan anak – anak yang khususnya mobil remote control ini, yang kemudian peneliti menamai maninan mobil remote controlmenggunakan julukan “Roll Bot”. Peneliti akan mengembangkan teknologi ini dengan cara mengendalikan mobil remote dengan menggunakan hand phone android melalui


(24)

bluetooth yang ada dihand phone , modul bluetooth yang ada pada “Roll Bot” dan arduino yang terpasang pada “Roll Bot”. Alasan peneliti melakukan penelitian ini adalah untuk mengikuti perkembangan zaman pada khususnya permainan untuk anak – anak yaitu mobil

remote control.

1.2. Tujuan dan Manfaat Penelitian

Tujuan dari penelitian ini adalah untuk membuat “Roll Bot” yang dikontrol menggunakan handphone dengan sistem operasi android melalui Bluetooth dan arduino.

Manfaat penelitian ini bagi perkembangan teknologi saat ini adalah anak – anak dan orang dewasa pencinta Mobil remote control akan menjadi lebih tertarik untuk memainkan permainan ini karena dapat dikendalikan menggunakan hand phone mereka dan dapat mengetahui apakah didepan mobil – mobilan mereka ada penghalangnya atau tidak.

1.3. Batasan Masalah

Agar tugas akhir ini dapat mengarah pada tujuan dan untuk menghindari terlalu kompleksnya permasalahan yang akan muncul, maka perlu adanya batasan – batasan masalah yang sesuai dengan judul tugas akhir ini. Adapun batasan masalahnya adalah:

1. Menggunakan mikrokontroler Arduino nano sebagai pengolah data dari android , data dari sensor ping dan menampilkan jarak menuju ke penghalang pada ponsel android.

2. Sensor jarak yang digunakan adalah sensor Ping. 3. Modul Bluetooth yang digunakan adalah HC – 05.

4. Sistem operasi android yang digunakan adalah android 4.4 kitkat.

5. Hand Phone yang digunakan adalah Hand Phone dengan sistem operasi android. 6. “Roll Bot” akan bergerak maju jika ditekan tombol maju pada Hand Phone, “Roll

Bot” akan bergerak mundur jika ditekan tombol mundur pada Hand Phone, “Roll Bot” akan berbelok ke kanan jika ditekan tombol kanan pada Hand Phone, “Roll Bot” akan berbelok ke kiri jika ditekan tombol kiri pada Hand Phone, “Roll Bot” akan berhenti jika ditekan tombol berhenti pada Hand Phone , dan “Roll Bot” akan melakukan demo jika ditekan tombol demo pada Hand Phone.


(25)

3

1.4. Metodologi Penelitian

Berdasarkan pada tujuan yang ingin dicapai metode – metode yang digunakan dalam penyusunan tugas akhir ini adalah:

1. Studi Literatur, yaitu dengan cara mendapatkan reverensi sebagai bagian dari data dengan membaca buku – buku dan jurnal – jurnal yang berkaitan dengan permasalahan yang dibahas dalam tugas akhir ini.

2. Perancangan hardware, tahap ini bertujuan untuk mencari bentuk model yang optimal dari sistem yang akan dibuat dengan mempertimbangkan dari berbagai faktor – faktor permasalahan dan kebutuhan yang telah ditentukan.

3. Pembuatan hardware, pada tahap ini peneliti akan membuat hardware untuk tugas akhir ini.

4. Eksperimen, yaitu dengan cara langsung melakukan praktek dan pengujian pada alat yang akan dibuat dalam tugas akhir ini.

5. Pengambilan data percobaan, pada tahap ini peneliti akan menguji alat agar sesuai dengan apa yang diinginkan dengan cara melihat respon dari alat dan data yang dikirimkan oleh sensor dari alat yang dibuat, data yang dilihat berupa perbandingan jarak dengan waktu pada sensor PING.

6. Analisis dan penyimpulan hasil percobaan, Pada tahap ini peneliti akan menganalisis hasil dari pengujian hardware dengan membandingkan data yang kemudian nantinya peneliti akan menghitung error dari alat yang dibuat, kemudian peneliti akan menyimpulkan hasil yang sudah dianalisis tadi.


(26)

4

BAB II

DASAR TEORI

2.1. Android

2.1.1. Pengertian Handphone Android

Handphone android merupakan perangkat seluler yang menggunakan sistem operasi android yang dikembangkan oleh android, Inc yang didukung oleh Google.

2.1.2. Android Studio

Android Studio adalah sebuah IDE yang bisa digunakan untuk pengembangan aplikasi Android, dan dikembangkan oleh Google. Android Studio merupakan pengembangkan dari Eclipse IDE, dan dibuat berdasarkan IDE Java populer, yaitu IntelliJ IDEA. Android Studio direncanakan untuk menggantikan Eclipse ke depannya sebagai IDE resmi untuk pengembangan aplikasi Android, bentuk tampilan dari android studio dapat di lihat pada gambar 2.1.

Sebagai pengembangan dari Eclipse, Android Studio mempunyai banyak fitur-fitur baru dibandingkan dengan Eclipse IDE. Berbeda dengan Eclipse yang menggunakan Ant, Android Studio menggunakan Gradle sebagai build environment. Fitur-fitur lainnya adalah sebagai berikut :

a) Menggunakan Gradle-based build sistem yang fleksibel.

b) Bisa mem-build multiple APK .

c) Template support untuk Google Services dan berbagai macam tipe perangkat.

d) Layout editor yang lebih bagus.

e) Built-in support untuk Google Cloud Platform, sehingga mudah untuk integrasi dengan Google Cloud Messaging dan App Engine.


(27)

5

2.2. Arduino Nano Menggunakan ATMEGA 328 [3]

2.2.1. Pengertian

Arduino Nano adalah salah satu papan pengembangan mikrokontroler yang berukuran kecil, lengkap dan mendukung penggunaan breadboard. Arduino Nano diciptakan dengan basis mikrokontroler ATmega328 (untuk Arduino Nano versi 3.x) atau ATmega 168 (untuk Arduino versi 2.x). Arduino Nano dihubungkan ke komputer menggunakan port USB Mini-B.

2.2.2. Spesifikasi

Pada tabel 2.1 merupakan spesifikasi dari Arduino Nano:

Tabel 2.1. Spesifikasi Arduino Nano

Mikrokontroler Atmel ATmega168 atau ATmega328 Tegangan Operasi 5V

Input Voltage (disarankan) 7-12V

Input Voltage (limit) 6-20V

Pin Digital I/O 14 (6 pin digunakan sebagai output PWM) Gambar 2.1. Tampilan awal android studio


(28)

Tabel 2.1. (Lanjutan) Spesifikasi Arduino Nano

Pins Input Analog 8 Arus DC per pin I/O

40 mA

Flash Memori 16KB (ATmega168) atau 32KB (ATmega328) 2KB digunakan oleh

Bootloader

SRAM 1 KB (ATmega168) atau 2 KB (ATmega328) EEPROM 512 byte (ATmega168) atau 1KB (ATmega328)

Clock Speed 16 MHz

Ukuran 1.85cm x 4.3cm

2.2.3. Sumber Tegangan

Arduino Nano dapat diaktifkan melalui koneksi USB Mini-B, atau melalui catu daya eksternal dengan tegangan belum teregulasi antara 6-20 Volt yang dihubungkan melalui pin 30 atau pin VIN, atau melalui catu daya eksternal dengan tegangan teregulasi 5 volt melalui pin 27 atau pin 5V. Sumber daya akan secara otomatis dipilih dari sumber tegangan yang lebih tinggi. Chip FTDI FT232L pada Arduino Nano akan aktif apabila memperoleh daya melalui USB, ketika Arduino Nano diberikan daya dari luar (Non-USB) maka Chip FTDI tidak aktif dan pin 3.3V pun tidak tersedia (tidak mengeluarkan tegangan), sedangkan LED TX dan RX pun berkedip apabila pin digital 0 dan 1 berada pada posisi HIGH.

2.2.4. PIN

Pada tabel 2.2. dibawah ini merupakan konfigurasi PIN pada Arduino nano, serta untuk gambar dari konfigurasi PIN dari arduino nano dapat di lihat pada gambar 2.2.

Tabel 2.2. Konfigurasi PIN pada Arduino Nano Nomor Pin Nama Pin

Arduino Nano

6 Digital Pin 3 (PWM)

7 Digital Pin 4

4 & 29 GND

27 VCC

4 & 29 GND

27 VCC

- -

- -


(29)

7

Tabel 2.2. (Lanjutan) Konfigurasi PIN pada Arduino Nano

9 Digital Pin 6 (PWM)

10 Digital Pin 7

11 Digital Pin 8

13 Digital Pin 9 (PWM)

13 Digital Pin 10 (PWM - SS)

14 Digital Pin 11 (PWM - MOSI)

15 Digital Pin 12 (MISO)

16 Digital Pin 13 (SCK)

27 VCC

25 Analog Input 6

18 AREF

4 & 29 GND

26 Analog Input 7 19 Analog Input 0 20 Analog Input 1 21 Analog Input 2 22 Analog Input 3 24 Analog Input 4 (SDA) 25 Analog Input 5 (SCL) 28 & 3 RESET

2 Digital Pin 0 (RX)

1 Digital Pin 1 (TX)

5 Digital Pin 2


(30)

2.2.5. Memori

ATmega328 memiliki flash memori sebesar 32 KB, (juga dengan 2 KB digunakan untuk bootloader). Sedangkan ATmega328 memiliki 2 KB memori pada SRAM dan 1 KB pada EEPROM.

2.2.6. Konfigurasi Arduino Nano Menggunakan ATMEGA 328

Masing-masing dari 14 pin digital pada Arduino Nano dapat digunakan sebagai input atau output, dengan menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead(). Semua pin beroperasi pada tegangan 5 volt. Setiap pin dapat memberikan atau menerima arus maksimum 40 mA dan memiliki resistor pull-up internal sebesar 20-50 KOhm. Selain itu beberapa pin memiliki fungsi khusus, yaitu:

a) Serial : 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirimkan (TX) TTL data serial. Pin ini terhubung ke pin yang sesuai dari chip FTDI USB-to-TTL Serial.

b) External Interrupt (Interupsi Eksternal): Pin 2 dan pin 3 ini dapat dikonfigurasi untuk memicu sebuah interupsi pada nilai yang rendah, meningkat atau menurun, atau perubahan nilai.

c) PWM : Pin 3, 5, 6, 9, 10, dan 11. Menyediakan output PWM 8-bit dengan fungsi

analogWrite(), PWM juga memiliki skala yaitu 0 sampai 225. Jika pada jenis papan berukuran lebih besar (misal: Arduino Uno), pin PWM ini diberi simbol tilde atau “~” sedangkan pada Arduino Nano diberi tanda titik atau strip.

d) SPI : Pin 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin ini mendukung

komunikasi SPI. Sebenarnya komunikasi SPI ini tersedia pada hardware, tapi untuk saat belum didukung dalam bahasa Arduino.

e) LED : Pin 13. Tersedia secara built-in pada papan Arduino Nano. LED terhubung

ke pin digital 13. Ketika pin diset bernilai HIGH, maka LED menyala, dan ketika pin diset bernilai LOW, maka LED padam.

Arduino Nano memiliki 8 pin sebagai input analog, diberi label A0 sampai dengan A7, yang masing-masing menyediakan resolusi 10 bit (yaitu 1024 nilai yang berbeda). Secara default pin ini dapat diukur/diatur dari mulai Ground sampai dengan 5 Volt, juga memungkinkan untuk mengubah titik jangkauan tertinggi atau terendah mereka


(31)

9

menggunakan fungsi analogReference(). Pin Analog 6 dan 7 tidak dapat digunakan sebagai pin digital. Selain itu juga, beberapa pin memiliki fungsi yang dikhususkan, yaitu:

I2C : Pin A4 (SDA) dan pin A5 (SCL). Yang mendukung komunikasi I2C (TWI) menggunakan perpustakaan Wire.

Masih ada beberapa pin lainnya pada Arduino Nano, yaitu:

a) AREF : Referensi tegangan untuk input analog. Digunakan dengan fungsi

analogReference().

b) RESET : Jalur LOW ini digunakan untuk me-reset (menghidupkan ulang)

mikrokontroler. Biasanya digunakan untuk menambahkan tombol reset pada shield yang menghalangi papan utama Arduino.

2.2.7. Komunikasi

Arduino Nano memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, dengan Arduino lain, atau dengan mikrokontroler lainnya. ATmega328 menyediakan komunikasi serial UART TTL (5 Volt), yang tersedia pada pin digital 0 (RX) dan pin 1 (TX). Sebuah chip FTDI FT232RL yang terdapat pada papan Arduino Nano digunakan sebagai media komunikasi serial melalui USB dan driver FTDI (tersedia pada software Arduino IDE) yang akan menyediakan COM Port Virtual (pada Device komputer) untuk berkomunikasi dengan perangkat lunak pada komputer. Perangkat lunak Arduino termasuk didalamnya serial monitor memungkinkan data tekstual sederhana dikirim ke dan dari papan Arduino. LED RX dan TX yang tersedia pada papan akan berkedip ketika data sedang dikirim atau diterima melalui chip FTDI dan koneksi USB yang terhubung melalui USB komputer (tetapi tidak untuk komunikasi serial pada pin 0 dan 1).

Sebuah perpustakaan SoftwareSerial memungkinkan komunikasi serial pada beberapa pin digital Nano. ATmega328 juga mendukung komunikasi I2C (TWI) dan SPI. Perangkat lunak Arduino termasuk perpustakaan Wire digunakan untuk menyederhanakan penggunaan bus I2C. Tampilan dari program arduino dapat di lihat pada gambar 2.3.


(32)

Gambar 2.3. Tampilan awal program arduino

2.3. Bluetooth HC-05

2.3.1. Deskripsi

Bluetooth Module HC-05 merupakan module komunikasi nirkabel pada frekuensi 2.4GHz dengan pilihan koneksi bisa sebagai slave, ataupun sebagai master. Interface yang digunakan adalah serial RXD, TXD, VCC dan GND. Built in LED sebagai indikator koneksi bluetooth[5].

Tegangan input antara 3.6 ~ 6V, arus saat unpaired (tidak terhubung) sekitar 30mA, dan saat paired (terhubung) sebesar 10mA. 4 pin interface 3.3V dapat langsung dihubungkan ke berbagai macam mikrokontroler, jarak efektif jangkauan sebesar 10 meter[5].

2.3.2. Spesifikasi

Spesifikasi Bluetooth HC-05 adalah sebagai berikut[4]:


(33)

11

b) Frequency: 2.4GHz ISM band

c) Modulation: GFSK(Gaussian Frequency Shift Keying)

d) Emission power: 4dBm, Class 2

e) Sensitivity: 0-84dBm at 0.1% BER

f) Kecepatan: Asynchronous: 2.1Mbps(Max) / 160 kbps, Synchronous: 1Mbps/1Mbps

g) Security: Authentication and encryption

h) Profiles: Bluetooth serial port

i) Power supply: +3.3VDC 50mA

j) Working temperature: -20 ~ +75 Centigrade

k) Dimensi: 3.57cm x 1.52cm

Untuk konfigurasi PIN Bluetooth HC-05 dapat di lihat pada tabel 2.3 dan gambar 2.4. Tabel 2.3. Tabel Konfigurasi PIN Bluetooth HC-05[4]

PIN Name PIN # Pad Type Description

GND 13

21 22

VSS Ground Pot

3.3 VCC 12 3.3V Integrated 3.3 Volt(+) supply with On-Chip Linear Regulator output within 3.15-3.3 Volt

P1O0 23 Bi-Directional

RX EN

Programmable input / output line, control output for LNA(if fitted)

P1O1 24 Bi-Directional

TX EN

Programmable input / output line, control output for PA(if fitted)


(34)

2.4. Komunikasi

2.4.1. Protokol Komunikasi Serial [11]

Komunikasi serial adalah komunikasi yang mengantarkan data digital secara bit per bit secara bergantian melalui media interface serial. Pengiriman data melalui interface

serial dapat dilakukan secara bit per bit (setiap satu step waktu 1 bit) atau juga dalam satuan

baud dimana 1 baud tidak mesti senilai dengan 1 bit per second, tergantung besaran data untuk

setiap kali clocktransfer.

Komunikasi serial memiliki beberapa konsekuensi yaitu:

a) Tingginya tingkat keamanan terhadap gangguan karena tingginya ayunan tegangan (dengan jangkauan max. 50 Volt)  Sehingga dapat direalisasikan dengan kabel yang lebih panjang.

b) Membutuhkan sedikit kabel penghantar.

c) Membutuhkan penyesuaian protokol komunikasi data terutama untuk sinkronisasi antara pengirim dan penerima

Problem utama komunikasi serial adalah metode sinkronisasi, yakni pengendalian clock pengirim dan penerima. Kedua clok seharusnya berada pada frekuensi yang sama, agar penerima dapat mengambil data tepat pada waktunya. Tujuan sinkronisasi adalah menghindari keterlambatan dan kesalahan pengambilan data sehingga perlu dilakukan penyesuaian clok penerima dengan clok pengirim.


(35)

13

Komunikasi serial di bagi menjadi dua yaitu: a) Komunikasi sinkron

Komunikasi sinkron di tandai dengan clock penerima disetting hanya pada awal komunikasi clock pengirim. Komunikasi sinkron terdapat 2 bentuk realisasi yaitu menyediakan tiga penghantar (untuk data yang dikirim , diterima dan eksternal clock) pada hal ini membutuhkan bantuan penghantar clock agar penerima dapat mengendalikan proses pengambilan data, kemudian bentuk realisasi lainnya adalah Interface serial terdiri hanya satu penghantar atau pasangan penghantar, dimana diawal paket data dikirimkan bit preamble sebagai bit sinkronisasi. Clock penerima akan mengalami settingan selama bit preamble berjalan.

b) Komunikasi asinkron

Komunikasi asinkron ditandai dengan sinkronisasi clock pengirim dan penerima terjadi pada awal dari setiap simbol data yang dikirim. Realisasi dari komunikasi asinkron adalah sebelum bits data terdapat satu atau dua startbit. Starbit ini menentukan kapan penerima mengambil data, dan ini berjalan dalam sebagian dari periode clock. Komunikasi asinkron mengirimkan data secara simbol per simbol, dimana disini ditandai acknowledge untuk setiap penyelesaian masing-masing simbol. Format data pada komunikasi asinkron tidak standar, bervariasi tergantung pada genap atau ganjilnya parity dan satu atau dua stop bit.

2.4.2. Protokol Komunikasi Bluetooth HC-05[12]

Bluetooth memiliki cara protokol komunikasi sebagai slave / device atau master / host, sebelum mengaktifkan bluetooth ada langkah yang harus kita lakukan yaitu melakukan koneksi dengan sumber tegangan, setelah terkoneksi dengan sumber tegangan kemudian scan bluetooth menggunakan PC / laptop kemudian akan muncul nama “HC -05”, kemudian koneksikan bluetooth dengan PC / laptop, jika ada pesan untuk mempairing bluetooth maka masukan password “1234”. Jika lampu pada bluetooth berwarna biru maka bluetooth dapat dikatakan aktif, kemudian buka terminal serial dan pilih COM yang tersambung pada Bluetooth. Untuk menkonfirmasi terminal serialnya dapat menggunakan parameter ini:


(36)

b) Data bit : 8 c) Stop bit : 1 d) Parity : no parity

Kemudian buka koneksi dan Bluetooth pun siap menerima dan mengirim data. Sebelum mengaktifkan Bluetooth sebagai master / slave maka kita harus menghubungkan pin KEY dengan VCC dan power supply ke modul bluetooth , maka kita akan memasuki mode AT MODE, pada mode ini harus menggunakan baud rate 38400 kemudian kita akan mengganti baud rate yang sesuai untuk bluetooth sebagai master / slave, berikut ini adalah protokol komunikasi menggunkan bluetooth:

a) Protokol komunikasi bluetooth sebagai master / host

Jika Bluetooth sebagai master / host maka bluetooth di setting menjadi berikut ini: i. Inputan tinggi kepada pin KEY.

ii. Hubungkan power supply ke modul bluetooth. Kemudian modul akan masuk ke AT COMMAND.

iii. Atur parameter terminal hyper atau port serial lain (baud rate: 38400 , data bit : 8, stop bit : 1, no parity bit , no flow control).

iv. Kirim karakter “AT+ROLE=1\r\n” melalui serial, kemudian terima karakter “OK\r\n”,“\r\n” adalah CLRF.

v. Kirim karakter “AT+CMODE=1\r\n” melalui serial, kemudian terima karakter “OK\r\n”,“\r\n” adalah CLRF.

vi. Kunci password standart pabrikan adalah: 1234, hal ini harus sama dengan bluetooth yang bekerja sebagai slave jika ingin melakukan pairing.

Untuk membaca kunci password gunakan command: “AT+PSWD?”. Untuk mengganti kunci password command kirim karakter “AT+PSWD=XXXX”. Password harus empat digit.

vii. Kembalikan pin KEY dan power supply ke modul. Setelah itu modul bluetooth akan menjadi master dan akan mencari perangkat bluetooth lain yang bekerja sebagai slave dan akan melakukan koneksi secara otomatis (baud rate: 96000 , data bit : 8, stop bit : 1, no parity bit , no flow control). b) Protokol komunikasi bluetooth sebagai slave / device

Jika Bluetooth sebagai slave/ device maka bluetooth disetting menjadi berikut ini: i. Inputan tinggi kepada pin KEY.


(37)

15

ii. Hubungkan power supply ke modul bluetooth. Kemudian modul akan masuk ke AT COMMAND.

iii. Atur parameter terminal super atau port serial lain (baud rate: 38400 , data bit : 8, stop bit : 1, no parity bit , no flow control).

iv. Kirim karakter “AT+ROLE=0\r\n” melalui serial, kemudian terima karakter “OK\r\n”,“\r\n” adalah CLRF.

v. Kirim karakter “AT+CMODE=0\r\n” melalui serial, kemudian terima karakter “OK\r\n”,“\r\n” adalah CLRF.

vi. Kunci password standart pabrikan adalah: 1234, hal ini harus sama dengan bluetooth yang bekerja sebagai slave jika ingin melakukan pairing.

Untuk membaca kunci password gunakan command: “AT+PSWD?”. Untuk mengganti kunci password command kirim karakter “AT+PSWD=XXXX”. Password harus empat digit.

vii. Kembalikan pin KEY dan power supply ke modul. Setelah itu modul bluetooth akan menjadi slave dan menunggu perangkat bluetooth lain yang bekerja sebagai master dan akan melakukan koneksi secara otomatis (baud rate: 38400 , data bit : 8, stop bit : 1, no parity bit , no flow control).

Yang dimaksud dengan AT-COMMAND adalah perintah – perintah yang digunakan dalam komunikasi dengan serial port. Seluruh komunikasi yang menggunakan modem atau modul membutuhkan AT-COMMAND untuk melakukan komunikasi terhadap perangkat lain. AT_COMMAND juga dapat digunakan untuk mengetahui kondisi dari modem atau modul, pengiriman data dan penerimaan data[13].

2.5. Motor DC[7]

2.5.1. Pengertian

Motor adalah suatu mesin yang berfungsi mengubah tenaga listrik menjadi tenaga mekanik. Pada motor DC tenaga mekanik tersebut berupa putaran rotor secara kontinu. Pada dasarnya motor DC mempunyai dua bagian penting yaitu bagian stator dan bagian rotor. Lebih jelasnya bagian dari motor DC diperlihatkan pada gambar 2.6.

a) Bagian stator

Stator ialah bagian yang tinggal tetap (tidak bergerak) yang terdiri dari rumah dengan kutub magnet yang dibuat dari pelat-pelat yang dipejalkan dengan gulungan penguat magnet berikut tutup rumah.


(38)

b) Bagian rotor

Rotor ialah bagian yang bergerak yang terdiri dari silinder dibuat dari pelat-pelat yang dipejalkan yang diberi saluran sebagai tempat kumparan yang biasa disebut armatur. Pada armatur terpasang kolektor/komutator yang terdiri dari sigmen-sigmen yang berhubungan dengan gulungan armatur.

Fungsi komutator adalah membalik arah aliran arus listrik yang melalui kumparan armaturnya. Pada saat kumparan armatur berpindah dari kutub utara ke kutub selatan (atau sebaliknya), untuk mendapatkan putaran motor sesuai dengan yang dikehendaki.

Gambar 2.6. Detail mekanik motor DC 2.5.2. Cara Kerja

Prinsip kerja dari motor DC berdasarkan pada penghantar yang membawa arus kedalam kumparan sehingga kumparan akan menimbulkan medan magnet. Medan magnet ini dibuat sedemikian rupa sehingga keadaannya selalu tolak menolak antara medan magnet yang ditimbulkan stator dan medan magnet yang ditimbulkan rotor sehingga didapat gaya dorong diantara keduanya maka timbulah putaran.

Pada motor DC magnet permanen tegangan armaturnya dapat diatur dengan cara mengatur besar arus yang lewat pada armatur, karena besar arus sebanding dengan kecepatan motor. Sedangkan untuk mengubah arah putaran motor DC dengan cara membalikkan polaritas sumber tegangannya.


(39)

17

2.6. Driver Motor DC Menggunakan IC L298D[8]

2.6.1. Pengertian

IC L298D adalah driver motor DC H-Bridge dengan 2 unit driver didalam 1 chip IC yang dapat digunakan untuk mengendalikan motor DC dengan arus maksimum 4 Ampere, IC ini dapat digunakan untuk mengendalikan 2 motor sekaligus secara independent. Untuk konfigurasi PIN dari IC L298D dapat dilihat pada gambar 2.7.

2.6.2. Spesifikasi

Spesifikasi driver motor DC L298D adalah: a. Operating supply voltage up to 46 Volt b. Total DC current up to 4 Ampere

c. A low saturation voltage overtemperature protection

d. Logical “0” Input Voltage up to 1.5 Volt (High Noise Immunity)

Gambar 2.7. Konfigurasi IC L298D

Logika kontrol dari IC L298D dapat dilihat pada tabel 2.4. dan 2.5.

Tabel 2.4. Tabel logika kontrol driver motor DC dengan IC L298D kondisi motor Kanan Pin ENA Pin IN1 Pin IN2 Kondisi Motor

Kanan

0 x x Stop

1 1 0 Forward

1 0 1 Reverse

1 1 1 Break


(40)

Tabel 2.5. Tabel logika kontrol driver motor DC dengan IC L298D kondisi motor Kiri Pin ENB Pin IN3 Pin IN4 Kondisi Motor

Kiri

0 x x Stop

1 1 0 Forward

1 0 1 Reverse

1 1 1 Break

1 0 0 Break

Logika pada tabel control diver motor DC dengan IC L298D diatas adalah logika digital dimana logika 1 = HIGH (+5Volt DC), logika 0 = LOW (0 Volt DC) dan logika “x” adalah logika don’t care atau tidak akan berpengaruh pada output.

2.7. Sensor Jarak Ultrasonik PING [6]

2.7.1. Pengertian

Sensor jarak ultrasonik ping adalah sensor 40 khz produksi parallax yang banyak digunakan untuk aplikasi. Kelebihan sensor ini adalah hanya membutuhkan 1 sinyal selain jalur 5 volt dan ground. Perhatikan gambar 2.8 dibawah ini :

Gambar 2.8 Sensor jarak ultrasonik ping

Sensor PING mendeteksi jarak objek dengan cara memancarkan gelombang ultrasonik ( 40 KHz ) selama t = 200 us kemudian mendeteksi pantulannya. Sensor PING memancarkan gelombang ultrasonik sesuai dengan kontrol dari mikrokontroller pengendali ( pulsa trigger dengan tout min 2 us ). Diagram sensor PING dapat di lihat pada gambar 2.9 dan untuk gambar dari jarak ukur sensor PING dapat dilihat pada gambar 2.10

2.7.2. Spesifikasi Spesifikasi sensor ini :


(41)

19

b. Input trigger –positive TTL pulse, 2uS min., 5uS tipikal. c. Echo hold off 750uS dari fall of trigger pulse.

d. Delay before next measurement 200uS.

e. Burst indicator LED menampilkan aktifitas sensor. 2.7.3. Cara Kerja Sensor

Gambar 2.9. Diagram Waktu Sensor Ping

Gelombang ultrasonik ini melalui udara dengan kecepatan 344 meter per detik, mengenai obyek dan memantul kembali ke sensor. Sensor Ping mengeluarkan pulsa output high pada pin SIG setelah memancarkan gelombang ultrasonik dan setelah gelombang pantulan terdeteksi Ping akan membuat output low pada pin SIG. Lebar pulsa High (tIN) akan sesuai dengan lama waktu tempuh gelombang ultrasonik untuk 2x jarak ukur dengan obyek. Maka jarak yang diukur dapat dilihat pada rumus 2.1 dan 2.2 :

Cudara = 331.5 +0.6 Tc ⁄

Keterangan: TC adalah Suhu yang berpengaruh pada sensor

detik

Keterangan: - Diasumsikan suhu yang digunakan adalah suhu ruangan 27-28 oC - tIN = waktu yang dibutuhkan untuk menempuh jarak

(2.2) (2.1)


(42)

Gambar 2.10. Jarak Ukur Sensor Ping

Keluaran dari pin SIG ini yang dihubungkan ke salah satu port dimikrokontroller. Fungsi Sigout untuk mentrigger ping, sedangkan fungsi Sigin digunakan untuk mengukur pulsa yang sesuai dengan jarak dari objek target. Cara untuk instalasi sensor PING dapat di lihat pada gambar 2.11

Gambar 2.11. Instalasi Sensor Ping

2.8. Keseimbangan Benda Tegar [10]

Sebuah benda tegar berada dalam keadaan seimbang mekanis bila, relative terhadap suatu kerangka acuan inersial:

a) Percepatan linier pusat massanya nol.

b) Percepatan sudutnya mengelilingi sembarang sumbu tetap dalam kerangka acuan ini juga nol.

Persyaratan di atas tidak mengharuskan benda tersebut dalam keadaan diam, karena persyaratan pertama membolehkan benda bergerak dengan kecepatan pusat massanya konstan, sedangkan persyaratan kedua membolehkan benda berotasi dengan kecepatan sudut rotasi yang konstan juga. Bila benda benarbenar diam (relatif terhadap suatu kerangka acuan), yaitu ketika kecepatan linier pusat massanya dan kecepatan sudut rotasinya terhadap sembarang sumbu tetap, bernilai nol keduanya, maka benda tegar


(43)

21

tersebut dikatakan berada dalam keseimbangan statik. Bila suatu benda tegar berada dalam keadaan seimbang statik, maka kedua persyaratan di atas untuk keseimbangan mekanik akan menjamin benda tetap dalam keadaan seimbang statik. Persyaratan pertama ekuivalen dengan persyaratan bahwa total gaya eksternal yang bekerja pada benda tegar sama dengan nol. Gaya (F) pada keseimbangan benda tegar di bagi menjadi 2 dengan rumus 2.4:

Fx= F cos ϴ Fy= F sin ϴ Dengan ϴ = sudut gaya terhadap sumbu x

Sedangkan persyaratan kedua ekuivalen dengan persyaratan bahwa total torsi eksternal yang bekerja pada benda tegar sama dengan nol. Torsi (τ) pada kondisi keseimbangan static memiliki rumus pada rumus 2.5:

τ = F d Keterangan:

F = gaya (Newton)

d= jarak gaya ke poros (meter)

Jika terjadi gerakan maka akan terjadi pula gaya gesek , gaya gesek memiliki rumus pada rumus 2.6:

f = μ N Keterangan:

f = gaya gesek (Newton) N = Gaya normal (Newton) Μ = koefisien gesekan

Jika ada benda maka benda tersebut memiliki berat (W), yang berumus pada rumus 2.7:

Keterangan:

W = berat (kilogram) m = massa (kilogram)

g = percepatan gravitasi bumi ( ⁄)

Gambar 2.12. Ilustrasi titik berat (Center Of Gravity) Roll Bot (tampak samping)

(2.4)

(2.5)

(2.6)


(44)

Jika titik berat dari “Roll Bot” berada satu garis lurus dengan titik Center Of Gravity maka “Roll Bot” akan seimbang, yang dimaksud dengan Center Of Gravity adalah titik seimbang dari suatu benda, yang dapat dilihat pada gambar 2.12[14].


(45)

23

BAB III

PERANCANGAN

3.1.

Proses Kerja Sistem Pengendalian “Roll Bot”

Proses kerja “Roll Bot” yang pengendaliannya menggunakan android ditunjukan pada gambar 3.1.

Gambar 3.1 Proses Kerja Roll Bot

Sistem pengendalian “Roll Bot” ini merupakan system pengendalian dua arah, hal ini disebabkan “Roll Bot” akan mengirimkan data ke ponsel mengenai jarak terhadap penghalang yang berada didepan “Roll Bot”, pada hal ini user akan menjadi yang mengontrol gerak robot


(46)

sekaligus mengetahui jarak “Roll Bot” dengan penghalang. Sebelum menggerakan “Roll Bot” user akan mengkoneksikan “Roll Bot” dengan Handphone Android menggunakan alat penghubung berupa Bluetooth. Android akan mengirimkan data melalui Bluetooth yang ada pada handphone yang kemudian akan diterima oleh Bluetooth yang ada pada “Roll Bot” yang kemudian data tersebut akan diproses oleh arduino, kemudian akan menggerakan motor DC

yang sebagai penggerak “Roll Bot”. Untuk mengirimkan data yang berupa jarak, sensor ping

akan mendeteksi jarak dari penghalang, yang kemudian akan akan diproses oleh arduino dan

akan dikirim menggunakan Bluetooth pada “Roll Bot” dan akan diterima oleh Handphone

Android yang kemudian akan ditampilkan pada handphone.

3.2. Kebutuhan Perangkat Keras

Untuk dapat menggerakan “Roll Bot” penulis memerlukan beberapa perangkat keras yang mendukung system kerja dari “Roll Bot” diantaranya:

1. Ponsel

Dalam pengontrolan “Roll Bot”, maka penulis membutuhkan Handphone

Android dengan sistem operasi versi Andoid Kitkat 4.4. 2. Notebook

Notebook digunakan untuk memprogram mikrokontroler menggunakan program arduino serta untuk memprogram aplikasi Android menggunakan

software Android Studio.

3. Mikrokontroler Arduino nano dengan ATMEGA 328

Mikrokontroler ini digunakan untuk mengontrol pergrakan “Roll Bot” serta

komunikasi dengan handphone android. 4. Modul Bluetooth

Modul Bluetooth ini digunakan untuk menghubungkan “Roll Bot” dengan

handphone Android yang nanti akan diproses menggunakan mikrokontroler Arduino. Modul Bluetooth yang digunakan adalah Bluetooth HC-05.


(47)

25

5. Sensor Jarak

Sensor jarak ini digunakan untuk menghitung jarak antara “Roll Bot” dengan pengahalang yang berada didepan “Roll Bot”. Sensor jarak yang digunakan adalah sensor Ping parallax.

6. IC L298

IC L298 ini digunakan untuk IC pada driver motor yang berfungsi untuk mengendalikan arah putaran motor serta kecepatan motor yang nantinya akan diatur pada mikrokontroler.

7. Motor DC

Motor DC ini digunakan untuk menggerakan “Roll Bot” yaitu bergerak maju,

mundur, belok kiri, dan belok kanan. Adapun Motor DC yang nantinya digunakan membutuhkan tegangan DC 12 volt.

8. Catu Daya

Penulis menggunakan catu daya berupa batrei dengan tegangan 12 volt untuk mensuply motor DC, dan akan menggunakan batrei dengan tegangan 5 volt untuk mensuply mikrokontroler.

3.3. Kebutuhan Perangkat Lunak

Perangkat lunak yang digunakan oleh penulis ada dua yaitu:

1. Arduino

Arduino digunakan untuk mengisikan program pada memori flash pada arduino nano dengan ATMEGA 328 yang ada pada “Roll Bot”.

2. Android Studio

Android Studio digunakan untuk membuat program untuk handphone android dan interface pada handphone android.


(48)

5

3.4. Perancangan Alat

3.4.1. Perancangan Konstruksi “Roll Bot”

Pada perancangan konstruksi “Roll Bot” ini berisi komponen – komponen yang

membentuk sistem “Roll Bot” secara keseluruhan. Gambar 3.2 menggambarkan konstruksi “Roll Bot” secara keseluruhan.

Gambar 3.2. Konstruksi “Roll Bot” tampak depan dan tampak atas

Keterangan Gambar 3.2 :

1. Roda “Roll Bot” 2. Modul sensor PING 3. Modul Bluetooth 4a. Motor DC Kiri 4b. Motor DC kanan 5. Battery

6. Driver Motor DC dengan IC L298D

3.4.2. Perancangan Rangkaian Penggerak Motor

Perancangan penggerak “Roll Bot” menggunakan motor DC sebagai

penggerak, sebuah mikrokontroler tidak dapat menggerakan motor DC secara 2

20 centi meter

3 4b

5 4a 6 12 c e nt i mete r 1

20 centi meter

12 c e nt i mete r

4a 4b

1

2

3


(49)

27

langsung, maka membutuhkan rangkaian khusus untuk menggerakan motor DC. Hal ini disebabkan mikrokontroler hanya mengeluarkan tegangan sebesar 5 Volt padahal motor DC membutuhkan tegangan 12 Volt untuk dapat bekerja secara optimal. Maka dari itu mikrokontroler membutuhkan rangkaian khusus untuk menggerakan motor DC. Rangkaian pengendali motor DC ini yang digunakan adalah rangkaian H-Bridge dari sebuah komponen IC L298D Gambar 3.3 Menunjukkan koneksi pin pada IC L298D terhadap motor DC dan mikrokontroler.

Gambar 3.3 Driver Motor DC dengan IC L298D

Keterangan Gambar 3.3:

1. Mikrokontroler Arduino nano dengan ATMEGA 328 2. IC L298D

3. Motor DC kiri 4. Motor DC kanan 5. Power supply 12 volt

IC L298D membutuhkan pulsa PWM untuk mengatur kecepatan motor DC. Pengaturan kecepatan motor DC dengan IC L298 menggunakan digital pin 8 dan digital pin 9 Karena pada port tersebut terdapat fungsi PWM. Untuk mengendalikan

5 3

2

4 1


(50)

pergerakan “Roll Bot” untuk bergerak maju, mundur, belok kiri, belok kanan, dan berhenti menggunakan digital pin 2, digital pin 3, digital pin 4, digital pin 7 pada arduino nano menggunakan mikrokontroler ATMEGA 328. Tabel 3.1. Menunjukkan

pergerakan putaran motor DC terhadap arah pergerakan “Roll Bot”.

Motor Kiri Motor Kanan Arah Pergerakan

“Roll Bot” Gambar Ilustrasi

CW CW Bergerak Maju

CCW CW Bergerak ke kiri

- - Berhenti

CW CCW Bergerak ke kanan

CCW CCW Bergerak Mundur


(51)

29

3.4.3. Perancangan Sensor PING

Dengan menggunakan rumus 2.2. yang ada pada dasar teori maka penulis dapat melakukan perhitungan sebagai berikut yang ada pada tabel 3.2. dan grafik pada gambar 3.4:

Tabel 3.2. tabel hasil perhitungan menggunakan rumus 2.2. pada dasar teori

No Jarak (meter) Waktu (s)

1 0.1 0.7

2 0.2 1.2

3 0.3 1.7

4 0.4 2.3

5 0.5 2.9

6 0.6 3.5

7 0.7 4.1

8 0.8 4.7

9 0.9 5.2

10 1 5.8

11 1.2 6.98

12 1.4 8.1

13 1.6 9.3

14 1.8 10.5

15 2 11.6

16 2.2 12.8

17 2.4 13.95

18 2.6 15.1

19 2.8 16.3


(52)

Gambar 3.4. Grafik Jarak Terhadap Waktu

3.5. Perancangan Program

3.5.1. Diagram Alir Pergerakan “Roll Bot” Pada Arduino

Gambar 3.5. merupakan gambar diagram alir (Flow Chart) pergerakan “Roll

Bot” pada mikrokontroler Arduino dengan ATMEGA 328. Proses awalnya adalah

melakukan koneksi dengan handphone android, setelah melakukan koneksi jika berhasil maka arduino akan menerima perintah yang akan dikirim oleh handphone

android yang nantinya akan menibulkan gerakan sebagai berikut:

1. Jika tombol pada handphone android ditekan maka “Roll Bot” akan bergerak maju.

2. Jika tombol pada handphone android ditekan maka “Roll Bot” akan bergerak mundur.

3. Jika tombol pada handphone android ditekan maka “Roll Bot” akan bergerak kanan.

4. Jika tombol pada handphone android ditekan maka “Roll Bot” akan bergerak kiri. 3, 17.4 0 2 4 6 8 10 12 14 16 18 20

0 0.5 1 1.5 2 2.5 3 3.5

w a kt u (m s) Jarak (m)


(53)

31

5. Jika tombol pada handphone android ditekan maka “Roll Bot” akan bergerak berhenti.

6. Jika tombol pada handphone android ditekan maka “Roll Bot” akan melakukan gerakan demo yang berupa membentuk angka delapan.

7. Jika tombol pada handphone android ditekan maka “Roll Bot” akan melakukan koneksi dengan handphone.

8. Jika tombol pada handphone android ditekan maka “Roll Bot” akan

menambahkan kecepatan putar motor DC.

9. Jika tombol pada handphone android ditekan maka “Roll Bot” akan

megurangi kecepatan putar motor DC.

10.Jika tombol pada handphone android ditekan maka “Roll Bot” akan keluar dari interface pada handphone.

Jika sensor PING yang ada pada “Roll Bot” mendeteksi sebuah halangan maka

arduino akan mengolah data yang di kirimkan oleh sensor PING yang kemudian akan di kirimkan ke handphone usher menggunakan bluetooth yang ada pada “Roll Bot”. Kecepatan yang di gunakan untuk menggerakan motor DC berskala 0 sampai 100, jika di bandingkan dengan PWM dari arduino maka perbandingannya 1:2,25, hal ini dikarenakan range dari PWM adalah 0 sampai 225. Untuk tombol demo “Roll Bot”

akan melakukan pergerakan membentuk angka delapan, “Roll Bot” melakukan

pergerakan demo dengan melakukan gerakan maju yang berbanding lurus dengan perubahan kecepatan seturut dengan waktu yang dibutuhkan untuk melakukan gerakan, ilustrasi pergerakan dapat di lihat pada gambar 3.6.

Stop

Demo


(54)

Gambar 3.5. Flow chart system pada arduino

Gambar 3.6. Arah putar “Roll Bot” pada perintah demo

3.5.2. Diagram Alir Pergerakan “Roll Bot” Pada Android

Gambar 3.7. merupakan gambar diagram alir (Flow Chart) pergerakan “Roll

Bot” pada handphone Andorid dengan menggunakan program android studio. Proses


(55)

33

berhasil maka android akan mengirim salah satu perintah yang terdiri dari perintah connect, maju, mundur, kanan, kiri, demo, berhenti, keluar, dan tombol untuk menaikan dan menurunkan kecepatan yang nantinya akan diterima oleh “Roll Bot” melalui Bluetooth yang kemudian akan diproses oleh arduino, yang nantinya akan menibulkan gerakan yang sudah ditentukan disubab sebelumnya.

Pada gambar 3.7. merupakan gambar diagram alir (Flow Chart) dari system

android, pertama usher akan melakukan koneksi terlebih dahulu dengan “Roll Bot” jika

berhasil melakukan koneksi dengan “Roll Bot” maka usher dapat mengirimkan data yang berupa perintah maju, mundur, kanan, kiri, berhenti, demo, tambah, kurang. Yang

di maksud dengan tambah adalah perintah untuk menambah kecepatan dari “Roll Bot”,

untuk kurang adalah perintah untuk mengurangi kecepatan “Roll Bot”, kecepatan “Roll

Bot” diskalakan dari 0 sampai 100 jika di bandingkan dengan kecepatan PWM maka perbandingannya 1:2,25, hal ini di karenakan range dari PWM adalah 0 sampai 225.

Jika “Roll Bot” membaca jarak terhadap halangan maka arduino akan mengirimkan

data jarak dengan bantuan bluetooth yang ada pada “Roll Bot” ,yang kemudian akan di

terima oleh Bluetooth yang ada pada handphone dan akan di tampilkan pada aplikasi


(56)

Gambar 3.7 Flow chart system pada android

3.5.3. Tampilan Interface Pada Handphone Android

Gambar 3.8 merupakan gambaran tampilan interface pada handphone android,

yang nantinya akan digunakan untuk memberi perintah kepada “Roll Bot”. Interface

ini juga digunakan untuk melakukan koneksi terhadap bluetooth yang ada pada “Roll Bot”.


(57)

35

Gambar 3.8. Interface pada Handphone Android Keterangan gambar 3.8:

1. Tombol Connect

2. Tombol untuk mengendalikan “Roll Bot” 3. Tombol untuk keluar dariaplikasi 4. Tombol untuk melakukan gerakan demo

5. Tombol untuk mengentikan laju “Roll Bot”

6. Textbox untuk menampilkan jarak terhadap halangan 7. Tombol untuk menambah kecepatan Motor DC 8. Tombol untuk mengurangi kecepatan Motor DC

Pada Gambar 3.8. merupakan gambar dari interface pada handphone android, di dalam flowchart tersebut terdapat beberapa tombol yaitu:

1. Jika tombol pada Interface ditekan maka bluetooth pada handphone akan

mengirimkan perintah maju ke “Roll Bot”.

2. Jika tombol pada Interface ditekan maka bluetooth pada handphone akan mengirimkan perintah mundur ke “Roll Bot”.

3. Jika tombol pada Interface ditekan maka bluetooth pada handphone akan

mengirimkan perintah kanan ke “Roll Bot”.

3

1

2

4

7

8

5


(58)

4. Jika tombol pada Interface ditekan maka bluetooth pada handphone akan

mengirimkan perintah kiri ke “Roll Bot”.

5. Jika tombol pada Interface ditekan maka bluetooth pada handphone akan mengirimkan perintah berhenti ke “Roll Bot”.

6. Jika tombol pada Interface ditekan maka bluetooth pada handphone akan

mengirimkan perintah demo ke “Roll Bot”, yang nantinya “Roll Bot” akan

melakukan demo berupa membentuk angka delapan.

7. Jika tombol pada Interface ditekan maka bluetooth pada handphone

akan melakukan koneksi dengan “Roll Bot”.

8. Jika tombol pada Interface ditekan maka bluetooth pada handphone akan mengirimkan perintah tambah, perintah ini digunakan untuk menambah kecepatan

“Roll Bot”.

9. Jika tombol pada Interface ditekan maka bluetooth pada handphone akan mengirimkan perintah kurang, perintah ini digunakan untuk mengurango keceptan

“Roll Bot”.

10.Jika tombol pada Interface ditekan maka usher akan keluar dari aplikasi

pengendali “Roll Bot”.

Stop

Demo


(59)

37

BAB IV

HASIL DAN PEMBAHASAN

Bab ini berisi mengenai hasil pengamatan dari sensor PING dengan menggunakan Arduino nano dengan ATMEGA 328 dan pembahasan program yang digunakan pada arduino dan android. Hasil pengamatan berupa hasil dari sensor PING yang berupa jarak yang terbaca oleh sensor, waktu yang dibutuhkan untuk menerima jarak dan membandingkan dengan hasil dari perhitungan yang dilakukan pada BAB III.

4.1. Hasil Implementasi Alat

Gambar 4.1. Rancangan Alat “Roll Bot” Secara Keseluruhan

Gambar 4.1. merupakan gambar alat yang dirancang secara keseluruhan. Alat yang dibuat terdiri dari 2 hal yang penting yaitu menerima perintah yang diberikan oleh user menggunakan ponsel android dan mengirim data dari sensor PING yang berupa jarak dan waktu yang dibutuhkan untuk menerima jarak. Sensor yang digunakan adalah sensor ultrasonic PING parallax. Sensor PING ini akan menerima data jarak dan waktu yang dibutuhkan untuk menerima jarak, kemudian arduino akan memproses data tersebut yang kemudian akan dikirimkan menggunakan bluetooth yang ada pada rangkaian alat ini ke bluetooth yang ada pada ponsel android.


(60)

4.2. Hasil Perancangan Perangkat Keras

Gambar 4.2, merupakan gambar driver motor DC yang digunakan pada alat “Roll

Bot”, yang memiliki fungsi sebagai penggerak motor dan mengimplementasikan pwm yang

dikirim dari arduino nano. Driver L298 dapat menahan arus maksimal sebesar 4 Ampere dan membutuhkan tegangan masukan sebesar 5 volt untuk mengaktifkan driver serta tegangan 12 volt untuk mensuply motor DC yang tersambung pada driver motor L298 ini.

Gambar 4.2. driver motor DC L298

Gambar 4.3. merupakan gambar dari module Bluetooth HC-05 yang digunakan untuk mengirim data yang berupa jarak yang diterima oleh sensor PING dan menerima data yang berupa data yang berupa perintah untuk melakukan gerakan, tegangan yang digunakan adalah 3.3 volt.

Gambar 4.3. module Bluetooth HC-05

Gambar 4.4. merupakan gambar dari module sensor PING yang digunakan untuk


(61)

39

sensor PING adalah 4 centimeter dan jarak maksimal yang terbaca adalah 313 centimeter. Sensor PING ini terdiri dari 3 kaki yang meliputi kaki VCC, GND, dan SIG, kaki VCC akan dihubungkan ke tegangan 5 volt pada mikrokontroler arduino nano yang nantinya akan mengaktifkan sensor, kaki GND akan disambungkan ke ground yang ada pada mikrokontroler arduino nano, kaki SIG akan disambungkan ke pin digital 8 pada mikrokontroler arduino nano yang berfungsi untuk menjadi penerima jarak pada arduino nano.

Gambar 4.4. module sensor PING

4.3. Penggunaan Modul Bluetooth HC-05

Modul bluetooth HC-05 merupakan modul bluetooth yang digunakan untuk

komunikasi antara android dan arduino dalam alat “Roll Bot” ini. Modul HC-05 memiliki AT Command yang digunakan untuk mengecek status dari bluetooth. Dalam pengerjaan alat ini ada beberapa perintah AT Command yang digunakan. Contoh dari perintah AT Command

yang digunakan adalah “AT” yang digunakan untuk mengetahui status koneksi dari bluetooth, jika bluetooth sudah terkoneksi maka akan muncul respon “OK” pada serial monitor pada arduino. Adapula “AT+NAME?” yang digunakan untuk mengetahui nama dari bluetooth dan

ada “AT+PSWD?” yang digunakan untuk mengetahui password dari bluetooth yang

digunakan.

4.4. Hasil Implementasi Menggunakan Arduino

Pada saat tombol connect ditekan maka android akan melakukan pairing dan terkoneksi pada arduino melalui Bluetooth maka langkah selanjutnya adalah arduino akan melakukan scaning untuk perintah – perintah yang ada pada android yaitu meliputi maju, mundur, belok kanan, belok kiri, demo, berhenti, tambah, dan kurang.


(62)

4.4.1. Perintah Maju

Jika Bluetooth yang ada pada arduino menerima perintah maju atau menerima perintah

dengan hruruf “a”, maka arduino akan bekerja dengan menjalankan program maju yang dapat

dilihat pada gambar 4.5. Program yang dijalankan akan mengirim pulsa PWM sebesar 100 atau 39,21 % dari kecepatan maksimal PWM (255 PWM) ke motor DC 1 dengan arah putar motor CW dan akan mengirim pulsa PWM ke motor DC 2 sebesar 97 PWM atau 38,04 % dari kecepatan maksimal PWM ( 255 PWM) ke motor 2 dengan arah putar motor CW. Pada perintah maju ini android akan mengirimkan data yang berupa karakter “a” yang nantinya akan diterima oleh arduino nano, yang kemudian akan menimbulkan gerekan maju.

Gambar 4.5. Program maju pada arduino

4.4.2. Perintah Mundur

Jika Bluetooth yang ada pada arduino menerima perintah mundur atau menerima

perintah dengan huruf “b”, maka arduino akan bekerja dengan menjalankan program mundur

yang dapat dilihat pada gambar 4.6. Program yang dijalankan akan mengirim pulsa PWM sebesar 100 atau 39,21 % dari kecepatan maksimal PWM (255 PWM) ke motor DC 1 dengan arah putar motor CCW dan akan mengirim pulsa PWM ke motor DC 2 sebesar 97 PWM atau 38,04 % dari kecepatan maksimal PWM ( 255 PWM) ke motor 2 dengan arah putar motor CCW. Pada perintah maju ini android akan mengirimkan data yang berupa karakter “b” yang nantinya akan diterima oleh arduino nano, yang kemudian akan menimbulkan gerekan mundur.


(63)

41

Gambar 4.6. Program mundur pada arduino

4.4.3. Perintah Kanan

Jika Bluetooth yang ada pada arduino menerima perintah belok kanan atau menerima

perintah dengan huruf “c”, maka arduino akan bekerja dengan menjalankan program belok

kanan yang dapat dilihat pada gambar 4.7. Program yang dijalankan akan mengirim pulsa PWM sebesar 100 atau 39,21 % dari kecepatan maksimal PWM (255 PWM) ke motor DC 1 dengan arah putar motor CCW dan akan mengirim pulsa PWM ke motor DC 2 sebesar 97 PWM atau 38,04 % dari kecepatan maksimal PWM ( 255 PWM) ke motor 2 dengan arah putar motor CW. Pada perintah maju ini android akan mengirimkan data yang berupa karakter

“c” yang nantinya akan diterima oleh arduino nano, yang kemudian akan menimbulkan

gerekan belok kanan.

Gambar 4.7. Program belok kanan pada arduino

4.4.4. Perintah Kiri

Jika Bluetooth yang ada pada arduino menerima perintah belok kiri atau menerima perintah dengan huruf “d”, maka arduino akan bekerja dengan menjalankan program belok


(64)

kiri yang dapat dilihat pada gambar 4.8. Program yang dijalankan akan mengirim pulsa PWM sebesar 100 atau 39,21 % dari kecepatan maksimal PWM (255 PWM) ke motor DC 1 dengan arah putar motor CW dan akan mengirim pulsa PWM ke motor DC 2 sebesar 97 PWM atau 38,04 % dari kecepatan maksimal PWM ( 255 PWM) ke motor 2 dengan arah putar motor

CCW. Pada perintah maju ini android akan mengirimkan data yang berupa karakter “d” yang

nantinya akan diterima oleh arduino nano, yang kemudian akan menimbulkan gerekan belok kiri.

Gambar 4.8. Program belok kiri pada arduino

4.4.5. Perintah Demo

Pada perintah demo ini, Bluetooth pada arduino akan menerima perintah dengan huruf

“e” yang nantinya akan diproses oleh arduino dengan menjalankan program demo yang dapat

dilihat pada gambar 4.9. Pada gambar 4.9. dapat kita lihat kombinasi PWM yang nantinya


(65)

43

Gambar 4.9. Program demo pada arduino

4.4.6. Perintah berhenti

Jika Bluetooth yang ada pada arduino menerima perintah berhenti yang

diimplementasikan dengan huruf “f”, maka arduino akan bekerja dengan menjalankan

program berhenti yang dapat dilihat pada gambar 4.10. Didalam program tersebut kedua motor akan diberikan pulsa PWM sebesar 0 PWM atau 0% dari kecepatan maksimal PWM (255 PWM).


(66)

Gambar 4.11. Program berhenti pada arduino

4.4.7. Perintah Tambah

Jika Bluetooth yang ada pada arduino menerima perintah tambah yang

diimplementasikan dengan huruf “g”, maka arduino akan bekerja dengan menjalankan

program tambah yang dapat dilihat pada gambar 4.11. Didalam program tersebut jika arduino menerima huruf “g” atau dapat dikatakan menerima perintah tambah maka arduino akan memprosesnya dengan menambahkan pulsa PWM sebesar 100 PWM atau 39,21 % dari kecepatan maksimal PWM (255 PWM).

Gambar 4.11. Program tambah pada arduino

4.4.8. Perintah Kurang

Jika Bluetooth yang ada pada arduino menerima perintah kurang yang

diimplementasikan dengan huruf “h”, maka arduino akan bekerja dengan menjalankan

program kurang yang dapat dilihat pada gambar 4.12. Didalam program tersebut jika arduino menerima huruf “h” atau dapat dikatakan menerima perintah kurang maka arduino akan memprosesnya dengan mengurangi pulsa PWM sebesar 100 PWM atau 39,21 % dari kecepatan maksimal PWM (255 PWM)..


(67)

45

Gambar 4.12. Program kurang pada arduino

4.4.9. Mengirim Data Sensor PING

Jika sensor PING membaca jarak, maka arduino akan mengirimkan data sensor PING menggunakan Bluetooth yang terhubung dengan arduino. Program untuk mengirim data sensor PING dapat dilihat pada gambar 4.13. Pada program tersebut terdapat perhitungan supaya didapatkan hasil pembacaan jarak dalam centimeter dan waktu yang dibutuhkan dalam microseconds. Perihtungan yang dilakukan untuk mendapatkan data dalam centimeter dapat dilakukan dengan cara microsecond/29/2, microsecond merupakan kecepatan suara diudara yaitu 340 m/s atau sekitar 29 microseconds per centi meter kemudian dibagi oleh angka dua dikarenakan sensor PING membutuhkan waktu untuk memancarkan dan menerima kembali yang dipancarkan maka dibagi oleh angka 2. Hal ini sama dengan untuk mendapatkan data waktu untuk menerima jarak, cara untuk mengetahui waktu yang dibutuhkan untuk menerima jarak yaitu dengan cara microsecond/2.


(68)

Gambar 4.13. Program mengirim data sensor PING pada arduino

4.5. Hasil Implementasi Menggunakan Android

4.5.1. Connect

Connect merupakan salah satu tombol yang ada pada interface pada android, tombol

ini berfungsi untuk melakukan koneksi dengan bluetooth yang ada pada “Roll Bot” dengan

cara memastikan nama yang ada pada program sama dengan nama bluetooth yang terpairing, kemudian program akan memastikan UUID dari bluetooth tersebut sama dengan UUID yang

dipakai untuk bluetooth universal, jika sama maka akan muncul tulisan “connected” dan

kemudian jika UUID dan nama dari roll sudah sama maka android akan mengirimkan huruf

“q” jika sudah terkirim dan terterima oleh arduino maka akan muncul tulisan “data diterima”. Program dari tombol connect ini dapat dilihat pada gambar 4.14.


(69)

47

Gambar 4.14. Program connect pada android

Setelah android dan arduino terkoneksi maka langkah selanjutnya adalah menjalankan program SendData(). Isi dari program SendData() dapat dilihat pada gambar 4.15.

Gambar 4.15. Program send data pada android

4.5.2. Tombol Atas

Tombol atas yang ada pada android berbentuk digunakan untuk mengirim perintah

maju dari android ke arduino yang diinisialisasikan dengan huruf “a”. Maka jika pada android ditekan tombol atas ini maka android akan mengirimkan huruf “a” yang nantinya akan


(70)

menimbulkan perintah maju. Program dari tombol atas pada android dapat dilihat pada gambar 4.16.

Gambar 4.16. Program atas (maju) pada android

4.5.3. Tombol Bawah

Tombol bawah yang ada pada android berbentuk digunakan untuk mengirim

perintah mundur dari android ke arduino yang diinisialisasikan dengan huruf “b”. Maka jika pada android ditekan tombol bawah ini maka android akan mengirimkan huruf “b” yang

nantinya akan diterima oleh bluetooth pada “Roll Bot” yang akan diproses oleh arduino yang nantinya akan menimbulkan perintah mundur. Program dari tombol bawah pada android dapat dilihat pada gambar 4.17.

Gambar 4.17. Program bawah (mundur) pada android

4.5.4. Tombol Kanan

Tombol kanan yang ada pada android berbentuk digunakan untuk mengirim

perintah belok kanan dari android ke arduino yang diinisialisasikan dengan huruf “c”. Maka

jika pada android ditekan tombol kanan ini maka android akan mengirimkan huruf “c” yang


(71)

49

nantinya akan menimbulkan perintah belok kanan. Program dari tombol kanan pada android dapat dilihat pada gambar 4.18.

Gambar 4.18. Program kanan (belok kanan) pada android

4.5.5. Tombol Kiri

Tombol kiri yang ada pada android berbentuk digunakan untuk mengirim perintah

belok kiri dari android ke arduino yang diinisialisasikan dengan huruf “d”. Maka jika pada

android ditekan tombol kiri ini maka android akan mengirimkan huruf “d” yang nantinya akan diterima oleh bluetooth pada “Roll Bot” yang akan diproses oleh arduino yang nantinya akan

menimbulkan perintah belok kiri. Program dari tombol kiri pada android dapat dilihat pada gambar 4.19.

Gambar 4.19. Program kiri (belok kiri) pada android

4.5.6. Tombol Demo

Tombol demo yang ada pada android berbentuk digunakan untuk mengirim

perintah melakukan demo dari android ke arduino yang diinisialisasikan dengan huruf “e”. Maka jika pada android ditekan tombol demo ini maka android akan mengirimkan huruf “e”

yang nantinya akan diterima oleh bluetooth pada “Roll Bot” yang akan diproses oleh arduino Demo


(1)

12. Set/Check PIN code:

Command Respond Parameter

AT+PSWD=<Param> OK Param: PIN code

(Default 1234) AT+ PSWD? + PSWD :<Param>

OK

13. Set/Check serial parameter:

Command Respond Parameter

AT+UART=<Param>,<Param2>,< Param3>

OK Param1: Baud

Param2: Stop bit Param3: Parity AT+ UART? +UART=<Param>,<Param2>,

<Param3> OK

Example:

AT+UART=115200,1,2,\r\n OK

AT+UART? +UART:115200,1,2 OK

14. Set/Check connect mode:

Command Respond Parameter

AT+CMODE=<Param> OK Param:

0 - connect fixed address 1 - connect any address 2 - slave-Loop

AT+ CMODE? + CMODE:<Param> OK

15. Set/Check fixed address:

Command Respond Parameter

AT+BIND=<Param> OK Param: Fixed address

(Default

00:00:00:00:00:00) AT+ BIND? + BIND:<Param>

OK Example:

AT+BIND=1234,56,abcdef\r\n OK

AT+BIND?\r\n

+BIND:1234:56:abcdef OK

16. Set/Check LED I/O

Command Respond Parameter

AT+POLAR=<Param1,<Param2> OK Param1:

0- PIO8 low drive LED 1- PIO8 high drive LED AT+ POLAR? + POLAR=<Param1>,<Param2>


(2)

Param2:

0- PIO9 low drive LED 1- PIO9 high drive LED

17. Set PIO output

Command Respond Parameter

AT+PIO=<Param1>,<Param2> OK Param1: PIO number Param2: PIO level 0- low

1- high

Example:

1. PIO10 output high level AT+PI0=10,1\r\n OK

18. Set/Check – scan parameter

Command Respond Parameter

AT+IPSCAN=<Param1>,<Param2 >,<Param3>,<Param4>

OK Param1: Query time

interval

Param2:Query duration Param3:Paging interval Param4:Call duration AT+IPSCAN? +IPSCAN:<Param1>,<Param2>,<P

aram3>,<Param4> OK

Example:

AT+IPSCAN =1234,500,1200,250\r\n OK

AT+IPSCAN?

+IPSCAN:1234,500,1200,250

19. Set/Check – SHIFF parameter

Command Respond Parameter

AT+SNIFF=<Param1>,<Param2>, <Param3>,<Param4>

OK Param1: Max time

Param2: Min time Param3: Retry time Param4: Time out AT+ SNIFF? +SNIFF:<Param1>,<Param2>,<Par

am3>,<Param4> OK

20. Set/Check security mode

Command Respond Parameter

AT+SENM=<Param1>,<Param2> 1. OK 2. FAIL

Param1:

0——sec_mode0+off 1——sec_mode1+non_se AT+ SENM? + SENM:<Param1>,<Param2>


(3)

OK cure

2——sec_mode2_service 3——sec_mode3_link 4——sec_mode_unknow n

Param2:

0——hci_enc_mode_off 1——hci_enc_mode_pt_t o_pt

2——hci_enc_mode_pt_t o_pt_and_bcast

21. Delete Authenticated Device

Command Respond Parameter

AT+PMSAD=<Param> OK Param:

Authenticated Device Address

Example:

AT+PMSAD =1234,56,abcdef\r\n OK

22. Delete All Authenticated Device

Command Respond Parameter

AT+ RMAAD OK -

23. Search Authenticated Device

Command Respond Parameter

AT+FSAD=<Param> 1. OK 2. FAIL

Param: Device address

24. Get Authenticated Device Count

Command Respond Parameter

AT+ADCN? +ADCN:<Param> OK

Param: Device Count

25. Most Recently Used Authenticated Device

Command Respond Parameter

AT+MRAD? + MRAD:<Param> OK

Param: Recently Authenticated Device Address

26. Get the module working state


(4)

AT+ STATE? + STATE:<Param> OK

Param: INITIALIZED READY PAIRABLE PAIRED INQUIRING CONNECTING CONNECTED DISCONNECTED NUKNOW

27. Initialize the SPP profile lib

Command Respond Parameter

AT+INIT 1. OK

2. FAIL

-

28. Inquiry Bluetooth Device

Command Respond Parameter

AT+INQ +INQ: <Param1>, <Param2>, <Param3>

…. OK

Param1:Address Param2:Device Class Param3 : RSSI Signal strength

Example: AT+INIT\r\n OK

AT+IAC=9e8b33\r\n OK

AT+CLASS=0\r\n AT+INQM=1,9,48\r\n At+INQ\r\n

+INQ:2:72:D2224,3E0104,FFBC +INQ:1234:56:0,1F1F,FFC1 +INQ:1234:56:0,1F1F,FFC0 +INQ:1234:56:0,1F1F,FFC1 +INQ:2:72:D2224,3F0104,FFAD +INQ:1234:56:0,1F1F,FFBE +INQ:1234:56:0,1F1F,FFC2 +INQ:1234:56:0,1F1F,FFBE +INQ:2:72:D2224,3F0104,FFBC OK

28. Cancel Inquiring Bluetooth Device

Command Respond Parameter


(5)

29. Equipment Matching

Command Respond Parameter

AT+PAIR=<Param1>,<Param2> 1. OK 2. FAIL

Param1:Device Address Param2:Time out 30. Connect Device

Command Respond Parameter

AT+LINK=<Param> 1. OK 2. FAIL

Param:Device Address Example:

AT+FSAD=1234,56,abcdef\r\n OK

AT+LINK=1234,56,abcdef\r\n OK

31. Disconnect

Command Respond Parameter

AT+DISC 1. +DISC:SUCCESS

OK

2. +DISC:LINK_LOSS OK

3. +DISC:NO_SLC OK

4. +DISC:TIMEOUT OK

5. +DISC:ERROR OK

Param:Device Address

32. Energy-saving mode

Command Respond Parameter

AT+ENSNIFF=<Param> OK Param:Device Address

33. Exerts Energy-saving mode

Command Respond Parameter

AT+ EXSNIFF =<Param> OK Param:Device Address


(6)

Revision History

Rev. Description Release date