PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 2016 i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 2016
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LEMBAR PERSETUJUAN TUGAS AKHIR
PENGENDALTAN "ROLL BOT" MENGGUNAKAN ANDROID
MELALUI BLUETOOTH DAN ARDUINO
,'q uf ili4 .,lrt t
ilt
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LEMBAR PENGESAHAN TUGAS AKHIR
PENGENDALIAN "ROLL BOT' MENGGUNAKAN ANDROID
MELALUI BLUETOOTH DAN ARDUINO Disusun oleh:
LEONARDUS ANTONY WIBISONO
Ketua: Sekretaris:
Djoko
Anggota:
k. Ti
ffi-f I boyoKotrSe
t fW|-b*s..zoro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
iMungkasi, S.Si., M.Math. Sc., Ph.D
tv
ti
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
Penulis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH
IINTUK KEPENTINGAN AKADEMIS Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma: : LEONARDUS
Nama
Nomor Mahasiswa :
ANTONY WIBISONO
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
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
(LEONA
us ANTONY WIBISONO)
Juli 2016
VII
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
vilt
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
Keywords: Bluetooth, microcontroller arduinor"Roll Bot", android.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
KATA PEI{GANTAR Puji syukur dan terima kasih kepada Tuhan Yesus Kristus atas segala karuniaNya sehingga tugas
akhir ini yang berjudul "PENGENDALIAN "ROLL
MENGGTINAKAN ANDROID MELALUI BLUETOOTH DAN ARDUINO" diselesaikan dengan baik. Laporan tugas akhir
ini disusun sebagai
BOT" dapat
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
8.
ini.
Semua pihak yang membantu penulis menyelesaikan tugas akhir maupun tidak langsung.
ini
secara langsung
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Penulis menyadari pasti ada kekurangan dalam penulisan tugas akhir sangat mengharapkan
ini maka, penulis
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
xl
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 2.1.2. Android Studio ..................................................................... 4
i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 2.8 Keseimbangan Benda Tegar ........................................................... 20 ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 4.4.8. Perintah Kurang .................................................................... 44 iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 4.6.10. “Roll Bot” Berhenti Otomatis ................................. 63 iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB V: KESIMPULAN DAN SARAN ........................................................ 64 5.1 Kesimpulan ..................................................................................... 64 5.2 Saran ............................................................................................... 64 DAFTAR PUSTAKA ..................................................................................... 65 LAMPIRAN
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 Gambar 4.1. Rancangan Alat “Roll Bot” Secara Keseluruhan....................... 37
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 Gambar 4.25. Program Sensor PING ............................................................... 53
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 Gambar 4.35. Hasil pembacaan jarak ............................................................... 62
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 Tabel 4.3. Tabel keberhasilan “Roll Bot” ........................................................ 63
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 control menggunakan julukan “Roll Bot”. Peneliti akan mengembangkan teknologi ini dengan cara mengendalikan mobil remote dengan menggunakan hand phone android melalui
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
f)
Import library langsung dari Maven repository
4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 5
Gambar 2.1. Tampilan awal android studio
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 Tegangan Operasi Input Voltage (disarankan) Input Voltage (limit) Pin Digital I/O
Atmel ATmega168 atau ATmega328 5V 7-12V 6-20V 14 (6 pin digunakan sebagai output PWM)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 6
Tabel 2.1. (Lanjutan) Spesifikasi Arduino Nano Pins Input Analog 8 Arus DC per pin 40 mA I/O 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 8 Digital Pin 5 (PWM)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 7
Tabel 2.2. (Lanjutan) Konfigurasi PIN pada Arduino Nano 9 10 11 13 13 14 15 16 27 25 18 4 & 29 26 19 20 21 22 24 25 28 & 3 2 1 5
Digital Pin 6 (PWM) Digital Pin 7 Digital Pin 8 Digital Pin 9 (PWM) Digital Pin 10 (PWM - SS) Digital Pin 11 (PWM - MOSI) Digital Pin 12 (MISO) Digital Pin 13 (SCK) VCC Analog Input 6 AREF GND Analog Input 7 Analog Input 0 Analog Input 1 Analog Input 2 Analog Input 3 Analog Input 4 (SDA) Analog Input 5 (SCL) RESET Digital Pin 0 (RX) Digital Pin 1 (TX) Digital Pin 2
Gambar 2.2. Board Arduino Nano Beserta PIN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8
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-toTTL 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 10
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]: a)
Bluetooth protocal: Bluetooth Specification v2.0+EDR
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 GND
Pad Type VSS
Description Ground Pot
3.3 VCC
PIN # 13 21 22 12
3.3V
P1O0
23
P1O1
24
Bi-Directional RX EN Bi-Directional TX EN
Integrated 3.3 Volt(+) supply with On-Chip Linear Regulator output within 3.15-3.3 Volt Programmable input / output line, control output for LNA(if fitted) Programmable input / output line, control output for PA(if fitted)
Gambar 2.4. Konfigurasi PIN Bluetooth HC-05
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 12
Gambar 2.5. Bluetooth HC-05
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 clock transfer. 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 “HC05”, 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: a) Baud rate : 9600
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 14
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 16
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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
0
x
x
Kondisi Motor Kanan Stop
1
1
0
Forward
1
0
1
Reverse
1
1
1
Break
1
0
0
Break
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 18
Tabel 2.5. Tabel logika kontrol driver motor DC dengan IC L298D kondisi motor Kiri Pin ENB
Pin IN3
Pin IN4
0
x
x
Kondisi Motor Kiri 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 : a. Kisaran pengukuran 3cm-3m.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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
⁄
(2.1)
Keterangan: TC adalah Suhu yang berpengaruh pada sensor
⁄
detik
(2.2)
Keterangan: - Diasumsikan suhu yang digunakan adalah suhu ruangan 27-28 oC - tIN = waktu yang dibutuhkan untuk menempuh jarak
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 20
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 ϴ
(2.4)
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: τ=Fd
(2.5)
Keterangan: F = gaya (Newton) d= jarak gaya ke poros (meter) Jika terjadi gerakan maka akan terjadi pula gaya gesek , gaya gesek memiliki rumus pada (2.6) 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: (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)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 22
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].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
23
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 24
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 26
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.
4a
2
4a
4b
3
3
6
4b
1 1 12 centi meter
12 centi meter
6
5
20 centi meter
5
2 20 centi meter
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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. 5
Gambar 3.3 Driver Motor DC dengan IC L298D
1
3
2
4
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 28
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”. Tabel 3.1. Kondisi Putaran motor DC terhadap arah pergerakan “Roll Bot” Arah Pergerakan
Motor Kiri
Motor Kanan
CW
CW
Bergerak Maju
CCW
CW
Bergerak ke kiri
-
-
Berhenti
CW
CCW
Bergerak ke kanan
CCW
CCW
Bergerak Mundur
“Roll Bot”
Gambar Ilustrasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Jarak (meter) 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
Waktu (s) 0.7 1.2 1.7 2.3 2.9 3.5 4.1 4.7 5.2 5.8 6.98 8.1 9.3 10.5 11.6 12.8 13.95 15.1 16.3 17.4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 30
waktu (ms)
Grafik Jarak Terhadap Waktu 20 18 16 14 12 10 8 6 4 2 0
3, 17.4
0
0.5
1
1.5
2
2.5
3
3.5
Jarak (m)
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: pada handphone android ditekan maka “Roll Bot” akan
1. Jika tombol bergerak maju.
pada handphone android ditekan maka “Roll Bot” akan
2. Jika tombol bergerak mundur. 3. Jika tombol
pada handphone android ditekan maka “Roll Bot” akan bergerak
kanan. 4. Jika tombol bergerak kiri.
pada handphone android ditekan maka “Roll Bot” akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 31
5. Jika tombol
pada handphone android ditekan maka “Roll Bot” akan
Stop
bergerak berhenti. 6. Jika tombol
pada handphone android ditekan maka “Roll Bot” akan
Demo
melakukan gerakan demo yang berupa membentuk angka delapan. 7. Jika tombol
Connect
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 32
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 awalnya adalah melakukan koneksi dengan “Roll Bot”, setelah melakukan koneksi jika
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 pengendali “Roll Bot” berapa jarak terhadap halangannya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 34
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”.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 35
3 1
7
2
8 4
5
6
Gambar 3.8. Interface pada Handphone Android Keterangan gambar 3.8: 1. Tombol Connect 2. Tombol untuk mengendalikan “Roll Bot” 3. Tombol untuk keluar dari aplikasi 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”.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 36
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
Stop
mengirimkan perintah berhenti ke “Roll Bot”. 6. Jika tombol
pada Interface ditekan maka bluetooth pada handphone akan
Demo
mengirimkan perintah demo ke “Roll Bot”, yang nantinya “Roll Bot” akan melakukan demo berupa membentuk angka delapan. 7. Jika tombol
Connect
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”.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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. 37
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 38
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 membaca jarak terhadap benda yang ada didepan “Roll Bot”. Jarak minimal yang dapat dibaca
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 40
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 42
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 dapat membuat “Roll Bot” melakukan pergerakan dengan membentuk angka delapan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 44
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)..
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 46
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 diterima oleh bluetooth pada “Roll Bot” yang akan diproses oleh arduino yang nantinya akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 48
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 nantinya akan diterima oleh bluetooth pada “Roll Bot” yang akan diproses oleh arduino yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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
Demo
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 50
yang nantinya akan menimbulkan perintah melakukan demo. Program dari tombol demo pada android dapat dilihat pada gambar 4.20.
Gambar 4.20. Program demo pada android 4.5.7. Tombol Stop Tombol stop yang ada pada android berbentuk
Stop
digunakan untuk mengirim
perintah stop dari android ke arduino yang diinisialisasikan dengan huruf “f”. Maka jika pada android ditekan tombol stop ini maka android akan mengirimkan huruf “f” yang nantinya akan diterima oleh bluetooth pada “Roll Bot” yang akan diproses oleh arduino yang nantinya akan menimbulkan perintah stop. Program dari tombol stop pada android dapat dilihat pada gambar 4.21.
Gambar 4.21. Program stop pada android 4.5.8. Tombol Tambah Tombol tambah yang ada pada android berbentuk
+
digunakan untuk mengirim
perintah tambah dari android ke arduino yang diinisialisasikan dengan huruf “g”. Maka jika pada android ditekan tombol tambah ini maka android akan mengirimkan huruf “g” yang nantinya akan diterima oleh bluetooth pada “Roll Bot” yang akan diproses oleh arduino yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 51
nantinya akan menimbulkan perintah tambah. Program dari tombol tambah pada android dapat dilihat pada gambar 4.22.
Gambar 4.22. Program tambah (menambah kecepatan) pada android 4.5.9. Tombol Kurang Tombol kurang yang ada pada android berbentuk
digunakan untuk mengirim
perintah kurang dari android ke arduino yang diinisialisasikan dengan huruf “h”. Maka jika pada android ditekan tombol kurang ini maka android akan mengirimkan huruf “h” yang nantinya akan diterima oleh bluetooth pada “Roll Bot” yang akan diproses oleh arduino yang nantinya akan menimbulkan perintah kurang. Program dari tombol kurang pada android dapat dilihat pada gambar 4.23.
Gambar 4.23. Program kurang (mengurangi kecepatan) pada android 4.5.10. Menerima Data dari Arduino Data yang dikirim dari arduino nano yang berupa jarak yang terbaca oleh sensor PING akan dikirimkan menggunakan bluetooth yang ada pada “Roll Bot” yang nantinya akan diterima oleh bluetooth pada ponsel dengan system operasi android, kemudian akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 52
ditampilkan pada text view yang ada pada interface pada android. Program dari menerima data dapat dilihat pada gambar 4.24.
Gambar 4.24. Program menerima data dari arduino pada android
4.6.
Analisis Percobaan
4.6.1. Analisis Data Sensor PING Pengambilan data dilakukan dengan cara mengambil data dari sensor PING yang nantinya akan diterima oleh android dengan menggunakan program pada gambar 4.25. Pada gambar 4.25. merupakan program yang digunakan pada program yang ada pada gambar 4.13. yaitu program untuk menerima data. Pada gambar 4.25. dapat kita lihat bagaimana cara untuk mendapatkan hasil dari jarak yang dibaca oleh sensor PING dan waktu yang dibutuhkan untuk membaca jarak tersebut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 53
Gambar 4.25. Program Sensor PING Dengan menggunakan program yang ada pada gambar 4.25. penulis mendapatkan data sebagai berikut: Tabel 4.1. Data Percobaan Jarak Seharusnya (centimeter) 0 10 20 30 40 50 60 70 80
Waktu (microsecond) 9085 303 597 859 1150 1427 1720 1990 2295
Jarak Yang Terbaca (centimeter) 331 10 20 30 40 50 60 70 80
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 54
Tabel 4.1. Data Percobaan (Lanjutan) Jarak Seharusnya (centimeter) 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300
Waktu (microsecond) 2559 2860 3131 3431 3762 4002 4300 4675 4867 5210 5439 5675 6110 6341 6620 6931 7213 7567 7819 8145 8354 8645
Jarak Yang Terbaca (centimeter) 89 98 109 118 127 138 148 157 168 178 186 197 208 217 227 238 248 257 266 275 286 295
Pada tabel 4.1. dapat kita lihat jika pada jarak 10 centimeter hingga 80 centimeter belum terdapat pebedaan antara jarak seharusnya dengan jarak yang terbaca namun pada jarak 90 centimeter hingga 300 centimeter terjadi perbedaan, hal ini dikarenakan setiap sensor memiliki jarak aman untuk dibaca atau dapat dikatakan memiliki error. Penulis akan menghitung error dari setiap jarak yang terbaca yang berbeda dengan jarak seharusnya dan error secara keseluruhan atau rata- rata error. Untuk jarak 0 centimeter jarak yang terbaca tidak 0 centimeter melainkan jarak maksimal yang dapat dibaca oleh sensor PING yaitu 331 centimeter, hal ini dikarenakan sensor PING memiliki batas jarak dari 2 centimeter hingga 3 meter [15].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 55
Error pada masing – masing jarak dapat kita hitung menggunakan rumus : (4.1)
Hasil dari perhitungan error pada masing – masing jarak dari jarak 90 centimeter hingga 300 centimeter menggunakan rumus 4.2 dapat kita lihat pada tabel 4.2. Jarak yang dihitung errornya hanya pada jarak 90 centimeter hingga 300 centimeter dikarenakan pada jarak tersebut terdapat perbedaan antara jarak seharusnya dengan jarak yang terbaca Tabel 4.2. Tabel Error Pada Masing – masing Jarak jarak seharusnya (centimeter) 0 10 20 30 40 50 60 70 80 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250
jarak yang terbaca (centimeter) 331 10 20 30 40 50 60 70 80 98 109 118 127 138 148 157 168 178 186 197 208 217 227 238 248
Hasil(%) 100 0 0 0 0 0 0 0 1.111111 2 0.909091 1.666667 2.307692 1.428571 1.333333 1.875 1.176471 1.111111 2.105263 1.5 0.952381 1.363636 1.304348 0.833333 0.8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 56
Tabel 4.2. Tabel Error Pada Masing – masing Jarak (Lanjutan) jarak seharusnya (centimeter) 260 270 280 290 300
jarak yang terbaca (centimeter) 257 266 275 286 295
Hasil(%) 1.153846 1.481481 1.785714 1.37931 1.666667
Untuk error secara keseluruhan dapat dihitung menggunakan rumus: ∑
∑ ∑
(4.2)
Error secara keseluruhan yang dihitung menggunakan rumus 4.2 memiliki hasil sebesar 1.075%. Maka dapat dikatakan bahwa sensor PING memiliki error sebesar 1.075%, maka hal itu menyebabkan ketidak tepatan dalam membaca jarak. Ketidak tepatan sensor PING dalam membaca jarak dapat dikarenakan suhu udara pada saat pengambilan jarak atau modul sensor PING yang memiliki kekurangan. 4.6.2. Hasil Data Pengamatan Pergerakan “Roll Bot” dan Kinerja “Roll Bot” 4.6.2.1. Tombol Maju
Gambar 4.26. Pergerakan “Roll Bot” pada perintah maju
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 57
Pada saat tombol Maju ditekan pada Android maka respon dari “Roll Bot” adalah bergerak maju dengan kecepatan 634,1 x 10-9 km/jam. “Roll Bot” dapat menempuh jarak sejauh 1,6 meter dengan waktu 0,7 second. Pergerakan maju pada “Roll Bot” dapat kita lihat pada gambar 4.26. “Roll Bot” tidak dapat maju dengan lurus dikarenakan Motor DC yang digunakan merupakan motor DC yang bergerak CW, maka pergerakan motor 1 dan motor 2 berbeda arahnya, motor 1 akan bergerak secara CW dan motor 2 akan bergerak secara CCW. 4.6.2.2. Tombol Mundur Pada saat tombol Mundur ditekan pada Android maka respon dari “Roll Bot” adalah bergerak Mundur dengan kecepatan 416.67 x 10-9 km/jam. “Roll Bot” dapat menempuh jarak sejauh 1,2 meter dengan waktu 0,8 second. Pergerakan maju pada “Roll Bot” dapat kita lihat pada gambar 4.27. “Roll Bot” tidak dapat mundur dengan lurus dikarenakan Motor DC yang digunakan merupakan motor DC yang bergerak CW, maka pergerakan motor 1 dan motor 2 berbeda arahnya, motor 1 akan bergerak secara CCW dan motor 2 akan bergerak secara CW.
Gambar 4.27. Pergerakan “Roll Bot” pada perintah mundur
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 58
4.6.2.3. Tombol Belok Kanan Pada saat tombol belok kanan ditekan pada Android maka respon dari “Roll Bot” adalah berbelok ke arah kanan, namun pada implementasinya “Roll Bot” akan berputar membentuk lingkaran jika ditekan tombol belok kanan. Pergerakan belok kanan pada “Roll Bot” dapat kita lihat pada gambar 4.28. “Roll Bot” tidak dapat berbelok kanan secara teratur dikarenakan pada program belok kanan pada arduino tidak diberi delay.
Gambar 4.28. Pergerakan “Roll Bot” belok kanan 4.6.2.4. Tombol Belok Kiri
Gambar 4.29. Pergerakan “Roll Bot” belok kiri
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 59
Pada saat tombol belok kiri ditekan pada Android maka respon dari “Roll Bot” adalah berbelok ke arah kiri, namun pada implementasinya “Roll Bot” akan berputar membentuk lingkaran jika ditekan tombol belok kiri. Pergerakan belok kiri pada “Roll Bot” dapat kita lihat pada gambar 4.29. “Roll Bot” tidak dapat berbelok kiri secara teratur dikarenakan pada program belok kiri pada arduino tidak diberi delay. 4.6.2.5. Tombol Stop Pada saat tombol stop ditekan pada Android maka respon dari “Roll Bot” adalah putaran motor akan berhenti, namun “Roll Bot” akan berhenti setelah menempuh jarak 10 cm. Pemberhentian putaran motor pada “Roll Bot” dapat kita lihat pada gambar 4.30. “Roll Bot” tidak dapat berhenti secara tiba – tiba dikarenakan gaya gesek pada roda dengan kecepatan “Roll Bot” lebih besar gaya kecepatan “Roll Bot”.
Gambar 4.30. Pemberhentian putaran motor 4.6.2.6. Tombol Menambah Kecepatan Pada saat tombol menambah kecepatan ditekan maka “Roll Bot” akan menambahkan kecepatannya sebesar 100 PWM atau 39,21 % dari kecepatan maksimal (255 PWM). “Roll Bot” dapat menempuh jarak 1,6 meter dalam waktu 0,5 second dengan keadaan awal maju dengan kecepatan 634,1 x 10-9 km/jam yang kemudian kecepatannya menjadi 888,9 x 10-9 km/jam setelah tombol menambah kecepatan pada android ditekan, maka kecepatan “Rol Bot” bertambah sebesar 254,8 x 10-9 km/jam. Pergerakan penambahan kecepatan “Roll Bot” dapat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 60
dilihat pada gambar 4.31. Pada gambar 4.31. dapat kita lihat bahwa kecepatan “Roll Bot” bertambah dengan semakin jarangnya titik yang ditimbulkan oleh “Roll Bot”.
Gambar 4.31. Penambahan kecepatan “Roll Bot” 4.6.2.7. Tombol Mengurangi Kecepatan Pada saat tombol mengurangi kecepatan ditekan maka “Roll Bot” akan mengurangi kecepatannya sebesar 100 PWM atau 39,21 % dari kecepatan maksimal (255 PWM). “Roll Bot” dapat menempuh jarak sebesar 1,6 meter dalam waktu 1,4 second dengan keadaan awal maju dengan kecepatan 634,1 x 10-9 km/jam yang kemudian kecepatannya menjadi 317,46 x 10-9 km/jam, maka kecepatan “Roll Bot” berkurang sebesar 316,64 x 10-9 km/jam. Pergerakan pengurangan kecepatan “Roll Bot” dapat dilihat pada gambar 4.32. Pada gambar 4.32. dapat kita lihat bahwa kecepatan “Roll Bot” berkurang dengan semakin seringnya titik yang ditimbulkan oleh “Roll Bot”.
Gambar 4.32. Pengurangan kecepatan “Roll Bot”
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 61
4.6.2.8. Tombol Demo Pada saat tombol demo pada android ditekan maka “Roll Bot” akan melakukan pergerakan demo yaitu membentuk angka 8, namun pada implementasinya “Roll Bot” belum dapat membuat angkat 8 dikarenakan kombinasi dari pergerakan “Roll Bot” pada program arduino belum sempurna. Namun peneliti sempat mengamati pergerakan “Roll Bot” yang terjadi jika tombol demo ditekan, pergerakan demo pada “Roll Bot” dapat dilihat pada gambar 4.33.
Gambar 4.33. Pergerakan demo “Roll Bot”
Gambar 4.34. Grafik pergerakan demo “Roll Bot”
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 62
Pada gambar 4.34 diperlihatkan grafik dari pergerakan demo yang terjadi jika tombol demo pada android ditekan. Pada gambar 4.34 dapat dilihat jika pergerakan dari “Roll Bot” sangat tidak menentu dan cenderung fluktuatif. 4.6.2.9. Mengirim Data PING dari Arduino ke Android Pembacaan jarak menggunakan sensor PING antara “Roll Bot” dengan halangan yang nantinya akan dikirimkan dari arduino ke android menggunakan Bluetooth dapat dikatakan berhasil, hal ini dikarenakan jarak antara “Roll Bot” dengan halangan sama dengan jarak yang diterima oleh android. Pembacaan jarak yang dilakukan oleh “Roll Bot” dan jarak yang ditampilkan dapat dilihat pada gambar 4.35. Pada gambar 4.35 dapat terlihat jika penghalang ada pada jarak 10 centimeter dan jarak yang muncul pada android juga menunjukan jarak yang sama yaitu 10 centimeter.
Gambar 4.35. Hasil dari pembacaan jarak 4.6.2.10. “Roll Bot” berhenti otomatis “Roll Bot” akan berhenti secara otomatis pada jarak 5 centimeter terhadap halangan ,namun “Roll Bot” belum dapat berhenti otomatis dikarenakan terjadi error pada pembuatan program berhenti otomatis. Tingkat keberhasilan dari implementasi tombol – tombol yang ada pada android dengan pergerakan “Roll Bot” dapat kita lihat pada tabel 4.3.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 63
Tabel 4.3. Tabel Keberhasilan “Roll Bot” No. Perancangan 1. Tombol maju 2.
Tombol mundur
3. 4. 5. 6.
Tombol belok kanan Tombol belok kanan Tombol berhenti Tombol demo
7.
Tombol menambah kecepatan
8.
Tombol mengurangi kecepatan
9.
Mengirim jarak sensor PING “Roll Bot” Berhenti Secara otomatis
10.
Hasil “Roll Bot” akan maju dengan kecepatan 634,1 x 10-9 km/jam “Roll Bot” akan Mundur dengan kecepatan 416,67x 10-9 km/jam “Roll Bot” akan melakukan belok kanan “Roll Bot” akan melakukan belok kiri “Roll Bot” akan berhenti setelah jarak 10 cm “Roll Bot” belum dapat melakukan gerakan berbentuk seperti angka delapan “Roll Bot” akan bertambah kecepatannya menjadi 888,9 x 10-9 km/jam dari posisi “Roll Bot” bergerak maju atau mundur “Roll Bot” akan berkurang kecepatannya menjadi 317,46 x 10-9 km/jam dari posisi “Roll Bot” bergerak maju atau mundur “Roll Bot” dapat mengirim data jarak dari arduino ke android “Roll Bot” belum dapat berhenti secara otomatis.
Keberhasilan Berhasil Berhasil Berhasil Berhasil Berhasil Belum Berhasil Berhasil
Berhasil
Berhasil Belum Berhasil
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB V KESIMPULAN DAN SARAN
5.1.
Kesimpulan Berdasarkan hasil penelitian maka dapat diambil kesimpulan sebagai berikut:
1. Peneliti sudah dapat membuat “Roll Bot” yang dapat dikontrol menggunakan handphone dengan sistem operasi android melalui Bluetooth dan arduino. 2. “Roll Bot” dapat mengimplementasikan perintah yang dikirim oleh android yang berupa perintah maju, mundur, kanan, kiri, demo, berhenti, menambah kecepatan dan mengurangi kecepatan. 3. “Roll Bot” belum dapat berhenti sendiri jika jarak antara “Roll Bot” dengan halangan berjarak 5 centimeter. 4. Error sebesar 1,075 % dalam pengambilan data merupakan error dari sistem sensor PING yang memiliki batas minimal dan batas maksimal serta memiliki kekurangan dalam pembacaan jarak.
5.2.
Saran Untuk menghasilkan penelitian yang lebih baik lagi, maka diberikan saran – saran
sebagai berikut: 1. Dimungkinkan untuk menggunakan fitur – fitur yang lebih aplikatif dalam android yaitu sensor giroskop yang dapat digunakan untuk pengganti tombol maju, mundur, kanan dan kiri. 2. Mengganti piranti untuk mengontrol “Roll Bot” dari bluetooth menjadi menggunakan wifi supaya memiliki jarak kontrol yang lebih jauh lagi.
64
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 65
DAFTAR PUSTAKA
[1]
Firama
Latuheru,
September
2015
:
Sejarah
RC
Radio
Control
Car
,http://www.adakitanews.com/sejarah-rc-radio-control-car/ , diakses 8 Oktober 2015 pukul 23.00 [2]
Aan Satriya, Januari 2015: Sejarah Perkembangan system operasi Android ,http://www.capuraca.com/2015/01/sejarah-perkembangan-sistem-operasiandroid.html?m=1, diakses 8 Oktober 2015 pada pukul 23.20
[3]
Dede
Hendriono
,
20
desember
2014
:
Mengenal
Arduino
Nano
,http://www.hendriono.com/blog/post/mengenal-arduino-nano, diakses 16 Oktober 2015 pukul 15.32 [4]
rb-ite-12-bluetooth_hc05:
HC-05
–
Bluetooth
to
serial
Port
www.robotshop.com/media/files/pdf/rb-ite-12-bluetooth_hc05.pdf
,
Module diakses
, 16
Oktober 2015 pukul 15.46 [5]
Bluetooth Module HC-05 , http://www.geraicerdas.com/mikrokontroler/module/ bluetooth-module-hc-05-detail , diakses 16 Oktober 2015 pukul 15.46
[6]
Universitas Sumatra Utara, A. Warman, 2011 : Bab II Landasan Teori ,http://repository.usu.ac.id/bitstream/123456789/29570/4/Chapter%20II.pdf
diakses
tanggal 16 Oktober 2015 pukul 18.00 [7]
Hendri
Anto,
2010:
Landasan
Teori,
dosen.narotama.ac.id/wp-
content/uploads/2012/01/Teknologi-Robotika.pdf, diakses 17 November 2015 pukul 20.40 [8]
9 Agustus 2012: Rangkaian Driver Motor DC menggunakan IC L298D http://skemarangkaianpcb.com/rangkaian-driver-motor-dc-menggunakan-ic-l298d/ , di akses 26 Desember 2015 pukul 11.35
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 66
[9]
Yohanes Giovanni Setiady Tjiu, 2013, Sistem Pengendalian Robot Jarak Jauh Menggunakan Sinyal DTMF Pada Layanan Video Call, Tugas Akhir, Teknik Elektro, Fakultas Sains dan Teknologi, Universitas Sanata Dharma, Yogyakarta, di akses 16 Oktober 2016
[10]
Fisika Study Center, 2016 : Keseimbangan , http://fisikastudycenter.com/fisika-xisma/27-keseimbangan, diakses tanggal 3 febuary 2016 pukul 17.15
[11]
Dipl.Ing Asril Jarin, Msc, 3 juni 2008: Komunikasi Serial , dosen.narotama.ac.id/wpcontent/uploads/2012/12/temu-10-komunikasi-serial.doc, diakses tanggal 3 febuari 2016 pukul 23.00
[12]
-----, Data Sheet Bluetooth to Serial Port Module HC-05, diakses 3 febuary 2016 pukul 23.27
[13]
Fajarudin Maulana Lingga, 15 febuari 2015 : Pengertian AT-COMMAND , http://dokumen.tips/documents/pengertian-at-command.html, diakses tanggal 4 febuari 2016 pukul 17.15
[14]
Gleen Research Center: Center of Gravity https://www.grc.nasa.gov/www/k12/airplane/cg.html , diakses tangal 4 febuari 2016 pukul 17.30
[15]
-----,15 Febuari 2008 : Ping Ultrasonic Distance Sensor, diakses 4 Mei 2016 pukul 14.35
[16]
Dwi Cahya Maryanto, 2016, Pengendali Lampu Dan Pintu Garasi Dengan Bluetooth Berbasis Mikrokontroler, Tugas Akhir, Jurusan Teknik Elektro, Fakultas Sains dan Teknologi, Universitas Sanata Dharma, Yogyakarta, diakses 15 Mei 2016.
[17]
Yoel Anggun Wiratama Putra, 2016, Kontroler Lengan Robot Berbasis Smartphone Android, Tugas Akhir, Jurusan Teknik Elektro, Fakultas Sains dan Teknologi, Universitas Sanata Dharma, Yogyakarta, diakses 14 Mei 2016.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L1
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2
LAMPIRAN LISTING PROGRAM ARDUINO
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3
1. //#include<SoftwareSerial.h> 2. //#define RxD 11 3. //#define TxD 10 4. //SoftwareSerial BTSerial(RxD,TxD); 5. int motorpin1 = 2; 6. int motorpin2 = 3; 7. int enablepin1 = 5; 8. int motorpin3 = 4; 9. int motorpin4 = 7; 10. int enablepin2 = 6; 11. const int pingpin = 8; 12. char x; 13. int motor1, motor2, motor1a, motor2a; 14. void setup() { 15. // put your setup code here, to run once: 16. Serial.setTimeout(5); 17. motor1 = 100; 18. motor2 = 100; 19. pinMode(motorpin1, OUTPUT); 20. pinMode(motorpin2, OUTPUT); 21. pinMode(enablepin1, OUTPUT); 22. pinMode(motorpin3, OUTPUT); 23. pinMode(motorpin4, OUTPUT); 24. pinMode(enablepin2, OUTPUT); 25. // digitalWrite(enablepin1, HIGH); 26. // digitalWrite(enablepin2, HIGH); 27. //pinMode(RxD, INPUT); 28. //pinMode(TxD, OUTPUT); 29. Serial.begin(9600); 30. //Serial.available(); 31. }
32. void loop() {
33. if (Serial.available() > 0) { 34. x = Serial.read(); 35. Serial.println(x);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L4
36. } 37. //menerima perintah maju 38. if (x == 'a') { 39. digitalWrite(motorpin1, LOW); 40. digitalWrite(motorpin2, HIGH); 41. digitalWrite(motorpin3, LOW); 42. digitalWrite(motorpin4, HIGH); 43. analogWrite(enablepin1, motor1); 44. analogWrite(enablepin2, motor2); 45. } 46. //menerima perintah mundur 47. else if (x == 'b') { 48. digitalWrite(motorpin1, HIGH); 49. digitalWrite(motorpin2, LOW); 50. digitalWrite(motorpin3, HIGH); 51. digitalWrite(motorpin4, LOW); 52. analogWrite(enablepin1, motor1); 53. analogWrite(enablepin2, motor2); 54. } 55. //menerima perintah belok kanan 56. else if (x == 'c') { 57. digitalWrite(motorpin1, HIGH); 58. digitalWrite(motorpin2, LOW); 59. digitalWrite(motorpin3, LOW); 60. digitalWrite(motorpin4, HIGH); 61. analogWrite(enablepin1, motor1); 62. analogWrite(enablepin2, motor2); 63. } 64. //menerima perintah belok kiri 65. else if (x == 'd') { 66. digitalWrite(motorpin1, LOW); 67. digitalWrite(motorpin2, HIGH); 68. digitalWrite(motorpin3, HIGH); 69. digitalWrite(motorpin4, LOW); 70. analogWrite(enablepin1, motor1); 71. analogWrite(enablepin2, motor2); 72. } 73. //menerima perintah demo 74. else if (x == 'e') { 75. digitalWrite(motorpin1, HIGH);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L5
76. digitalWrite(motorpin2, LOW); 77. digitalWrite(motorpin3, LOW); 78. digitalWrite(motorpin4, HIGH); 79. analogWrite(enablepin1, motor1); 80. analogWrite(enablepin2, motor2); 81. delay(1000); 82. digitalWrite(motorpin1, LOW); 83. digitalWrite(motorpin2, HIGH); 84. digitalWrite(motorpin3, HIGH); 85. digitalWrite(motorpin4, LOW); 86. analogWrite(enablepin1, motor1); 87. analogWrite(enablepin2, motor2); 88. delay(1000); 89. digitalWrite(motorpin1, LOW); 90. digitalWrite(motorpin2, HIGH); 91. digitalWrite(motorpin3, LOW); 92. digitalWrite(motorpin4, HIGH); 93. analogWrite(enablepin1, motor1); 94. analogWrite(enablepin2, motor2); 95. delay(8000); 96. digitalWrite(motorpin1, LOW); 97. digitalWrite(motorpin2, HIGH); 98. digitalWrite(motorpin3, HIGH); 99. digitalWrite(motorpin4, LOW); 100. analogWrite(enablepin1, motor1); 101. analogWrite(enablepin2, motor2); 102. delay(3000); 103. digitalWrite(motorpin1, LOW); 104. digitalWrite(motorpin2, LOW); 105. digitalWrite(motorpin3, LOW); 106. digitalWrite(motorpin4, LOW); 107. analogWrite(enablepin1, 0); 108. analogWrite(enablepin2, 0); 109. delay(1000); 110. } 111. //menerima perintah berhenti/stop 112. else if (x == 'f') { 113. digitalWrite(motorpin1, LOW); 114. digitalWrite(motorpin2, LOW); 115. digitalWrite(motorpin3, LOW);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L6
116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151.
digitalWrite(motorpin4, LOW); analogWrite(enablepin1, 0); analogWrite(enablepin2, 0); } //menerima perintah tambah kecepatan else if (x == 'g') { motor1a = motor1 + 25; analogWrite(enablepin1, motor1a); motor2a = motor2 + 25; analogWrite(enablepin2, motor2a); } //menerima perintah kurangi kecepatan else if (x == 'h') { motor1a = motor1 - 25; analogWrite(enablepin1, motor1a); motor2a = motor2 - 25; analogWrite(enablepin2, motor2a); } else if (pingpin >=0){ long duration,cm; pinMode(pingpin,OUTPUT);//pin sensor PING digitalWrite (pingpin,LOW); delayMicroseconds(2); digitalWrite(pingpin,HIGH); delayMicroseconds(5); digitalWrite(pingpin,LOW); pinMode(pingpin,INPUT); duration = pulseIn(pingpin,HIGH); cm=microsecondsToCentimeters(duration); Serial.print("cm"); delay(100); } } long microsecondsToCentimeters(long microseconds){ return microseconds / 29 / 2; }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L7
LAMPIRAN LISTING PROGRAM ANDROID
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L9
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L11
LAMPIRAN MANUAL APP INVENTOR
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L12
App inventor merupakan aplikasi web yang dikeluarkan oleh google yang sekarang dikelola oleh MIT(Massachusetts Institute of Technology), App inventor ini digunakan untuk membuat aplikasi pada handphone dengan sistem operasi android. App inventor dapat di akses melalui web site dengan judul http://ai2.appinventor.mit.edu/,
untuk membuat aplikasi
android pengguna membutuhkan email google untuk login atau yang sering disebut gmail didalam web site ini. Setelah melakukan login maka app inventor akan menamplkan halaman awal yang berbentuk seperti pada gambar L1.1.
Gambar L1.1. Halaman awal app inventor Setelah masuk pada halaman awal app inventor langkah selanjutnya jika ingin membuat project baru adalah klik project kemudian pilih start new project. Tampilan untuk membuat project baru dapat dilihat pada gambar L1.2.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L13
Gambar L1.2. Tampilan membuat project baru Kemudian setelah memilih start new project maka app inventor akan meminta memasukan nama project namun nama untuk project tidak boleh menggunakan spasi, setelah memasukan nama project maka klik OK. Tampilan untuk memasukan nama project dapat dilihat pada gambar L1.3.
Gambar L1.3. Tampulan memasukan nama project
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L14
Pada gambar L1.4. merupakan tampilan dari halaman awal sebuah project baru yang tampilan awalnya adalah tampilan yang terdiri dari sebuah tampilan handphone dengan sistem operasi android dan komponen – komponen yang dapat digunakan untuk tampilan pada handphone.
Gambar L1.4. Tampilan halaman awal project baru App inventor memiliki beberapa menu untuk membuat project baru, menu – menu yang ada adalah sebagai berikut: 1. User Interface Pada menu User Interface ini merupakan menu untuk memasukan tombol, gambar, slider, dan lain lainnya yang seperti pada gambar L1.5.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L15
Gambar L1.5. Macam menu user interface 2. Layout Pada menu Layout ini digunakan untuk menentukan letak dari tombol dan perangkat –perangkat lain yang akan digunakan, tampilan dari macam –macam layout ini dapat dilihat pada gambar L1.6.
Gambar L1.6. Macam menu Layout
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L16
3. Media Pada menu Media ini digunakan untuk mengaktifkan perangkat yang ada di handphone dengan sistem operasi android seperti kamera. Macam – macam menu media dapat dilihat pada gambar L1.7.
Gambar L1.7. Macam menu Media 4. Drawing and animation Pada menu drawing and animation ini digunakan untuk membuat animasi pada tampilan dihandphone dengan sistem operasi android seperti pada gambar L1.8.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L17
Gambar L1.8. Macam menu drawing and animation 5. Sensor Pada menu sensor terdapat beberapa sensor yang ada pada handphone dengan sistem operasi android yang terdiri dari sensor akselero, barcode, dan lain – lain yang ditunjukan pada gambar L1.9.
Gambar L1.9. Macam menu sensor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L18
6. Social Pada menu social ini dapat digunakan untuk memasukan menu – menu yang bersangkutan dengan yang berhubungan dengan komunikasi, macam – macam menunya dapat dilihat pada gambar L1.10.
Gambar L1.10. Macam menu social 7. Storage Menu Storage ini digunakan untuk memanggil dan menyimpan file yang ada pada handphone android, macam – macam menu storage dapat dilihat pada gambar L.11.
Gambar L1.11. Macam menu storage
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L19
8. Connectivity Pada menu connectivity ini terdapat banyak menu untuk melakukan koneksi terhadap perangkat lain salah satu contohnya adalah Bluetooth, macam – macam menu connectivity ini dapat dilihat pada gambar L1.12.
Gambar L1.12. Macam menu connectivity 9. Lego Mindstroms Pada menu Lego Mindstroms ini digunakan khusus untuk robot Lego NXT, seluruh fungsi robot bisa dikendalikan menggunakan menu ini, sebagai contoh menu ini dapat mengendalikan beberapa sensor dan Direct Command (perintah), maupun untuk mengendalikan Drive(Arah). Robot Lego mindstroms NXT ini merupakan kit robotic yang dapat deprogram secara fleksibel yang dikeluarkan oleh LEGO pada tahun 2006. Beberapa menu dari Lego Mindstrom ini dapat dilihat pada gambar L1.13 dan untuk bentuk dari robot Lego mindstroms NXT ini dapat dilihat pada gambar L1.14.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L20
Gambar L1.13. Macam menu Lego Mindstrom
Gambar L1.14. Bentuk robot Lego Mindstroms NXT Cara Membuat program pengendalian sederhana menggunakan Bluetooth Untuk membuat pengendalian sederhana menggunakan Bluetooth maka terdapat beberapa langkah sebagai berikut: 1. 2. 3. 4. 5.
Pertama kita membuka halaman web app inventor yaitu http://ai2.appinventor.mit.edu/ Pilih menu project Pilih sub menu start new project Beri nama project Pada menu user interface pilih menu button 6. Kemudian klik button dan drag and drop dibagian user interface pada Handphone 7. Lakukan langkah 6 sebanyak 5 kali
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L21 8. Kemudian pilih menu layout dan pilih table Arrangment dan atur columns menjadi 3
dan row menjadi 4 pada properties, seperti pada gambar L1.15.
Gambar L1.15. Pengaturan tabel 9. Lakukan penyusunan button seperti pada gambar L1.16 dengan cara memasukan
button pada tabel.
Gambar L1.16. Penyusunan button pada table 10. Tekan button 1 pada menu component kemudian gantilah menu text pada menu
properties menjadi connect 11. Lakukan seperti langkah 10 untuk button 2, 3, 4, dan 5 dengan text masing – masing button maju untuk button 2, mundur untuk button 3, kanan untuk button 4, kiri untuk button 5. 12. Pilih menu Bluetooth client pada menu connectivity, lalu drag and drop pada user interface handphone. 13. Pilih menu clock pada menu sensors kemudian drag and drop pada user interface handphone. 14. Pilih menu label pada menu user interface kemudian drag and drop pada user interface handphone
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L22
15. Pilih menu List picker pada user interface kemudian drag and drop ke user interface pada Handphone 16. Setelah melakukan setting pada user interface kemudian masuk ke dalam menu blocks seperti pada gambar L1.17.
Gambar L1.17. Menu block 17. Pada menu Block ini digunakan untuk memasukan program – program yang digunakan untuk membuat pengendalian menggunakan Bluetooth. 18. Pilih menu List Picker pada block, kemudian pilih menu seperti pada gambar L1.18. 19. Pilih menu Bluetooth client pada block, kemudian pilih menu seperti pada gambar L1.18.
Gambar L1.18. Contoh program untuk pairing bluetooth 20. Pilih menu List picker pada block, kemudian pilih menu seperti pada gambar L1.19. 21. Pilih menu Bluetooth client pada block, kemudian pilih menu seperti pada gambar L1.19.
Gambar L1.19. Contoh program untuk pairing bluetooth 22. Pilih menu clock pada block, kemudian pilih menu seperti pada gambar L1.20.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L23 23. Pilih menu Bluetooth client pada block, kemudian pilih menu seperti pada gambar
L1.20.
Gambar L1.20. Contoh program untuk melakukan koneksi dengan alat 24. Pilih menu button 2 pada block, kemudian pilih menu seperti pada gambar L1.21. 25. Pilih menu Bluetooth client pada block, kemudian pilih menu seperti pada gambar
L1.21. 26. Pilih menu Label 1 pada block kemudian pilih menu seperti pada gambar L1.21.
Gambar L1.21. contoh program untuk perintah maju 27. Lakukan seperti langkah 24 untuk button 3, button 4, dan button 5, namun ganti nama
text untuk button 3 menjadi b dan mundur, untuk button 4 menjadi c dan belok kanan, untuk button 5 menjadi d dan belok kiri.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L24
LAMPIRAN DATA SHEET
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
The Arduino Nano is a small, complete, and breadboard-friendly board based on the ATmega328 (Arduino Nano 3.0) or ATmega168 (Arduino Nano 2.x). It has more or less the same functionality of the Arduino Duemilanove, but in a different package. It lacks only a DC power jack, and works with a Mini-B USB cable instead of a standard one. The Nano was designed and is being produced by Gravitech.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Arduino Nano 3.0 (ATmega328): schematic, Eagle files. Arduino Nano 2.3 (ATmega168): manual (pdf), Eagle files. Note: since the free version of Eagle does not handle more than 2 layers, and this version of the Nano is 4 layers, it is published here unrouted, so users can open and use it in the free version of Eagle.
Microcontroller
Atmel ATmega168 or ATmega328
Operating Voltage (logic level)
5V
Input Voltage (recommended) Input Voltage (limits)
6-20 V
Digital I/O Pins
14 (of which 6 provide PWM output)
7-12 V
Analog Input Pins
8
DC Current per I/O Pin
40 mA
Flash Memory
16 KB (ATmega168) or 32 KB (ATmega328) of which 2 KB used by bootloader
SRAM
1 KB (ATmega168) or 2 KB (ATmega328)
EEPROM
512 bytes (ATmega168) or 1 KB (ATmega328)
Clock Speed
16 MHz
Dimensions
0.73" x 1.70"
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
The Arduino Nano can be powered via the Mini-B USB connection, 6-20V unregulated external power supply (pin 30), or 5V regulated external power supply (pin 27). The power source is automatically selected to the highest voltage source. The FTDI FT232RL chip on the Nano is only powered if the board is being powered over USB. As a result, when running on external (non-USB) power, the 3.3V output (which is supplied by the FTDI chip) is not available and the RX and TX LEDs will flicker if digital pins 0 or 1 are high.
The ATmega168 has 16 KB of flash memory for storing code (of which 2 KB is used for the bootloader); the ATmega328 has 32 KB, (also with 2 KB used for the bootloader). The ATmega168 has 1 KB of SRAM and 512 bytes of EEPROM (which can be read and written with the EEPROM library); the ATmega328 has 2 KB of SRAM and 1 KB of EEPROM.
Each of the 14 digital pins on the Nano can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 5 volts. Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms. In addition, some pins have specialized functions:
Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. These pins are connected to the corresponding pins of the FTDI USB-to-TTL Serial chip. External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attachInterrupt() function for details. PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite() function. SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication, which, although provided by the underlying hardware, is not currently included in the Arduino language. LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it's off.
The Nano has 8 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the analogReference() function. Additionally, some pins have specialized functionality:
I2C: 4 (SDA) and 5 (SCL). Support I2C (TWI) communication using the Wire library (documentation on the Wiring website).
There are a couple of other pins on the board:
AREF. Reference voltage for the analog inputs. Used with analogReference(). Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board.
See also the mapping between Arduino pins and ATmega168 ports.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
The Arduino Nano has a number of facilities for communicating with a computer, another Arduino, or other microcontrollers. The ATmega168 and ATmega328 provide UART TTL (5V) serial communication, which is available on digital pins 0 (RX) and 1 (TX). An FTDI FT232RL on the board channels this serial communication over USB and the FTDI drivers (included with the Arduino software) provide a virtual com port to software on the computer. The Arduino software includes a serial monitor which allows simple textual data to be sent to and from the Arduino board. The RX and TX LEDs on the board will flash when data is being transmitted via the FTDI chip and USB connection to the computer (but not for serial communication on pins 0 and 1). A SoftwareSerial library allows for serial communication on any of the Nano's digital pins. The ATmega168 and ATmega328 also support I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus; see the documentation for details. To use the SPI communication, please see the ATmega168 or ATmega328 datasheet.
The Arduino Nano can be programmed with the Arduino software (download). Select "Arduino Diecimila, Duemilanove, or Nano w/ ATmega168" or "Arduino Duemilanove or Nano w/ ATmega328" from the Tools > Board menu (according to the microcontroller on your board). For details, see the reference and tutorials. The ATmega168 or ATmega328 on the Arduino Nano comes preburned with a bootloader that allows you to upload new code to it without the use of an external hardware programmer. It communicates using the original STK500 protocol (reference, C header files). You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header; see these instructions for details.
Rather then requiring a physical press of the reset button before an upload, the Arduino Nano is designed in a way that allows it to be reset by software running on a connected computer. One of the hardware flow control lines (DTR) of the FT232RL is connected to the reset line of the ATmega168 or ATmega328 via a 100 nanofarad capacitor. When this line is asserted (taken low), the reset line drops long enough to reset the chip. The Arduino software uses this capability to allow you to upload code by simply pressing the upload button in the Arduino environment. This means that the bootloader can have a shorter timeout, as the lowering of DTR can be well-coordinated with the start of the upload. This setup has other implications. When the Nano is connected to either a computer running Mac OS X or Linux, it resets each time a connection is made to it from software (via USB). For the following half-second or so, the bootloader is running on the Nano. While it is programmed to ignore malformed data (i.e. anything besides an upload of new code), it will intercept the first few bytes of data sent to the board after a connection is opened. If a sketch running on the board receives one-time configuration or other data when it first starts, make sure that the software with which it communicates waits a second after opening the connection and before sending this data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Arduino can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators. The microcontroller on the board is programmed using the Arduino programming language (based on Wiring) and the Arduino development environment (based on Processing). Arduino projects can be stand-alone or they can communicate with software on running on a computer (e.g. Flash, Processing, MaxMSP). Arduino is a cross-platoform program. You’ll have to follow different instructions for your personal OS. Check on the Arduino site for the latest instructions. http://arduino.cc/en/Guide/HomePage
Once you have downloaded/unzipped the arduino IDE, you’ll need to install the FTDI Drivers to let your PC talk to the board. First Plug the Arduino to your PC via USB cable.
Now you’re actually ready to “burn” your first program on the arduino board. To select “blink led”, the physical translation of the well known programming “hello world”, select
File>Sketchbook> Arduino-0017>Examples> Digital>Blink Once you have your skecth you’ll see something very close to the screenshot on the right. In Tools>Board select Arduino NANO and with the AtMEGA you’re using (probably 328) Now you have to go to Tools>SerialPort and select the right serial port, the one arduino is attached to.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1.
Warranties
1.1 The producer warrants that its products will conform to the Specifications. This warranty lasts for one (1) years from the date of the sale. The producer shall not be liable for any defects that are caused by neglect, misuse or mistreatment by the Customer, including improper installation or testing, or for any products that have been altered or modified in any way by a Customer. Moreover, The producer shall not be liable for any defects that result from Customer's design, specifications or instructions for such products. Testing and other quality control techniques are used to the extent the producer deems necessary. 1.2 If any products fail to conform to the warranty set forth above, the producer's sole liability shall be to replace such products. The producer's liability shall be limited to products that are determined by the producer not to conform to such warranty. If the producer elects to replace such products, the producer shall have a reasonable time to replacements. Replaced products shall be warranted for a new full warranty period. 1.3 EXCEPT AS SET FORTH ABOVE, PRODUCTS ARE PROVIDED "AS IS" AND "WITH ALL FAULTS." THE PRODUCER DISCLAIMS ALL OTHER WARRANTIES, EXPRESS OR IMPLIED, REGARDING PRODUCTS, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE 1.4 Customer agrees that prior to using any systems that include the producer products, Customer will test such systems and the functionality of the products as used in such systems. The producer may provide technical, applications or design advice, quality characterization, reliability data or other services. Customer acknowledges and agrees that providing these services shall not expand or otherwise alter the producer's warranties, as set forth above, and no additional obligations or liabilities shall arise from the producer providing such services. 1.5 The Arduino products are not authorized for use in safety-critical applications where a failure of the product would reasonably be expected to cause severe personal injury or death. Safety-Critical Applications include, without limitation, life support devices and systems, equipment or systems for the operation of nuclear facilities and weapons systems. Arduinoproducts are neither designed nor intended for use in military or aerospace applications or environments and for automotive applications or environment. Customer acknowledges and agrees that any such use of Arduino products which is solely at the Customer's risk, and that Customer is solely responsible for compliance with all legal and regulatory requirements in connection with such use. 1.6 Customer acknowledges and agrees that it is solely responsible for compliance with all legal, regulatory and safety-related requirements concerning its products and any use of Arduino products in Customer's applications, notwithstanding any applicationsrelated information or support that may be provided by the producer. 2.
Indemnification
The Customer acknowledges and agrees to defend, indemnify and hold harmless the producer from and against any and all third-party losses, damages, liabilities and expenses it incurs to the extent directly caused by: (i) an actual breach by a Customer of the representation and warranties made under this terms and conditions or (ii) the gross negligence or willful misconduct by the Customer. 3.
Consequential Damages Waiver
In no event the producer shall be liable to the Customer or any third parties for any special, collateral, indirect, punitive, incidental, consequential or exemplary damages in connection with or arising out of the products provided hereunder, regardless of whether the producer has been advised of the possibility of such damages. This section will survive the termination of the warranty period. 4.
Changes to specifications
The producer may make changes to specifications and product descriptions at any time, without notice. The Customer must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." The producer reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The product information on the Web Site or Materials is subject to change without notice. Do not finalize a design with this information.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298
DUAL FULL-BRIDGE DRIVER
.. .. .
OPERATING SUPPLY VOLTAGE UP TO 46 V TOTAL DC CURRENT UP TO 4 A LOW SATURATION VOLTAGE OVERTEMPERATURE PROTECTION LOGICAL ”0” INPUT VOLTAGE UP TO 1.5 V (HIGH NOISE IMMUNITY)
DESCRIPTION The L298 is an integrated monolithic circuit in a 15lead Multiwatt and PowerSO20 packages. It is a high voltage, high current dual full-bridge driver designed to accept standardTTL logic levels and drive inductive loads such as relays, solenoids, DC and stepping motors. Two enableinputs are provided to enableor disable the deviceindependentlyof the input signals. The emitters of the lower transistors of each bridge are connected together and the corresponding external terminal can be used for the con-
Multiw att15
PowerSO20
O RDERING NUMBERS : L298N (Multiwatt Vert.) L298HN (Multiwatt Horiz.) L298P (PowerSO20)
nectionof an externalsensing resistor. Anadditional supply input is provided so that the logic works at a lower voltage.
BLOCK DIAGRAM
Jenuary 2000
1/13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298 ABSOLUTE MAXIMUM RATINGS Symb ol
Parameter
Value
Unit
VS
Power Supply
50
V
V SS
Logic Supply Voltage
7
V
–0.3 to 7
V
3 2.5 2
A A A
–1 to 2.3
V
VI,Ven IO
Vsens
Input and Enable Voltage Peak Output Current (each Channel) – Non Repetitive (t = 100µs) –Repetitive (80% on –20% off; ton = 10ms) –DC Operation Sensing Voltage
P tot
Total Power Dissipation (Tcase = 75°C)
25
W
Top
Junction Operating Temperature
–25 to 130
°C
Storage and Junction Temperature
–40 to 150
°C
Tstg, Tj
PIN CONNECTIONS (top view)
Multiwatt15
15
CURRENT SENSING B
14
OUTPUT 4
13
OUTPUT 3
12
INPUT 4
11
ENABLE B
10
INPUT 3
9
LOGIC SUPPLY VOLTAGE VSS
8
GND
7
INPUT 2
6
ENABLE A
5
INPUT 1
4
SUPPLY VOLTAGE VS
3
OUTPUT 2
2
OUTPUT 1
1
CURRENT SENSING A
TAB CONNECTED TO PIN 8
D95IN240A
GND
1
20
GND
Sense A
2
19
Sense B
N.C.
3
18
N.C.
Out 1
4
17
Out 4
Out 2
5
16
Out 3
VS
6
15
Input 4
Input 1
7
14
Enable B
Enable A
8
13
Input 3
Input 2
9
12
VSS
10
11
GND
GND
PowerSO20
D95IN239
THERMAL DATA Symb ol
Po werSO20
Mu ltiwatt15
Unit
Rth j-case
Thermal Resistance Junction-case
Parameter Max.
–
3
°C/W
Rth j-amb
Thermal Resistance Junction-ambient
Max.
13 (*)
35
°C/W
(*) Mounted on aluminum substrate
2/13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298 PIN FUNCTIONS (refer to the block diagram) MW.15
Po werSO
Name
1;15
2;19
Sense A; Sense B
Between this pin and ground is connected the sense resistor to control the current of the load.
Fun ction
2;3
4;5
Out 1; Out 2
Outputs of the Bridge A; the current that flows through the load connected between these two pins is monitored at pin 1.
4
6
VS
Supply Voltage for the Power Output Stages. A non-inductive 100nF capacitor must be connected between this pin and ground.
5;7
7;9
Input 1; Input 2
6;11
8;14
Enable A; Enable B
TTL Compatible Inputs of the Bridge A.
8
1,10,11,20
GND
Ground.
9
12
VSS
Supply Voltage for the Logic Blocks. A100nF capacitor must be connected between this pin and ground.
10; 12
13;15
Input 3; Input 4
13; 14
16;17
Out 3; Out 4
–
3;18
N.C.
TTL Compatible Enable Input: the L state disables the bridge A (enable A) and/or the bridge B (enable B).
TTL Compatible Inputs of the Bridge B. Outputs of the Bridge B. The current that flows through the load connected between these two pins is monitored at pin 15. Not Connected
ELECTRICAL CHARACTERISTICS (VS = 42V; VSS = 5V, Tj = 25°C; unless otherwise specified) Symbol
Parameter
VS
Supply Voltage (pin 4)
VSS
Logic Supply Voltage (pin 9)
Test Co nditions Operative Condition
Min . 4.5
Ven = H; IL = 0
Typ .
VIH +2.5
Unit
46
V
5
7
V
13 50
22 70
mA mA
4
mA
24 7
36 12
mA mA
IS
Quiescent Supply Current (pin 4)
ISS
Quiescent Current from VSS (pin 9) Ven = H; IL = 0
6
mA
V iL
Input Low Voltage (pins 5, 7, 10, 12)
–0.3
1.5
V
ViH
Input High Voltage (pins 5, 7, 10, 12)
2.3
VSS
V
IiL
Low Voltage Input Current (pins 5, 7, 10, 12)
Vi = L
–10
µA
IiH
High Voltage Input Current (pins 5, 7, 10, 12)
Vi = H ≤ VSS –0.6V
100
µA
Ven = L
Vi = L Vi = H
Max.
Vi = X
Ven = L
Vi = L Vi = H Vi = X
30
Ven = L
Enable Low Voltage (pins 6, 11)
–0.3
1.5
V
Ven = H
Enable High Voltage (pins 6, 11)
2.3
VSS
V
Ien = L
Low Voltage Enable Current (pins 6, 11)
Ven = L
–10
µA
Ien = H
High Voltage Enable Current (pins 6, 11)
Ven = H ≤ VSS –0.6V
30
100
µA
0.95
1.35 2
1.7 2.7
V V
1.2 1.7
1.6 2.3
V V
VCEsat (H) Source Saturation Voltage
IL = 1A IL = 2A
VCEsat (L) Sink Saturation Voltage
IL = 1A IL = 2A
(5) (5)
0.85
IL = 1A IL = 2A
(5) (5)
1.80
3.2 4.9
V V
–1 (1)
2
V
VCEsat
Total Drop
Vsens
Sensing Voltage (pins 1, 15)
3/13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298 ELECTRICAL CHARACTERISTICS (continued) Symbol
Parameter
Test Co nditions
Min .
Typ .
Max.
Unit
T1 (Vi)
Source Current Turn-off Delay
0.5 V i to 0.9 I L
(2); (4)
1.5
µs
T2 (Vi)
Source Current Fall Time
0.9 IL to 0.1 IL
(2); (4)
0.2
µs
T3 (Vi)
Source Current Turn-on Delay
0.5 V i to 0.1 I L
(2); (4)
2
µs
T4 (Vi)
Source Current Rise Time
0.1 IL to 0.9 IL
(2); (4)
0.7
µs
T5 (Vi)
Sink Current Turn-off Delay
0.5 V i to 0.9 I L
(3); (4)
0.7
µs µs
T6 (Vi)
Sink Current Fall Time
0.9 IL to 0.1 IL
(3); (4)
0.25
T7 (Vi)
Sink Current Turn-on Delay
0.5 V i to 0.9 I L
(3); (4)
1.6
µs
T8 (Vi)
Sink Current Rise Time
0.1 IL to 0.9 IL
(3); (4)
0.2
µs
Commutation Frequency
IL = 2A
T1 (Ven)
fc (Vi)
Source Current Turn-off Delay
0.5 V en to 0.9 IL
25
T2 (Ven)
Source Current Fall Time
0.9 IL to 0.1 IL
T3 (Ven)
Source Current Turn-on Delay
0.5 V en to 0.1 IL
T4 (Ven)
Source Current Rise Time
0.1 IL to 0.9 IL
T5 (Ven)
Sink Current Turn-off Delay
0.5 V en to 0.9 IL
T6 (Ven)
Sink Current Fall Time
0.9 IL to 0.1 IL
T7 (Ven)
Sink Current Turn-on Delay
0.5 V en to 0.9 IL
T8 (Ven)
Sink Current Rise Time
0.1 IL to 0.9 IL
(2); (4) (2); (4) (2); (4) (2); (4) (3); (4) (3); (4) (3); (4) (3); (4)
40
µs
1
µs
0.3
µs
0.4
µs
2.2
µs
0.35
µs
0.25
µs
0.1
µs
1) 1)Sensing voltage can be –1 V for t ≤ 50 µsec; in steady state V sens min ≥ – 0.5 V. 2) See fig. 2. 3) See fig. 4. 4) The load must be a pure resistor.
Figure 1 : Typical Saturation Voltage vs. Output Current.
Figure 2 : Switching Times Test Circuits.
Note : For INPUT Switching, set EN = H For ENABLESwitching, set IN = H
4/13
KHz
3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298 Figure 3 : Source Current Delay Times vs. Input or Enable Switching.
Figure 4 : Switching Times Test Circuits.
Note : For INPUT Switching, set EN = H For ENABLE Switching, set IN = L
5/13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298 Figure 5 : Sink Current Delay Times vs. Input 0 V Enable Switching.
Figure 6 : Bidirectional DC Motor Control.
In pu ts Ven = H
Ven = L L = Low
6/13
Fu nctio n
C=H;D=L
Forward
C =L; D= H
Reverse
C=D
Fast Motor Stop
C=X;D=X
Free Running Motor Stop
H = High
X = Don’t care
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298 Figure 7 : For higher currents, outputs can be paralleled. Take care to parallel channel 1 with channel 4 and channel 2 with channel 3.
APPLICATION INFORMATION (Refer to the block diagram) 1.1. POWER OUTPUT STAGE Each input must be connected to the source of the driving signals by means of a very short path. TheL298integratestwo poweroutputstages(A ; B). The power output stage is a bridge configuration Turn-On and Turn-Off : Before to Turn-ON the Supand its outputs can drive an inductive load in comply Voltageand beforeto Turnit OFF, the Enableinmon or differenzialmode, dependingon the state of put must be driven to the Low state. the inputs. The current that flows through the load 3. APPLICATIONS comes out from the bridge at the sense output : an Fig 6 shows a bidirectional DC motor control Scheexternal resistor (RSA ; RSB.) allows to detect the inmatic Diagram for which only one bridge is needed. tensity of this current. The external bridge of diodes D1 to D4 is made by 1.2. INPUT STAGE four fast recovery elements (trr ≤ 200 nsec) that Each bridge is driven by means of four gates the inmust be chosen of a VF as low as possible at the put of which are In1 ; In2 ; EnA and In3 ; In4 ; EnB. worst case of the load current. The In inputs set the bridge state when The En input The sense outputvoltage can be used to control the is high ; a lowstate of the En inputinhibitsthe bridge. current amplitude by chopping the inputs, or to proAll the inputs are TTL compatible. vide overcurrent protection by switching low the enable input. 2. SUGGESTIONS The brake function (Fast motor stop) requires that A non inductive capacitor, usually of 100 nF, must the Absolute Maximum Rating of 2 Amps must be foreseen between both Vs and Vss, to ground, never be overcome. as near as possible to GND pin. When the large capacitor of the power supply is too far from the IC, a When the repetitive peak current needed from the second smaller one must be foreseen near the load is higher than 2 Amps, a paralleled configuraL298. tion can be chosen (See Fig.7). The sense resistor, not of a wire wound type, must An external bridge of diodes are required when inbe grounded near the negative pole of Vs that must ductive loads are driven and when the inputs of the be near the GND pin of the I.C. IC are chopped; Shottkydiodeswould bepreferred. 7/13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298 This solution can drive until 3 Amps In DC operation and until 3.5 Amps of a repetitive peak current. OnFig 8 it is shownthe driving ofa twophasebipolar stepper motor ; the needed signals to drive the inputs of the L298 are generated, in this example, from the IC L297. Fig 9 shows an example of P.C.B. designed for the application of Fig 8.
Fig 10 shows a second two phase bipolar stepper motor control circuit where the current is controlled by the I.C. L6506.
Figure 8 : Two Phase Bipolar Stepper Motor Circuit. This circuit drives bipolar stepper motors with winding currents up to 2 A. The diodes are fast 2 A types.
RS1 = RS2 = 0.5 Ω D1 to D8 = 2 A Fast diodes
8/13
{
VF ≤ 1.2 V @ I = 2 A trr ≤ 200 ns
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298 Figure 9 : Suggested Printed Circuit Board Layout for the Circuit of fig. 8 (1:1 scale).
Figure 10 : Two Phase Bipolar Stepper Motor Control Circuit by Using the Current Controller L6506.
RR and Rsense depend from the load current
9/13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298 mm
DIM. MIN.
TYP.
inch MAX.
MIN.
TYP.
MAX.
A
5
0.197
B
2.65
0.104
C
1.6
D
0.063
1
0.039
E
0.49
0.55
0.019
F
0.66
0.75
0.026
G
1.02
1.27
1.52
0.040
0.050
0.060
G1
17.53
17.78
18.03
0.690
0.700
0.710
H1
19.6
0.022 0.030
0.772
H2 L
20.2
0.795
21.9
22.2
22.5
0.862
0.874
0.886
L1
21.7
22.1
22.5
0.854
0.870
0.886
L2
17.65
18.1
0.695
L3
17.25
17.5
17.75
0.679
0.689
0.699
L4
10.3
10.7
10.9
0.406
0.421
0.429
L7
2.65
2.9
0.104
0.713
0.114
M
4.25
4.55
4.85
0.167
0.179
0.191
M1
4.63
5.08
5.53
0.182
0.200
0.218
S
1.9
2.6
0.075
S1
1.9
2.6
0.075
0.102
Dia1
3.65
3.85
0.144
0.152
10/13
OUTLINE AND MECHANICAL DATA
0.102
Multiwatt15 V
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298 mm
DIM. MIN.
TYP.
inch MAX.
MIN.
TYP.
MAX.
A
5
0.197
B
2.65
0.104
C
1.6
OUTLINE AND MECHANICAL DATA
0.063
E
0.49
0.55
0.019
0.022
F
0.66
0.75
0.026
0.030
G
1.14
1.27
1.4
0.045
0.050
0.055
G1
17.57
17.78
17.91
0.692
0.700
0.705
H1
19.6
0.772
H2
20.2
0.795
L
20.57
0.810
L1
18.03
0.710
L2
2.54
0.100
L3
17.25
17.5
17.75
0.679
0.689
0.699
L4
10.3
10.7
10.9
0.406
0.421
0.429
L5
5.28
0.208
L6
2.38
0.094
L7
2.65
2.9
0.104
0.114
S
1.9
2.6
0.075
0.102
S1
1.9
2.6
0.075
0.102
Dia1
3.65
3.85
0.144
0.152
Multiwatt15 H
11/13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298
DIM. A a1 a2 a3 b c D (1) D1 E e e3 E1 (1) E2 E3 G H h L N S T
MIN.
mm TYP.
0.1 0 0.4 0.23 15.8 9.4 13.9
MAX. 3.6 0.3 3.3 0.1 0.53 0.32 16 9.8 14.5
MIN. 0.004 0.000 0.016 0.009 0.622 0.370 0.547
1.27 11.43 10.9
inch TYP.
0.050 0.450 11.1 0.429 2.9 6.2 0.228 0.1 0.000 15.9 0.610 1.1 1.1 0.031 10° (max.) 8° (max.)
5.8 0 15.5 0.8
OUTLINE AND MECHANICAL DATA
MAX. 0.142 0.012 0.130 0.004 0.021 0.013 0.630 0.386 0.570
10
0.437 0.114 0.244 0.004 0.626 0.043 0.043
JEDEC MO-166
0.394
PowerSO20
(1) ”D and F” do not include mold flash or protrusions. - Mold flash or protrusions shall not exceed 0.15 mm (0.006”). - Critical dimensions: ”E”, ”G” and ”a3”
N
R
N a2 b
A
e
DETAIL A
c a1
DETAIL B
E
e3 H
DETAIL A
lead
D
slug
a3 DETAIL B 20
11
0.35 Gage Plane
-C-
S
SEATING PLANE
L
G
E2
E1
BOTTOM VIEW
T E3 1
h x 45
12/13
10
PSO20MEC
C
(COPLANARITY)
D1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298
Information furnished is believed to be accurate and reliable. However, STMicroelectronics assumes no responsibility for the consequences of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of STMicroelectronics. Specification mentioned in this publication are subject to change without notice. This publication supersedes and replaces all information previously supplied. STMicroelectronics products are not authorized for use as critical components in life support devices or systems without express written approval of STMicroelectronics. The ST logo is a registered trademark of STMicroelectronics 2000 STMicroelectronics – Printed in Italy – All Rights Reserved STMicroelectronics GROUP OF COMPANIES Australia - Brazil - China - Finland - France - Germany - Hong Kong - India - Italy - Japan - Malaysia - Malta - Morocco Singapore - Spain - Sweden - Switzerland - United Kingdom - U.S.A. http://www.st.com
13/13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
This datasheet has been download from: www.datasheetcatalog.com Datasheets for electronics components.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Web Site: www.parallax.com Forums: forums.parallax.com Sales:
[email protected] Technical:
[email protected]
Office: (916) 624-8333 Fax: (916) 624-8003 Sales: (888) 512-1024 Tech Support: (888) 997-8267
PING)))™ Ultrasonic Distance Sensor (#28015) The Parallax PING))) ultrasonic distance sensor provides precise, non-contact distance measurements from about 2 cm (0.8 inches) to 3 meters (3.3 yards). It is very easy to connect to microcontrollers such as the BASIC Stamp®, SX or Propeller chip, requiring only one I/O pin. The PING))) sensor works by transmitting an ultrasonic (well above human hearing range) burst and providing an output pulse that corresponds to the time required for the burst echo to return to the sensor. By measuring the echo pulse width, the distance to target can easily be calculated.
Features y y y y y y
Key Specifications
Range: 2 cm to 3 m (0.8 in to 3.3 yd) Burst indicator LED shows sensor activity Bidirectional TTL pulse interface on a single I/O pin can communicate with 5 V TTL or 3.3 V CMOS microcontrollers Input trigger: positive TTL pulse, 2 µs min, 5 µs typ. Echo pulse: positive TTL pulse, 115 µs minimum to 18.5 ms maximum. RoHS Compliant
y y y y y y y
Supply voltage: +5 VDC Supply current: 30 mA typ; 35 mA max Communication: Positive TTL pulse Package: 3-pin SIP, 0.1” spacing (ground, power, signal) Operating temperature: 0 – 70° C. Size: 22 mm H x 46 mm W x 16 mm D (0.84 in x 1.8 in x 0.6 in) Weight: 9 g (0.32 oz)
Pin Definitions GND 5V SIG
Ground (Vss) 5 VDC (Vdd) Signal (I/O pin)
The PING))) sensor has a male 3-pin header used to supply ground, power (+5 VDC) and signal. The header may be plugged into a directly into solderless breadboard, or into a standard 3wire extension cable (Parallax part #805-000012).
Copyright © Parallax Inc.
PING))) Ultrasonic Distance Sensor (#28015)
v1.5 2/15/2008 Page 1 of 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Dimensions
Communication Protocol The PING))) sensor detects objects by emitting a short ultrasonic burst and then "listening" for the echo. Under control of a host microcontroller (trigger pulse), the sensor emits a short 40 kHz (ultrasonic) burst. This burst travels through the air, hits an object and then bounces back to the sensor. The PING))) sensor provides an output pulse to the host that will terminate when the echo is detected, hence the width of this pulse corresponds to the distance to the target.
Host Device PING))) Sensor
Input Trigger Pulse
tOUT
2 µs (min), 5 µs typical
Echo Holdoff
tHOLDOFF
750 µs
Burst Frequency
tBURST
200 µs @ 40 kHz
Echo Return Pulse Minimum
tIN-MIN
115 µs
Echo Return Pulse Maximum
tIN-MAX
18.5 ms
Delay before next measurement
Copyright © Parallax Inc.
PING))) Ultrasonic Distance Sensor (#28015)
200 µs
v1.5 2/15/2008 Page 2 of 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Practical Considerations for Use Object Positioning The PING))) sensor cannot accurately measure the distance to an object that: a) is more than 3 meters away, b) that has its reflective surface at a shallow angle so that sound will not be reflected back towards the sensor, or c) is too small to reflect enough sound back to the sensor. In addition, if your PING))) sensor is mounted low on your device, you may detect sound reflecting off of the floor. a.
b.
c.
Target Object Material In addition, objects that absorb sound or have a soft or irregular surface, such as a stuffed animal, may not reflect enough sound to be detected accurately. The PING))) sensor will detect the surface of water, however it is not rated for outdoor use or continual use in a wet environment. Condensation on its transducers may affect performance and lifespan of the device. See the “Water Level with PING)))” document on the 28015 product page at www.parallax.com for more information.
Air Temperature Temperature has an effect on the speed of sound in air that is measurable by the PING))) sensor. If the temperature (°C) is known, the formula is: Cair = 331.5 + (0.6 × TC ) m/s
The percent error over the sensor’s operating range of 0 to 70 ° C is significant, in the magnitude of 11 to 12 percent. The use of conversion constants to account for air temperature may be incorporated into your program (as is the case in the example BS2 program given in the Example Programs section below). Percent error and conversion constant calculations are introduced in Chapter 2 of Smart Sensors and Applications, a Stamps in Class text available for download from the 28029 product page at www.parallax.com.
Copyright © Parallax Inc.
PING))) Ultrasonic Distance Sensor (#28015)
v1.5 2/15/2008 Page 3 of 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Test Data The test data on the following pages is based on the PING))) sensor, tested in the Parallax lab, while connected to a BASIC Stamp microcontroller module. The test surface was a linoleum floor, so the sensor was elevated to minimize floor reflections in the data. All tests were conducted at room temperature, indoors, in a protected environment. The target was always centered at the same elevation as the PING))) sensor.
Test 1 Sensor Elevation: Target:
Copyright © Parallax Inc.
40 in. (101.6 cm) 3.5 in. (8.9 cm) diameter cylinder, 4 ft. (121.9 cm) tall – vertical orientation
PING))) Ultrasonic Distance Sensor (#28015)
v1.5 2/15/2008 Page 4 of 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Test 2 Sensor Elevation: Target:
Copyright © Parallax Inc.
40 in. (101.6 cm) 12 in. x 12 in. (30.5 cm x 30.5 cm) cardboard, mounted on 1 in. (2.5 cm) pole Target positioned parallel to backplane of sensor
PING))) Ultrasonic Distance Sensor (#28015)
v1.5 2/15/2008 Page 5 of 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Example Programs and Applications BASIC Stamp 2 This circuit allows you to quickly connect your PING))) sensor to a BASIC Stamp® 2 via the Board of Education® breadboard area. The PING))) module’s GND pin connects to Vss, the 5 V pin connects to Vdd, and the SIG pin connects to I/O pin P15. This circuit will work with the example BASIC Stamp program listed below.
Extension Cable and Port Cautions for the Board of Education If you are connecting your PING))) sensor to a Board of Education platform using an extension cable, follow these steps: 1. When plugging the cable onto the PING))) sensor, connect Black to GND, Red to 5 V, and White to SIG. 2. Check to see if your Board of Education servo ports have a jumper, as shown at right. 3. If your Board of Education servo ports have a jumper, set it to Vdd as shown. Then plug the cable into the port, matching the wire color to the labels next to the port. 4. If your Board of Education servo ports do not have a jumper, do not use them with the PING))) sensor. These ports only provide Vin, not Vdd, and this may damage your PING))) sensor. Go to the next step. 5. Connect the cable directly to the breadboard with a 3-pin header as shown above. Then, use jumper wires to connect Black to Vss, Red to Vdd, and White to I/O pin P15.
Board of Education Servo Port Jumper, Set to Vdd
Copyright © Parallax Inc.
PING))) Ultrasonic Distance Sensor (#28015)
v1.5 2/15/2008 Page 6 of 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Example Program: PingMeasureCmAndIn.bs2 This example BS2 program is an excerpt from Chapter 2 of the Stamps in Class text Smart Sensors and Applications. Additional PBASIC programs, one for the BS1 and another than runs on any model of BASIC Stamp 2 (BS2, BS2e, BS2sx, BS2p, BS2pe, BS2px) can be downloaded from the 28015 product page. ' Smart Sensors and Applications - PingMeasureCmAndIn.bs2 ' Measure distance with Ping))) sensor and display in both in & cm ' {$STAMP BS2} ' {$PBASIC 2.5} ' Conversion constants for room temperature measurements. CmConstant CON 2260 InConstant CON 890 cmDistance inDistance time
VAR VAR VAR
Word Word Word
DO PULSOUT 15, 5 PULSIN 15, 1, time cmDistance = cmConstant ** time inDistance = inConstant ** time DEBUG HOME, DEC3 cmDistance, " cm" DEBUG CR, DEC3 inDistance, " in" PAUSE 100 LOOP
Copyright © Parallax Inc.
PING))) Ultrasonic Distance Sensor (#28015)
v1.5 2/15/2008 Page 7 of 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Propeller Microcontroller {{ *************************************** * Ping))) Object V1.1 * * (C) 2006 Parallax, Inc. * * Author: Chris Savage & Jeff Martin * * Started: 05-08-2006 * *************************************** Interface to Ping))) sensor and measure its ultrasonic travel time. Measurements can be in units of time or distance. Each method requires one parameter, Pin, that is the I/O pin that is connected to the Ping)))'s signal line. ┌───────────────────┐ │┌───┐ ┌───┐│ ││ ‣ │ PING))) │ ‣ ││ │└───┘ └───┘│ │ GND +5V SIG │ └─────┬───┬───┬─────┘ │ │ 1K └┘ └ Pin
Connection To Propeller Remember PING))) Requires +5V Power Supply
--------------------------REVISION HISTORY-------------------------v1.1 - Updated 03/20/2007 to change SIG resistor from 10K to 1K }} CON TO_IN = 73_746 TO_CM = 29_034
' Inches ' Centimeters
PUB Ticks(Pin) : Microseconds | cnt1, cnt2 ''Return Ping)))'s one-way ultrasonic travel time in microseconds outa[Pin]~ ' Clear I/O Pin dira[Pin]~~ ' Make Pin Output outa[Pin]~~ ' Set I/O Pin outa[Pin]~ ' Clear I/O Pin (> 2 μs pulse) dira[Pin]~ ' Make I/O Pin Input waitpne(0, |< Pin, 0) ' Wait For Pin To Go HIGH cnt1 := cnt ' Store Current Counter Value waitpeq(0, |< Pin, 0) ' Wait For Pin To Go LOW cnt2 := cnt ' Store New Counter Value Microseconds := (||(cnt1 - cnt2) / (clkfreq / 1_000_000)) >> 1 ' Return Time in μs PUB Inches(Pin) : Distance ''Measure object distance in inches Distance := Ticks(Pin) * 1_000 / TO_IN
' Distance In Inches
PUB Centimeters(Pin) : Distance ''Measure object distance in centimeters Distance := Millimeters(Pin) / 10
' Distance In Centimeters
PUB Millimeters(Pin) : Distance ''Measure object distance in millimeters Distance := Ticks(Pin) * 10_000 / TO_CM
Copyright © Parallax Inc.
' Distance In Millimeters
PING))) Ultrasonic Distance Sensor (#28015)
v1.5 2/15/2008 Page 8 of 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
The ping.spin object is used in an example project with the Parallax 4 x 20 Serial LCD (#27979) to display distance measurements. The complete Project Archive can be downloaded from the Propeller Object Exchange at http://obex.parallax.com. ─────────────────────────────────────── Parallax Propeller Chip Project Archive ─────────────────────────────────────── Project : "ping_demo" Archived : Tuesday, December 18, 2007 at 3:29:46 PM Tool : Propeller Tool version 1.05.8 ping_demo.spin │ ├──Debug_Lcd.spin │ │ │ ├──Serial_Lcd.spin │ │ │ │ │ └──Simple_Serial.spin │ │ │ └──Simple_Numbers.spin │ └──ping.spin
Copyright © Parallax Inc.
PING))) Ultrasonic Distance Sensor (#28015)
v1.5 2/15/2008 Page 9 of 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Javelin Stamp Microcontroller This class file implements several methods for using the PING))) sensor with the Javelin Stamp module. package stamp.peripheral.sensor; import stamp.core.*;
/** * This class provides an interface to the Parallax PING))) ultrasonic * range finder module. *
* Usage:
* * Ping range = new Ping(CPU.pin0); // trigger and echo on P0 *
*
* Detailed documentation for the PING))) Sensor can be found at:
* http://www.parallax.com/detail.asp?product_id=28015 *
* * @version 1.0 03 FEB 2005 */ public final class Ping { private int ioPin; /** * Creates PING))) range finder object * * @param ioPin PING))) trigger and echo return pin */ public Ping (int ioPin) { this.ioPin = ioPin; }
/** * Returns raw distance value from the PING))) sensor. * * @return Raw distance value from PING))) */ public int getRaw() { int echoRaw = 0; CPU.writePin(ioPin, false); // setup for high-going pulse CPU.pulseOut(1, ioPin); // send trigger pulse echoRaw = CPU.pulseIn(2171, ioPin, true); // measure echo return // return echo pulse if in range; zero if out-of-range return (echoRaw < 2131) ? echoRaw : 0; }
/* * * * * *
The PING))) returns a pulse width of 73.746 uS per inch. Since the Javelin pulseIn() round-trip echo time is in 8.68 uS units, this is the same as a one-way trip in 4.34 uS units. Dividing 73.746 by 4.34 we get a time-per-inch conversion factor of 16.9922 (x 0.058851).
Copyright © Parallax Inc.
PING))) Ultrasonic Distance Sensor (#28015)
v1.5 2/15/2008 Page 10 of 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
* Values to derive conversion factors are selected to prevent roll-over * past the 15-bit positive values of Javelin Stamp integers. */ /** * @return PING))) distance value in inches */ public int getIn() { return (getRaw() * 3 / 51); // raw * 0.058824 }
/** * @return PING))) distance value in tenths of inches */ public int getIn10() { return (getRaw() * 3 / 5); // raw / 1.6667 }
/* * The PING))) returns a pulse width of 29.033 uS per centimeter. As the * Javelin pulseIn() round-trip echo time is in 8.68 uS units, this is the * same as a one-way trip in 4.34 uS units. Dividing 29.033 by 4.34 we * get a time-per-centimeter conversion factor of 6.6896. * * Values to derive conversion factors are selected to prevent roll-over * past the 15-bit positive values of Javelin Stamp integers. */ /** * @return PING))) distance value in centimeters */ public int getCm() { return (getRaw() * 3 / 20); // raw / 6.6667 }
/** * @return PING))) distance value in millimeters */ public int getMm() { return (getRaw() * 3 / 2); // raw / 0.6667 } } This simple demo illustrates the use of the PING))) ultrasonic range finder class with the Javelin Stamp: import stamp.core.*; import stamp.peripheral.sensor.Ping;
public class testPing { public static final char HOME = 0x01; public static void main() { Ping range = new Ping(CPU.pin0); StringBuffer msg = new StringBuffer(); int distance;
Copyright © Parallax Inc.
PING))) Ultrasonic Distance Sensor (#28015)
v1.5 2/15/2008 Page 11 of 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
while (true) { // measure distance to target in inches distance = range.getIn(); // create and display measurement message msg.clear(); msg.append(HOME); msg.append(distance); msg.append(" \" \n"); System.out.print(msg.toString()); // wait 0.5 seconds between readings CPU.delay(5000); } } }
Resources and Downloads You can find additional resources for the PING))) sensor by searching the following product pages at www.parallax.com: y Smart Sensors and Applications (a Stamps in Class text), #28029 y PING))) Mounting Bracket Kit – a servo-driven mount designed to attach to a Boe-Bot robot, #570-28015 y Extension cable with 3-in header, #805-00011 (10-in.) or #805-00012 (14-in.) A video of a Boe-Bot robot using the PING))) sensor to scan its surroundings then drive to the closest object can be found under Resources > Video Library > Boe-Bot Robot Video Gallery.
Copyright © Parallax Inc.
PING))) Ultrasonic Distance Sensor (#28015)
v1.5 2/15/2008 Page 12 of 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 1 Tech Support: [email protected]
HC-05 -Bluetooth to Serial Port Module
Overview
HC-05 module is an easy to use Bluetooth SPP (Serial Port Protocol) module, designed for transparent wireless serial connection setup. Serial port Bluetooth module is fully qualified Bluetooth V2.0+EDR (Enhanced Data Rate) 3Mbps Modulation with complete 2.4GHz radio transceiver and baseband. It uses CSR Bluecore 04-External single chip Bluetooth system with CMOS technology and with AFH(Adaptive Frequency Hopping Feature). It has the footprint as small as 12.7mmx27mm. Hope it will simplify your overall design/development cycle.
Specifications Hardware features
Typical -80dBm sensitivity Up to +4dBm RF transmit power Low Power 1.8V Operation ,1.8 to 3.6V I/O PIO control UART interface with programmable baud rate With integrated antenna With edge connector
HC-05 Bluetooth module
iteadstudio.com
06.18.2010
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2 Tech Support: [email protected]
Software features
Default Baud rate: 38400, Data bits:8, Stop bit:1,Parity:No parity, Data control: has. Supported baud rate: 9600,19200,38400,57600,115200,230400,460800. Given a rising pulse in PIO0, device will be disconnected. Status instruction port PIO1: low-disconnected, high-connected; PIO10 and PIO11 can be connected to red and blue led separately. When master and slave are paired, red and blue led blinks 1time/2s in interval, while disconnected only blue led blinks 2times/s. Auto-connect to the last device on power as default. Permit pairing device to connect as default. Auto-pairing PINCODE:”0000” as default Auto-reconnect in 30 min when disconnected as a result of beyond the range of connection.
Hardware
HC-05 Bluetooth module
iteadstudio.com
06.18.2010
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3 Tech Support: [email protected]
HC-05 Bluetooth module
iteadstudio.com
06.18.2010
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 4 Tech Support: [email protected]
HC-05 Bluetooth module
iteadstudio.com
06.18.2010
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 5 Tech Support: [email protected]
AT command Default: How to set the mode to server (master): 1. Connect PIO11 to high level. 2. Power on, module into command state. 3. Using baud rate 38400, sent the “AT+ROLE=1\r\n” to module, with “OK\r\n” means setting successes. 4. Connect the PIO11 to low level, repower the module, the module work as server (master). AT commands: (all end with \r\n) 1. Test command: Command
Respond
Parameter
AT
OK
-
Command
Respond
Parameter
AT+RESET
OK
-
Command
Respond
Parameter
AT+VERSION?
+VERSION:<Param> OK
Param : firmware version
2. Reset
3. Get firmware version
Example: AT+VERSION?\r\n +VERSION:2.0-20100601 OK
HC-05 Bluetooth module
iteadstudio.com
06.18.2010
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 6 Tech Support: [email protected]
4. Restore default Command
Respond
Parameter
AT+ORGL
OK
-
Default state: Slave mode, pin code :1234, device name: H-C-2010-06-01 ,Baud 38400bits/s. 5. Get module address Command
Respond
Parameter
AT+ADDR?
+ADDR:<Param> OK
Param: address of Bluetooth module
Bluetooth address: NAP: UAP : LAP Example: AT+ADDR?\r\n +ADDR:1234:56:abcdef OK 6. Set/Check module name: Command
Respond
Parameter
AT+NAME=<Param>
OK
AT+NAME?
+NAME:<Param> OK (/FAIL)
Param: Bluetooth name (Default :HC-05)
module
Example: AT+NAME=HC-05\r\n set the module name to “HC-05” OK AT+NAME=ITeadStudio\r\n OK AT+NAME?\r\n +NAME: ITeadStudio OK 7. Get the Bluetooth device name: Command
Respond
Parameter
AT+RNAME?<Param1>
1. +NAME:<Param2> OK 2. FAIL
Param1,Param 2 : the address of Bluetooth device
Example: (Device address 00:02:72:od:22:24,name:ITead) AT+RNAME? 0002,72,od2224\r\n +RNAME:ITead OK 8. Set/Check module mode: Command
Respond
Parameter
AT+ROLE=<Param>
OK
AT+ ROLE?
+ROLE:<Param>
Param: 0- Slave
HC-05 Bluetooth module
iteadstudio.com
06.18.2010
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 7 Tech Support: [email protected]
OK
1-Master 2-Slave-Loop
Command
Respond
Parameter
AT+CLASS=<Param>
OK
Param: Device Class
AT+ CLASS?
1. +CLASS:<Param> OK 2. FAIL
9. Set/Check device class
10. Set/Check GIAC (General Inquire Access Code) Command
Respond
Parameter
AT+IAC=<Param>
1.OK 2. FAIL
Param: GIAC (Default : 9e8b33)
AT+IAC
+IAC:<Param> OK
Example: AT+IAC=9e8b3f\r\n OK AT+IAC?\r\n +IAC: 9e8b3f OK 11. Set/Check -- Query access patterns Command
Respond
Parameter
AT+INQM=<Param>,<Param2>, <Param3>
1.OK 2. FAIL
AT+ INQM?
+INQM : <Param>,<Param2>, <Param3> OK
Param: 0——inquiry_mode_standard 1——inquiry_mode_rssi Param2: Maximum number of Bluetooth devices to respond to Param3: Timeout (1-48 : 1.28s to 61.44s)
Example: AT+INQM=1,9,48\r\n OK AT+INQM\r\n +INQM:1, 9, 48 OK
HC-05 Bluetooth module
iteadstudio.com
06.18.2010
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8 Tech Support: [email protected]
12. Set/Check PIN code: Command
Respond
AT+PSWD=<Param>
OK
AT+ PSWD?
+ PSWD OK
Parameter :<Param>
Param: PIN code (Default 1234)
13. Set/Check serial parameter: Command
Respond
Parameter
AT+UART=<Param>,<Param2>,< Param3>
OK
AT+ UART?
+UART=<Param>,<Param2>, <Param3> OK
Param1: Baud Param2: Stop bit Param3: Parity
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
AT+ CMODE?
+ CMODE:<Param> OK
Param: 0 - connect fixed address 1 - connect any address 2 - slave-Loop
Command
Respond
Parameter
AT+BIND=<Param>
OK
AT+ BIND?
+ BIND:<Param> OK
Param: Fixed address (Default 00:00:00:00:00:00)
Command
Respond
Parameter
AT+POLAR=<Param1,<Param2>
OK
AT+ POLAR?
+ POLAR=<Param1>,<Param2> OK
Param1: 0- PIO8 low drive LED 1- PIO8 high drive LED
15. Set/Check fixed address:
Example: AT+BIND=1234,56,abcdef\r\n OK AT+BIND?\r\n +BIND:1234:56:abcdef OK 16. Set/Check LED I/O
HC-05 Bluetooth module
iteadstudio.com
06.18.2010
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 9 Tech Support: [email protected]
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
AT+IPSCAN?
+IPSCAN:<Param1>,<Param2>,
,<Param4> OK
Param1: Query time interval Param2:Query duration Param3:Paging interval Param4:Call duration
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
AT+ SNIFF?
+SNIFF:<Param1>,<Param2>,<Par am3>,<Param4> OK
Param1: Max time Param2: Min time Param3: Retry time Param4: Time out
20. Set/Check security mode Command
Respond
Parameter
AT+SENM=<Param1>,<Param2>
1. OK 2. FAIL
AT+ SENM?
+ SENM:<Param1>,<Param2>
Param1: 0——sec_mode0+off 1——sec_mode1+non_se
HC-05 Bluetooth module
iteadstudio.com
06.18.2010
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 10 Tech Support: [email protected]
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 Address
Device
Example: AT+PMSAD =1234,56,abcdef\r\n OK 22. Delete All Authenticated Device Command
Respond
Parameter
AT+ RMAAD
OK
-
Command
Respond
Parameter
AT+FSAD=<Param>
1. OK 2. FAIL
Param: Device address
23. Search Authenticated Device
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: Authenticated Address
Recently Device
26. Get the module working state Command HC-05 Bluetooth module
Respond iteadstudio.com
Parameter 06.18.2010
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 11 Tech Support: [email protected]
AT+ STATE?
+ STATE:<Param> OK
Param: “INITIALIZED” “READY” “PAIRABLE” “PAIRED” “INQUIRING” “CONNECTING” “CONNECTED” “DISCONNECTED” “NUKNOW”
Command
Respond
Parameter
AT+INIT
1. OK 2. FAIL
-
Command
Respond
Parameter
AT+INQ
+INQ: <Param1> , <Param2> , <Param3> …. OK
Param1:Address Param2:Device Class Param3 : RSSI Signal strength
27. Initialize the SPP profile lib
28. Inquiry Bluetooth Device
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
AT+ INQC
OK
-
HC-05 Bluetooth module
iteadstudio.com
06.18.2010
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 12 Tech Support: [email protected]
29. Equipment Matching Command
Respond
Parameter
AT+PAIR=<Param1>,<Param2>
1. OK 2. FAIL
Param1:Device Address Param2:Time out
Command
Respond
Parameter
AT+LINK=<Param>
1. OK 2. FAIL
Param:Device Address
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
Command
Respond
Parameter
AT+ENSNIFF=<Param>
OK
Param:Device Address
Command
Respond
Parameter
AT+ EXSNIFF =<Param>
OK
Param:Device Address
30. Connect Device
Example: AT+FSAD=1234,56,abcdef\r\n OK AT+LINK=1234,56,abcdef\r\n OK 31. Disconnect
32. Energy-saving mode
33. Exerts Energy-saving mode
HC-05 Bluetooth module
iteadstudio.com
06.18.2010
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 13 Tech Support: [email protected]
Revision History Rev.
Description
Release date
v1.0
Initial version
7/18/2010
HC-05 Bluetooth module
iteadstudio.com
06.18.2010