Rodeus

advertisement
Laporan Proyek Mikroprosessor dan Antarmuka 2
RODEUS ( Radio Detection and Ringing Robot using Ultrasonic Sensor)
Dosen Pengampu : Akuwan Saleh S.ST, MT
Disusun Oleh :
Kelompok 2
Pitaloka Fortuna D.
(1210161002)
M. Chafidh Al-Ayyubi
(1210161005)
M. Hanif Abdurrahman
(1210161012)
Reza Dwi Agustin
(1210161018)
Muhammad Hamzah
(1210161026)
3 D4 Teknik Telekomunikasi A
PROGRAM STUDI TEKNIK TELEKOMUNIKASI
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
2018
KATA PENGANTAR
Segala puji syukur kami panjatkan kehadirat Tuhan Yang Maha Esa, yang
senantiasa melimpahkan rahmat-Nya sehingga kami dapat menyelesaikan Laporan
Proyek Mikroprosessor dan Teknik Antarmuka 2 ini tepat pada waktunya.
Adapun maksud dan tujuan dari penyusunan laporan ini adalah untuk
memberikan informasi tentang “RODEUS ( Radio Detection and Ringing Robot
using Ultrasonic Sensor)” sebagai tugas proyek yang harus ditempuh oleh mahasiswa
3 D4 Teknik Telekomunikasi PENS.
Kami mengucapkan terima kasih kepada seluruh pihak yang telah membantu
dalam penyusunan laporan proyek ini. Kami juga menerima kritik dan saran untuk
perbaikan laporan ini menuju arah yang lebih baik ke depannya.
Surabaya, 27 Desember 2018
Penyusun
ii
DAFTAR ISI
KATA PENGANTAR ........................................................................................................................... ii
DAFTAR ISI .......................................................................................................................................iii
DAFTAR TABEL .................................................................................................................................iv
DAFTAR GAMBAR .............................................................................................................................v
I.
TUJUAN ..................................................................................................................................... 1
II. DASAR TEORI ............................................................................................................................. 1
2.1 Arduino Nano ........................................................................................................................ 1
2.2 Motor DC............................................................................................................................... 2
2.3 Voltage Regulator (IC L289N) ................................................................................................ 4
2.4 Motor Servo .......................................................................................................................... 8
2.5 Sensor Ultrasonic .................................................................................................................. 9
2.6 Bluetooth HC-05.................................................................................................................. 10
III. PERALATAN DAN KOMPONEN ................................................................................................ 14
IV. RANGKAIAN............................................................................................................................. 15
V. SOURCE PROGRAM ................................................................................................................. 15
VI. ANALISA .................................................................................................................................. 15
VII. KESIMPULAN ........................................................................................................................... 20
iii
DAFTAR TABEL
Tabel 1. Fungsi Jumper Pada Board L298N ....................................................................... 6
Tabel 2. Terminal Pada Board L298N ................................................................................ 7
Tabel 3. Ilustrasi Logika Kerja Motor DC .......................................................................... 7
iv
DAFTAR GAMBAR
Gambar 1. Bentuk fisik Arduino ...................................................................................................... 1
Gambar 2. PWM dari motor DC ...................................................................................................... 3
Gambar 3. Module driver motor DC................................................................................................ 3
Gambar 4. Skematik motor DC dan module driver motor DC ......................................................... 4
Gambar 5. Diagram dari L298N Integrated Circuit .......................................................................... 5
Gambar 6. Board L298N .................................................................................................................. 6
Gambar 7. Rangkaian Arduino menggunakan L298N...................................................................... 8
Gambar 8. Motor Servo ................................................................................................................... 8
Gambar 9. Prinsip Kerja Motor Servo .............................................................................................. 9
Gambar 10. Module Bluetooth HC-05 ........................................................................................... 11
Gambar 11. Pin module Bluetooth HC - 05 ................................................................................... 12
Gambar 12. Rangkaian Arduino dengan Bluetooth Hc-05 ............................................................ 13
Gambar 13. Tampilan koneksi berhasil ......................................................................................... 14
Gambar 14. Skematik Rangkaian Fire Faghting Robot Using Bluetooth Pairing ........................... 15
v
I.
TUJUAN
Tujuan dari pembuatan “RODEUS ( Radio Detection and Ringing Robot
using Ultrasonic Sensor)” ini adalah
1. Mampu mengontrol motor DC untuk membuat gerakan robot.
2. Mampu menggerakan robot secara otomatis
3. Dapat membuat robot mendeteksi obstacle menggunakan sensor ultrasonic
4. Mampu menghidari obstacle secara otomatis berdasarkan pembacaaan data sensor
ultrasonic
II.
DASAR TEORI
2.1
Arduino
Gambar 1. Bentuk fisik Arduino
Arduino adalah pengendali mikro single-board yang bersifat open-source,
diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan
elektronik dalam berbagai bidang. Hardwarenya memiliki prosesor Atmel AVR dan
softwarenya memiliki bahasa pemrograman sendiri. Bahasa yang dipakai dalam
Arduino bukan assembler yang relatif sulit, tetapi bahasa C yang disederhanakan
dengan bantuan pustaka-pustaka (libraries) Arduino.
Kelebihan Arduino :
-
Tidak perlu perangkat chip programmer karena didalamnya sudah ada bootloadder
yang akan menangani upload program dari komputer.
-
Sudah memiliki sarana komunikasi USB, Sehingga pengguna laptop yang tidak
memiliki port serial/RS323 bisa menggunakannya.
-
Memiliki modul siap pakai ( Shield ) yang bisa ditancapkan pada board arduino.
Contohnya shield GPS, Ethernet,dll.
SOKET USB
1
Soket USB adalah soket kabel USB yang disambungkan kekomputer atau laptop.
Yang berfungsi untuk mengirimkan program ke arduino dan juga sebagai port
komunikasi serial.
INPUT/OUTPUT DIGITAL DAN INPUT ANALOG
Input/output digital atau digital pin adalah pin pin untuk menghubungkan arduino
dengan komponen atau rangkaian digital. contohnya , jika ingin membuat LED
berkedip, LED tersebut bisa dipasang pada salah satu pin input atau output digital dan
ground. komponen lain yang menghasilkan output digital atau menerima input digital
bisa disambungkan ke pin pin ini.
Input analog atau analog pin adalah pin pin yang berfungsi untuk menerima sinyal
dari komponen atau rangkaian analog. contohnya , potensiometer, sensor suhu, sensor
cahaya, dll.
CATU DAYA
pin pin catu daya adalah pin yang memberikan tegangan untuk komponen atau
rangkaian yang dihubungkan dengan arduino. Pada bagian catu daya ini pin Vin dan
Reset. Vin digunakan untuk memberikan tegangan langsung kepada arduino tanpa
melalui tegangan pada USB atau adaptor, sedangkan Reset adalah pin untuk
memberikan sinyal reset melalui tombol atau rangkaian eksternal.
BATERAI/ADAPTOR
Soket baterai atau adaptor digunakan untuk menyuplai arduino dengan tegangan dari
baterai/adaptor 9V pada saat arduino sedang tidak disambungkan kekomputer. Jika
arduino sedang disambungkan kekomputer dengan USB, Arduino mendapatkan
suplai tegangan dari USB, Jika tidak perlu memasang baterai/adaptor pada saat
memprogram arduino.
2.2
Motor DC
Driver L298N adalah sebuah dual H-Bridge motor driver yang bisa mengatur
2 motor dc yang 1 waktu sekaligus. Dalam modul dijelaskan, bahwa driver mampu
mengatur tegangan antara 5 sampai 35 volt, serta arus puncak mencapai 2 ampere.
Namun, sebelum mengenal motor dc dan driver l298N, alangkah baiknya kita
mengerti tentang PWM (Pulse Width Modulation). PWM, atau modulasi lebar pulsa
adalah teknik yang memungkinkan kami menyesuaikan nilai rata-rata tegangan yang
akan masuk ke perangkat elektronik dengan menyalakan dan mematikan daya pada
kecepatan yang cepat. Tegangan rata-rata tergantung pada siklus, atau jumlah waktu
sinyal hidup melawan jumlah waktu sinyal mati dalam satu periode waktu.
2
Gambar 2. PWM dari motor DC
Gambar 3. Module driver motor DC
Driver ini memiliki 2 screw pengunci untuk 2 buah motor (A dan B), dan 3
screw dibawah digunakan sebagai ground, vcc dan 5v pin yang akan digunakan
sebagai input maupun output
3
Gambar 4. Skematik motor DC dan module driver motor DC
Ini tergantung pada tegangan yang digunakan pada motor VCC. Modul ini
memiliki pengatur 5V onboard yang diaktifkan atau dinonaktifkan menggunakan
jumper. Jika tegangan suplai motor hingga 12V kita dapat mengaktifkan regulator 5V
dan pin 5V dapat digunakan sebagai output, misalnya untuk menyalakan papan
Arduino kita. Tetapi jika tegangan motor lebih besar dari 12V kita harus memutuskan
jumper karena tegangan tersebut akan menyebabkan kerusakan pada pengatur 5V
onboard. Dalam hal ini pin 5V akan digunakan sebagai input karena kita perlu
menghubungkannya ke catu daya 5V agar IC berfungsi dengan benar.
Berikutnya adalah input kontrol logika. Pin Enable A dan Enable B digunakan
untuk mengaktifkan dan mengendalikan kecepatan motor. Jika ada jumper pada pin
ini, motor akan diaktifkan dan bekerja pada kecepatan maksimum, dan jika kita
melepas jumper, kita dapat menghubungkan input PWM ke pin ini dan dengan cara
itu mengendalikan kecepatan motor. Jika kita menghubungkan pin ini ke Ground,
motor akan dinonaktifkan.
Selanjutnya, pin Input 1 dan Input 2 digunakan untuk mengendalikan arah
putaran motor A, dan input 3 dan 4 untuk motor B. Menggunakan pin ini kita benarbenar mengontrol switch dari H-Bridge di dalam IC L298N. Jika input 1 RENDAH
dan input 2 TINGGI motor akan bergerak maju, dan sebaliknya, jika input 1 TINGGI
dan input 2 RENDAH motor akan bergerak mundur. Jika kedua input sama, apakah
RENDAH atau TINGGI motor akan berhenti. Hal yang sama berlaku untuk input 3
dan 4 dan motor B.
2.3
Voltage Regulator (IC L289N)
L298N adalah salah satu jenis IC dari desain L298. Perbedaan L298N dengan
dengan IC L298 yang lain terletak pada jumlah arus yang diijinkan atau dapat
digunakan. L298N dapat menangani arus sampai dengan 3 Ampere pada tegangan 35
Volt DC, yang mana spesifikasi ini sesuai untuk sebagian besar jenis motor. L298N
terdiri dari dua rangkaian H-Bridge, sehingga IC jenis ini dapat digunakan untuk
4
mengendalikan dua motor DC. Selain itu, L298N ini juga dapat digunakan untuk
mengendalikan sebuah motor single stepper.
Berikut adalah keterangan pin dari rangkaian L298N
Gambar 5. Diagram dari L298N Integrated Circuit
Dengan menggunakan rangkaian board L298N yang telah jadi akan
memudahkan pengerjaan karena pada rangkaian ini telah dilengkapi dengan
connector motor, power supply dan input logic. Board ini juga sudah dilengkapi
dengan voltage regulator 5 Volt sehingga dapat digunakan pada Arduino.
L298N Module Pinouts
Board L298N ini sudah memiliki heatsink, voltage regulator 5 Volt, daya
untuk logic circuits, diode dan kapasitor serta konektor sebagai berikut :

