Rancang Bangun Robot Beroda Dengan Pengendali Jarak Jauh Berbasis Raspberry Pi

(1)

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)

DAFTAR TABEL

Table 4.1

Pengukuran Konsumsi Arus Pada Motor DC ... 40