BAB III PERANCANGAN DAN PEMBUATAN ALAT Dalam bab ini akan dibahas mengenai prinsip kerja rangkaian yang disusun untuk merealisasikan sistem alat, dalam hal ini Bluetooth sebagai alat komunikasi penghubung antara Android dengan Arduino. Adapun sistem alat yang dibuat dan dirancang sesuai blok diagram. Pembahasan dititik beratkan pada perancangan alat yang dibuat berdasarkan pemikiran dan mengacu pada sumber yang berhubungan dengan alat, khususnya pada bagian komunikasi penghubung yaitu modul Bluetooth pada robot yang berbasiskan mikrokontroler Atmega328 pada Arduino UNO. 3.1 Blok Diagram Rangkaian Untuk merealisasikan robot yang akan diuji, maka secara sistem keseluruhan rangkaian simulasi robot berbasis Arduino yang dikontrol oleh Android menggunakan komunikasi via Bluetooth adalah seperti gambar 3.1. 26
27 Android Bluetooth Baterai 12V Motor DC Motor DC Modul Bluetooth Driver Motor Shield L 298 Arduino UNO Gambar 3.1 Diagram Blok Rangkaian Kontrol Bluetooth Fungsi dari diagram blok rangkaian di atas adalah sebagai berikut : 1. Baterai Baterai berfungsi sebagai sumber tegangan ke rangkaian Arduino UNO dan driver motor shield. Ketika tegangan 12 VDC baterai masuk ke Arduino UNO maka tegangan akan terbagi menjadi : Tegangan supply 3.3 VDC untuk modul Bluetooth Tegangan supply 5 VDC untuk IC L298. 2. Modul Bluetooth Modul Bluetooth berfungsi sebagai penerima komunikasi dari Android yang dikendalikan oleh user. 3. Arduino UNO Arduino UNO berfungsi sebagai sistem kontrol dari semua rangkaian pengontrol Bluetooth.
28 4. Motor Driver Motor driver (motor shield) berfungsi sebagai pengatur tegangan dan arus yang masuk ke motor DC. 5. Motor DC Motor DC berfungsi sebagai penggerak roda pada robot. 6. Android Berfungsi sebagai device pengirim komunikasi ke modul Bluetooth pada robot. 3.2 Perancangan Perangkat Keras (Hardware) Dalam perancangannya, robot ini menggunakan Arduino UNO sebagai dasar utamanya, sehingga diperlukan sebuah modul Arduino UNO untuk menjadi otak dasarnya. Perancangan perangkat keras ini dilakukan untuk mewujudkan terciptanya sebuah kerangka robot mobil yang simple, agar dapar bergerak maju, mundur, kiri, kanan, dan berhenti dengan leluasa. 3.2.1 Modul Arduino UNO Arduino UNO adalah sebuah mikrokontroler yang didasarkan pada ATmega 328 (datasheet). Arduino UNO mempunyai 14 pin digital input/output (6 diantaranya dapat diguanakan sebagai output PWM), 6 input analog, sebuah oscillator Kristal 16 MHz, sebuah koneksi USB, sebuah power jack, sebuah ISCP header, dan sebuah tombol reset. Arduino UNO memuat semua yang dibutuhkan untuk menunjang mikrokontroler, mudah menghubungkannya ke sebuah
29 komputer dengan sebuah kabel USB atau mensuplainya dengan sebuah adaptor AC ke DC atau dapat menggunakan baterai untuk memulainya. Gambar 3.2 Rangkaian Arduino UNO Setiap modul Arduino UNO menggunakan 2 (dua) buah koneksi dengan komputer, paralel dan serial. Komunikasi paralel digunakan untuk burn bootloader, program inisialisasi mikrokontroler agar dapat menggunakan koneksi serial dalam hal pemrograman, sehingga mikrokontroler dapat diprogram secara serial maupun komunikasi data antara mikrokontroler dan komputer menggunakan aplikasi Arduino UNO. Selain itu, komunikasi paralel juga dapat digunakan untuk pemrograman mikrokontroler secara paralel. Tabel berikut ini menunjukkan penomoran setiap pin pada Arduino UNO :
30 Tabel 3.1 Penomoran Pin pada Arduino UNO PIN Atmega328 PIN Arduino UNO PIN ATmega328 PIN Arduino UNO 1 15 9 (PWM) 2 0 (RX) 16 10 (PWM) 3 1 (TX) 17 11 (PWM) 4 2 18 12 5 3 (PWM) 19 13 6 4 20 7 21 8 22 9 23 1 analog IN 10 24 2 analog IN 11 5 (PWM) 25 3 analog IN 12 6 (PWM) 26 4 analog IN 13 7 27 5 analog IN 14 8 28 6 analog IN
31 Modul Arduino UNO yang paling sederhana adalah modul dengan tampilan board sebagai berikut : Digital Input/Output Konektor USB Jack Untuk Baterai/Adaptor Mikrokontroler Power Analog Input Digital Output Gambar 3.3 Tampilan Atas Board Arduino UNO Sebagai referensi untuk menemukan pin pada mikrokontroler Atmega 328 yang dipakai pada aplikasi Arduino UNO yang digunakan, yaitu (tabel) ringkasan Arduino UNO : Tabel 3.2 Ringkasan Arduino UNO Mikrokontroler ATmega 328 Tegangan Pengoperasian Tegangan Input Yang 5 V 7-12 V Disarankan Batas Tegangan Input Jumlah Pin I/O Digital 6 20 V 14 (6 diantaranya menyediakan keluaran
32 PWM) Jumlah Pin Input Analog 6 Arus DC Tiap Pin I/O Arus DC Untuk Pin 3.3 V Memory Flash 40 ma 50 ma 32 KB (ATmega 328), sekitar 0.5 KB digunakan oleh bootloader SRAM 2 KB (ATmega 328) EEPROM 1 KB (ATmega 328) Clock Speed 16 MHz 3.2.2 Driver Motor Shield Untuk penggerak dari rangkaian roda pada robot menggunakan motor DC. Pada motor DC sendiri dapat dikendalikan langsung oleh keluaran dari mikrokontroler. Tegangan mikrokontroler hanya 5 Volt, sedangkan motor DC yang digunakan pada robot ini membutuhkan tegangan 6 Volt agar dapat bekerja dengan optimal. Rangkaian pengendali motor yang digunakan di sini adalah rangkaian yang dikenal dengan sebutan Motor Driver (Motor Shield). Driver motor ini dilengkapi dengan shield yang pin-pin keluarannya disesuaikan dengan Arduino UNO. Jadi rangkaian ini dapat dipasangkan dengan mudah dengan Arduino UNO tanpa menyolder lagi pin-pin keluaran IC 298. Rangkaian motor driver yang digunakan terdapat pada gambar 3.4.
33 R1: 4,7 kohm R2: 10 kohm R3: 4,7 kohm R4: 4,7 kohm R5: 10 kohm R6: 4,7 kohm R7: 1 kohm R9: 100 kohm R10: 10 kohm C1: 100 nf 100 C2: 100 µf 63 VL C3: 22 µf 35 VL U1: L298P LD1: Led 5 mm R/G (L-57EGW) R8: 1 kohm LD2: Led 5 mm R/G (L-57EGW) D8: 1N5819 3.2.1 Gambar 3.7 Rangkaian Motor Driver Shield T1: BC547 T2: BC547 Gambar 3.4 Rangkaian Driver Motor Shield D1: 1N5819 D2: 1N5819 D3: 1N5819 D4: 1N5819 D5: 1N5819 D6: 1N5819 D7: 1N5819 Rangkaian ini umum digunakan untuk mengatur putaran motor yang diinginkan dengan memberikan logika yang sesuai dengan ketentuan pada kaki inputnya seperti tabel 3.3.
34 Tabel 3.3 Kondisi Putaran Motor Logika A Logika B Arah Putaran 0 0 Diam 0 1 Berlawanan Jarum Jam 1 0 Searah Jarum Jam 1 1 Dilarang Berikut adalah tabel kondisi putaran motor DC terhadap arah pergerakan robot, yaitu : Tabel 3.4 Kondisi Putaran Motor Terhadap Arah Pergerakkan Motor Motor Kiri Motor Kanan Arah Pergerakkan Maju Putar Kanan Putar Kiri Mundur 3.2.3 Perancangan Mekanik Perancangan mekanik robot dibuat sedemikian rupa agar mendukung kemampuan robot dalam bergerak pada arena. Hampir semua material robot menggunakan akrilik dan alumunium. Konstruksi dasar robot menggunakan alumunium dan konstruksi bagian atas robot menggunakan akrilik. Penggunaan akrilik dan alumunium dipilih karena bahan tersebut relatif mudah dibentuk dan ringan.
35 Perancangan bentuk robot yang akan dibuat adalah berbentuk bulat dengan diameter 12 cm, 2 buah alas, 4 buah tiang penyangga, dan 3 buah roda yang digambarkan pada gambar 3.5 dan 3.6. Gambar 3.5 Tampak Depan Robot Gambar 3.6 Tampak Belakang Robot
36 3.2.4 Sistem Penggerak Roda Sistem roda yang dirancang pada robot ini menggunakan motor DC 6 V dengan roda (wheel) berukuran diameter 42 mm. Gambar 3.7 Sistem Perodaan Robot Mobil 3.3 Realisasi Rangkaian Langkah berikutnya adalah merealisasikan rangkaian setiap blok, rangkaian yang akan dibuat yaitu sebagai berikut : Rangkaian Bluetooth dengan Arduino UNO. Aplikasi program Arduino UNO IDE Aplikasi program Eclipse 3.3.1 Rangkaian Modul Bluetooth dengan Arduino UNO Rangkaian bluetooth ini berfungsi untuk mengintegrasikan Android dengan Arduino UNO. Dalam melakukan koneksi antara modul Bluetooth dan Arduino UNO dibutuhkan kabel jumper sebagai penghubung seperti gambar 3.8.
37 Gambar 3.8 Rangkaian Modul Bluetooth HC-05 Pada rangkaian ini ada beberapa hal yang harus diperhatikan, yaitu pada jalur penghubung dari rangkaian modul Bluetooth ke Arduino UNO. Meliputi pin power 3.3v, ground, transmitter (Tx), dan receiver (Rx). Pin-pin ini akan dihubungkan ke setiap jalur pin Arduino UNO, untuk lebih lengkapnya kita bisa lihat cara interfacing di gambar 3.9 dan 3.10 Gambar 3.9 Pin-pin pada Modul Bluetooth HC-05 Dari 34 pin yang ada pada modul Bluetooth HC-05, hanya dipakai 4 buah pin saja, yaitu pin 1, 2, 12, dan 13.
38 Gambar 3.10 pin-pin yang dihubungkan ke Arduino UNO Sesuai dengan library yang sudah dibuat, koneksi pin-pin tersebut dengan board Arduino UNO adalah sebagai berikut : 1. Pin 1 (Tx) pin 0 (Rx) 2. Pin 2 (Rx) pin 1 (Tx) 3. Pin 12 (3.3v) pin 3.3v Arduino UNO 4. Pin 13 (Ground) pin ground Arduino UNO Setelah kita meng-interfacing pin-pin tersebut maka akan dihubungkan ke pin Arduino UNO, berikut interfacing data pada gambar 3.11. Gambar 3.11 Rangkaian Modul Bluetooth HC-05 ke Arduino UNO
39 3.3.2 Aplikasi Program Arduino UNO Setelah proses rangkaian selesai dibuat, langkah selanjutnya adalah membuat program pada aplikasi program Arduino UNO IDE. Buka Program aplikasi Arduino UNO IDE, kemudian buat coding program seperti gambar 3.12 Gambar 3.12 program Arduino UNO IDE Pada perancangan ini dilakukan beberapa kali pengetesan untuk mencoba hasil yang diinginkan dan beberapa program Arduino UNO yang didapat. A. Pergerakkan Maju Penulisan program untuk pergerakkan maju adalah sebagai berikut : Gambar 3.13 Listing Program Pergerakan Maju
40 B. Pergerakkan Mundur Penulisan program untuk pergerakkan mundur adalah sebagai berikut : Gambar 3.14 Listing Program Pergerakan Mundur C. Pergerakkan Belok Kanan Penulisan program untuk belok kanan adalah sebagai berikut : Gambar 3.15 Listing Program Pergerakan Belok Kanan
41 D. Pergerakkan Belok Kiri Penulisan program untuk belok kiri adalah sebagai berikut : Gambar 3.16 Listing Program Pergerakan Belok Kiri E. Pergerakkan Berhenti Penulisan program untuk berhenti adalah sebagai berikut : Gambar 3.17 Listing Program Pergerakan Berhenti
42 3.3.3 Aplikasi Program Eclipse Setelah program Arduino UNO IDE selesai, kemudian membuat program pada aplikasi Eclipse. Buka program aplikasi Eclipse, kemudian buat coding program seperti gambar 3.18, 3.19, dan 3.20. Gambar 3.18 Coding Untuk Main.xml Gambar 3.19 Coding Untuk Controlactivity.java
Gambar 3.20 Coding Untuk Androidmanifest.xml 43