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