Rancang Bangun Robot Beroda Dengan Pengendali Jarak Jauh Berbasis Raspberry Pi

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.

6

Universitas Sumatera Utara

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

 

Universitas Sumatera Utara

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

 

Universitas Sumatera Utara

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).

 

Universitas Sumatera Utara


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

 

Universitas Sumatera Utara

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.

Gambar 2.5. Raspberry Pi Tipe A

 

Universitas Sumatera Utara

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,17 adalah 3,3 Volt


 

Universitas Sumatera Utara

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.7 GPIO (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

 

Universitas Sumatera Utara

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

 

Universitas Sumatera Utara

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

 

Universitas Sumatera Utara

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.

 

Universitas Sumatera Utara

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 perintahperintahnya. 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.

 

Universitas Sumatera Utara

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

 

Universitas Sumatera Utara

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
Yang dapat kita Tarik dari gambar diatas adalah :

 

Universitas Sumatera Utara

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

 

Universitas Sumatera Utara

21

 

server di dalam program kita, dan pada web server tersebut akan ditambahkan fiturfitur 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.

 

Universitas Sumatera Utara