Input logika untuk setiap rangkaian H-Bridge

Input sumber tegangan untuk setiap power suppy

Input daya 5 Volt untuk rangkaian logika

Output untuk setiap motor DC
Board L298N adalah sebai berikut
5
Gambar 6. Board L298N
Sumber : https://dronebotworkshop.com
Board L298N ini juga memiliki beberapa jumper, diantaranya adalah sebagai
berikut :
Tabel 1. Fungsi Jumper Pada Board L298N
Jumper
CSA
Keterangan
“current sensing” atau untuk mendeteksi arus dari Motor
A. Jika jumper ini tidak digunakan, biasanya dapat
diabaikan.
CSB
“current sensing” atau untuk mendeteksi arus dari Motor B.
Jika jumper ini tidak digunakan, biasanya dapat diabaikan.
U1
Input 1 pull-up resistor. Biasanya diabaikan
U2
Input 2 pull-up resistor
U3
Input 3 pull-up resistor
U4
Input 4 pull-up resistor
5v-EN
Jumper ini harus diperhatikan karena mengatur tegangan 5
Volt yang masuk pada input terminal 5 Volt.
Jika menggunakan regulator tegangan internal maka harus disediakan daya
motor kurang lebih sebesar 7.5 Volt. Hal ini disebabkan oleh tegangan drop dari
transistor yang terdapat pada rangkaian H-Bridge. Tegangan yang turun adalah
berkisar 1.4 Volt, sehingga apabila menggunakan motor DC 6 Volt maka digunakan
tegangan 7.4 volt dan untuk motor DC 12 Volt digunakan tegangan input 13.2 Volt.
Board ini memiliki 4 terminal input dan 2 terminal enable. Keenam terminal
ini digunakan untuk mengaur arah dan kecepatan dari dua motor DC, sebagai berikut:
6
Tabel 2. Terminal Pada Board L298N
Terminal
Keterangan
IN1
Input 1 untuk Motor A
IN2
Input 2 untuk Motor A
IN3
Input 3 untuk Motor B
IN4
Input 4 untuk Motor B
EN1
Enable line untuk Motor A
EN2
Enable line untuk Motor B
Dua jalur input digunakan untuk mengatur arah putaran dari motor. Arah
putaran disini ada 2 yaitu “forward” dan “reverse” atau secara lebih muda “searah
putaran jarum jam” dan “berlawanan arah jarum jam”. Untuk mengontrol arah motor
dapat digunakan logika 1 (5 Volt) dan logika 0 (Ground) untuk input. Dapat
diilustrasikan sebagai berikut:
Tabel 3. Ilustrasi Logika Kerja Motor DC
Input 1
Input 2
Arah
Ground (0)
Ground (0)
Motor mati
5 Volt (1)
Ground (0)
Forward
Ground (0)
5 Volt (1)
Reverse
5 Volt (1)
5 Volt (1)
Not used (tidak digunakan)
Enable line digunakan untuk menyalakan motor, mematikan motor dan
mengatur kecepatan motor. Pada saat enable line diberi masukan 5 Volt (logika 1)
maka motor akan menyala, sedangkan saat enable line diberi masukan logika 0
(ground) maka motor akan mati. Untuk mengatur kecepatan maka diberikan input
sinyal PWM pada enable line. Semakin lebar pulsa atau sinyal yang masuk maka
putaran motor akan semakin lambat, begitupula sebaliknya semakin sempit pulsa atau
sinyal yang masuk maka gerak motor akan semakin cepat.
Rangkaian Arduino menggunakan L298N
7
Gambar 7. Rangkaian Arduino menggunakan L298N
2.4
Motor Servo
Motor servo adalah sebuah perangkat atau aktuator putar (motor) yang
dirancang dengan sistem kontrol umpan balik loop tertutup (servo), sehingga dapat di
set-up atau di atur untuk menentukan dan memastikan posisi sudut dari poros output
motor. motor servo merupakan perangkat yang terdiri dari motor DC, serangkaian
gear, rangkaian kontrol dan potensiometer. Serangkaian gear yang melekat pada
poros motor DC akan memperlambat putaran poros dan meningkatkan torsi motor
servo, sedangkan potensiometer dengan perubahan resistansinya saat motor berputar
berfungsi sebagai penentu batas posisi putaran poros motor servo.
Gambar 8. Motor Servo
Prinsip kerja motor servo
Motor servo dikendalikan dengan memberikan sinyal modulasi lebar pulsa
(Pulse Wide Modulation / PWM) melalui kabel kontrol. Lebar pulsa sinyal kontrol
yang diberikan akan menentukan posisi sudut putaran dari poros motor servo.
Sebagai contoh, lebar pulsa dengan waktu 1,5 ms (mili detik) akan memutar poros
motor servo ke posisi sudut 90⁰. Bila pulsa lebih pendek dari 1,5 ms maka akan
8
berputar ke arah posisi 0⁰ atau ke kiri (berlawanan dengan arah jarum jam),
sedangkan bila pulsa yang diberikan lebih lama dari 1,5 ms maka poros motor servo
akan berputar ke arah posisi 180⁰ atau ke kanan (searah jarum jam). Lebih jelasnya
perhatikan gambar dibawah ini.
Gambar 9. Prinsip Kerja Motor Servo
Ketika lebar pulsa kendali telah diberikan, maka poros motor servo akan
bergerak atau berputar ke posisi yang telah diperintahkan, dan berhenti pada posisi
tersebut dan akan tetap bertahan pada posisi tersebut. Jika ada kekuatan eksternal
yang mencoba memutar atau mengubah posisi tersebut, maka motor servo akan
mencoba menahan atau melawan dengan besarnya kekuatan torsi yang dimilikinya
(rating torsi servo). Namun motor servo tidak akan mempertahankan posisinya untuk
selamanya, sinyal lebar pulsa kendali harus diulang setiap 20 ms (mili detik) untuk
menginstruksikan agar posisi poros motor servo tetap bertahan pada posisinya.
2.5
Sensor Ultrasonic
Sensor HC-SR04 adalah sensor pengukur jarak berbasis gelombang
ultrasonik. Prinsip kerja sesnsor ini pirip dengan radar ultrasonik. Gelombang
ultrasonik di pancarkan kemudian di terima balik oleh receiver ultrasonik. Jarak
antara waktu pancar dan waktu terima adalah representasi dari jarak objek. Sensor ini
cocok untuk aplikasi elektronik yang memerlukan deteksi jarak termasuk untuk
sensor pada robot.
9
Gambar 10. Module Bluetooth HC-05
Sensor HC-SR04 adalah versi low cost dari sensor ultrasonic PING buatan
parallax. Perbedaaannya terletak pada pin yang digunakan. HC-SR04 menggunakan 4
pin sedangkan PING buatan parallax menggunakan 3 pin. Pada Sensor HC-SR04 pin
trigger dan output diletakkan terpisah. Sedangkan jika menggunakan PING dari
Parallax pin trigger dan output telah diset default menjadi satu jalur. Tidak ada
perbedaaan signifikan dalam pengimplementasiannya. Jangkauan karak sensor lebih
jauh dari PING buatan parllax, dimana jika ping buatan parllax hanya mempunyai
jarak jangkauan maksimal 350 cm sedangkan sensor HC-SR04 mempunyai kisaran
jangkauan maksimal 400-500cm.
Spesifikasi:

