TUGAS AKHIR
disusun Oleh:
NIM : 12514017
YOGYAKARTA
2016
i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
FINAL PROJECT
NIM : 12514017
YOGYAKARTA
2016
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LEMBAR PERSETUJUAN
TUGAS AKHIR
,'q
uf
il-
i4
.,lrt t
ilt
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI ti
LEMBAR PENGESAHAN
TUGAS AKHIR
Disusun oleh:
Ketua:
Sekretaris:
Anggota:
Djoko
k. Ti
ffi-f I
boyoKotrSe
t fW|-b*s..zoro
Fakultas Sains dan Teknologi
tv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
Penulis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
MOTTO:
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma:
Beserta perangkat yang diperiukan (biia a<ia). Dengan <iemii<ian saya memberikan kepacia
Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk
media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan seara terbatas, dan
mempublikasikannya dilntemet atau media lain untuk kepentingan akademis tanpa perlu
meminta ijin dari saya maupun memberikan royaliti kepada saya sekana tetap mencantumkan
nama saya sebagai penulis.
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.
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.
KATA PEI{GANTAR
Puji syukur dan terima kasih kepada Tuhan Yesus Kristus atas segala karuniaNya
sehingga tugas akhir ini yang berjudul "PENGENDALIAN "ROLL BOT"
MENGGTINAKAN ANDROID MELALUI BLUETOOTH DAN ARDUINO" dapat
diselesaikan dengan baik. Laporan tugas akhir ini disusun sebagai persyaratan mahasiswa
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
4. Kepada seluruh dosen, laboran dan staff Teknik Elektro yang sudah memberikan ilmu ,
6. Kedua orang tuaku tersayang yang telah membantu penulis dalam hal moral dan
material dan yang telah mengingatkan serta mendoakan penulis dalam menyelesaikan
tugas akhir ini.
7. Maria Angelika Suhadi sebagai kekasih yang telah selalu mengingatkan dan memberi
semangat kepada penulis dalam pengerjaan tugas akhir ini.
8. Semua pihak yang membantu penulis menyelesaikan tugas akhir ini secara langsung
Penulis menyadari pasti ada kekurangan dalam penulisan tugas akhir ini maka, penulis
sangat mengharapkan kritik dan saran yang dapat membangun serta menyempurnakan tulisan
tugas akhir ini. Semoga tugas akhir ini dapat dimanfaatkan dan dikembangkan lebih lanjut
oleh peneliti lain sehingga tulisa ini dapat lebih bermanfaat.
Juli 2016
xl
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI
Halaman Sampul (Bahasa Indonesia) .......................................................... i
Abstract ............................................................................................................ ix
i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.2.2. Spesifikasi............................................................................. 5
2.2.7. Komunikasi........................................................................... 9
2.3.2. Spesifikasi............................................................................. 10
2.4 Komunikasi..................................................................................... 12
2.5.2. Spesifikasi............................................................................. 17
2.5.2. Spesifikasi............................................................................. 18
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR
Gambar 2.12. Ilustrasi Titik Berat “Roll Bot” (Tampak Samping) .................. 17
Gambar 3.2. Konstruksi Roll Bot Tampak Depan dan Tampak Atas ............ 26
Gambar 3.6. Arah Putar “Roll Bot” Pada Perintah Demo .............................. 32
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.13. Program Mengirim Data Sensor PING Pada Arduino ............... 46
Gambar 4.24. Program Menerima data Dari Arduino Pada Android ............... 52
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL
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
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.
BAB II
DASAR TEORI
2.1. Android
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.
4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.2.1. Pengertian
2.2.2. Spesifikasi
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.
2.2.5. Memori
Masing-masing dari 14 pin digital pada Arduino Nano dapat digunakan sebagai
input atau output, dengan menggunakan fungsi pinMode(), digitalWrite(), dan
digitalRead(). Semua pin beroperasi pada tegangan 5 volt. Setiap pin dapat memberikan
atau menerima arus maksimum 40 mA dan memiliki resistor pull-up internal sebesar 20-50
KOhm. Selain itu beberapa pin memiliki fungsi khusus, yaitu:
a) Serial : 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirimkan
(TX) TTL data serial. Pin ini terhubung ke pin yang sesuai dari chip FTDI USB-to-
TTL Serial.
b) External Interrupt (Interupsi Eksternal): Pin 2 dan pin 3 ini dapat dikonfigurasi
untuk memicu sebuah interupsi pada nilai yang rendah, meningkat atau menurun,
atau perubahan nilai.
c) PWM : Pin 3, 5, 6, 9, 10, dan 11. Menyediakan output PWM 8-bit dengan fungsi
analogWrite(), PWM juga memiliki skala yaitu 0 sampai 225. Jika pada jenis papan
berukuran lebih besar (misal: Arduino Uno), pin PWM ini diberi simbol tilde atau
“~” sedangkan pada Arduino Nano diberi tanda titik atau strip.
d) SPI : Pin 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin ini mendukung
komunikasi SPI. Sebenarnya komunikasi SPI ini tersedia pada hardware, tapi untuk
saat belum didukung dalam bahasa Arduino.
e) LED : Pin 13. Tersedia secara built-in pada papan Arduino Nano. LED terhubung
ke pin digital 13. Ketika pin diset bernilai HIGH, maka LED menyala, dan ketika
pin diset bernilai LOW, maka LED padam.
Arduino Nano memiliki 8 pin sebagai input analog, diberi label A0 sampai dengan
A7, yang masing-masing menyediakan resolusi 10 bit (yaitu 1024 nilai yang berbeda).
Secara default pin ini dapat diukur/diatur dari mulai Ground sampai dengan 5 Volt, juga
memungkinkan untuk mengubah titik jangkauan tertinggi atau terendah mereka
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
2.2.7. Komunikasi
10
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
11
Untuk konfigurasi PIN Bluetooth HC-05 dapat di lihat pada tabel 2.3 dan gambar 2.4.
12
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
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
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.
17
18
Tabel 2.5. Tabel logika kontrol driver motor DC dengan IC L298D kondisi motor Kiri
Kondisi Motor
Pin ENB Pin IN3 Pin IN4
Kiri
0 x x Stop
1 1 0 Forward
1 0 1 Reverse
1 1 1 Break
1 0 0 Break
Logika pada tabel control diver motor DC dengan IC L298D diatas adalah logika digital
dimana logika 1 = HIGH (+5Volt DC), logika 0 = LOW (0 Volt DC) dan logika “x” adalah
logika don’t care atau tidak akan berpengaruh pada output.
19
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)
⁄
detik (2.2)
20
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
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
rumus 2.6: (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
Proses kerja “Roll Bot” yang pengendaliannya menggunakan android ditunjukan pada
gambar 3.1.
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.
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.
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
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.
3
4a 2 3 4b 4a 6 4b
1
1
12 centi meter
12 centi meter
5 5 2
6
20 centi meter
20 centi meter
Gambar 3.2. Konstruksi “Roll Bot” tampak depan dan tampak atas
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 3
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 Gambar Ilustrasi
“Roll Bot”
CW CW Bergerak Maju
- - Berhenti
29
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
30
Gambar 3.5. merupakan gambar diagram alir (Flow Chart) pergerakan “Roll
Bot” pada mikrokontroler Arduino dengan ATMEGA 328. Proses awalnya adalah
melakukan koneksi dengan handphone android, setelah melakukan koneksi jika
berhasil maka arduino akan menerima perintah yang akan dikirim oleh handphone
android yang nantinya akan menibulkan gerakan sebagai berikut:
1. Jika tombol pada handphone android ditekan maka “Roll Bot” akan
bergerak maju.
2. Jika tombol pada handphone android ditekan maka “Roll Bot” akan
bergerak mundur.
3. Jika tombol pada handphone android ditekan maka “Roll Bot” akan bergerak
kanan.
4. Jika tombol pada handphone android ditekan maka “Roll Bot” akan
bergerak kiri.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
5. Jika tombol Stop pada handphone android ditekan maka “Roll Bot” akan
bergerak berhenti.
6. Jika tombol Demo pada handphone android ditekan maka “Roll Bot” akan
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.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
35
1 7
2
8
4 5
6
Gambar 3.8. Interface pada Handphone Android
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 Stop pada Interface ditekan maka bluetooth pada handphone akan
mengirimkan perintah berhenti ke “Roll Bot”.
6. Jika tombol Demo pada Interface ditekan maka bluetooth pada handphone akan
mengirimkan perintah demo ke “Roll Bot”, yang nantinya “Roll Bot” akan
melakukan demo berupa membentuk angka delapan.
7. Jika tombol 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
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.
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
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.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.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.
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
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.
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
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.
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.
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
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
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).
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
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
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
Setelah android dan arduino terkoneksi maka langkah selanjutnya adalah menjalankan
program SendData(). Isi dari program SendData() dapat dilihat pada gambar 4.15.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
Dengan menggunakan program yang ada pada gambar 4.25. penulis mendapatkan data
sebagai berikut:
54
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
56
∑ ∑
∑
(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”
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.
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.
58
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.
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.
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”.
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”.
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”.
61
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.
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.
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.
“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
BAB V
5.1. Kesimpulan
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
[2] Aan Satriya, Januari 2015: Sejarah Perkembangan system operasi Android
,http://www.capuraca.com/2015/01/sejarah-perkembangan-sistem-operasi-
android.html?m=1, diakses 8 Oktober 2015 pada pukul 23.20
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
[11] Dipl.Ing Asril Jarin, Msc, 3 juni 2008: Komunikasi Serial , dosen.narotama.ac.id/wp-
content/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
[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. }
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
L6
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.
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
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.
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.
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
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.
L17
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.
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.
L20
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.
9. Lakukan penyusunan button seperti pada gambar L1.16 dengan cara memasukan
button pada tabel.
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.
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.
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.
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 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.
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).
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.
File>Sketchbook>
Arduino-0017>Examples>
Digital>Blink
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 applications-
related 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.
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
.. 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 PowerSO20
Multiw att15
The L298 is an integrated monolithic circuit in a 15-
lead Multiwatt and PowerSO20 packages. It is a
high voltage, high current dual full-bridge driver de-
signed to accept standardTTL logic levels and drive O RDERING NUMBERS : L298N (Multiwatt Vert.)
L298HN (Multiwatt Horiz.)
inductive loads such as relays, solenoids, DC and L298P (PowerSO20)
stepping motors. Two enableinputs are provided to
enableor disable the deviceindependentlyof the in-
put signals. The emitters of the lower transistors of nectionof an externalsensing resistor. Anadditional
each bridge are connected together and the corre- supply input is provided so that the logic works at a
sponding external terminal can be used for the con- lower voltage.
BLOCK DIAGRAM
L298
15 CURRENT SENSING B
14 OUTPUT 4
13 OUTPUT 3
12 INPUT 4
11 ENABLE B
10 INPUT 3
9 LOGIC SUPPLY VOLTAGE VSS
Multiwatt15 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
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 PowerSO20 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
GND 10 11 GND
D95IN239
THERMAL DATA
Symb ol Parameter Po werSO20 Mu ltiwatt15 Unit
Rth j-case Thermal Resistance Junction-case Max. – 3 °C/W
Rth j-amb Thermal Resistance Junction-ambient Max. 13 (*) 35 °C/W
2/13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298
ELECTRICAL CHARACTERISTICS (VS = 42V; VSS = 5V, Tj = 25°C; unless otherwise specified)
Symbol Parameter Test Co nditions Min . Typ . Max. Unit
VS Supply Voltage (pin 4) Operative Condition VIH +2.5 46 V
VSS Logic Supply Voltage (pin 9) 4.5 5 7 V
IS Quiescent Supply Current (pin 4) Ven = H; IL = 0 Vi = L 13 22 mA
Vi = H 50 70 mA
Ven = L Vi = X 4 mA
ISS Quiescent Current from VSS (pin 9) Ven = H; IL = 0 Vi = L 24 36 mA
Vi = H 7 12 mA
Ven = L Vi = X 6 mA
V iL Input Low Voltage –0.3 1.5 V
(pins 5, 7, 10, 12)
ViH Input High Voltage 2.3 VSS V
(pins 5, 7, 10, 12)
IiL Low Voltage Input Current Vi = L –10 µA
(pins 5, 7, 10, 12)
IiH High Voltage Input Current Vi = H ≤ VSS –0.6V 30 100 µA
(pins 5, 7, 10, 12)
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 Ven = L –10 µA
(pins 6, 11)
Ien = H High Voltage Enable Current Ven = H ≤ VSS –0.6V 30 100 µA
(pins 6, 11)
VCEsat (H) Source Saturation Voltage IL = 1A 0.95 1.35 1.7 V
IL = 2A 2 2.7 V
VCEsat (L) Sink Saturation Voltage IL = 1A (5) 0.85 1.2 1.6 V
IL = 2A (5) 1.7 2.3 V
VCEsat Total Drop IL = 1A (5) 1.80 3.2 V
IL = 2A (5) 4.9 V
Vsens Sensing Voltage (pins 1, 15) –1 (1) 2 V
3/13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298
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 Figure 2 : Switching Times Test Circuits.
Current.
4/13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298
5/13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298
Figure 5 : Sink Current Delay Times vs. Input 0 V Enable Switching.
In pu ts Fu nctio n
Ven = H C=H;D=L Forward
C =L; D= H Reverse
C=D Fast Motor Stop
Ven = L C=X;D=X Free Running
Motor Stop
L = Low H = High X = Don’t care
6/13
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.
7/13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298
This solution can drive until 3 Amps In DC operation Fig 10 shows a second two phase bipolar stepper
and until 3.5 Amps of a repetitive peak current. motor control circuit where the current is controlled
OnFig 8 it is shownthe driving ofa twophasebipolar by the I.C. L6506.
stepper motor ; the needed signals to drive the in-
puts 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.
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.
VF ≤ 1.2 V @ I = 2 A
D1 to D8 = 2 A Fast diodes { trr ≤ 200 ns
8/13
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.
9/13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298
mm inch
DIM.
MIN. TYP. MAX. MIN. TYP. MAX. OUTLINE AND
A 5 0.197 MECHANICAL DATA
B 2.65 0.104
C 1.6 0.063
D 1 0.039
E 0.49 0.55 0.019 0.022
F 0.66 0.75 0.026 0.030
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.772
H2 20.2 0.795
L 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 0.713
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.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 0.102
S1 1.9 2.6 0.075 0.102 Multiwatt15 V
Dia1 3.65 3.85 0.144 0.152
10/13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298
mm inch
DIM.
MIN. TYP. MAX. MIN. TYP. MAX. OUTLINE AND
A 5 0.197
MECHANICAL DATA
B 2.65 0.104
C 1.6 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 Multiwatt15 H
Dia1 3.65 3.85 0.144 0.152
11/13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298
mm inch
DIM.
MIN. TYP. MAX. MIN. TYP. MAX. OUTLINE AND
A 3.6 0.142 MECHANICAL DATA
a1 0.1 0.3 0.004 0.012
a2 3.3 0.130
a3 0 0.1 0.000 0.004
b 0.4 0.53 0.016 0.021
c 0.23 0.32 0.009 0.013
D (1) 15.8 16 0.622 0.630
D1 9.4 9.8 0.370 0.386
E 13.9 14.5 0.547 0.570
e 1.27 0.050
e3 11.43 0.450
E1 (1) 10.9 11.1 0.429 0.437
E2 2.9 0.114
E3 5.8 6.2 0.228 0.244
G 0 0.1 0.000 0.004
H 15.5 15.9 0.610 0.626
h 1.1 0.043 JEDEC MO-166
L 0.8 1.1 0.031 0.043
N 10° (max.)
S 8° (max.)
T 10 0.394
(1) ”D and F” do not include mold flash or protrusions.
PowerSO20
- Mold flash or protrusions shall not exceed 0.15 mm (0.006”).
- Critical dimensions: ”E”, ”G” and ”a3”
N N R
a2 A
c
a1
b e DETAIL B
DETAIL A E
e3
H DETAIL A
lead
D
a3 slug
DETAIL B
20 11 0.35
Gage Plane
-C-
S SEATING PLANE
L
G C
BOTTOM VIEW (COPLANARITY)
E2 E1
T
E3
1 10
PSO20MEC
D1
h x 45
12/13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L298
Information furnished is believed to be accurate and reliable. However, STMicroelectronics assumes no responsibility for the conse-
quences 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. STMi-
croelectronics 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
www.datasheetcatalog.com
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.
Pin Definitions
GND Ground (Vss)
5V 5 VDC (Vdd)
SIG Signal (I/O pin)
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.
Copyright © Parallax Inc. PING))) Ultrasonic Distance Sensor (#28015) v1.5 2/15/2008 Page 2 of 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
a. b. c.
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:
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: 40 in. (101.6 cm)
Target: 3.5 in. (8.9 cm) diameter cylinder, 4 ft. (121.9 cm) tall – vertical orientation
Copyright © Parallax Inc. PING))) Ultrasonic Distance Sensor (#28015) v1.5 2/15/2008 Page 4 of 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Test 2
Sensor Elevation: 40 in. (101.6 cm)
Target: 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
Copyright © Parallax Inc. PING))) Ultrasonic Distance Sensor (#28015) v1.5 2/15/2008 Page 5 of 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
Copyright © Parallax Inc. PING))) Ultrasonic Distance Sensor (#28015) v1.5 2/15/2008 Page 6 of 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
DO
PULSOUT 15, 5
PULSIN 15, 1, time
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.
┌───────────────────┐
│┌───┐ ┌───┐│ Connection To Propeller
││ ‣ │ PING))) │ ‣ ││ Remember PING))) Requires
│└───┘ └───┘│ +5V Power Supply
│ GND +5V SIG │
└─────┬───┬───┬─────┘
│ │ 1K
└┘ └ Pin
--------------------------REVISION HISTORY--------------------------
v1.1 - Updated 03/20/2007 to change SIG resistor from 10K to 1K
}}
CON
TO_IN = 73_746 ' Inches
TO_CM = 29_034 ' Centimeters
Copyright © Parallax Inc. 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"
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
package stamp.peripheral.sensor;
import stamp.core.*;
/**
* This class provides an interface to the Parallax PING))) ultrasonic
* range finder module.
* <p>
* <i>Usage:</i><br>
* <code>
* Ping range = new Ping(CPU.pin0); // trigger and echo on P0
* </code>
* <p>
* Detailed documentation for the PING))) Sensor can be found at: <br>
* http://www.parallax.com/detail.asp?product_id=28015
* <p>
*
* @version 1.0 03 FEB 2005
*/
public final class Ping {
/**
* 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;
/*
* 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
/**
* @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;
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();
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: info@iteadstudio.com
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
2
Tech Support: info@iteadstudio.com
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
3
Tech Support: info@iteadstudio.com
4
Tech Support: info@iteadstudio.com
5
Tech Support: info@iteadstudio.com
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).
6
Tech Support: info@iteadstudio.com
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.
7
Tech Support: info@iteadstudio.com
OK 1-Master
2-Slave-Loop
Example:
AT+INQM=1,9,48\r\n
OK
AT+INQM\r\n
+INQM:1, 9, 48
OK
8
Tech Support: info@iteadstudio.com
9
Tech Support: info@iteadstudio.com
Param2:
0- PIO9 low drive LED
1- PIO9 high drive LED
Example:
1. PIO10 output high level
AT+PI0=10,1\r\n
OK
10
Tech Support: info@iteadstudio.com
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
11
Tech Support: info@iteadstudio.com
12
Tech Support: info@iteadstudio.com
31. Disconnect
Command Respond Parameter
AT+DISC 1. +DISC:SUCCESS Param:Device Address
OK
2. +DISC:LINK_LOSS
OK
3. +DISC:NO_SLC
OK
4. +DISC:TIMEOUT
OK
5. +DISC:ERROR
OK
13
Tech Support: info@iteadstudio.com
Revision History
Rev. Description Release date
v1.0 Initial version 7/18/2010