Rancang Bangun Robot Beroda Dengan Pengendali Jarak Jauh Berbasis Raspberry Pi
DAFTAR PUSTAKA
[1] Monk, Simon, “Programing the Raspberry Pi Getting Started with Python” ,
Mc Graw-hill, 2012
[2] Richardson, Matt, Wallace, Shawn, “Getting Started with Raspberry Pi”,
O’reilly, United State of America, 2012.
[3] Solichin, Achmad, “ Pemrograman Web dengan PHP dan MySQL”,
Universitas Budi Luhur, Jakarta, 2009
[4] Gustafson, J.M, “HTML5 Web Application Development By Example”,
PACKT, Birmingham-Mumbai, June 2013
[5] Payne, James, “Beginning Python Using Python 2.6 and Python 3.1”, Wiley
Publishing,Inc.,
Indianapolis, Indiana, Canada, 2010
[6] Zuhal, “Dasar Teknik Tenaga Listrik Dan Elektronika Daya”, Gramedia Pustaka
Utama, Jakarta,1993.
[7] Iqzar, “Controlling the Raspberry Pi’s GPIO pin from a web browser”,
http://iqjar.com/jar/controlling-the-raspberry-pis-gpio-pins-from-a-web-browser/
dikutip [16 Desember 2013]
[8] Kumar, Praven, “Controlling a Raspberry Pi’s GPIO over the network”,
http://developmentboards.blogspot.com/2013/04/controlling-raspberry-pis-gpio
over.html
[9] http://elinux.org/RPI-Wireless-Hotspot.
[10] http://id.wikipedia.org/wiki/Raspberry_Pi
(2)
BAB III
PERANCANGAN PERANGKAT KERAS DAN PERANGKAT
LUNAK
3.1 Gambaran Umum Sistem
Sistem yang akan dirancang menggunakan Raspberry Pi Rev B sebagai pengendali semua rangkaian sistem. Untuk pengendali Motor DC digunakan IC H-bridge yaitu IC L298N yang berfungsi sebagai pengendali arah, putaran dan kecepatan Motor DC. Pada perancangan perangkat keras ini Motor DC akan dikendalikan dari jarak jauh menggunakan Wifi (Wireless Fidellity) pada perancangan pengendali Motor DC dari jarak jauh dapat dijelaskan pada perancangan perangkat lunak.
Dalam perancangan Robot beroda yang dikendalikan dari jarak jauh juga menggunakan 2 buah catu daya yaitu berupa Power Bank, dan Batterai. Untuk power bank digunakan untuk sumber tegangan ke Raspberry Pi Rev B, dan batterai 12V digunakan untuk IC H-bridge L298N untuk sumber tegangannya.
Untuk kontrol Motor DC dapat dilakukan melalui PC/Handphone meggunakan aplikasi web browser. pada perancangan kontrol Motor DC melalui web browser dapat dijelaskan juga pada perancangan perangkat lunak. Secara umum, digram blok keseluruhan sistem dapat dilihat pada Gambar 3.1
(3)
23
Gambar 3.1 Diagram Blok Sistem
3.2 Konsumsi Arus Dari Komponen yang Dicatu
Komponen yang harus dicatu dalam tugas akhir ini adalah Raspberry Pi, Motor DC, Catu daya yang digunakan pada Raspberry Pi adalah Power Bank Dengan tegangan sebesar 5 Volt dan arus sebesar 1.5 A, Motor DC yang digunakan sebanyak 2 buah, konfigurasi motor dc dirancang secara paralel.
3.3 Konfigurasi GPIO,Motor DC dan L298N
Pada konfigurasi pin GPIO pada Raspberry Pi ke driver Motor DC yaitu L298N dilakukan dengan menghubungkan beberapa kabel yang akan dihubungkan
Raspberry Pi GPIO
Wifi L298N
Batterai 12V
Signal Wifi
Power Bank PC / Handphone
Web Browser
M B M A
(4)
24
ke pin GPIO pada Raspberry Pi Rev B. Kabel-kabel yang akan dihubungkan ke pin GPIO pada raspberry pi berfungsi untuk menentukan arah, putaran, dan kecepatan. Arah putaran dan kecepatan dapat dilakukan dengan pemrograman yang akan dibahas pada perancangan perangkat lunak. Adapaun rangkaian GPIO (General Purpose Input Output) pada raspberry pi dihubungkan ke driver Motor DC yaitu L298N dan Motor DC dapat dilihat pada Gambar 3.2.
Gambar 3.2 Rangkaian GPIO Raspberry Pi ke L298N dan Motor DC
Gambar 3.2 menunjukkan konfigurasi I/O pada Raspberry Pi yang akan digunakan untuk menggerakkan Motor DC. L298N adalah komponen yang didalamnya terdiri dari dua rangkaian bridge yang bisa dikontrol dari luar (Dual Full-Bridge Driver). Komponen ini biasa digunakan untuk mengontrol komponen yang mengandung kumparan seperti motor, relay dan yang lainnya. Gambar 3.2 menunjukkan rangkaian L298N.
(5)
25
3.4 Konfigurasi Wifi TP-Link 727N dan Raspberry Pi
Pada perancangan adapter wifi TP-Link 727N dan raspberry adalah gabungan antara Raspberry Pi dengan adapter akses poin TP-Link 727N dan di konfigurasi sebagai akses poin untuk memancarkan sinyal. Berikut Gambar 3.3 Wifi TP-Link 727N dihubungkan dengan Raspberry Pi.
Gambar 3.3 TP-Link 727N Terhubung Dengan Raspberry Pi
3.5 Perancangan Perangkat Lunak
Secara umum program yang akan dibuat bertujuan untuk menggerakkan 2 buah Motor DC dengan jarak jauh menggunakan aplikasi web browser. Pada perancangan perangkat lunak dalam Tugas Akhir ini meliputi beberapa
(6)
26
pemrograman yaitu HTML untuk halaman pada web browser, pemrograman PHP difungsikan sebagai untuk mengeksekusi pemrograman python. Untuk menggerakkan Motor DC dilakukan pemrograman Python dan menentukan arah putaran Motor DC. Ketika Raspberry Pi dan IC L298N diberi catu daya Raspberry Pi akan menyebarkan sinyal dari adapter Wifi maka klien akan menghubungkan perangkat keras berupa PC/Handphone agar terkoneksi ke Raspberry Pi maka klien akan membuka aplikasi web browser dengan memasukkan alamat IP yang sudah di konfigurasi pada Raspberry Pi web server pada Gambar 3.1 pada peracangan perangkat keras dapat dilihat diagram blok.
3.6 Konfigurasi Wifi TP-Link 727N
Proses konfigurasi Wifi sebagai akses poin dengan melakukan instalasi software Hostapd dan Udhcpd “sudo apt-get install hostapd udhcpd”. Hostapd adalah sebuah aplikasi layanan jaringan tanpa kabel dengan menggunakan teknologi wifi untuk membangun jaringan akses poin. Dimana perangakat berfungsi untuk memancarkan sinyal yang akan di tangkap oleh wireless PC/Hanphone. Udhcpd protocol yang berbasis arsitektor client/server yang dipakai untuk memudahkan pengalokasian alamat IP dalam satu jaringan.
Setelah melakukan instalasi software pada Raspberry Pi dilakukan konfigurasi untuk membuat Raspberry Pi sebagai akses poin. Berikut cara konfigurasi dengan menggunakan software putty.
(7)
27
1. Membuka dokumen berbentuk text editor pada Raspberry Pi dengan cara masuk ke terminal dengan mengetikkan perintah nano /etc/udhcpd.conf dengan mengedit file tersebut seperti dibawah ini.
Start 192.168.1.23 # ip awal end 192.168.1.30 # batas ip klien interface wlan0#
remaining yes
opt dns 8.8.8.8 8.8.4.4 opt subnet 255.255.255.0 opt router 192.168.1.23
opt lease 864000#lama waktu server meminjamkan ip ke klien dalam ssatuan detik
2. Konfigurasi DHCP.
Dengan mengetikkan perintah nano /etc/default/udhcpd pada terminal file ini dilakukan dengan memberi tanda # pada DHCPD_ENABLE = “no” menjadi #DHCPD_ENABLE = “no”.
3. Membuat IP statik untuk Wifi yang terpasang pada Raspberry Pi Rev B. pada terminal Raspberry Pi dengan mengetikkan perintah nano /etc/network/interface pada file ini dilakukan konfigurasi seperti dibawah ini.
Iface wlan0 inet static
Address 192.168.1.23
Netmask 255.255.255.0
4. Konfigurasi HostAPD pada konfigurasi ini dilakukan membuat file didalam direktori /etc/hostapd/, file yang akan dibuat adalah dokumen hostapd.conf
(8)
28
pada file tersebut akan dikonfigurasi, fungsi file tersebut adalah untuk membuat nama akses poin dan password berikut konfigurasinya.
interface=wlan0 driver=nl80211
ssid=INDRARIZKIAWAN #nama akses poin hw_mode=g channel=6 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2
wpa_passphrase=indrarizkiawan #password akses poin wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP rsn_pairwise=CCMP
5. Konfigurasi file pada direktori /etc/default/hostapd pada baris yang bernama #DAEMON_CONF=“ ” menjadi DAEMON_CONF=”/etc/hostapd /hostapd.conf“
6. Konfigurasi NAT (Network Address Translation)
sh –c “echo 1 > /proc/sys/net/ipv4/ip_forward” untuk mengatur secara automatis pada saat boot, konfigurasi skrip pada direktori /etc/sysctl.conf dengan menambahkan perintah net.ipv4.ip_forward=1.
Enable kan NAT dengan perintah sebagai berikut :
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
(9)
29
7. Untuk membuat ini permanen tidak perlu menjalankan perintah “sudo sh -c "iptables-save > /etc/iptables.ipv4.nat" hanya
menambahkan peintah “up iptables-restore <
/etc/iptables.ipv4.nat” pada file interface yang berada di direktori /etc/network/interface.
8. Kemudian Reboot komputer Raspberry Pi.
Pada konfigurasi diatas pada saat komputer Raspberry Pi di reboot maka akan automatis wifi akan menyebarkan sinyal sesuai yang sudah dokonfigurasi.
3.7 Raspberry Pi Web Server
3.7.1 Web Server
Web server adalah perangkat lunak yang dapat merujuk pada perangkat keras ataupun perangkat lunak yang menyediakan layanan akses kepada pengguna melalui protocol komunikasi HTTP atau HTTPS terhadap berkas-berkas yang terdapat pada situs web dalam layanan ke pengguna dengan menggunakan aplikasi web browser yang terdapat di PC/Handphone.
Fungsi utama sebuah web server adalah untuk mentransfer berkas atas permintaan pengguna melalui protokol komunikasi yang telah di tentukan. Disebabkan sebuah halaman web dapat terdiri atas berkas teks, gambar, video, dan menyediakan halaman kontrol perangkat keras.
(10)
30
3.7.2 Apache2
Apache adalah sebuah nama web server yang bertanggung jawab pada request-response HTTP dan logging informasi secara detail. Selain itu, Apache juga diartikan sebagai suatu web server yang modular mengikuti standar protocol HTTP. Apache adalah sebuah software yang menghasilkan halaman web yang benar kepada user berdasarkan kode PHP yang dituliskan oleh pembuat halaman web. Jika di perlukan berdasarkan kode PHP yang dituliskan. Maka dilakukan instalasi software apache di Raspberry Pi dengan mengetikkan perintah sudo apt-get install apache2.
3.7.3 Pemrograman PHP
PHP5 berfungsi sebagai untuk mempermudah sebuah pekerjaan dimana sebuah fungsi yang dibuat dalam Tugas Akhir ini dapat digunakan secara berulang-ulang. PHP5 dalam Tugas Akhir ini berfungsi untuk menjalankan pemrograman python yang berekstensikan .py. Maka dilakukan instalasi PHP5 dengan mngetikkan sudo apt-get install php5.
Pada pemrograman python berfungsi sebagai menentukan arah putaran, kecepatan Motor DC. Dimana pemrograman PHP akan mengeksekusi python yang sudah ditanam di Raspberry Pi. Raspberry Pi mempunyai modul untuk pemrograman piranti GPIO (General Purpose Input Output) yaitu python-rpi.gpio, modul tersebut berfungsi sebagai librari pemrograman GPIO (General Purpose Input Output) Raspberry Pi.
(11)
31
3.7.4 Halaman Web Kontrol Robot
Halaman web yang ditampilkan oleh Raspberry Pi dapat dilihat pada Gambar 4.1. Ketika kita menekan tombol arah panah ke Kanan maka putaran Motor A akan berlawanan arah dengan putaran Motor B dimana Motor A akan bergerak maju dan Motor B akan bergerak mundur, dan begitu juga pada saat penekanan tombol arah panah ke Kiri maka Motor A akan bergerak mundur dan Motor B akan bergerak maju.
Gambar 3.4 Halaman Web Kontrol Robot
Kode HTML (Hyper Text Markup Language) untuk halaman tersebut adalah sebagai berikut:
<div id="wrapper">
<html xmlns="http://www.w3.org/1999/xhtml"> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>INDRA RIZKIAWAN</title> <style type="text/css">
<!--
#wrapper {
height: 800px; width: 400px; }
(12)
32 #atas { height: 200px; width: 800px; text-align: center; } #tengah { height: 200px; width: 800px; text-align: center; } #bawah { height: 200px; width: 800px; text-align: center; } --> </style> </head> <body>
<div id="atas"><input type="image" src="1.png" name="image" style="width:200px;height:200px" /></div>
<div id="tengah"><input type="image" src="5.png" name="image" style="width:200px;height:200px" /><input type="image" src="3.png" name="image" style="width:200px;height:200px" /><input
type="image" src="4.png" value="image" style="width:200px;height:200px" /></div>
<div id="bawah"><input type="image" src="2.png" value="BACK FORWARD" style="width:200px;height:200px" /></div>
</body> </html> </div>
3.8 Kombinasi HTML, PHP, dan Python
Umumnya PHP dalam sistem aplikasi web berfungsi sebagai sederetan kode yang dieksekusi, kemudian hasil dari eksekusi tersebut dikirim ke klien. Dalam Tugas Akhir ini proses PHP akan mengeksekusi file yang berekstensikan .py dimana data tersebut terpisah satu sama lain yaitu terpisah dari kombinasi HTML dan PHP. Berikut kode kombinasi keseluruhan.
<div id="wrapper">
(13)
33
<head>
//program php <?php
if (isset($_POST['MAJU']))
{
exec('sudo python /var/www/maju.py'); }
if (isset($_POST['KANAN']))
{
exec('sudo python /var/www/kanan.py'); }
if (isset($_POST['KIRI']))
{
exec('sudo python /var/www/kiri.py'); }
if (isset($_POST['MUNDUR']))
{
exec('sudo python /var/www/mundur.py'); }
if (isset($_POST['STOP']))
{
exec('sudo python /var/www/stop.py'); }
?>
//program php
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>INDRA RIZKIAWAN</title> <style type="text/css"> <!-- #wrapper { height: 800px; width: 400px; } #atas { height: 200px; width: 800px; text-align: center; } #tengah { height: 200px; width: 800px; text-align: center; } #bawah { height: 200px; width: 800px; text-align: center; } --> </style> </head> <body> <form method="post">
<div id="atas"><input type="image" src="1.png" name="MAJU" value="MAJU" style="width:200px;height:200px" /></div>
<div id="tengah"><input type="image" src="5.png" name="KIRI" value="KIRI" style="width:200px;height:200px" /><input
(14)
34
type="image" src="3.png" name="STOP" value="STOP"
style="width:200px;height:200px" /><input type="image" src="4.png" name="KANAN" value="KANAN" style="width:200px;height:200px"
/></div>
<div id="bawah"><input type="image" src="2.png" name="MUNDUR" value="MUNDUR" style="width:200px;height:200px" /></div>
</body> </html> </div>
Program diatas menunjukkan bahwa proses PHP akan memanggil skrip program python yang berekstensikan .py pada Raspberry Pi yang sudah ditanamkan di driektori /var/ww/ untuk di eksekusi. Skrip program python tersebut berisi menggerakkan arah putaran Motor DC. Dalam program PHP tersebut terdapat fungsi exec berfungsi untuk mengeksekusi program yang terdapat diluar program PHP dan HTML.
Proses pemanggilan skrip program python yaitu dengan program HTML pada baris ke 6 program PHP terdapat variabel “MAJU” proses metode “POST” digunakan untuk mengirimkan data dari HTTP klien untuk diproses di HTTP server kemudian HTTP server memberikan hasil proses ke GPIO (General Purpose Input Output) pada Raspberry Pi yaitu pergerakan Motor DC. Berikut adalah skrip program python untuk yang berfungsi sebagai menggerakkan arah putaran Motor DC.
#MAJU
import RPi.GPIO as GPIO
GPIO.setup(7, GPIO.OUT)
GPIO.setup(11, GPIO.OUT)
GPIO.setup(12, GPIO.OUT)
GPIO.setup(15, GPIO.OUT)
GPIO.output(7, False)
GPIO.output(11, True)
GPIO.output(12, True)
GPIO.output(15, False)
(15)
35
GPIO.output(7, False)
GPIO.output(11, False)
GPIO.output(12, False)
GPIO.output(15, False)
#MUNDUR
import RPi.GPIO as GPIO
GPIO.setup(7, GPIO.OUT)
GPIO.setup(11, GPIO.OUT)
GPIO.setup(12, GPIO.OUT)
GPIO.setup(15, GPIO.OUT)
GPIO.output(7, True)
GPIO.output(11, False)
GPIO.output(12, False)
GPIO.output(15, True) time.sleep(2)
GPIO.output(7, False)
GPIO.output(11, False)
GPIO.output(12, False)
GPIO.output(15, False)
#KANAN
import RPi.GPIO as GPIO
GPIO.setup(7, GPIO.OUT)
GPIO.setup(11, GPIO.OUT)
GPIO.setup(12, GPIO.OUT)
GPIO.setup(15, GPIO.OUT)
GPIO.output(7, True)
GPIO.output(11, False)
GPIO.output(12, True)
GPIO.output(15, False)
time.sleep(0.3) GPIO.output(7, False)
GPIO.output(11, False)
GPIO.output(12, False)
GPIO.output(15, False)
#KIRI
import RPi.GPIO as GPIO
GPIO.setup(7, GPIO.OUT)
GPIO.setup(11, GPIO.OUT)
GPIO.setup(12, GPIO.OUT)
GPIO.setup(15, GPIO.OUT)
GPIO.output(7, False)
GPIO.output(11, True)
GPIO.output(12, False)
GPIO.output(15, True)
time.sleep(0.3)
GPIO.output(7, False)
(16)
36
GPIO.output(12, False)
GPIO.output(15, False)
#STOP
import RPi.GPIO as GPIO
GPIO.setup(7, GPIO.OUT)
GPIO.setup(11, GPIO.OUT)
GPIO.setup(12, GPIO.OUT)
GPIO.setup(15, GPIO.OUT)
GPIO.output(7, False)
GPIO.output(11, False)
GPIO.output(12, False)
(17)
BAB IV
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi
Sistem perancangan di implementasikan pada perangkat keras dan
perangkat lunak. Perangkat keras di implementasikan yaitu Raspberry Pi, Modul
L298N sebagai pengendali Motor DC, adapter Wifi TP-Link 272N.
Perangkat lunak di implementasikan dengan menggunakan Bahasa
pemrograman HTML, PHP, dan Python. Pada pemrograman Halaman
Web
digunakan Bahasa pemrograman HTML, PHP di implementasikan sebagai program
yang akan memanggil skrip program Python, dan pada pemrograman Python
digunakan untuk memberikan masukan ke pin GPIO Raspberry Pi untuk
menggerakkan Motor DC.
Tahap-tahap implementasi sebagai berikut:
1.
Membuat kerangka Robot beroda.
2.
Meng-install
aplikasi-aplikasi yang dibutuhkan seperti PHP5, Python2.7,
RPi.GPIO-0.1.0, Apache2.
3.
Menulis program dalam bahasa PHP, HTML, dan Python yang akan
ditanamkan ke direktori /var/www/ pada Raspberry Pi.
(18)
Gambar 4.1 Program Ditanamkan Pada Raspberry Pi
Web Server
4.
Melakukan pengujian terhadap hasil rancangan.
4.2 Pengujian Perangkat Lunak dan Perangkat Keras
Pengujian perangkat lunak dan perangkat keras dilakukan dengan
pengecekan pada masing-masing perangkat yang dirancang serta pengujian
komponen penunjang lainnya. Pengujian ini dilakukan untuk mengetahui kondisi
perangkat keras dan perangkat lunak yang akan dirancang.
4.2.1 Pengujian Raspberry Pi
Accses Point
(
Wifi
)
Pada pengujian ini Adapter Wifi TP-Link 727N berhasil memancarkan
sinyal yang akan diakses oleh klien, konfigurasi Akses Poin dapat dilihat pada
perancangan perangkat lunak. Berikut Gambar 4.2 hasil proses Wifi TP-Link 727
memancarkan sinyal.
(19)
4.2.2 Pengujian Raspberry Pi
Web Server
Pada pengujian raspberry pi
web server bertujuan untuk melihat apakah
informasi yang disediakan oleh raspberry pi web server sesuai. Pada pengujian web
server dilakukan mengunduh dan meng-install aplikasi Apache2, hasil dari proses
tersebut dapat dilihat melalui membuka aplikasi
browser dengan memasukkan
alamat
http://192.168.1.23
pada aplikasi web browser yang terdapat di raspberry pi,
atau melakukan pengecekan dengan perintah ping 192.168.1.23 pada terminal
raspberry pi maka akan tampak bahwa jaringan tersambung, proses ini dapat dilihat
pada Gambar 4.3.
Gambar 4.3 Proses Ping Raspberry Pi Web Server
4.2.2.1 Pengujian Pengendali Robot Pada
Client
Pada pengujian melalui klien PC/Handphone dilakukan dengan membuka
aplikasi web browser dengan memasukkan alamat URL pada aplikasi web browser
IP
http://192.168.1.23/test.php
maka akan tampak halaman web kontrol robot
seperti tampak pada Gambar 4.4 dapat silihat srkrip program tersebut pada
perancangan perangkat lunak. Berikut hasil hasil dari pengujian.
(20)
Gambar 4.4 Hasil Pengujian Kontrol Robot
Halaman
web
yang ditampilkan oleh Raspberry Pi dapat dilihat pada
Gambar 4.4 Ketika kita menekan tombol arah panah ke kanan maka putaran Motor
A akan berlawanan arah dengan putaran Motor B dimana Motor A akan bergerak
maju dan Motor B akan bergerak mundur, dan begitu juga pada saat penekanan
tombol arah panah ke kiri maka Motor A akan bergerak mundur dan Motor B akan
bergerak maju.
4.2.3 Pengujian Kecepatan Motor DC
Pada pengujian kecepatan Motor DC dilakukan dengan cara gerak yang
dialami benda pada sebuah lintasan berbentuk garis lurus, kecepatan didefinisikan
sebagai perubahan kedudukan setiap waktu, nilai kecepatan adalah hasil bagi jarak
dengan waktu yang ditempuh.
(21)
t = Waktu tempuh (jam, detik)
v = Kecepatan (km/jam, m/s)
pada pengujian kecepatan Motor DC dilakukan dengan cara mengabaikan momen
inersia dari robot, dan massa. Maka dengan persamaan ini didapat berapa kecepatan
dengan mengetahui jarak dan waktu yang ditempuh oleh robot.
� =
2
= 0.
�
�
Maka didapat kecepatan laju robot maksimal dengan mengetahui jarak dan waktu
sebesar 0.4 m/s.
4.2.4 Analisa Pegukuran Arus Pada Motor DC
Pada pengujian yang dilakukan dalam pengukuran arus motor dc maka
didapatkan data sebagai berikut :
NO
I Puncak Berbeban
I Normal Berbeban
I Normal Tidak berbeban
1
410 mA
2 Motor DC
270 mA
2 Motor DC
170 mA
2 Motor DC
Tabel 4.1 Pengukuran Konsumsi Arus Pada Motor DC
Dari tabel tersebut dijelaskan bahwa konsumsi arus pada kedua motor dc
semakin besar beban yang dibutuhkan oleh robot beroda maka semakin besar arus
yang dikonsumsi pada motor dc. Tiap-tiap motor dc pada saat arus puncak
mengkonsumsi arus sebesar 205 mA 1 motor dc, dan pada saat robot bergerak
(22)
normal 1 motor dc mengkonsumsi arus sebesar 135 mA, dan arus normal ketika
robot beroda tidak berbeban sebesar 85 mA 1 motor dc.
4.3 Pengujian Gerakan Motor DC
Pengujian gerak motor adalah menghubungkan
driver motor yang
menggunakan IC l298N ke pin GPIO (General Purpose Input Output) pada
Raspberry Pi yaitu Motor A ke pin 7, 11 dan untuk Motor B ke pin 12, 15. Melalui
program yang diberikan nilai logika tertentu ke driver motor sehingga motor dapat
bergerak searah jarum jam (Clock Wise = CW) maupun berlawanan arah jarum jam
(Contra Clock Wise = CCW). Kombinasi gerakan putaran motor dc kanan dan
motor kiri berdasarkan logika yaitu diberikan menyebabkan robot bergerak maju,
mundur, atau berbelok.
Hasil gerakan motor sesuai logika yang diberikan ditunjukan pada tabel 4.2
berikut :
NO
GPIO (General Purpose
Input Output)
Arah Putaran Motor
DC
1.
7, 11
12, 15
Motor A
Motor B
2.
0
1
1
0
CW
CW
3.
1
0
0
1
CCW
CCW
4.
1
0
1
0
CW
CCW
5.
0
1
0
1
CCW
CW
6
0
0
0
0
STOP
STOP
(23)
Dari hasil pengujian diatas gerakan robot berdasarkan tabel 4.2 dapat
dianalisa sebagai berikut :
1.
Logika biner 0110 akan menyebabkan Motor A dan Motor B akan berputar
searah jarum jam berarti robot akan maju.
2.
Logika biner 1001 akan menyebabkan Motor A dan Motor B akan berputar
berlawanan arah jarum jam berarti robot akan mundur.
3.
Logika biner 1010 akan menyebabkan Motor A akan berputar searah jarum
jam dan Motor B akan berputar berlawanan arah jarum jam, maka robot
akan berberlok ke kanan.
4.
Logika biner 0101 akan menyebabkan Motor A akan berputar berlawanan
arah jarum jam dan Motor B akan berputar searah jarum jam, maka robot
akan bergerak ke kiri.
5.
Logika biner 0000 Motor A dan Motor B berhenti berarti robot tidak
mengalami pergerakan sama sekali.
4.4 Pengujian Robot Secara Keseluruhan
Pada pengujian robot secara keseluruhan sesuai alat yang digunakan dalam
perancangan ini adalah :
1.
Power Bank 5400 mAh, tegangan 5 Volt, 1.5 A
output untuk catu daya
Raspberry Pi arus minimal yang dibutuhkan Raspberry Pi adalah 700mA
2.
Baterai LiPo 11.1 V, arus 2200 mAh atau 2.2 Ah untuk catu daya L298N
(24)
Dari 2 poin diatas didapat analisa perhitungan sesuai dengan spesifikasi alat
yang digunakan dalam perancangan ini adalah waktu yang dibutuhkan oleh robot
beroda ketika robot beroda dijalankan atau digunakan dalam keadaan catu daya
terhubung ke Raspberry Pi berupa Power Bank 5400mAh atau 5.4 Ah, tegangan
USB 5 Volt dan arus yang keluar dari Power Bank 1.5 A ke Raspberry Pi, dan
baterai LiPo 11,1 V, mempunyai arus 2.2 Ah untuk mensuplai tegangan pada driver
motor yaitu IC l298N dan Motor DC. Mengetahui arus keluaran kedua catu daya
yaitu power bank 5.4 Ah akan dibagi dengan arus keluaran pada baterai sebesar 2.2
Ah maka didapat sebesar 2.4 Ah = 2400 mAh atau 2.4 jam.
(25)
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Setelah melakukan perancangan dan pengujian sistem, dapat disimpulkan beberapa hal, antara lain :
1. Perangkat Robot dapat dikendalikan dari jarak jauh bersamaan dengan Raspberry Pi, dan dikendalikan dengan menggunakan aplikasi web browser menggunakan jaringan internet.
2. Pada perancangan robot beroda berbasis Raspberry Pi digunakan dua buah catu daya yaitu power bank untuk catu daya Raspberry Pi, dan batterai untuk suplai tegangan motor dc sebesar 11.1 Volt.
3. Dari spesifikasi alat yang diketahui berupa Raspberry Pi, Power Bank, Baterai 11.1 Volt didapat kesimpulan lama waktu yang dibutuhkan robot dalam keadaan nyala adalah kurang lebih 3.3 jam.
4. Dari konfigurasi wifi hanya 8 klien yang bisa mengakses wifi tersebut atau mengakses alamat kontrol robot.
5. Jarak akses robot terhadap klien berjarak kurang lebih 10 – 20 meter karena semakin jauh robot beroda dikendalikan maka respon klien yang akan mengirimkan logika terhadap robot lambat.
(26)
46
5.2 Saran
Untuk pengembangan perancangan aplikasi ini, maka didapat beberapa saran yang diberikan, antara lain :
1. Dirancang sebuah aplikasi berbasis android untuk remote control Robot Raspberry Pi.
2. Pada perancangan robot dengan pengendali jarak jauh hendaknya menggunakan kamera webcam untuk memantau kondisi robot dan lintasan yang akan dilalui oleh robot tersebut.
3. Perlunya perancangan desainrobot beroda yang lebih baik.
4. Disarankan agar membuat jarak kontrol terhadap robot beroda lebih jauh lagi.
(27)
BAB II
DASAR TEORI
2.1 Motor DC
Motor DC adalah peralatan listrik yang mengubah energi listrik menjadi energi mekanis. Motor DC adalah peralatan listrik yang memerlukan suplai tegangan searah pada kumparan jangkar dan kumparan medan untuk diubah menjadi energi mekanis. Beradasarkan karakteristiknya, Motor DC mempunyai daerah pengaturan putaran yang luas dibandingkan dengan Motor AC, sehingga sampai sekarang masih banyak digunakan pada pabrik-pabrik yang mesin yang mesin produksinya memerlukan putaran yang luas. Energi mekanik ini digunakan untuk menggerakkan atau memutar impeller pompa, fan atau blower, menggerakkan kompressor dan lain-lain.
Pada perancangan robot dalam Tugas Akhir ini digunakan Motor DC, Alasan menggunakan Motor DC adalah yang berukuran kecil dan ringan serta sumber tegangan yang diperlukan berupa batterai 12V dan arah putarannya dapat dengan mudah dibalikkan dengan cara membalikkan kutub tegangan masukkannya.
2.1.1 Prinsip Kerja Motor DC
Motor DC memerlukan suplai tegangan berupa arus searah pada kumparan medan untuk diubah menjadi energi mekanik. Bagian utama Motor DC adalah stator dan rotor dimana kumparan medan pada Motor DC disebut stator atau bagian yang tidak bergerak, dan kumparan jangkar disebut rotor atau bagian yang berputar.
(28)
7
Motor DC yang digunakan pada robot beroda adalah umumnya Motor DC dengan magnet permanen.
Motor DC jenis ini memiliki dua buah magnet permanen sehingga timbul medan magnet diantara kedua magnet tersebut. Didalam medan magnet inilah rotor/jangkar berputar. Jangkar yang terletak ditengah motor memiliki jumlah kutub yang ganjil dan pada setiap kutubnya terdapat lilitan. Lilitan terhubung ke area kontak yang disebut komutator. Sikat (brushes) yang terhubung ke kutub positif dan negatif motor memberikan daya ke lilitan sedemikian rupa sehingga kutub yang satu akan ditolak oleh magnet permanen yang berada di dekatnya, sedangkan lilitan lain akan ditarik ke magnet permanen yang lain sehingga menyebabkan jangkar berputar. Ketika jangkar berputar, komutator mengubah lilitan yang mendapat pengaruh polaritas medan magnet sehingga jangkar akan terus berputar selama kutub positif dan negatif Motor diberi daya. Pada Gambar 2.1 adalah gambar Motor DC sederhana.
Gambar 2.1 Motor DC Sederhana
Jika arus lewat pada suatu konduktor, timbul medan magnet disekitar konduktor tersebut. Arah medan magnet ditentukan oleh aliran arus pada
(29)
8
konduktor. Medan magnet yang membawa arus mengelilingi konduktor dapat dilihat pada Gambar 2.2.
Gambar 2.2 Medan Magnet Yang Membawa Arus Mengelilingi Konduktor
Gambar diatas menunjukkan medan magnet yang terbentuk disekitar konduktor berubah arah karena Berbentuk U. Medan magnet hanya terjadi disekitar sebuah konduktor, jika arus mengalir pada konduktor tersebut. Jika konduktor berbentuk U diletakkan diantara kutub utara dan selatan yang kuat medan magnet konduktor akan berinteraksi dengan medan magnet kutub.
2.2 Driver Motor DC IC L298N
Motor DC tidak dapat dikendalikan dengan menggunakan Raspberry Pi, maupun Mikrokontroller, karena kebutuhan arus listrik yang sangat besar pada Motor
(30)
9
DC sedangkan arus keluaran pada Raspberry Pi sangatlah kecil. Driver motor merupakan salah satu plihan alternatif yang harus digunakan untuk mengendalikan motor dc pada robot beroda. Ada beberapa driver motor yang sering digunakan pada aplikasi robotika, yaitu menggunakan H-Bridge transistor, H-Bridge MOSFET dan lain sebagainya. Dalam tugas akhir ini yang digunakan untuk untuk pengendali 2 motor dc adalah IC L298N sebuah chip H-Bridge yang mempunyai 2 buah rangkaian H-Bridge didalamnya, sehingga bisa mengendalikan 2 buah motor dc. Berikut Gambar yang menunjukan kaki-kaki pada driver motor L298N.
Gambar 2.3 Konfigurasi L298N
IC L298N sudah mencukupi digunakan sebagai rangkaian driver. Cukup dihubungkan ke Raspberry Pi dan diberi tegangan dengan arus minimal 2 ampere rangkaian driver berbasis L298N sudah dapat digunakan. Selain itu, suplai IC L298N dapat diberi tegangan sampai 50 Volt. (Data Sheet L298N).
(31)
10
2.3 Raspberry Pi
Raspberry pi adalah sebuah SBC (Single Board Computer) komputer yang seukuran kartu atm yang dikembang oleh yayasan Raspberry Pi di inggris produk ini dinamakan Raspberry Pi oleh pembuatnya yaitu , Eben Upton. Dengan maksud untuk memicu pengajaran ilmu komputer dasar disekolah-sekolah Raspberry Pi menggunakan system on a chip (SoC) dari Broadcom BCM2853, juga sudah termasuk prosesor ARMv10, kecepatan prosesor 700MHz – 1GHz dan 4 GPU, Raspberry Pi model B ini memiliki RAM sebesar 512 MB, dan untuk menyimpan data layaknya komputer, laptop biasanya menggunakan Hardisk tetapi Raspberry Pi ini hanya menggunakan kartu memori yang biasa digunakan untuk penyimpanan data di handphone baik berbasis symbian, android. Berikut Gambar Raspberry Pi Model B.
Gambar 2.4 Raspberry Pi Model B
Raspberry Pi bisa digunakan untuk berbagai macam kebutuhan dalam sehari-hari seperti rancang bangun server,rancang bangun robot, baik itu prototype maupun autonoumos dan perlatan teknologi lainya, Raspberry Pi juga bisa digunakan layaknya komputer biasa untuk kebutuhan perkantoran. Sistem operasi
(32)
11
yang digunakan Raspberry Pi yang sering digunakan adalah Raspbian yaitu turunan dari sistem operasi Debian , dan banyak sistem operasi yang digunakan untuk Raspberry Pi yang tentunya ber extensi ARM.
2.3.1 Jenis-jenis Raspberry Pi
Raspberry Pi terdiri dari 2 jenis yaitu Raspberry Pi tipe A dan Raspberry Pi tipe B.
1. Raspberry Pi tipe A.
Raspberry Pi model A merupakan produk keluaran pertama yang memiliki RAM 256 MB, terdiri dari 1 port USB, tidak mempunyai jaringan port Ethernet, mempunyai 1 port HDMI, mempunyai port RCA untuk konektor ke TV, dan memiliki daya yang lebih rendah sebesar 300 mA atau setara 1,5 Watt, model A ini terdapat pin GPIO (General Purpose Input Output) untuk dimamfaatkan oleh penggunanya. Catu daya dihubungkan ke port MicroUSB pada Raspberry Pi , catu daya biasa digunakan oleh penggunanya adalah dengan menggunaka charger handphone Android, Blackberry. Berikut Gambar Raspberry Pi tipe A.
(33)
12
2. Raspberry Pi tipe B
Raspberry Pi tipe B ini merupakan produk keluaran kedua yang memiliki spesifikasi yang lebih tinggi dari Raspberry Pi tipe A sebelumnya. Raspberry Pi tipe B ini mempunyai 2 port USB untuk perangkat I/O seperti keyboard dan mouse, Raspberry Pi model B ini terdapat 1 port ethernet untuk terkoneksi ke jaringan sehingga tipe B ini dapat digunakan untuk menjelajah di internet dan terhubung dengan komputer lain, dan juga terdapat pin GPIO untuk bisa digunakan untuk pengendali. Raspberry Pi tipe B ini memiliki catu daya sebesar 700 mA sebesar 5 Volt dan akan bertambah tergantung seberapa banyak peripheral yang kita hubungkan dengan sistem. Catu daya dihubunkan ke port MicroUSB pada Raspberry Pi sama seperti Raspberry Pi tipe A sebelumnya.
Gambar 2.6. Raspberry Pi Tipe B
2.3.2 GPIO (General Purpose Input Output)
GPIO (General Purpuse Input Output) adalah generik pin yang berfungsi sebagai I/O yang dapat digunakan untuk kontroler menggunakan software. Tegangan pada pin GPIO (General Purpose Input Output) 1,2,4,17adalah 3,3 Volt
(34)
13
dan 5 Volt tidak mempunyai toleransi. Semua pin GPIO (General Purpose Input Output) pada Raspberry Pi dapat dikonfigurasikan untuk menyediakan fungsi SPI, PWM, dan I2C. Berikut Gambar pin GPIO (General Purpose Input Output).
Gambar 2.7GPIO (General Purpose Input Output)
Pada gambar 7 terlihat pada pin 1 sebelah kiri mempunyai tegangan sebesar 3.3 Volt Power dan sebelah kanan pada pin 2 mempunyai tegangan sebesar 5 Volt dan selanjutnya pada pin 4 sebalah kanan 5 Volt dan pada pin sebelah kiri pin 17 tegangan sebesar 3.3 Volt.
2.4 Pemrograman Python
2.4.1 Pengertian Bahasa Pemrograman Python
Python adalah bahasa pemrograman multiguna dengan filosofi perancangan yang berfokus pada tingkat keterbacaan kode. Python diklaim sebagai bahasa yang menggabungkan kapabilitas, kemampuan, dengan sintaksis kode yang sangat jelas, dan dilengkapi dengan fungsionalitas pustaka standar yang besar serta
(35)
14
komprehensif. Python mendukung multi paradigma pemrograman, utamanya, namun tidak di batasi pada pemrograman berorientasi objek, pemrograman imperatif, dan pemrograman fungsional. Salah satu fitur yang tersedia pada python adalah sebagai pemrograman dinamis yang dilengkapi skrip meski pada praktiknya penggunaan bahasa ini lebih luas mencakup konteks pemanfaatan yang umumnya tidak dilakukan dengan menggunakan bahasa skrip. Python dapat digunakan untuk berbagai keperluan pengembang perangkat lunak dan dapat berjalan di berbagai platform sistem operasi. Saat ini kode python dapat dijalankan diberbagai platform sistem operasi, beberapa diantaranya adalah :
Linux/Unix Windows Mac OS X
Java Virtual Machine OS/2
Amiga Palm
2.4.2 Sejarah Pemrograman Python
Python dikembangkan oleh Guido Van Rossum 1990 di CWI, Amsterdam sebagai kelanjutan dari pemrograman ABC. Versi terakhir CWI adalah 1.2. Tahun 1995, Guido pindah ke CNRI sambil terus pengembangan pyhton. Versi terakhir yang dirilis adalah 1.6 tahun 2000, Guido dan para pengembang inti python pindah ke BeOpen.com yang merupakan sebuah perusahaan komersial dan membentuk
(36)
15
BeOpen PythonLabs. Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan Python 2.0, Guido dan beberapa anggota tim PythonLabs pindah ke DigitalCreations. Saat ini pengembangan python terus dilakukan oleh sekumpulan pemrograman yang di koordinir Guido dan Python Software Foundation. Python Software Foundation adalah sebuah organisasi non profit yang dibentuk sebagai pemegang hak cipta intelektual Python sejak versi 2.1 dan dengan demikian mencegah python dimiliki oleh perusahaan komersial. Saat ini distribusi python sudah mencapai versi 2.6.1 dan versi 3.0. Nama Python dipilih oleh Guido sebagai nama bahasa ciptaannya karena kecintaan Guido pada acara televisi Monty Python’s Flying Circus oleh karena itu ungkapan-ungkapan khas dari acara tersebut seringkali muncul dalam pengguna python. Beberapa fitur yang dimiliki pemrograman python adalah :
Memiliki kepustakaan yang luas, dalam distribusi Python telah disediakan modul-modul siap pakai untuk berbagai keperluan.
Memiliki tata bahasa yang jernih dan mudah dipelajari
Memiliki aturan layout kode sumber yang memudahkan pengecekan, pembacaan kembali dan penulisan ulang kode sumber.
Berorientasi objek
Memiliki sistem pengelolaan memori otomatis (garbage collections, seperti Java)
Modular, mudah dikembangkan dengan menciptakan modul-modul tersebut dapat dibangun dengan bahasa python maupun C/C++.
Memiliki fasilitas pengumpulan sampah otomatis, seperti halnya pada bahasa pemrograman Java, python memiliki fasilitas pengaturan
(37)
16
penggunaaan ingatan komputer para pemrograman tidak perlu melakukan pengaturan ingatan komputer secara langsung.
Memiliki banyak fasilitas pendukung sehingga mudah dalam pengoperasikannya.
2.4.3. RPi.GPIO
RPi.GPIO adalah perangkat lunak modul yang menawarkan akses GPIO (General Purpose Input Output) pada Raspberry Pi yang akan digunakan untuk menghubungkan GPIO (General Purpose Input Output) ke peralatan listrik, dimana fungsi dari modul RPi.GPIO ini adalah untuk berkomunikasi langsung dengan GPIO (General Purpose Input Output) yang sudah ditetapkan fungsinya, adapun fungsi dari modul RPi.GPIO ini adalah sebagai berikut.
1. PWM via DMA (Hingga 1µs)
2. GPIO input dan output (drop-in pengganti RPi.GPIO).
3. GPIO interupsi (callback ketika peristiwa terjadi pada masukan GPIO). 4. Socket TCP interupsi (callback ketika socket tcp klien mengirim data). 5. Command-line tools rpio dan rpio-curses
6. Open source (LGPLv3 +)
RPi.GPIO ini adalah perangkat lunak yang bisa dikembangkan dalam arti bebas dan dapat menyeberluaskan atau memodifikasi dibawah GNU Lesser Public License sebagaimana dipublikasikan oleh Free Foundation.
(38)
17
2.5 HTML (Hyper Text Markup Language)
HTML (Hyper Text Markup Language) adalah bahasa yang sangat tepat dipakai untuk menampilkan informasi pada halaman Web karena HTML menampilkan bentuk hypertext dan juga mendukung sekumpulan perintah yang dapat digunakan untuk mengatur tampilnya informasi tersebut. Sesuai dengan namanya, bahasa ini menggunakan tanda (markup) untuk menandai perintah-perintahnya. Saat ini banyak sekali aplikasi yang dapat digunakan untuk membuat Web Page secara mudah, seperti Microsoft FrontPage, Adobe Golive dan lainnya. Namun demikian untuk membuat seseorang Web Developer harus memiliki kemampuan dasar untuk menguasai perintah HTML. Untuk dapat menggunakan HTML membutuhkan beberapa hal, diantaranya adalah :
1. Memerlukan text editor untuk mengetikkan, seperti text ditor notepad, notepad++ dan lain sebagainya.
2. Memerlukan sebuah web browser untuk menampilkan program HTML yang sudah dibuat.
3. Membutuhkan tempat penyimpanan, Hardisk, floppy disk, atau web server. Tidak harus bekerja secara online dengan internet, hanya dapat menulis HTML kemudian menggunakan web browser secara offline.
(39)
18
2.6 PHP (PHP Hypertext Prepocessor)
PHP adalah singkatan dari (PHP Hypertext Prepocessor) yaitu bahasa pemrograman yang digunakan secara luas untuk penanganan pembuatan dan pengembangan sebuah situs web dan biasa digunakan bersamaan dengan HTML, PHP diciptakan oleh Rasmus LErdorf pertama kali tahun 1994, pada awalnya PHP adalah singkatan dari (Personal Home Page Tools). Beberapa kelebihan PHP dari bahasa pemrograman web antara lain:
1. Bahasa pemrograman PHP adalah sebuah script yang tidak melakukan sebuah kompilasi dalam penggunaanya.
2. Web server yang mendukung PHP dapat ditemukan dimana-mana dari mulai apache, IIS, Lighttpd, hingga Xitamu dengan konfigurasi yang relatif muda.
3. Dalam sisi pengembangan lebih mudah karena banyaknya milis-milis dan developer yang siap membantu dalam pengembangan.
4. Dalam sisi pemahaman, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak.
5. PHP adalah bahasa pemrograman open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintos, Windows) dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system.
2.7 HTTP Request dan Response
Sebuah aplikasi web berkomunikasi dengan perangkat lunak klien melalui HTTP sebagai protokol yang berbicara menggunakan request dan response
(40)
19
menjadikan aplikasi web bergantung kepada siklus ini untuk menghasilkan dokumen yang ingin diakses oleh pengguna. Secara umum aplikasi web yang kita kembangkan harus memiliki satu cara untuk membaca HTTP request dan mengembalikan HTTP response ke pengguna.
Pada pengembangan web tradisional, kita umumnya menggunakan sebuah web server seperti Apache atau Nginx sebagai penyalur konten statis seperti HTML,CSS,Javascript, maupun gambar. Untuk menambahkan aplikasi web kita kemudian menggunakan penghubung antar web server dengan program yang dikenal dengan nama CGI (Common Gateway Interface). CGI di implementasikan pada web server sebagai antarmuka penghubung antara web server dengan program yang akan menghasilkan konten scara dinamis. Program – program CGI biasanya dikembangkan dalam bentuk script, meskipun dapat saja dikembangkan dalam bahasa apapun. Contoh dari bahasa pemrograman dan program yang hidup dalam CGI adalah PHP. Untuk melihat dengan lebih jelas cara kerja CGI seperti gambar berikut :
Gambar 2.8 Cara Kerja CGI Web Server
(41)
20
1. Web server yang berhadapan langsung dengan pengguna, menerima HTTP request dan mengembalikan HTTP response.
2. Untuk konten statis seperti CSS, Javascript, gambar, maupun HTML, web server dapat langsung menyajikan sebagai HTTP response kepada pengguna.
3. Konten dinamis seperti program PHP maupun perl disajikan melalui CGI.
4. CGI script kemudian menghasilkan HTML atau konten statis lainnya yang akan disajikan sebagai HTTP response Kepada pengguna.
Meskipun terdapat banyak pengembangan selanjutnya dari CGI, ilustrasi sederhana di atas merupakan konsep inti ketika awal pengembangan CGI. Umumnya aplikasi web dengan CGI memiliki kelemahan di mana menjalankan script CGI mengharuskan web server untuk membuat sebuah proses baru. Pembuatan proses baru biasanya akan menggunakan banyak waktu dan memori dibandingkan dengan eksekusi script, dan karena setiap pengguna yang terkoneksi akan mengakibatkan hal ini terhadap server performa aplikasi akan menjadi kurang baik.
CGI sendiri menyediakan solusi untuk hal tersebut, misalnya FastCGI yang menjalankan aplikasi sebagai bagian dari web server. Bahasa lain juga menyediakan alternatif dari CGI, misalnya Java yang memiliki Servlet. Servlet pada Java merupakan sebuah program yang menambahkan fitur dari server secara langsung. Jadi pada pemrograman dengan Servlet, kita akan memiliki satu web
(42)
21
server di dalam program kita, dan pada web server tersebut akan ditambahkan fitur-fitur spesifik aplikasi web kita.
2.8 Raspberry Pi Web Server
Raspberry Pi server adalah sebuah sistem komputer yang menyediakan layanan tertentu dalam sebuah jaringan komputer. Server didukung dengan dengan prosesor yang bersifat scalable dan RAM yang cukup besar, juga dilengkapi dengan sistem operasi yang khusus untuk membuat server dikomputer Raspberry Pi, yang disebut sebagai sistem operasi jaringan. Server juga menjalankan perangkat lunak administratif yang mengontrol akses terhadap jaringan dan sumber daya yang terdapat didalamnya, seperti halnya berkas atau pencetak dan memberikan akses kepada anggota kerja jaringan. Raspberry Pi server mempunyai sistem operasi tetapi sistem operasi yang digunakan pada Tugas Akhir ini adalah sistem operasi Raspberry Pi itu sendiri yaitu Raspbian , dimana Raspbian adalah sistem operasi berbasis Linux turunan dari Linux Debian. Dimana Raspbian sengaja dirancang untuk prosesor ARM atau komputer Raspberry Pi, dan banyak lagi sistem operasi yang digunakan untuk prosesor ARM ini. Dalam tugas akhir ini Raspberry Pi dirancang sebagai Akses Point, Server dan sebagai Robot beroda yang dikendalikan dari web browser, smartphone, sebagai klien untuk mengendalikan 2 Motor dc pada Raspberry Pi tersebut.
(43)
BAB I
PENDAHULUAN
1.1Latar Belakang Masalah
Dewasa ini, teknologi robot berkembang dengan sangat pesat. Hal ini disebabkan karena munculnya beberapa kemudahan dalam merakit robot tersebut. Hal utama yang menjadi pembahasan dalam dunia robot adalah tentang pengendalian (control). Pada umumnya pengendali robot menggunakan serpih yang dikenal dengan mikrokontroller.
Dengan perkembangan teknologi yang sangat pesat maka muncullah teknologi baru yang dikenal dengan Raspberry Pi. Salah satu komputer mini yang banyak digunakan pada saat ini bernama Raspberry Pi. Raspberry Pi mampu bekerja sebagaimana layaknya sebuah mikrokontroller dengan di fasilitasi GPIO (General Purpose Input Output). Raspberry Pi ini sangat diminati dikalangan mahasiswa karena kemudahan dalam melakukan kontrol, rancang bangun server, pengawasan dan pembuatan robot. Salah satu aspek yang sangat penting adalah pengembangan robot, aspek pengandalian dalam kecepatan proses terkait dengan prosesor yang digunakan. Aspek lain tidak kalah pentingnya adalah pemanfaatan software yang mendukung untuk pengembangan sekaligus untuk mempermudah dalam artian mudah dibuat dan mudah digunakan serta mudah untuk dibawa kemana-mana.
(44)
2
Atas dasar ini penulis mengambil judul laporan tugas akhir ini yaitu “ Rancang Bangun Robot Beroda Dengan Pengendali Jarak Jauh Berbasis Raspberry Pi”.
1.2Rumusan Masalah
Dari latar belakang masalah diatas, maka didapat berbagai masalah yang dapat dirumuskan antara lain sebagai berikut :
1. Membuat rancang bangun Robot beroda
2. Membuat pengendali Motor DC dengan pengendali jarak jauh. 3. Mengimplementasikan Robot beroda berbasis Raspberry Pi.
4. Pemilihan Raspberry Pi dengan pengendali robot beroda dengan jarak jauh disebabkan karena kemampuannya yang sudah cukup lengkap.
1.3 Tujuan Penulisan
Tujuan Tugas Akhir ini adalah :
1. Memperkaya pengetahuan dan pemahaman tentang penggunaan Raspberry Pi.
2. Studi terhadap suatu alat yang dapat mengontrol robot beroda dengan jarak jauh berbasis Raspberry Pi.
(45)
3
1.4 Batasan Masalah
Untuk menghindari pembahasan yang terlalu luas pada Tugas Akhir ini maka penulis perlu membuat batasan cakupan masalah yang akan dibahas. Hal ini diperbuat agar isi dan pembahasan dari Tugas Akhir ini menjadi lebih terarah dan mencapai hasil yang diharapkan. Adapun batasan masalah dalam tugas akhir ini sebagai berikut :
1. Tidak membahas proses penginstalan sistem operasi raspbian pada Raspberry Pi.
2. Hanya membahas tentang mengendalikan robot beroda dengan pengendali jarak jauh menggunakan aplikasi web browser.
1.5 Metode Penelitian
Untuk dapat menyelesaikan tugas akhir ini maka penulis menerapkan beberapa metode penelitian diantaranya :
1. Tahap perancangan perangkat keras
Perancangan peragkat keras diimplementasikan pada Raspberry Pi sebagai perangkat utama, IC L298N, adapter wifi TP-Link 727N.
2. Tahap perancangan perangkat lunak
Perancangan perangkat lunak diimplementasikan dengan menggunakan bahasa pemrograman HTML, PHP, dan Python, yang akan ditanamkan di Raspberry Pi.
(46)
4
Implementasi dan pengujian alat dari sistem yang dirancang ini dibutuhkan untuk memeriksa kinerja sistem dari sistem yang dirancang.
1.6 Sistematika Penulisan
Untuk memberikan gambaran mengenai Tugas Akhir ini, secara singkat dapat diuraikan sistematika penulisan sebagai berikut :
BAB I : PENDAHULUAN
Bab ini berisi tentang pendahuluan, latar belakang masalah, rumusan masalah, tujuan penulisan, batasan masalah, metodologi penulisan dan sistematika penulisan dari Tugas Akhir ini.
BAB II : TEORI DASAR
Bab ini membahas mengenai fungsi dan fitur komponen yang digunakan dalam tugas akhir ini. Pada bab ini juga dibahas mengenai bahasa pemrograman yang digunakan untuk perangkat lunak Raspberry Pi.
BAB III : PERANCANGAN PERANGKAT KERAS DAN PERANGKAT LUNAK
Bab ini berisi tentang perancangan alat-alat dan software yang ditanamkan dalam Raspberry Pi.
(47)
5
Bab ini berisi hasil implementasi dan pengujian dari keseluruhan robot Raspberry Pi.
BAB V : KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dari hasil perancangan perangkat keras dan perangkat lunak secara keseluruhan dan saran-saran yang memungkin untuk mengembangkan lebih lanjut.
(48)
ABSTRAK
Tulisan ini membahas tentang peracangan sebuah robot beroda yang dapat dikendalikan dari jarak jauh. Pengendali utama pada robot beroda ini adalah Raspberry Pi. Alat ini juga dapat bekerja sebagai web server, access point, dan dilengkapi dengan piranti GPIO (General Purpose Input Output). Perancangan robot beroda pengendali jarak jauh menggunakan aplikasi web browser sebagai klien dan driver motor L298N sebagai pengendali Motor DC. Bahasa pemrograman dalam perancangan adalah Python, PHP, dan HTML. Robot beroda berbasis Raspberry Pi dikendalikan secara manual oleh operator yaitu dengan penekanan tombol panah pada halaman web browser.
(49)
TUGAS AKHIR
RANCANG BANGUN ROBOT BERODA DENGAN PENGENDALI
JARAK JAUH BERBASIS RASPBERRY PI
Oleh :
INDRA RIZKIAWAN
070402023
DEPARTEMEN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SUMATERA UTARA
MEDAN
(50)
RANCANG BANGUN ROBOT BERODA DENGAN PENGENDALI
JARAK JAUH BERBASIS RASPBERRY PI
Oleh :
INDRA RIZKIAWAN
070402023
Disetujui oleh:
Pembimbing,
RAHMAD FAUZI ST,MT
NIP. 19690424241997021001
Diketahui oleh:
Ketua Departemen Teknik Elektro FT USU,
Ir. SURYA TARMIZI KASIM, M.Si
NIP. 19540531 198601 1002
DEPARTEMEN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SUMATERA UTARA
MEDAN
(51)
ABSTRAK
Tulisan ini membahas tentang peracangan sebuah robot beroda yang dapat dikendalikan dari jarak jauh. Pengendali utama pada robot beroda ini adalah Raspberry Pi. Alat ini juga dapat bekerja sebagai web server, access point, dan dilengkapi dengan piranti GPIO (General Purpose Input Output). Perancangan robot beroda pengendali jarak jauh menggunakan aplikasi web browser sebagai klien dan driver motor L298N sebagai pengendali Motor DC. Bahasa pemrograman dalam perancangan adalah Python, PHP, dan HTML. Robot beroda berbasis Raspberry Pi dikendalikan secara manual oleh operator yaitu dengan penekanan tombol panah pada halaman web browser.
(52)
KATA PENGANTAR
Puji dan syukur penulis ucapkan kepada Allah SWT dan Nabi Kita Muhammad SAW atas berkat, rahmat dan karunia yang dilimpahkan sehingga penulis dapat menyelesaikan Tugas Akhir yang berjudul:
“
RANCANG BANGUN ROBOT BERODA DENGAN
PENGENDALI JARAK JAUH BERBASIS RASPBERRY PI
”Tugas akhir ini merupakan bagian dari kurikulum yang harus diselesaikan untuk memenuhi persyaratan menyelesaikan pendidikan Sarjana Strata Satu (S-1) di Departemen Teknik Elektro Fakultas Teknik Universitas Sumatera Utara.
Selama penulis menjalani pendidikan di kampus hingga diselesaikannya Tugas Akhir ini penulis persembahkan kepada yang teristimewa yaitu: Ayahanda Ibrahim Gafar dan Ibunda Dahlia yang merupakan bagian hidup penulis yang senantiasa mendukung dan mendoakan dari sejak penulis lahir hingga sekarang, serta untuk kedua saudari penulis, yaitu abang Andi dan adik Dede yang selalu memberikan semangat kepada penulis dalam proses penyelesaian Tugas Akhir ini. Tugas Akhir ini, penulis banyak menerima bantuan, bimbingan serta dukungan dari berbagai pihak. Pada kesempatan ini penulis ingin menyampaikan terimakasih yang tulus dan sebesar-besarnya kepada:
1. Bapak Rahmad Fauzi ST,MT sebagai Dosen Pembimbing Tugas Akhir penulis yang sangat besar bantuannya dalam menyelesaikan Tugas Akhir ini.
(53)
2. Bapak Ir. Surya Tarmizi Kasim, M.Si dan Bapak Rachmad Fauzi ST, MT selaku Ketua dan Sekretaris Departemen Teknik Elektro Fakultas Teknik Universitas Sumatera Utara.
3. Kepada Ayah dan Ibu tercinta yang telah menghantarkan doa, perhatian, semangat dan segalanya sehingga penulisan Tugas Akhir ini dapat terselesaikan.
4. Kepada seluruh keluarga penulis yang tak henti memberi dukungan untuk menyelesaikan Tugas Akhir ini
5. Seluruh staf pengajar yang telah memberi bekal ilmu kepada penulis dan seluruh pegawai Departemen Teknik Elektro, Fakultas Teknik, Universitas Sumatera Utara atas segala bantuannya.
6. Bayu, Fernadi, Darminton08, Reki Seuharmon, Budi 09, Robi 10, Reza 09, Teguh Triantoro 09, Arif 09, yang selalu menjadi teman penulis selama ini. 7. Sahabat-sahabat terbaik di Elektro: Yovie, Bayu, Frans, Raedi, Ichsan,
Ridho, Dion dan segenap angkatan ‘07, semoga silaturahmi kita terus terjaga.
8. Teman–teman baik penulis, yang akan melebihi tebalnya Tugas Akhir jika disebutkan satu per satu.
9. Seluruh teman-teman mahasiswa/i di Departemen Teknik Elektro, atas dukungan dan bantuan yang diberikan kepada penulis.
10.Semua pihak yang tidak sempat penulis sebutkan satu per satu.
(54)
Penulis menyadari bahwa Tugas Akhir ini masih banyak kekurangannya. Kritik dan saran dari pembaca untuk menyempurnakan Tugas Akhir ini sangat penulis harapkan. Kiranya Tugas Akhir ini dapat bermanfaat bagi kita semua.
Terimakasih
Medan, Januari 2015 Penulis
(55)
DAFTAR ISI
ABSTRAK ... i
KATA PENGANTAR ... ii
DAFTAR ISI ... v
DAFTAR GAMBAR ... viii
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang Masalah ... 1
1.2. Rumusan Masalah ... 2
1.3. Tujuan Penelitian ... 2
1.4 . Batasan Masalah ... 3
1.5. Metode Penelitian ... 3
1.6. Sistematika Penulisan ... 4
BAB II DASAR TEORI ... 6
2.1. Pengertian umum Motor DC ... 6
2.1.1. Prinsip dasar kerja Motor DC ... 6
2.2. Driver Motor dc IC L298N ... 8
2.3. Raspberry Pi ... 10
2.3.1. Jenis-jenis Raspberry Pi ... 11
(56)
2. Raspberry Pi tipe B ... 12
2.3.2 GPIO (General Purpose Input Output) ... 12
2.4. Pemrograman Python ... 13
2.4.1. Pengertian Bahasa Pemrograman Python ... 13
2.4.2. Sejarah Pemrograman Python... 14
2.4.3. RPi.GPIO ... 16
2.5. HTML ... 17
2.6. PHP(PHP Hypertext Preprocessor) ... 18
2.7. HTTP Request dan Response ... 18
2.8. Raspberry Pi Server ... 21
BAB III PERANCANGAN PERANGKAT KERAS DAN PERANGKAT LUNAK ... 22
3.1 Gambaran Umum Sistem ... 22
3.2 Konsumsi Arus Dari Komponen yang dicatu ... 23
3.3 Konfigurasi GPIO dan Motor DC, L298N ... 23
3.4 Konfigurasi Wifi TP-Link 727 dan Raspberry Pi ... 25
3.5 Perancangan Perangkat Lunak ... 25
3.6 Konfigurasi Wifi TP-Link 727N ... 26
(57)
3.7.1 Web Server ... 29
3.7.2 Apache2 ... 30
3.7.3 Pemrograman PHP... 30
3.7.4 Halaman Web Kontrol Robot ... 31
3.8 Kombinasi HTML, PHP, dan Pyhton ... 32
BAB IV IMPLEMENTASI DAN PENGUJIAN ... 37
4.1 Implementasi ... 37
4.2 Pengujian Perangkat Lunak dan Perangkat Keras ... 38
4.2.1 Pengujian Raspberry Pi Accses Point (Wifi) ... 38
4.2.2 Pengujian Raspberry Pi Web Server ... 39
4.2.2.1 Pengujian Pengendali Robot Pada Klien Pc/Handphone ... 39
4.2.3 Pengujian Kecepatan Motor DC ... 40
4.2.4 Analisa Pengukuran Arus Pada Motor DC ... 41
4.3 Pengujian Gerakan Motor DC ... 42
4.4 Pengujian Robot Secara Keseluruhan ... 43
BAB V KESIMPULAN DAN SARAN ... 45
5.1 Kesimpulan ... 45
(58)
(59)
DAFTAR GAMBAR
Gambar 2.1
Motor DC Sederhana ... 6
Gambar 2.2
Medan Magnet Membawa Arus Mengelilingi Konduktor ... 7
Gambar 2.3
Konfigurasi
L298N
...
8
Gambar 2.4
Raspberry Pi Model B ... 9
Gambar 2.5
Raspberry Pi Tipe A ... 10
Gambar 2.6
Raspberry Pi Tipe B ... 11
Gambar 2.7
GPIO
(General Purpose Input Output) ... 12
Gambar 2.7
Cara Kerja CGI Web Server ... 19
Gambar 3.1
Diagram Blok Sistem ... 22
Gambar 3.2
Rangkaian GPIO Raspberry Pi Ke L298N dan Motor DC ... 23
Gambar 3.3
TP-Link 727N Terhubung Dengan Raspberry Pi ... 24
Gambar 3.4
Halaman
Web
Kontrol
Robot ... 30
Gambar 4.1
Program Ditanamkan Pada Raspberry Pi Web Server ... 37
Gambar 4.2
Proses
Sinyal
Wifi TP-Link 727N ...
37
Gambar 4.3
Proses ping Raspberry Pi Web Server ... 38
(60)
DAFTAR TABEL
Table 4.1
Pengukuran Konsumsi Arus Pada Motor DC ... 40
Tabel 4.2
Gerakan Motor DC ... 41
(1)
DAFTAR ISI
ABSTRAK ... i
KATA PENGANTAR ... ii
DAFTAR ISI ... v
DAFTAR GAMBAR ... viii
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang Masalah ... 1
1.2. Rumusan Masalah ... 2
1.3. Tujuan Penelitian ... 2
1.4 . Batasan Masalah ... 3
1.5. Metode Penelitian ... 3
1.6. Sistematika Penulisan ... 4
BAB II DASAR TEORI ... 6
2.1. Pengertian umum Motor DC ... 6
2.1.1. Prinsip dasar kerja Motor DC ... 6
2.2. Driver Motor dc IC L298N ... 8
2.3. Raspberry Pi ... 10
2.3.1. Jenis-jenis Raspberry Pi ... 11
(2)
2. Raspberry Pi tipe B ... 12
2.3.2 GPIO (General Purpose Input Output) ... 12
2.4. Pemrograman Python ... 13
2.4.1. Pengertian Bahasa Pemrograman Python ... 13
2.4.2. Sejarah Pemrograman Python... 14
2.4.3. RPi.GPIO ... 16
2.5. HTML ... 17
2.6. PHP(PHP Hypertext Preprocessor) ... 18
2.7. HTTP Request dan Response ... 18
2.8. Raspberry Pi Server ... 21
BAB III PERANCANGAN PERANGKAT KERAS DAN PERANGKAT LUNAK ... 22
3.1 Gambaran Umum Sistem ... 22
3.2 Konsumsi Arus Dari Komponen yang dicatu ... 23
3.3 Konfigurasi GPIO dan Motor DC, L298N ... 23
3.4 Konfigurasi Wifi TP-Link 727 dan Raspberry Pi ... 25
3.5 Perancangan Perangkat Lunak ... 25
3.6 Konfigurasi Wifi TP-Link 727N ... 26
(3)
3.7.1 Web Server ... 29
3.7.2 Apache2 ... 30
3.7.3 Pemrograman PHP... 30
3.7.4 Halaman Web Kontrol Robot ... 31
3.8 Kombinasi HTML, PHP, dan Pyhton ... 32
BAB IV IMPLEMENTASI DAN PENGUJIAN ... 37
4.1 Implementasi ... 37
4.2 Pengujian Perangkat Lunak dan Perangkat Keras ... 38
4.2.1 Pengujian Raspberry Pi Accses Point (Wifi) ... 38
4.2.2 Pengujian Raspberry Pi Web Server ... 39
4.2.2.1 Pengujian Pengendali Robot Pada Klien Pc/Handphone ... 39
4.2.3 Pengujian Kecepatan Motor DC ... 40
4.2.4 Analisa Pengukuran Arus Pada Motor DC ... 41
4.3 Pengujian Gerakan Motor DC ... 42
4.4 Pengujian Robot Secara Keseluruhan ... 43
BAB V KESIMPULAN DAN SARAN ... 45
5.1 Kesimpulan ... 45
(4)
(5)
DAFTAR GAMBAR
Gambar 2.1
Motor DC Sederhana ... 6
Gambar 2.2
Medan Magnet Membawa Arus Mengelilingi Konduktor ... 7
Gambar 2.3
Konfigurasi
L298N
...
8
Gambar 2.4
Raspberry Pi Model B ... 9
Gambar 2.5
Raspberry Pi Tipe A ... 10
Gambar 2.6
Raspberry Pi Tipe B ... 11
Gambar 2.7
GPIO
(
General Purpose Input Output
)
...
12
Gambar 2.7
Cara Kerja CGI Web Server
...
19
Gambar 3.1
Diagram Blok Sistem ... 22
Gambar 3.2
Rangkaian GPIO Raspberry Pi Ke L298N dan Motor DC ... 23
Gambar 3.3
TP-Link 727N Terhubung Dengan Raspberry Pi ... 24
Gambar 3.4
Halaman
Web
Kontrol
Robot
...
30
Gambar 4.1
Program Ditanamkan Pada Raspberry Pi Web Server ... 37
Gambar 4.2
Proses
Sinyal
Wifi
TP-Link 727N
...
37
Gambar 4.3
Proses ping Raspberry Pi Web Server ... 38
(6)