Jangkauan deteksi: 2cm sampai kisaran 400 -500cm

Sudut deteksi terbaik adalah 15 derajat

Tegangan kerja 5V DC

Resolusi 1cm

Frekuensi Ultrasonik 40 kHz

Dapat dihubungkan langsung ke kaki mikrokontroler
2.6
Bluetooth HC-05
Bluetooth adalah suatu protokol komunikasi wireless yang bekerja pada
frekuensi radio 2.4 GHz untuk pertukaran data pada perangkat seperti
hanphone,laptop,dan perangkat lainnya . Sama halnya di dalam menggunakan
mikrokontroller,seringkali kita memerlukan suatu protokol komunikasi yang dapat
digunakan untuk mengirimkan dan menerima data,untuk itu bluetooth adalah salah
satu alat yang sangat efektif untuk komunikasi di ruang lingkup/area yang bersifat
lokal.
10
Bluetooth HC-05 adalah salah satu modul bluetooth yag sering digunakan
oleh kebanyakan user mikrokontroller seperti arduino dikarenakan pemakaiannya
yang mudah,harganya murah,dan banyak tersedia di pasaran. Kelebihan dari modul
bluetooth HC-05 ini adalah bisa digunakan sebagai master maupun digunakan
sebagai slave,berbeda dengan bluetooth tipe HC-06 yang hanya bisa digunakan
sebagai slave.
Gambar 11. Module Bluetooth HC-05
Spesifikasi :
Bluetooth protocol
: Bluetooth Specification v2.0+EDR
Frekuensi
: 2.4GHz ISM band
Modulasi
: GFSK (Gaussian Frequency Shift Keying)
Emisi daya
: 4dBm, Class 2
Sensitivitas
: ?-84dBm at 0.1% BER
Kecepatan
: Asynchronous
: 2.1Mbps(Max) / 160 kbps,
Synchronous: 1Mbps/1Mbps
Keamanan
: Authentication and encryption
Profiles
: Bluetooth serial port
Power supply
: +3.3VDC 50mA
Suhu kerja
: -20 ~ +75 Centigrade
Dimensi
: 3.57cm x 1.52cm
Modul Bluetooth HC-05 terdiri dari 6 pin konektor, yang setiap pin konektor
memiliki fungsi yang berbeda – beda,untuk lebih jelasnya bisa dilihat gambar di
bawah ini :
11
Gambar 12. Pin module Bluetooth HC - 05
Pin bluetooth HC-05 yaitu :
*State : untuk memberikan informasi jika sudah terhubung/tidak dengan
perangkat lain
*RX
: jalur penerimaan data
*TX
: jalur pengiriman data
*GND : ground
*Vcc
: sumber tegangan 3.6 – 6 volt
*EN
: untuk mengaktifkan AT Command setup
Dari 6 pin yang terdapat pada HC 05,hanya digunakan 4 pin saja yaitu
Vcc,Gnd,Tx,dan Rx.
Alat dan komponen :
*mikrokontroller Arduino
*kabel jumper
*project board
*Modul bluetooth HC-05
Sebelum menggunakan bluetooth HC-05 alangkah baiknya dilakukan
konfigurasi terlebih dahulu ,yaitu masuk ke mode AT-Command.Apa itu AT
Command? AT Command adalah perintah-perintah yang digunakan dalam
komunikasi dengan serial port,hal ini juga berlaku untuk modul HC 05 sehingga user
bisa mengubah status master dan slave,nama bluetooth,baud rate,dan pasword
nya.Sebenarnya ada banyak cara untuk masuk ke mode AT-Command HC 05 tetapi
mungkin bagi sebagian user yang pemula mungkin terkadang akan terasa
membingungkan,maka dari itu admin memberikan salah satu cara yang mudah dan
12
efektif untuk masuk ke mode AT Command bluetooth HC 05. Cara masuk ke AT
command di bawah ini sangat mudah dan simpel dikarenakan tidak membutuhkan
program ataupun software khusus.
Untuk konfigurasi, rangkaialah seperti gambar di bawah ini :
Gambar 13. Rangkaian Arduino dengan Bluetooth Hc-05
1. Hubung-hubungkan pin-pin ini sesuai pada gambar dengan keterangan
sebagai berikut :

