9
BAB III
PERANCANGAN SISTEM
Pada Bab III ini akan dibahas mengenai perancangan robot yang konsep kerja sistem serta komponen-komponen pendukungnya telah diuraikan pada Bab II. Perancangan yang akan dibahas meliputi perancangan perangkat keras, perancangan perangkat lunak dan metode jaringan yang ada pada skripsi ini.
3.1 Perancangan Perangkat Keras
Pada sub bab ini akan dijelaskan perancangan perangkat keras yang digunakan oleh sistem. Perancangan tersebut meliputi perancangan mekanik robot, board utama mikrokontroler ATmega8, driver motor utama, driver motor lengan packbot dan untai yang lainnya serta komponen - komponen yang digunakan dalam perancangan skripsi ini.
3.1.1 Perancangan Mekanik Robot
Pada skripsi ini dirancang dan direalisasikan sebuah diferensial robot yang berbentuk tank, robot ini menggunakan 6 buah roda yang keseluruhannya dihubungkan menggunakan rantai. Roda aktif adalah roda bagian belakang, sedangkan roda bagian depan dan roda pada lengan packbot adalah roda pasif, yang akan ikut berputar saat roda belakang berputar, lengan packbot digunakan untuk membantu robot saat melewati medan terjal dan ketika bagian chassis robot tersangkut.
Chassis robot ini menggunakan bahan alumunium dengan ketebalan 5mm, lebar 60mm, dan panjang 35cm, untuk bagian penutup menggunakan bahan akrilik dengan ketebalan 3mm. Untuk menghindari akrilik pecah ketika terkena benturan maka dilapis menggunakan plat alumunium dengan ketebalan 1mm.
Untuk bagian roda, robot ini menggunakan bahan nilon pejal yang dibentuk membulat dengan diameter 8cm. Untuk menghubungkan keseluruhan roda maka dibutuhkan rantai, rantai ini terdiri dari 2 buah rantai yang disatukan menggunakan pad berbahan akrilik yang kemudian diberikan lapisan karet agar rantai tetap mendapat traksi pada jalan.
10
putaran dari motor DC dan menaikkan torsi. Gearbox penggerak robot mengguakan gearbox RC tank dengan perbandingan 1:47.
Pada bagian depan robot ini dilengkapi lengan packbot yang dapat berputar ke atas dan ke bawah, agar lengan packbot ini dapat bergerak maka dibutuhkan juga sebuah motor DC, motor yang digunakan menggunakan motor DC power window yang telah di lengkapi gearbox, model gear power window ini menggunakan konstruksi roda gigi cacing ( worm gear). Alasan pemilihan model roda gigi cacing ini adalah untuk menghindari lengan packbot berputar kembali ketika mendapatkan beban sehingga posisi packbot tidak berubah. Gambar 3.1 sampai Gambar 3.4 adalah gambar perancangan mekanik robot dan mekanik robot yang telah di realisasikan.
11
Gambar 3.2 Mekanik robot yang telah direalisasikan
12
Gambar 3.4 Mekanik robot yang telah direalisasikan
3.1.2 Perancangan Board Utama Mikrokontroler ATmega8
Secara garis besar board utama terdiri dari beberapa komponen antara lain mikrokontroler, USR-TCP232, sensor suhu, dan sensor tegangan.
3.1.2.1 Mikrokontroler
13
Gambar 3.5 Pinout ATmega8
Pada perancangan skripsi ini, mikrokontroler berfungsi sebagai pengendali utama yaitu :
Menerima data dari smartphone Android.
Mengirim data ke smartphone Android.
Mengolah data untuk mengontrol pergerakan robot.
Mengolah data untuk menggerakkan lengan packbot.
Tabel 3.1 merupakan konfigurasi pin yang digunakan pada modul mikrokontroler ini :
Tabel 3.1 Konfigurasi penggunaan pin ATmega8 pada board utama
Nama Port Fungsi
PortD.0 TX (Ethernet), TX(downloader) PortD.1 RX (Ethernet), RX(downloader) PortD.5 BD139
14 3.1.2.2 Ethernet Controller
Pada skripsi ini digunakan modul Ethernet controller TCP232. USR-TCP232 ini adalah sebuah modul gateway yang dapat mengkonversi RS232 ke dalam jaringan TCP/IP. Modul ini juga menangani kecepatan data yang akan dikirim. Dengan modul USR-TCP232 ini yang membuat mikrokontroler dapat bertukar data melalui jaringan TCP/IP. Modul ini dapat berkomunikasi dengan mikrokontroler melalui antarmuka TX-RX.
Agar dapat bekerja dengan baik maka modul USR-TCP232 ini membutuhkan catu daya dengan tegangan 5V DC dan arus maksimal 180mA. Konfigurasi pin USR-TCP232 dapat dilihat pada Gambar 3.6.
Gambar 3.6 Konfigurasi pin USR-TCP232
15
Tabel 3.2. Konfigurasi penggunaan pin USR-TCP232
Nama pin Fungsi
VDD pin tegangan input sebesar 4.5-5.5V VCC pin tegangan input sebesar 3.3V
GND pin ground
RST pin reset
TXD
pin jalur data transmitter, dihubungkan dengan PORTD.0 (Atmega8)
RXD pin jalur data receiver, dihubungkan dengan PORTD.1 (Atmega8)
CFG pin configure, dihubungkan dengan ground pada mode normal
Ethernet antarmuka dengan jaringan TCP/IP, dihubungkan menggunakan RJ45
16
Kapasitor 100uF pada pin TXD dan RXD dari Ethernet controller yang berfungsi sebagai filter.
3.1.2.3 Sensor Suhu DS1822
Sensor suhu berfungsi untuk membaca temperatur di sekitar area robot. Data temperatur tersebut dikonversi ke dalam bentuk data digital. Proses konversi ini bertujuan untuk menginformasikan data besarnya nilai temperatur agar dapat dibaca dan diproses oleh miktokontroler. Sensor suhu yang digunakan untuk membaca temperatur ruangan ini adalah DS1822. Sensor ini diletakkan di atas chassis robot sehingga sensor dapat membaca perubahan temperatur dengan cepat.
Gambar 3.9 Skematik sensor suhu
3.1.2.4 Sensor Tegangan Baterai
17
berikan hambatan sebesar 1,2k dan pada R2 di berikan hambatan 1k . Gambar 3.10 adalah skematik untai sensor tegangan baterai menggunakan resistor pembagi tegangan.
Gambar 3.10 Skematik sensor tegangan baterai
3.1.3 Perancangan Board Driver Motor
Pada perancangan board driver motor ini dibagi menjadi 2 bagian, yaitu driver motor utama dan driver motor untuk lengan packbot, pada board driver ini juga diletakkan modul regulator 5 V.
3.1.3.1 Driver Motor Utama
Karena tegangan pin output mikrokontroler hanya 5 V maka motor DC yang membutuhkan tegangan 12V tidak dapat langsung dihubungkan pada mikrokontoler. Untuk itu dibutuhkan driver motor sebagai antarmuka antara mikrokontroler dengan motor DC. Driver motor ini juga berfungsi sebagai pengatur arah putaran motor searah jarum jam atau berlawanan arah jarum jam. Pada perancangan driver motor utama ini menggunakan mosfet IRF 9540 dan IRF 540.
18
Gambar 3.11 Skematik driver motor
3.1.3.2 Driver Motor Lengan Packbot
Fungsi dari driver motor packbot ini hampir sama dengan driver motor utama yaitu untuk mengatur arah putaran motor searah jarum jam atau berlawanan arah jarum jam dan sebagai antaramuka antara motor DC dengan mikrokontroler. Pada perancangan ini driver motor lengan packbot menggunakan 2 buah relay 12V.
Gambar 3.12 Skematik driver motor lengan packbot
3.2 Perancangan Perangkat Lunak
19
Perancangan perangkat lunak pada skripsi ini mengguakan bascom avr untuk memprogram mikrokontroler dan basic4android untuk memprogram aplikasi pada android.
3.2.1 Perangkat Lunak Pada Mikrokontroler
Gambar 3.13 merupakan diagram alir dari perangkat lunak mikrokontroler.
20
Perangkat lunak pada mikrokontroler berfungsi untuk mengolah data yang dikirim dan diterima dari aplikasi smartphone Android.
Tabel 3.3 menunjukkan detail nama yang digunakan pada diagram alir program mikrokontroler.
Tabel 3.3 Penjelasan nama pada diagram alir mikrokontroler
Nama Variabel Fungsi
T Mengirim data temeperatur. V Mengirim data tegangan baterai. R Kontrol robot ke kiri.
L Kontrol robot ke kanan.
Berikut adalah cara kerja sistem.
1. Pada saat pertama kali robot dinyalakan maka mikrokontroler akan melakukan inisialisasi.
2. Mikrokontroler akan membaca sensor suhu dan tegangan.
3. Mikrokontroler akan mengirimkan data dari ke aplikasi Android.
4. Mikrokontroler akan menunggu masukan dari smartphone Android dan mendeteksi masukan tersebut.
5. Mikrokontroler akan melakukan tugasnya sesuai masukan yang terdeteksi seperti yang telah dijelaskan pada Tabel 3.2.
3.2.2 Perangkat Lunak Aplikasi Mobile
21
Berikut ini adalah penjelasan dari kode Android Manifest.xml diatas.
1. <uses-sdk android:targetSdkVersion="17" android:minSdkVersion="4"/>
Manifest diatas berarti aplikasi yang dibuat memiliki target SDK versi 17 hingga minimal adalah SDK versi 4.
2. <supports-screens
android:anyDensity="true" android:smallScreens="true" android:normalScreens="true" android:largeScreens="true"/>
Kode di atas berarti aplikasi dapat berjalan pada perangkat Android yang mempunyai layar kecil (small) hingga besar (large). Sedangkan android:anyDensity berfungsi agar aplikasi dapat berjalan diberbagai layar dengan resolusi tinggi maupun rendah.
3. <uses-permission
android:name="android.permission.VIBRATE"/>
Berfungsi mengijinkan aplikasi mengakses fitur getar pada perangkat Android. 4. <uses-permission
android:name="android.permission.INTERNET"/>
22 5. <uses-permission
android:name="android.permission.ACCESS_WIFI_STATE"/>
Berfungsi mengijinkan aplikasi mengakses jaringan wifi pada perangkat Android. 6. <uses-permission
android:name="android.permission.BLUETOOTH"/>
Berfungsi mengijinkan aplikasi mengakses bluetoothpada perangkat Android. 7. <uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Berfungsi mengijinkan aplikasi untuk menulis data pada penyimpanan eksternal dari perangkat Android.
3.2.2.1 Activity
Activity pada sistem yang dibuat akan menyajikan antarmuka atau user interfaces kepada operator, sehingga operator dapat melakukan interaksi dengan sistem. Pada umumnya aplikasi Android memiliki banyak activity, akan tetapi tidak menutup kemungkinan hanya memiliki satu activity, semua tergantung dari tujuan aplikasi tersebut. Untuk berpindah dari satu activity ke activity lainnya dapat dilakukan dengan satu even.
Kode berikut menunjukkan beberapa activity yang digunakan oleh sistem.
1. Sub Activity_Create
24 2. Sub Activity_Pause
Pada saat menekan tombol back maka activity ini akan berfungsi memutus semua koneksi yang sedang dijalankan pada aplikasi.
3. Sub Activity_Resume
Pada activity ini tidak terdapat menu apapun di dalamnya bagi pengguna. Activity ini hanya berfungsi untuk mengaktifkan kembali aplikasi saat tampilan di smartphone Android mati karena terlalu lama dibiarkan oleh pengguna.
3.2.2.2 Pengiriman Data
Aplikasi diperlukan saat proses pengiriman data untuk mengirimkan data dari smartphone Android ke mikrokontroler. Data yang dikirimkan merupakan data teks dan pengiriman data gambar.
25 3.2.2.2.1 Pengiriman Data Gambar
Pengiriman data gambar pada aplikasi mobile ini adalah proses pengiriman capture kamera ke pengguna aplikasi. Tipe protocol yang digunakan dalam pengiriman data adalah protocol HTTP. Sedangkan format pengiriman data tersebut adalah MJPEG (Motion Joint Photographic Expert Group). Format MJPEG dipilih selain karena IP kamera yang digunakan telah mendukung capture image dalam format ini, format MJPEG juga memiliki beberapa kelebihan seperti meminimalkan waktu delay.
Kode berikut menunjukkan potongan kode proses pengiriman data gambar.
Berikut ini adalah penjelasan dari kode diatas:
26
2. Karena IP kamera yang digunakan membutuhkan proses autentifikasi, maka untuk dapat terhubung dengan kamera tersebut harus dideklarasikan proses untuk autentifikasi kamera tersebut.
3. Kemudian perangkat lunak akan membuka koneksi dengan kamera yang ada dengan memanggil alamat dari kamera tersebut.
4. Setelah itu bila library telah memproses gambar dari kamera, maka diatur letak gambar yang dikirim kamera tersebut ke smartphone.
3.2.2.3 Layout
Agar operator dapat melakukan kontrol secara keseluruhan pada robot maka dibutuhkan layout yang berfungsi sebagai halaman penampil dari aplikasi Android yang dilengkapi tombol - tombol pengontrol. Pada sub bab ini akan menjelaskan layout yang digunakan.
3.2.2.3.1 Tampilan Pembuka
Saat pertama kali masuk aplikasi maka akan muncul tampilan pembuka yang akan tampil selama 5 detik sebelum masuk ke layout tampilan berikutnya.
Tampilan pembuka ini berisi tentang judul skripsi, nama dan nim pembuat, logo universitas serta nama universitas tempat pembuat menyelesaikan pendidikan.
Gambar 3.14 adalah tampilan layout pembuka yang telah direalisasikan :
27 3.2.2.3.2 Menu
Menu memiliki beberapa pilihan sub menu antara lain : Connect, Speed Control, dan Disconnect.
Gambar 3.15 merupakan tampilan menu yang telah direalisasikan beserta fungsinya.
Gambar 3.15 Tampilan menu pada aplikasi Android
1. Connect berfungsi untuk menyambungkan antara Android dengan modul wifi.
2. Speed Control berfungsi untuk mengatur kecepatan motor penggerak.
3. Disconnect berfungsi untuk memutuskan sambungan dari modul wifi.
3.2.2.3.3 Layout Kontrol
Pada layout kontrol ini terdapat tombol pengontrol arah gerak robot, arah gerak IP kamera, dan tombol pengontrol naik turun packbot. Layout ini juga menampilkan streaming gambar dari IP kamera, menunjukan tegangan baterai pada sistem dan suhu pada ruangan.
28
Gambar 3.16 Tampilan layout kontrol
1. Informasi untuk mengetahui komunikasi antara smartphone Android dan robot masih tersambung atau terputus.
2. Ip yang tertera pada wifi router robot 3. Speed menunjukan kecepatan robot.
4. Menampilkan suhu pada daerah sekitar robot. 5. Menampilkan tegangan pada sistem.
6. Tombol untuk menaikan dan menurunkan lengan packbot. 7. Tombol sebalah kiri berfungsi untuk mengatur arah gerak robot.
8. Tombol sebelah kanan berfungsi untuk mengatur arah gerak IP kamera.
3.2.2.4 Diagram Alir Pengguna
29
30 3.3 Metode Jaringan
Gambar 3.18 menunjukkan bentuk jaringan pada sistem yang dibuat
Gambar 3.18 Bentuk jaringan sistem
3.3.1 Wireless Router
Wireless router pada perancangan skripsi ini memiliki tugas utama yaitu sebagai penyedia accesspoint ke IP kamera, mikrokontroler, dan juga pengguna atau user. Sistem yang dirancang merupakan sistem client server dimana yang bertindak sebagai server adalah wireless router. Server disetting dalam mode DHCP (Dinamic Host Configuration Protocol). Setting dalam mode DHCP bertujuan agar server dapat memberi IP address secara otomatis kepada setiap perangkat (smartphone Android) yang telah terkoneksi ke dalam access point.
31
Gambar 3.19. Setting wirelessrouter dengan mode DHCP
Pada Gambar 3.19 server memiliki rentang pengaturan IP dimulai dari alamat : 192.168.1.2 hingga 192.168.1.254 dengan default gateway 192.168.1.1.
Tabel 3.4 Spesifikasi Wireless Router
Catu Daya Eksternal 9 VDC/ 0.6A
Standar nirkabel (wireless) IEEE 802.11n*, IEEE
802.11g, IEEE 802.11b
Frekuensi 2.4-2.4835 GHz
Tingkat signal 11n: Up to 150Mbps(dynamic)
11g: Up to 54Mbps(dynamic) 11b: Up to 11Mbps(dynamic)
Koneksi jaringan 1x WAN Port (RJ-45)
4x LAN Switch Port (RJ-45)
Interface 4 10/100Mbps LAN Ports
32
Gambar 3.20 Wireless Router
3.3.2 IP Kamera
IP kamera pada sistem yang dibuat mempunyai tugas utama sebagai pengambil data gambar (streaming video) untuk dikirimkan kepada pengguna smartphone Android. Kamera mempunyai alamat IP address yang static yaitu alamat yang sebelumnya telah ditentukan terlebih dahulu sehingga alamat IP dari kamera tersebut akan selalu tetap. Gambar 3.21 menunjukkan setting IP dari kamera yang digunakan.
33 Penjelasan dari Gambar 3.20 adalah sebagai berikut :
1. IP address dari kamera yang digunakan adalah 192.168.1.150. Alamat ini merupakan settingan default dari pihak pembuat kamera tersebut
2. Kemudian nilai gateway, primary DNS, dan secondary DNS dari kamera ini akan menyesuaikan dengan alamat dari wireless router yang ada yaitu 192.168.1.1. 3. Sedangkan pada HTTP port diberi nilai 81 sesuai default port standar yang biasa
digunakan pada komunikasi data menggunakan protocol HTTP.
Tabel 3.5 Spesifikasi IP kamera Catu daya eksternal 5 VDC/1A
Resolusi 1.3 MP SXVGA (1280 x 960)
resolution at 30fps
Interface 1x LAN Switch Port (RJ-45),
34 3.3.3 Mikrokontroler
Mikrokontroler telah terhubung dengan Ethernet controller sehingga membuat mikrokontroler dapat diakses ke dalam jaringan dan juga memiliki IP address. Sama seperti pada kamera, mikrokontroler juga memiliki IP address yang static yaitu alamat IP yang telah disetting sebelumnya sehingga alamat IP tersebut akan selalu tetap. Gambar 3.23 menunjukkan setting dari Ethernet controller.
Gambar 3.23 Setting Ethernet controller
3.3.4 Smartphone Android