BAB II TINJAUAN PUSTAKA 2.1 State of The Art Review Penelitian

advertisement
BAB II
TINJAUAN PUSTAKA
2.1
State of The Art Review
Penelitian tentang robot mobil saat ini telah banyak dilakukan, terutama
yang berkaitan dengan perancangan perangkat keras serta metode pergerakan pada
robot mobil. Namun, dari penelitian tersebut belum ada yang melakukan
penelitian mengenai pengembangan pengendalian pergerakan robot mobil yang
secara mudah dapat dilakukan oleh setiap orang, karena sebagian besar robot
mobil saat ini dikendalikan dengan menggunakan remote control atau kendali
secara otomatis. Melalui penelitian mengenai prototype sistem kendali otomatis
robot mobil untuk parkir pintar menggunakan komunikasi nirkabel, diharapkan
mampu untuk mempermudah mengendalikan pergerakan dari robot mobil pada
saat menelusuri ruangan. Berikut ini beberapa referensi yang dapat dijadikan
acuan dalam menjelaskan mengenai penelitian tentang prototype sistem kendali
otomatis robot mobil.
1. Pada penelitian yang dilakukan oleh B.Ranga Raju yang di publish pada
sebuah jurnal penelitian dari Sri Vasavi Engineering College, Tadepalligudem,
India pada tahun 2014 yang berjudul “ARM7 Microcontroller based Robot
controlled by an Android mobile utilizing Bluetooth”, diperoleh bahwa dalam
penelitian ini penulis menggunakan remote control dari android yang berfungsi
untuk kendali wireless pada mobile robot sehingga memungkinkan mobile
robot mampu menerima perintah melalui android. (Raju, 2014).
2. Pada penelitian yang dilakukan oleh Ritika Pahuja yang di publish pada sebuah
jurnal penelitian dari BRCM College of Engineering & Technology, Bahal,
India pada tahun 2014 yang berjudul “Android Mobile Phone Controlled
Bluetooth Robot Using 8051 Microcontroller”, diperoleh bahwa dalam
penelitian ini penulis menggunakan bluetooth HC series sebagai receiver dan
pada smartphone digunakan Software Bluetooth RC Control yang sudah dapat
di download secara langsung di appstore yang berfungsi untuk kendali wireless
mobil robot (Pahuja, 2014).
4
5
2.2
Robot Mobil
Robot dalam segala bentuk dan fungsinya adalah salah satu hasil kemajuan
teknologi yang banyak membantu aktivitas manusia. Penggunaan tersebar dari
dunia militer, medis, sampai rumah tangga. Di dunia militer dan penanggulangan
bencana, fenomena ini umumnya didasari pada keinginan yang kuat untuk
mengurangi jumlah korban jiwa manusia pada berbagai tugas militer. Pada
kebutuhan industri dan rumah tangga pada umumnya penggunaan robot didorong
oleh keinginan untuk menjadikan robot sebagai pengganti pekerja manusia pada
hal-hal yang sesuai dan menuntut untuk hal tersebut. Robot mobil adalah bentuk
robot yang paling banyak digunakan pada kebutuhan rumah tangga dan bahkan
pada industri. Untuk dapat menjalankan tugasnya maka robot mobil yang
dirancang haruslah mampu melakukan hal-hal berikut:
1. Melakukan pergerakan secara autonomous/tanpa dikendalikan operator dengan
sistem navigasi yang dimilikinya.
2. Mencari atau mendeteksi obyek atau benda yang menjadi bagian dari tugasnya.
3. Melakukan tindakan terhadap obyek sesuai dengan fungsi dari robot tersebut
(Widodo, 2009).
Robot mobil adalah konstruksi robot yang ciri khasnya adalah mempunyai
aktuator berupa roda untuk menggerakkan keseluruhan badan robot tersebut,
sehingga robot tersebut dapat melakukan perpindahan posisi dari satu titik ke titik
yang lain. Robot mobil ini sangat disukai bagi orang yang mulai mempelajari
robot, hal ini karena membuat robot mobil tidak memerlukan kerja fisik yang
berat. Untuk dapat membuat sebuah robot mobil minimal diperlukan pengetahuan
tentang mikrokontroler dan sensor-sensor elektronik. Dasar dari robot mobil dapat
dengan mudah dibuat dengan menggunakan plywood/triplek, akrilik sampai
menggunakan logam (aluminium). Robot mobil dapat dibuat sebagai pengikut
garis (line follower) atau pengikut dinding (wall follower) ataupun pengikut
cahaya (Syam, 2011).
6
2.3
Komponen Elektronika
2.3.1 Mikrokontroler
Mikrokontroler adalah sebuah sistem mikroprosesor di mana didalamnya
sudah terdapat CPU, ROM, RAM, I/O, Clock dan peralatan internal lainya yang
sudah saling terhubung dan terorganisai (terlamati) dengan baik oleh pabrik
pembuatnya dan dikemas dalam satu chip yang siap pakai, sehingga kita hanya
perlu memprogram isi ROM sesuai aturan penggunaan oleh pabrik pembuatnya
(Winoto, 2008). Mikrokontroler berfungsi sebagai pusat pengolahan data dan
pengendali bagi perangkat lain seperti sensor. Salah satu mikrokontroler yang
banyak digunakan saat ini adalah mikrokontroler AVR (Alf and Vegard’s Risc
Processor). AVR adalah mikrokontroler dengan basis arsitektur AVR RISC
(Reduced Intrution Set Computer) 8 bit yang berdasarkan arsitektur Harvard, yang
dibuat oleh Atmel tahun 1996. Mikrokontroler AVR memiliki keunggulan
dibandingankan dengan mikrokontroler lainnya. Keunggulan mikrokontroler
AVR yaitu kecepatan dalam eksekusi program yang lebih cepat karena sebagian
besar instruksi dieksekusi dalam 1 siklus clock, lebih cepat dibandingkan dengan
mikrokontroler MCS51 yang memiliki arsitektur CISC (Complex Intruction Set
Computer) (Adrianto, 2008). Selain itu mikrokontroler AVR memiliki fitur
lengkap yaitu ADC Internal, PWM, EEPROM Internal, Port I/O, Komunikasi
Serial, I2C, timer/ counter, dan lain-lain (Ardika, 2013).
2.3.1.1 Mikrokontroller AVR ATmega32
ATmega32 merupakan jenis mikrokontroler AVR CMOS 8-bit yang
basis arsitektur AVR RISC (Reduced Intrution Set Computer). ATmega32
memiliki kelebihan yaitu mampu mencapai keluaran yang sepuluh kali lebih cepat
dibandingkan dengan mikrokontroler MCS51 dengan arsitektur CISC. Hal ini
karena ATmega32 mempunyai 32 register kerja dalam mikrokontroler terhubung
secara langsung pada Arithmetic Logic Unit (ALU) yang memungkinkan dua
register berbeda diakses pada satu instruksi yang dijalankan pada satu siklus
clock. ATmega32 mempunyai throughput mendekati 1 Million Instruction Per
Second (MIPS) per MHz, sehingga membuat konsumsi daya menjadi rendah
terhadap kecepatan proses eksekusi perintah. AVR juga memiliki In-System
7
Programmable (ISP) Flash on-chip yang mengijinkan memori program untuk
diprogram ulang dalam sistem menggunakan hubungan Serial Peripheral Inteface
(SPI) (Surya.2011). Adapun beberapa keistimewaan dari AVR ATmega32 antara
lain:
1. Mikrokontroler AVR 8 bit yang memilliki kemampuan tinggi dengan konsumsi
daya rendah.
2. Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi
16MHz.
3. Memiliki kapasitas Flash memori 32 Kbyte, EEPROM 512 Byte dan SRAM 1
Kbyte.
4. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D.
5. CPU yang terdiri dari 32 buah register.
6. Unit interupsi dan eksternal.
7. Port USART untuk komunikasi serial.
8. Fitur peripheral
a. Tiga buah Timer/Counter dengan kemampuan perbandingan (compare)
1. Dua buah Timer/Counter 8 bit dengan Prescaler terpisah dan Mode
Compare.
2. Satu buah Timer/Counter 16 bit dengan Prescaler terpisah, Mode
Compare dan Mode Capture.
3. Real Time Counter dengan Oscillator tersendiri.
b. Empat kanal PWM
c. 8 kanal ADC
1. 8 Single-ended Channel dengan keluaran hasil konversi 8 dan 10 resolusi
(register ADCH dan ADCL).
2. 7 Diferrential Channel hanya pada kemasan Thin Quad Flat Pack
(TQFP).
3. 2 Differential Channel dengan Programmable Gain.
d. Antarmuka Serial Peripheral Interface (SPI) Bus.
e. Watchdog Timer dengan Oscillator Internal.
f. On-chip Analog Comparator.
8
9. Non-volatile program memory (Pancev, 2014).
Berikut ini merupakan konfigurasi pin yang terdapat pada chip
mikrokontroller ATmega32:
Gambar 2.1 Konfigurasi PIN AVR ATmega32
(Sumber: datasheet ATmega32)
Konfigurasi pin ATmega32 dengan kemasan 40 pin Dual In-line
Package (DIP) dapat dilihat pada Gambar 2.1. Dari gambar diatas dapat
dijelaskan fungsi dari masing-masing pin ATmega32 sebagai berikut,
1. VCC merupakan pin yang berfungsi sebagai masukan catu daya.
2. GND merupakan pin Ground.
3. Port A (PA0 – PA7) merupakan pin input/output dua arah (full duplex) dan
selain itu merupakan pin masukan ADC.
4. Port B (PB0 – PB7) merupakan pin input/output dua arah (full duplex) dan
selain itu merupakan pin khusus
9
Pin khusus Port B (PB0-PB7) yang merupakan pin input/output dua arah(full
duplex) dapat dilihat seperti dapat dilihat pada Tabel 2.1 dibawah ini.
Tabel 2.1 Fungsi khusus Port B (Sumber: datasheet ATmega32)
Pin
PB0
PB1
PB2
PB3
Fungsi Khusus
XCK (USART External Clock Input/Output)
T0 (Timer/Counter0 External Counter Input)
T1 (Timer/Counter1 External Counter Input)
INT2 (External Interupt 2 Input)
AIN0 (Analaog Comparator Negative Input)
OC0 (Timer/Counter0 Output Compare Macth Output)
AIN1 (Analaog Comparator Negative Input)
PB4
(SPI Slave Select Input)
PB5
MOSI (SPI Bus Master Output /Slave Input)
PB6
MISO (SPI Bus Master Input/Slave Output)
PB7
SCK (SPI Bus Serial Clock)
5. Port C (PC0 – PC7) merupakan pin input/output dua arah (full duplex) dan
selain itu merupakan pin khusus, seperti dapat dilihat pada Tabel 2.2 dibawah
ini.
Tabel 2.2 Fungsi khusus Port C (Sumber: datasheet ATmega32)
Pin
Fungsi Khusus
PC0
SCL (Two-wire Serial Bus Clock Line)
PC1
SDA (Two-wire Serial BusData Input/Output Line)
PC2
TCK (Joint Test Action Group Test Clock)
PC3
TMS (JTAG Test Mode Selct)
PC4
TDO (JTAG Data Out)
PC5
TDI (JTAG Test Data In)
PC6
TOSC1 (Timer Oscillator pin 1)
PC7
TOSC2 (Timer Oscillator pin 2)
6. Port D (PD0 – PD7) merupakan pin input/output dua arah (full duplex) dan
selain itu merupakan pin khusus, Pin khusus Port D (PD0-PD7) yang
10
merupakan pin input/output dua arah (full duplex) dapat dilihat seperti dapat
dilihat pada Tabel 2.3 dibawah ini.
Tabel 2.3 Fungsi Khusus Port D (Sumber: datasheet ATmega32)
Pin
Fungsi Khusus
PD0
RXD (USART Input Pin)
PD1
TXD (USART Output Pin)
PD2
INT0 (External Interupt 0 Input)
PD3
INT1 (External Interupt 1 Input)
PD4
OC1B (Timer/Counter1 Output Compare B Macth Output)
PD5
OC1A (Timer/Counter1 Output Compare A Macth Output)
PD6
ICP (Timer/Counter1 Input Capture Pin)
PD7
OC2 (Timer/Counter2 Output Compare Macth Output)
7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.
8. XTAL1 dan XTAL2, merupakan pin masukan external clock.
9. AVCC merupakan pin masukan tegangan untuk ADC.
10. AREF merupakan pin masukan tegangan referensi untuk ADC.
2.3.1.2 Komunikasi Serial USART
USART
singkatan
dari
Universal
Syncronous
Asyncronous
Receiver/Transmiter. Pada mikrokontroler ATmega32 memiliki beberapa
kelebihan sistem USART yaitu:
1. Operasi full duplex (mempunyai register receiver dan transmitter yang
terpisah.
2. Operasi Syncronous dan Asyncronous.
3. Mendukung komunikasi multiprosesor.
4. Mode kecepatan transmisi berorde Mbps (Pancev, 2014).
2.3.2 Regulator
Regulator adalah rangkaian pembangkit tegangan yang merupakan
rangkaian catu daya. Rangkaian catu daya memberikan supply tegangan pada alat
11
pengendali. IC Regulator atau yang sering disebut sebagai regulator tegangan
(voltage regulator) merupakan suatu komponen elektronik yang melakukan suatu
fungsi yang terpenting dan berguna dalam perangkat elektronik baik digital
maupun analog. Hal yang dilakukan oleh IC regulator ini adalah menstabilkan
tegangan yang melewati IC tersebut. Setiap IC regulator mempunyai rating
tegangannya sendiri-sendiri.
Gambar 2.2 Konfigurasi pin IC Regulator 78xx
(Sumber: datasheet IC regulator 78xx)
IC seri 78xx adalah sebuah keluarga IC regulator tegangan linier yang
bernilai tetap. IC regulator 78xx mempunyai 3 buah kaki, yaitu kaki tegangan
masukan yang biasa sering disebut Vin, kaki ground (0V) dan yang ketiga adalah
kaki tegangan keluaran atau Vout, seperti pada Gambar 2.2. Keluarga 78xx adalah
pilihan utama bagi banyak sirkuit elektronika yang memerlukan catu daya
teregulasi karena mudah digunakan dan harganya relatif murah. Untuk spesifikasi
IC individual, xx digantikan dengan angka dua digit yang mengindikasikan
tegangan keluaran yang di desain, contohnya 7805 mempunyai keluaran 5 volt
dan 7812 memberikan 12 volt.
Piranti ini biasanya mendukung tegangan masukan dari 3 volt diatas
tegangan keluaran hingga kira-kira 36 volt, dan biasanya mempu pemberi arus
listrik hingga 1.5 Amper. IC 78xx ini mempunyai beberapa keunggulan
diantaranya :
a. Seri 78xx tidak memerlukan komponen tambahan untuk meregulasi tegangan,
membuatnya mudah digunakan, ekonomis dan hemat ruang.
b. Seri 78xx memiliki rangkaian pengaman terhadap pembebanan lebih, panas
tinggi dan hubung singkat, sehingga membuatnya hampir tidak dapat rusak.
Dalam keadaan tertentu, kemampuan pembatasan arus peranti 78xx tidak
hanya melindunginya sendiri, tetapi juga melindungi rangkaian yang
ditopangnya.
12
Pada penelitian ini digunakan dua jenis IC regulator, yakni IC regulator
7805 dan 7809. Regulator 7805 & 7809 memerlukan tegangan positif dengan tiga
terminal masing-masing terminal input, terminal output dan terminal ground.
Tegangan yang akan diregulasi diberikan pada terminal input dan ground (Anwar
dkk. 2010).
2.3.3 LCD (Liquid Crystal Display)
LCD Display Module M1632 buatan Seiko Instrument Inc. yaitu terdiri dari
dua bagian, yang pertama merupakan panel LCD sebagai media penampil
informasi dalam bentuk huruf/angka, yang dapat menampung 16 huruf/angka di
setiap baris. Bagian kedua merupakan sistem pengontrol panel LCD, yang
berfungsi mengatur tampilan informasi serta berfungsi mengatur komunikasi
M1632 dengan mikrokontroler yang memakai tampilan LCD. Dengan demikian
pemakaian LCD modul M1632 menjadi lebih sederhana. Untuk gambar LCD
dapat dilihat pada Gambar 2.3 berikut ini.
Gambar 2.3 LCD modul seiko M1632
(Sumber: Ardika, 2013)
Agar LCD dapat berhubungan dengan mikrokontroler, M1632 sudah
dilengkapi dengan 8 jalur data (DB0...DB7) yang dipakai untuk menyalurkan
kode ASCII maupun perintah pengatur kerjanya M1632. Selain itu dilengkapi pula
dengan E, R/W dan RS seperti layaknya komponen yang kompatibel dengan
mikroprosesor. Kombinasi sinyal E dan R/W merupakan sinyal standard pada
komponen buatan motorolla. Sebaliknya sinyal-sinyal dari mikrontroler
merupakan sinyal khas Intel dengan kombinasi sinyal WR dan RD.
13
RS singkatan dari Register Select, yang dipakai untuk membedakan jenis
data yang dikirim ke M1632, jika RS=0 maka data yang dikirim adalah perintah
untuk mengatur kerja M1632, sebaliknya jika RS=1 maka data yang dikirim
adalah kode ASCII yang ditampilkan (Ardika, 2013).
2.3.4 Sensor Jarak SRF04
Pada penelitian ini, digunakan sensor ultrasonic dengan tipe SRF04 sebagai
pendeteksi obyek dari sisi robot mobil. SRF04 adalah sensor non-kontak
pengukur jarak menggunakan ultrasonik. Prinsip kerja sensor ini adalah
transmitter mengirimkan seberkas gelombang ultrasonik, lalu diukur waktu yang
dibutuhkan hingga datangnya pantulan dari obyek. Lamanya waktu ini sebanding
dengan dua kali jarak sensor dengan obyek, sehingga jarak sensor dengan obyek
dapat ditentukan persamaan 2.1 sebagai berikut:
Jarak =
Kecepatan suara x Waktu pantul
2
(2.1)
SRF04 mempunyai catu daya input sebesar 5VDC dengan arus maksimal 50
mA, jarak jangkauan mulai dari 3 cm sampai dengan 300 cm, dan frekuensi suara
yang dipergunakan adalah 40 kHz. Gambar 2.4 dibawah ini merupakan bentuk
fisik daripada sensor SRF04.
Gambar 2.4 Sensor SRF04
(Sumber: datasheet SRF04)
Sensor ini hanya memerlukan 2 pin I/O untuk berkomunikasi dengan
mikrokontroler, yaitu TRIGGER dan ECHO. Untuk mengaktifkan SRF04
mikrokontroler mengirimkan pulsa positif melalui pin TRIGGER minimal 10 μs,
selanjutnya SRF04 akan mengirimkan pulsa positif melalui pin ECHO selama 100
14
μs hingga 18 ms, yang sebanding dengan jarak obyek. Dibandingkan dengan
sensor ultrasonik lain, seperti PING, SRF04 mempunyai kemampuan yang setara,
yaitu rentang pengukuran antara 3 cm – 3 m, dan output yang sama, yaitu panjang
pulsa. Meski cara pengoperasiannya juga mirip, namun kedua sensor tersebut
berbeda jumlah pin I/O-nya, yaitu 2 untuk SRF04 dan 1 untuk PING (Yusuf,
2009).
2.3.5 Sensor Garis Photodioda
Sensor garis adalah jenis sensor yang yang berfungsi untuk mendeteksi
warna garis hitam atau putih. Sensor ini penting karena sebagai penentu arah dan
gerakan robot. Sensor pendeteksi garis yang digunakan dalam robot mobil ini
adalah berdasarkan pada prinsip pemantulan cahaya dari LED dan photodioda
sebagai penerima cahaya. Photodioda merupakan piranti semikonduktor dengan
struktur sambungan p-n yang dirancang untuk beroperasi bila dibiaskan dalam
keadaan terbalik, untuk mendeteksi cahaya. Ketika energi cahaya dengan panjang
gelombang yang benar jatuh pada sambungan photodioda, arus mengalir dalam
sirkuit eksternal. Komponen ini kemudian akan bekerja sebagai generator arus,
yang arusnya sebanding dengan intensitas cahaya itu.
Cahaya diserap di daerah penyambungan atau daerah intrinsik menimbulkan
pasangan elektron-hole yang mengalami perubahan karakteristik elektris ketika
energi cahaya melepaskan pembawa muatan dalam bahan itu, sehingga
menyebabkan berubahnya konduktivitas. Hal inilah
yang menyebabkan
photodioda dapat menghasilkan tegangan/arus listrik jika terkena cahaya
(Pandiangan, 2007).
Sebuah ADC (Analog to Digital Converter) berfungsi untuk mengkodekan
tegangan sinyal analog waktu kontinu ke bentuk sederetan bit digital waktu diskrit
sehingga sinyal tersebut dapat diolah oleh komputer atau DSP.
15
Proses konversi tersebut dapat digambarkan sebagai proses 3 langkah
seperti diilustrasikan pada Gambar 2.5.
Gambar 2.5 Proses Konversi Analog to Digital
(Sumber: anonim, 2016)
Sampling atau pencuplikan merupakan konversi suatu sinyal analog waktukontinu, xa(t), menjadi sinyal waktu-diskrit bernilai kontinu, x(n), yang diperoleh
dengan mengambil “cuplikan” sinyal waktu kontinu pada saat waktu diskrit.
Kuantisasi merupakan konversi sinyal waktu-diskrit bernilai-kontinu, x(n),
menjadi sinyal waktu-diskrit bernilai-diskrit, xq(n). Nilai setiap waktu kontinu
dikuantisasi atau dinilai dengan tegangan pembanding yang terdekat. Selisih
antara cuplikan x(n) dan sinyal terkuantisasi xq(n) dinamakan error kuantisasi.
Coding atau pengkodean adalah setiap level tegangan pembanding
dikodekan ke dalam barisan bit biner. Untuk N = 3 bit, maka level tegangan
pembanding = 8 tingkatan. Kedelapan tingkatan tersebut dikodekan sebagai bit-bit
000, 001, 010, 011, 100, 101, 110, dan 111.
2.3.6 Bluetooth HC-05
Bluetooth adalah sebuah teknologi komunikasi nirkabel (tanpa kabel) yang
beroperasi dalam pita frekuensi 2,4 GHz unlicensed ISM (Industrial, Scientific
and Medical) dengan menggunakan sebuah frequency hopping transceiver yang
mampu menyediakan layanan komunikasi data dan suara secara real-time antara
host-host bluetooth dengan jarak jangkauan layanan yang terbatas (Sukamto,
2011). Pada penelitian robot mobil ini, digunakan modul bluetooth HC-05 sebagai
modul komunikasi dalam mengirim dan menerima data perintah. Bluetooth HC-
16
05 merupakan salah satu modul bluetooth yang dapat ditemukan di pasaran
dengan harga yang relatif murah. Modul bluetooth HC-05 terdiri dari 6 pin
konektor, yang setiap pin konektor memiliki fungsi yang berbeda-beda. Gambar
modul Bluetooth HC-05 dapat dilihat pada Gambar 2.6 dibawah ini.
Gambar 2.6 Modul Bluetooth HC-05
(Sumber: datasheet HC-05)
Modul bluetooth HC-05 merupakan modul bluetooth yang bisa menjadi
slave ataupun master, hal ini dibuktikan dengan kemampuannya yang
memberikan notifikasi untuk melakukan pairing ke perangkat lain, maupun
notifikasi saat perangkat lain tersebut melakukan pairing ke modul bluetooth HC05. Untuk mengeset perangkat bluetooth dibutuhkan perintah-perintah AT
Command, yang mana perintah AT Command tersebut akan direspon oleh
perangkat bluetooth jika modul bluetooth tidak dalam keadaan terkoneksi dengan
perangkat lain. Gambar 2.7 dibawah ini merupakan pin konfigurasi dari bluetooth
HC-05.
Gambar 2.7 Pin out Modul Bluetooth HC-05
(Sumber: datasheet HC-05)
17
Modul Bluetooth HC-05 terdiri dari 34 pin konektor, yang setiap pin
konektor memiliki fungsi yang berbeda-beda, namun pada penelitian ini hanya
dipergunakan 8 pin konektor saja, yakni:
1. Pin 1 UART_TX digunakan sebagai TXD (USART Output Pin)
2. Pin 2 UART_RX digunakan sebagai RXD (USART Input Pin)
3. Pin 13,21,22 digunakan sebagai vss atau gnd.
4. Pin 12 digunakan sebagai supply 3.3V dan merupakan pin yang berfungsi
sebagai masukan catu daya.
5. Pin 11 RESET merupakan pin yang digunakan untuk me-reset bluetooth.
6. Pin 34 digunakan sebagai key untuk masuk ke dalam perintah AT command
untuk perangkat HC-05.
2.3.7 Modul Driver H-Bridge
H-Bridge berfungsi untuk mengatur arah putaran motor DC. Jembatan HBridge terdiri dari empat saklar yang terhubung secara topologi membentuk huruf
H dan terminal motor yang terletak pada garis horizontal huruf H. IC L293D
adalah IC yang di desain khusus sebagai driver motor DC dan dapat dikendalikan
dengan rangkaian TTL maupun mikrokontroler. Motor DC yang dikontrol dengan
driver IC L293D dapat dihubungkan ke ground maupun ke sumber tegangan
positif karena di dalam driver L293D sistem driver yang digunakan adalah totem
pool. Dalam 1 unit chip IC L293D terdiri dari 4 buah driver motor DC yang
berdiri sendiri-sendiri dengan kemampuan mengalirkan arus 1 Amper tiap driver.
Sehingga dapat digunakan untuk membuat driver H-bridge untuk 2 buah motor
DC. Modul driver H-Bridge ini dapat men-driver arus kontinyu sampai maksimal
4 Amper dan tegangannya dari 5.5 VDC s/d 36 VDC. Fungsi Pin Driver Motor
DC IC L293D adalah sebagai berikut:
1. Pin EN (Enable, EN1.2, EN3.4) berfungsi untuk mengijinkan driver menerima
perintah untuk menggerakan motor DC.
2. Pin In (Input, 1A, 2A, 3A, 4A) adalah pin input sinyal kendali motor DC.
3. Pin Out (Output, 1Y, 2Y, 3Y, 4Y) adalah jalur output masing-masing driver
yang dihubungkan ke motor DC.
18
4. Pin VCC (VCC1, VCC2) adalah jalur input tegangan sumber driver motor DC,
dimana VCC1 adalah jalur input sumber tegangan rangkaian kontrol driver dan
VCC2 adalah jalur input sumber tegangan untuk motor DC yang dikendalikan.
5. Pin GND (Ground) adalah jalur yang harus dihubungkan ke ground, pin GND
ini ada 4 buah yang berdekatan dan dapat dihubungkan ke sebuah pendingin
kecil.
Konstruksi pin driver motor DC IC L293D dapat dilihat pada Gambar 2.8
sebagai berikut.
Gambar 2.8 Pin Konfigurasi IC L293D
(Sumber: anonim, 2016)
Tabel 2.4 dibawah ini merupakan interface pin header dari driver H-Bridge.
Tabel 2.4 Interface Pin Header Modul driver H-Bridge (Sumber: datasheet H-Bridge)
No
Pin Header Modul
driver H-Bridge
Mikrokontroler
ATmega32
1
2
3
4
5
6
MIN 1
MIN 2
Enable A
MIN 3
MIN 4
Enable B
PortD.2
PortD.3
PortD.4
PortD.6
PortB.0
PortD.5
Out driver Modul driver
H-Bridge
MOut Kanan
MOut Kiri
Untuk menentukan arah putaran motor DC ditentukan melalui input yang
diberikan. Apabila MIN1 diberi data high dan MIN2 diberi data low maka motor
akan berputar ke kiri, sedangkan jika MIN1 diberi data low dan MIN2 diberi data
high maka motor akan berputar sebaliknya, yaitu ke kanan. Enable A berfungsi
19
untuk mengaktifkan pin MIN1 dan MIN2, sedangkan Enable B berfungsi untuk
mengaktifkan pin MIN3 dan MIN4 .
2.3.7.1 Pulse Width Modulation (PWM)
PWM atau Pulse Width Modulation adalah salah satu jenis modulasi.
Modulasi pada PWM dilakukan dengan cara merubah lebar pulsa dari suatu pulsa
data. Total 1 periode (T) pulsa dalam PWM adalah tetap, dan data PWM pada
umumnya menggunakan perbandingan pulsa positif (Ton) terhadap total pulsa.
Dengan kata lain, sinyal PWM mempunyai gelombang frekuensi yang tetap
namun Duty-Cycle yang bervariasi antara 0%-100%. Gambar 2.9 merupakan
grafik duty-cycle dari PWM.
Gambar 2.9 Sinyal PWM
(Sumber: Pancev, 2014)
2.4
Komponen Penggerak
2.4.1 Motor DC
Motor DC adalah suatu motor penggerak yang dikemudikan dengan arus
searah (DC). Apabila kumparan jangkar dari mesin arus searah dialiri arus dan
kumparan medan diberi penguatan, maka akan timbul gaya lorentz pada setiap sisi
kumparan jangkar. Arah medan magnet dapat ditentukan dengan kaidah tangan
kanan dengan ibu jari menunjukan arah gaya putar dari arus lisrik yang mengalir
dalam sebuah kumparan jangkar yang berada dalam medan magnet, jari tengah
menunjukan arah arus listrik yang mengalir pada konduktor, dan jari telunjuk
menunjukan arah medan magnet.
20
Gambar 2.10 merupakan kaidah tangan kangan yang menunjukkan arah
medan magnet.
Gambar 2.10 Kaidah Tangan kanan
(Sumber: Ardika, 2013)
Dan Gambar 2.11 merupakan ilustrasi cara kerja dari motor DC.
Gambar 2.11 Cara Kerja Motor DC
(Sumber: Ardika, 2013)
Perputaran kumparan jangkar dalam medan magnet dan konduktor jangkar
yang dialiri arus menimbulkan kopel yang memotong medan magnet tersebut
sehingga pada konduktor jangkar akan timbul tegangan induksi (ggl) (Ardika,
2013).
2.5
Basic Compiler (BASCOM)
Bahasa pemprograman BASIC dikenal di seluruh dunia sebagai bahasa
pemrograman handal, cepat, mudah dan tergolong kedalam bahasa pemprograman
tingkat tinggi. Bahasa BASIC adalah salah satu bahasa pemprograman yang
banyak digunakan untuk aplikasi mikrokontroler karena kemudahan dan
21
kompatibel terhadap mikrokontroler jenis AVR dan didukung oleh compiler
software berupa BASCOM-AVR.
Setiap bahasa pemprograman mempunyai standar penulisan program.
Konstruksi dari program bahasa BASIC harus mengikuti aturan sebagai berikut:
$regfile = “header”
’inisialisasi
’deklarasi variabel
’deklarasi konstanta
Do
’pernyataan-pernyataan
Loop
end
Dimana $regfile = “m16def.dat” merupakan pengarah preprosesor bahasa
BASIC yang memerintahkan untuk meyisipkan file lain, dalam hal ini
adalah file m16def.dat
yang
berisi
deklarasi
register
dari
mikrokonroler
ATmega32, pengarah preprosesor lainnya yang sering digunakan ialah sebagai
berikut:
$crystal = 12000000 ‘menggunakan crystal clock 12 MHz
$baud
= 9600
‘komunikasi serial dengan baudrate
9600
BASCOM memberikan kemudahan dalam hal komunikasi secara serial,
sehingga tidak perlu mengkonfigurasi register secara langsung. Hanya ada dua hal
yang harus dikonfigurasikan ketika menggunakan komunikasi serial dengan
BASCOM, yaitu kristal dan baud rate yang digunakan. Ada dua cara
mengkonfigurasikan komunikasi serial di dalam BASCOM, yaitu:
1. Mengatur
menu
Communication
dengan
cara
masuk
ke
Options>Compiler>Communication, kemudian mengisi kolom baud rate serta
kristal yang digunakan.
2. Mendeklarasikan baud rate dan kristal menggunakan Compiler Directive,
seperti berikut:
$baud
= 9600
$crystal = 11059200
2.5.1 Tipe Data, Konstanta, dan Variabel
Tipe data merupakan bagian program yang paling penting karena sangat
berpengaruh pada program. Pemilihan tipe data yang tepat maka operasi data
22
menjadi lebih efisien dan efektif. Tabel 2.5 dibawah ini merupakan tipe data pada
BASCOM AVR.
Tabel 2.5 Tipe Data pada BASCOM AVR (Sumber: Wahyudin, 2007)
Tipe Data
Ukuran (byte)
Range
Bit
1/8
-
Byte
1
0 – 255
Integer
2
-32,768 - + 32,767
Word
2
0 – 65535
Long
4
-21
Single
4
String
Hingga 254 byte
Konstanta merupakan suatu nilai dengan tipe data tertentu yang tidak dapat
diubah-ubah selama proses program berlangsung. Konstanta harus didefinisikan
terlebih dahulu di awal program. Contoh, Kp=35, Ki=15, Kd=40. Deklarasi
konstanta dalam bahasa basic di deklarasikan langsung. Contohnya: S = “Hello
world” ‘Assign string.
Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili
suatu nilai tertentu di dalam proses program yang dapat diubah-ubah sesuai
dengan kebutuhan. Nama dari variabel bebas sesuai dengan yang diinginkan,
namun hal yang terpenting adalah setiap variabel diharuskan:
1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa
huruf, maksimal 32 karakter.
2. Tidak boleh mengandung spasi atau simbol-simbol khusus seperti: $, ?, %, #, !,
&, *, (, ), -, +, = dan lain sebagainya kecuali underscore.
3. Deklarasi, deklarasi sangat diperlukan bila akan menggunakan pengenal
(identifier) dalam suatu program.
Bentuk umum pendeklarasian suatu variabel adalah Dim nama_variabel AS
tipe_data. Contoh : Dim x As Integer , deklarasi x bertipe integer.
23
2.6
MIT App Inventor
App Inventor adalah sebuah tool untuk membuat aplikasi android yang
berbasis visual block programming. Visual block programming maksudnya adalah
dalam penggunaannya user akan melihat, menggunakan, menyusun dan dragdrops “blok” yang merupakan simbol-simbol perintah dan fungsi event handler
tertentu dalam membuat aplikasi, dan secara sederhana bisa disebut tanpa
menuliskan kode program. Aplikasi App Inventor ini pada dasarnya adalah
aplikasi yang disediakan oleh google dan sekarang di-maintenance oleh
Massachusetts Institute of Technology (MIT). Aplikasi ini selesai dibuat pada 12
Juli 2010 dan dirilis untuk publik pada 31 Desember 2011. App Inventor sekarang
dipegang oleh MIT Centre for Mobile Learning dengan nama MIT App Inventor.
Dengan menggunakan App Inventor ini, ada beberapa aplikasi yang dapat
dibuat diantaranya yaitu:
a. Aplikasi game
b. Aplikasi edukasi
c. Aplikasi berbasis tracking lokasi
d. Aplikasi SMS
e. Aplikasi berbasis web
f. Aplikasi kompleks (Mubarok, 2015)
Gambar 2.12 dibawah ini merupakan tampilan dari lembar kerja MIT App
Inventor.
Gambar 2.12 Tampilan dari lembar kerja MIT App Inventor
24
Untuk menggunakan aplikasi App Inventor ini, ada beberapa langkahlangkah
yang
perlu
diperhatikan,
yaitu
masuk
ke
http://appinventor.mit.edu/explore/ dan kemudian pilih Create apps!.
website
Download