Hubungkan pin RX ke RX

Hubungkan pin TX ke TX

Hubungkan Vcc ke 5 Volt DC dari Arduino

Hubugkan GND ke GND Arduino
2. Masukkan program pada Arduino seperti berikut:
#include <SoftwareSerial.h>
SoftwareSerial module_bluetooth(0, 1); // pin RX | TX
void setup()
{
Serial.begin(9600); //menggunakan komunikasi serial softawre
IDE pada 9600 bps
Serial.println("Input command AT:");
module_bluetooth.begin(38400); //Baudrateb module bluetooth
}
void loop() {
13
//Membaca terhubungnya koneksi HC05 dengan arduino pada
serial Monitor
if (module_bluetooth.available())
Serial.write(module_bluetooth.read());
//Membaca data dari Arduino Serial monitor yang akan dikirim
ke HC05
if (Serial.available())
module_bluetooth.write(Serial.read());
}
3. Buka serial monitor, setting baudarate 9600 dan both NL and CR.
4. Maka akan muncul pesan OK sebagaimana gambar berikut
Gambar 14. Tampilan koneksi berhasil
5. Berikut adalah command penting yang digunakan untuk konfigurasi
Bluetooth:

AT+ROLE
: untuk cek baud status master atau slave

AT+NAME
: untuk cek nama

