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