AT+UART
: untuk cek nilai baud rate

AT+ROLE=0 : set module ke mode slave

AT+ROLE=1 : set module ke mode master

AT+PSWD

AT+(UART=9600,0,0: set baudrate ke 9600
: set password ke password yang diingkinkan
III.
PERALATAN DAN KOMPONEN
1.
Arduino Mega
2.
2 buah roda
14
3.
Jumper
4.
Baterai 12,6 Volt
5.
Voltage Regulator 5 V (L298N)
6.
Akrilik
7.
IC Motor Driver (L293DNE)
8.
BO Motor
9.
Timah
10.
Solder
11.
Obeng
12.
Motor Servo
13.
Sensor ultrasonic
IV.
RANGKAIAN
Gambar 15. Skematik Rangkaian Rodeus
V.
VI.
SOURCE PROGRAM
ANALISA
Rodeus (Radio Detection and Ringing Robot using Ultrasonic Sensor) adalah
sebuah robot pintar yang dapat mendeteksi adanya objek atau benda lain yang ada di
jalur lintasannya dan dapat menghindari benda tersebut dengan mencari rute lain
tanpa penghalang. Robot ini menggunakan Arduino ATMega 2568 sebagai
microcontroller-nya. Robot bergerak dengan dua buah roda yang geraknya diatur
oleh modul motor DC, dilengkapi dengan sensor ultrasonic yang berfungsi untuk
mendeteksi benda dan membaca jarak dari keberadaan benda tersebut terhadap robot.
15
Sensor ultrasonic diletakkan pada sebuah servo yang digerakkan sejauh 0 sampai
dengan 180 derajat, sehingga ultrasonic bergerak mengikut gerak servo. Servo ini
pada kondisi awal diposisikan 900 (lurus dengan body robot) dan akan bergerak dari
kanan ke kiri (0-900 kemudian 900-1800) ketika sensor ultrasonic mendeteksi adanya
objek didepannya. Ultrasonic digerakkan sejauh 1800 untuk mencari rute lain yang
tidak ada penghalangnya atau dengan rute yang jarak penghalangnya lebih jauh. Pada
saat ultrasonic mendeteksi adanya penghalang atau objek dihadapannya motor DC
juga akan berhenti bergerak sehingga roda robot berhenti kemudian mencari rute
yang dapat dilalui. Setelah rute yang kosong ditemukan robot akan bergerak ke arah
jalur tersebut. Jarak yang dideteksi oleh sensor ultrasonic ditampilkan dalam bentuk
angka dan grafik melalui software processing. Komunikasi antara robot dengan PC
yang digunakan untuk menampilkan grafik dilakukan dengan menggunakan
komunikasis serial melalui Bluetooth.
Untuk membuat seluruh komponen saling terhubung dan dapat menjalankan
fungsi secara bersamaan maka seluruh komponen yang digunakan masuk pada
Arduino sebagai pusat kontrol dari robot Rodeus ini. Pada robot rodeus ini digunakan
Arduino ATMega 2568 yang memiliki banyak pin input analog dan digital karena
dibutuhkan banyak pin untuk seluruh komponen yang digunakan. Adapun pin-pin
Arduino yang digunakan untuk robot ini disajikan pada tabel 4.
Tabel 4. Pin Arduino yang digunakan
No
Nomor Pin
1
RX
2
TX
3
Pin 2
4
Pin 3
5
Pin 4
6
Pin 5
7
Pin6
8
Pin 7
9
Pin 8
10
Pin 9
11
Pin 10
12
Pin 11
13
Pin 12
Terhubung ke
Pin
Komponen
16
14
Pin 13
15
A0
16
A1
17
A2
18
A3
19
A4
20
A5
Selain control dari Arduino, hal penting yang perlu diperhatikan adalah
sumber tegangan dari robot. Pada robot ini terdapat komponen motor DC yang
membutuhkan tegangan 6 volt, sedangkan Arduino hanya memiliki tegangan
maksimal 5 volt. Berdasarkan hal tersebut digunakan baterai 2 sel dengan tegangan
7,6 volt untuk memenuhi kebutuhan tegangan. Tegangan dari baterai ini akan
didistribusikan oleh voltage regulator untuk digunakan oleh motor DC.
Dengan menggunakan Bluetooth HC-05 ini membuat robot dapat dikontrol
secara wireless sampai pada jarak 71.25 meter dengan menggunakan aplikasi
Bluetooth Electronics melalui smartphone. Untuk memungkinkan hal tesebut,
dibutuhkan suatu komunikasi serial. Efek dari adanya komunikasi serial ini ialah,
pada programnya nanti dibutuhkan baudrate tersendiri untuk perangkat Bluetooth.
Di dalam proyek ini, tidak hanya komponen Bluetooth saja yang
membutuhkan baudrate. Terdapat satu komponen lagi yang membutuhkan baudrate,
karena adanya komunikasi serial antara komponen tersebut dengan Arduino.
Komponen yang dimaksud ialah flame sensor. Dari penjelasan tersebut berarti
terdapat dua baudrate yang di kenalkan di dalam program dari robot.
Dengan adanya dual baudrate yang bekerja didalam Arduino, hal ini
mengakibatkan sebuah kendala. Dimana, ketika robot dikontrol melalui handphone,
terdapat delay antara handphone dengan robotnya, misal ketika ditekan tombol maju,
robot tidak langsung maju, namun ada delay sebesar 0.5 detik baru robot akan
bergerak maju. Analisa dari kami adalah mungkin karena baud rate (serial begin)
pada program Arduino antara bluetooth dan flame sensor adalah sama yaitu 9600.
Kami mencoba mengganti baud rate supaya satu sama lain tidak sama.
Pertama, ketika baud rate bluetooth dirubah menjadi lebih kecil (ex. 4800) ataupun
lebih besar (ex. 19200), dan baud rate sensor 9600, robot tidak bisa dikontrol
17
menggunakan aplikasi Bluetooth Electronics. Hal ini dikarenakan nilai baudrate
berdasarkan pengujian yang telah dilakukan menunjukkan bahwa Bluetooth HC-05
yang digunakan hanya bisa bekerja pada baudrate 9600.
Dari hasil pengujian baudrate diatas, diketahui bahwa nilai baudrate efektif
untuk flame sensor adalah 2400. Baudrate tersebut akan mempengaruhi kinerja proses
komunikasi data dari flame sensor sendiri. Pada dasarnya flame sensor bekerja
dengan cara mendeteksi panjang gelombang oleh suatu benda, berdasarkan datasheetnya panjang gelombang yang dideteksi oleh flame sensor berada pada rentang 760
nm – 1100 nm. Dengan tujuan awal digunakannya flame sensor hanya untuk
mendeteksi api ternyata tidak efektif karena tidak hanya api yang memiliki rentang
panjang gelombang 760 nm – 1100 nm, contohnya adalah matahari yang memiliki
panjang gelombang yang sampai ke bumi antara 310 nm – 2300 nm. Hal ini
menyebabkan ketika robot dinyalakan pada siang hari mengalami interferensi dari
sinar matahari sehingga ketika tidak ada api flame sensor akan mendeteksi panjang
gelombang dari matahari sehingga fan modul menyala, kondisi ini tidak sesuai
dengan tujuan awal pembuatan robot ini. Untuk menangani hal ini sebenarnya
dibutuhkan beberapa tambahan sensor agar robot dapat digunakan hanya sebagai
pendeteksi api. Namun dikarenakan keterbatasan biaya dan waktu solusi tersebut
belum dapat dijalankan oleh kami dan dapat dijadikan saran untuk pembuatan robot
yang memiliki prinsip kerja yang sama.
Pada saat pengujian robot untuk mendeteksi api sering terjadi kondisi ketika
robot sudah mendakati titik api namun flame sensor belum bekerja untuk
mengaktifkan fan modul dan menjalankan fungsi berhenti pada program, hal ini dapat
terjadi karena sensitifitas flame sensor yang digunakan masih rendah. Solusinya
adalah mengubah senstivitas api dari flame sensor, dengan memutar potensiometer
pada flame sensor, diputar searah jarum jam untuk membesarkan nilai sensitifitasnya.
Sehingga meskipun jarak titik api dengan robot tidak terlalu dekat flame sensor sudah
dapat mendeteksi adanya api.
Pada pengujian robot setelah nilai sensitifitas diubah masih sering terjadi
kondisi dimana robot menabrak objek titik api, hal ini disebabkan oleh dua hal yaitu
adanya delay pemberian perintah dengan eksekusi dari robot dan gerak dari robot
yang kurang sesuai dengan perintah yang diberikan melalui smartphone. Contohnya,
pada kondisi maju maupun mundur jalannya tidak lurus sehingga robot seperti
berbelok dengan sendirinya. Dari analisa kami, letak kesalahan ini adalah karena
perbedaan kecepatan gerak roda antara roda kanan dan roda kiri. Hal ini dikarenakan
18
umur dari motor DC antara kanan dan kiri berbeda, juga dalam pemasangannya
mungkin terdapat kekeliruan yaitu tidak simetris antara kanan dan kirinya. Solusinya
adalah misalkan ketika robot bergerak maju namun belok ke kiri, yang berarti roda
kanan bergerak lebih cepat dibanding roda kiri, maka kecepatan dari roda kanan harus
dikurangi, supaya bisa sama dengan kecepatan roda kiri. Pengurangan ini dilakukan
pada program, dengan cara mengurangi besarnya bit dari variabel roda kanan.
Metode penyelesaian masalah dengan mengubah nilai kecepatan gerak roda
pada program kurang efektif. Kemudian dilakukan pengecekkan ulang pada bagian
roda dan motor DC pada robot. Dari hasil pengecekkan ditemukkan selisih ketinggian
pemasangan motor DC untuk roda sebelash kiri sehingga menyebabkan roda kanan
dan roda kiri tidak dapat bergerak secara simetris. Dengan melakukan pemasangan
ulang motor DC sebelah kiri menghasilkan gerak roda yang lebih simetris
dibandingkan dengan menggunakan metode penyelesaian sebelumnya.
Gerak dari robot itu sendiri tidak hanya dipengruhi oleh perancangan
komponen saja, tetapi juga berkaitan dengan perintah atau program yang dibuat pada
Arduino. Pada program, di inisialisasi variabel en(a/b) yang digunakan sebagai
kecepatan gerak motor, dir(a/b) digunakan untuk putaran arah motor, rem(a/b)
digunakan untuk motor berhenti. Pada hardware kipas, digunakan variabel IN(A/B),
yang digunakan untuk mengatur kipas dengan pembacaan variabel flame sensor yang
dinisialisasi dengan api.
Di inisialisasi nilai serial dari Bluetooth 9600 sesuai pada guide book.
Selanjutnya pada sensor api diberi serial 2400 agar tidak crash dengan serial pada
Bluetooth. Selanjutnya, pada tiap command diberikan value yang digunakan untuk
kontrol pada android, sehingga diberi variabel huruf yaitu S untuk maju, W untuk
mundur, D untuk kiri, dan A untuk kanan. Selanjutnya dibaca data analog dari sensor
api, dan dicetak dengan nama variabel api. Dari data variabel api diubah menjadi
variabel tegangan seperti berikut: float voltage = (api/1024.0)*5.0;.
Selanjutnya, dari data tegangan, dikonversi menjadi data suhu. Suhu disini
adalah data yang dibaca ketika driver kipas mematikan api. Suhu api yang bisa
membuat driver kipas menyala adalah ketika nilainya serial nya <=45. Karakteristik
hasil pembacaan data analog dari flame sensor berbeda dengan LM35, pada flame
sensor ini semakin mendekati titik api yang memiliki suhu lebih tinggi namun
pembacaan data analog yang dihasilkan adalah semakin rendah. Kondisi ini
berlawanan dengan saat menggunakan LM35 yang mana semakin tinggi suhu yang
19
dideteksi maka pembacaan data analog nya semakin tinggi. Sehingga ketika nilai data
analog dikonversikan ke dalam data suhu hasilnya tidak sesuai dengan suhu yang
sebenarnya. Namun sebagaimana telah dijelaskan sebelumnya, bahwa flame sensor
tidak bekerja dengan cara mendeteksi suhu namun mendeteksi panjang gelombang
sehingga penggunaan parameter suhu ini tidak sesuai.
Selanjutnya, adalah tentang gerak motor. Pada saat gerak maju, dira (kanan)
dan dirb (kiri) high, yang menunjukkan arah putaran maju dengan kecepatan yang
telah di inisialisasi pada ena dan enb, sedangkan pada variabel rema dan remb diberi
value low. Pada gerak mundur, kebalikan dengan maju, yaitu memiliki putaran
mundur karena dria dan dirb memiliki value low dan rema dan remb high.
Selanjutnya pada kiri, dira memiliki value high dan dan dirb memiliki value 0. Hal ini
menyebabkan yang bergerak hanya roda kanan, sehingga robot akan berputar ke arah
kiri. Sebaliknya, pada arah kanan yang high adalah dirb, sehingga roda yang berputar
hanya roda kiri, dan robot rotasi kearah kanan. Pada saat gerak berhenti, kedua roda
memiliki nilai low, sehingga roda tidak bergerak.
VII.
KESIMPULAN
Dari pengerjaan proyek mikroprosessor dan Teknik antarmuka 1 dengan judul
“Fire Figthting Robot Using Bluetooth Pairing” menghasilkan beberapa kesimpulan :
1.
Diperlukan sebuah komunikasi serial untuk menghubungkan antara
Arduino dengan module Bluetooth
2.
Dalam project ini komunikasi serial memiliki sebuah parameter, yakni
baudrate sebagai berikut :
a.
Untuk komunikasi serial Bluetooth digunakan baudrate dengan nilai
9600
b.
Komunikasi serial dari sensor flame menggunakan baudrate 2400
3.
Untuk mengaktifkan robot diberikan tegangan input senilai 12.8 Volt.
4.
Motor DC pada robot digunakan sebagai penggerak dari roda robot.
5.
Tujuan pembuatan robot sebagai pendeteksi api belum maksimal, karena
flame sensor yang digunakan mudah mengalami interferensi oleh
panjang gelombang dari benda lain.
6.
Putaran roda pada robot sedikit tidak stabil, sehingga robot tidak dapat
berjalan secara linier.
7.
Program untuk robot pendeteksi api ini memerlukan sebuah header file
SoftwareSerial.h untuk mengatur komunikasi serialnya.
20
8.
Untuk mengoptimalkan cara kerja flame sensor, diberlakukan suatu
kondisi dimana pembacaan data analog maksimal senilai 45 untuk
menyalakan fan module.
21
DAFTAR PUSTAKA
1. http://www.keuwl.com/apps/bluetoothelectronics/
2. https://ariefeeiiggeennblog.wordpress.com/2014/02/07/pengertian-fungsi-dankegunaan-arduino/
3. https://dronebotworkshop.com
4. https://www.nyebarilmu.com/tutorial-arduino-mengakses-sensor-flame/
5. https://www.bananarobotics.com/shop/How-to-use-the-HG7881-(L9110)Dual-Channel-Motor-Driver-Module
6. https://www.elecrow.com/download/datasheet-l9110.pdf
7.
22
LAMPIRAN
Lampiran 1
Datasheet Arduino Mega
Lampiran 2
Datasheet Sensor Ultrasonic
23
24
Lampiran 3
Datasheet Motor Servo
25
Lampiran 4
Datasheet Bluetooth
26
27
28
29
30
31
32
33
34
35
36
37
38
Lampiran 5
Datasheet IC Regulator Motor DC
39
40
41
42
43
44
45
46
47
48
49
50
51
Lampiran 6
Dokumentasi
52
Download
Related flashcards
Create Flashcards