5
BAB II
LANDASAN TEORI
Pada bab ini akan dibahas mengenai teori-teori dasar yang digunakan untuk menunjang terciptanya sebuah alat gerbang otomatis berbasis Arduino yang dapat dikontrol dengan Android melalui komunikasi via Bluetooth.
2.1 Mekanik
Bagian mekanik ini merupakan bagian-bagian yang bergerak secara langsung, untuk melakukan pekerjaan- pekerjaan tersebut diperlukan perintah yang sesuai dan tepat penggunaannya.
2.1.1 Motor DC
Motor listrik merupakan perangkat elektromagnetis yang mengubah energi listrik menjadi energi mekanik. Energi mekanik ini digunakan untuk, misalnya memutar impeller pompa, fan atau blower, menggerakan kompresor, mengangkat bahan,dll. Motor listrik digunakan juga di rumah (mixer, bor listrik, fan angin) dan di industri. Motor listrik kadangkala disebut “kuda kerja” nya industri sebab diperkirakan bahwa motor-motor menggunakan sekitar 70% beban listrik total di industri.
Motor DC memerlukan suplai tegangan yang searah pada kumparan medan untuk diubah menjadi energi mekanik. Kumparan medan pada motor dc
disebut stator (bagian yang tidak berputar) dan kumparan jangkar disebut rotor (bagian yang berputar). Jika terjadi putaran pada kumparan jangkar dalam pada medan magnet, maka akan timbul tegangan (GGL) yang berubah-ubah arah pada setiap setengah putaran, sehingga merupakan tegangan bolak-balik. Prinsip kerja dari arus searah adalah membalik phasa tegangan dari gelombang yang mempunyai nilai positif dengan menggunakan komutator, dengan demikian arus yang berbalik arah dengan kumparan jangkar yang berputar dalam medan magnet. Bentuk motor paling sederhana memiliki kumparan satu lilitan yang bisa berputar bebas di antara kutub-kutub magnet permanen.
Gambar 2.1 Motor DC sederhana
Catu tegangan dc dari baterai menuju ke lilitan melalui sikat yang menyentuh komutator, dua segmen yang terhubung dengan dua ujung lilitan. Kumparan satu lilitan pada gambar di atas disebut angker dinamo. Angker dinamo adalah sebutan untuk komponen yang berputar di antara medan magnet.
Pembuatan robot berbasis Arduino yang dikontrol oleh Android melalui Bluetooth ini agar dapat bergerak digunakan sebuah aktuator yaitu berupa motor DC. Untuk dapat mengaplikasikan motor DC ini pada robot yang akan dibuat maka diperlukan pengendalian motor DC. Terdapat dua jenis pengendalian yang harus dilakukan untuk dapat mengaplikasikan motor DC, yaitu :
A. Pengendalian arah putar motor DC
Untuk mendapatkan arah putaran searah dengan jarum jam (clockwise, c) maka motor DC harus diberikan tegangan dengan polaritas bagian atas motor positif dan bawah negatif.
Gambar 2.2 Polarisasi Tegangan Untuk Putaran Motor Searah Jarum Jam
Sedangkan untuk mendapatkan arah putaran berlawanan arah dengan jarum jam (counter clockwise, ccw) maka motor DC harus diberikan tegangan dengan polaritas bagian atas motor negatif dan bawah positif.
Gambar 2.3 Polarisasi Tegangan Untuk Putaran Motor Berlawanan Dengan Arah Jarum Jam
B. Pengendalian Kecepatan Motor DC
Pengendalian kecepatan putar motor DC dapat dilakukan dengan mengatur besar tegangan terminal motor. Metode lain yang biasa digunakan untuk mengendalikan kecepatan motor DC adalah dengan teknik modulasi lebar pulsa atau Pulse Width Modulation(PWM) yang ada pada driver motor.
2.1.3 Resistor
Gambar 2.4 Resistor
Resistor menentukan aliran arus dalam rangkaian listrik.Dimana ada resistansi yang besar di rangkaian aliran arus kecil, dan resistansi rendah aliran arus besar.
Gambar 2.5 Kapasitor
Kapasitor adalah komponen yang digunakan untuk menyimpan muatan listrik dan digunakan dalam rangkaian timer.Sebuah kapasitor dapat digunakan dengan resistor untuk menghasilkan timer. Kadang-kadang kapasitor digunakan untuk memperhalus arus dalam sebuah rangkaian karena mereka dapat memotong spike dari komponen lain seperti relay. Bila daya dipasok ke sirkuit yang mengandung kapasitor – Kapasitor mengisi daya.Bila daya dimatikan kapasitor mulai pembuangan muatan listrik secara perlahan-lahan.
2.1.5 Dioda
Gambar 2.6 Dioda
Sebuah dioda memungkinkan listrik mengalir dalam satu arah saja dan menghalangi aliran ke arah yang berlawanan.Mereka dapat dianggap sebagai katup satu arah dan mereka digunakan dalam berbagai sirkuit, biasanya sebagai bentuk perlindungan. Ada berbagai jenis dioda namun fungsi dasar mereka adalah sama.
Gambar 2.7 Transistor
Transistor dapat dianggap sebagai jenis switch. Transistor adalah pusat untuk elektronik dan ada dua jenis utama, NPN dan PNP. Kebanyakan sirkuit cenderung menggunakan NPN.Ada ratusan transistor yang bekerja pada tegangan yang berbeda, tetapi mereka semua jatuh ke dalam dua kategori tersebut.
Gambar 2.8 Saklar Toggle
Saklar toggle adalah bentuk saklar yang paling sederhana, dioperasikan oleh sebuah tuas toggle yang dapat ditekan ke atas atau ke bawah. Menurut konvensinya, posisi ke bawah mengindikasikan keadaan hidup atau menutup atau disambungkan. Saklar toggle yang diperlihatkan di dalam foto memiliki tuas dengan posisi ke atas. Di belakang tuas terdapat sebuah alur sekrup (dolly) yang dilengkapi dengan sebuah mur besar. Alur dan mur ini digunakan untuk memasangkan saklar disebuah panel. Di bagian belakang saklar terdapat dua buah ta (cantolan) terminal, tempat dimana kawat-kawat listrik disambung dan disolder.
2.2 Arduino
Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Mikrokontroler itu sendiri adalah chipatau IC (integrated Circuit) yang bisa diprogram menggunakan komputer. Tujuan menanamkan program pada mikrokontroler adalah agar rangkaian elektronik dapat membaca input, proses, dan output sebuah rangkaian elektronik.
Arduino adalah inovasi dibidang elektronika yang telah membuat perubahan besar dalam dunia mikrokontroler sehingga seorang yang awam amatiran bisa membuat proyek-proyek elektronika atau robotika dengan relatif mudah dan cepat.Arduino lahir dari lingkungan mahasiswa dan dosen yang
merasakan sulitnya mempelajari mikrokontroler.Kemudian mereka
mengembangkan sebuah sistem minimum berbasis AVR yang dilengkapi dengan bootloader dan software yang user friendly.Hasilnya adalah sebuah board mikrokontroler yang bersifat open source yang bisa dipelajari atau dikembangkan oleh mahasiswa, professional, atau penggemar mikrokontroler di seluruh dunia. Konon Arduino sudah lebih popular dibandingkan Basic Stamp yang lahir lebih awal yang harganya relatif mahal dan close source. Penjualan board Arduino bisa menghasilkan milyaran Rupiah pada penjualan kit online seperti Sparkfun.
Mikrokontroler ada pada perangkat elektronik di sekelililng kita. Misalnya Handphone, MP3 player, DVD, televisi, AC, dll. Mikrokontroler juga dipakai untuk keperluan mengendalikan robot.
2.2.1 Jenis-Jenis Arduino
Gambar 2.9 Arduino USB
Dapat dibawa kemana-mana bersama laptop atau dimasukkan ke dalam saku.Walaupun bahasa pemrograman Arduino adalah bahasa C/C++, tetapi dengan penambahan library dan fungsi-fungsi standar membuat pemrograman Arduino lebih mudah dipelajari dan manusiawi. Contoh, untuk mengirimkan nilai HIGH pada pin 10 Arduino, cukup menggunakan fungsi digitalWrite (10, HIGH), sedangkan kalau menggunakan bahasa C aslinya adalah PORTB I=(1<<2).
Tersedia library yang sangat banyak untuk menghubungkan Arduino dengan macam-macam sensor, actuator maupun modul komunikasi.Misalnya library untuk mouse, keyboard, servo, GPS, dsb.Berhubung Arduino adalah open source, maka library- library ini juga open source dan dapat di-download secara gratis di website Arduino.Dengan bahasa yang lebih mudah dan adanya library dasar yang lengkap, maka mengembangkan aplikasi elektronik relatif lebih mudah.Contoh, kalau kita ingin membuat robot wireless, cukup membeli sebuah modul Bluetooth dan menyambungkan ke Arduino.
Arduino tidak membuat bahasa pemrograman khusus, melainkan menggunakan bahasa C yang sudah ada, lebih tepatnya menggunakan bahasa C
yang menggunakan compiler AVG – GCC (AVR GNU C – Compiler).Bahasa C adalah bahasa yang sangat lazim dipakai sejak awal-awal komputer diciptakan dan sangat berperan dalam perkembangan software. Bahasa C telah banyak membuat bermacam-macam sistem operasi Unix, linux, dsb. Bahasa C juga biasanya digunakan di akademi dan perguruan tinggi selain bahasa pemrograman basic atau pascal.Bahasa C adalah bahasa pemrograman yang sangat ampuh yang kekuatannya mendekati bahasa assembler.
Bahasa C menghasilkan file kode objek yang sangat kecil dan dieksekusi dengan sangat cepat. Karena itu bahasa C sering digunakan pada sistem operasi dan pemrograman mikrokontroler. Bahasa C adalah multi-platform, bahasa C bisa diterapkan pada lingkungan windows, Unix, Linux, atau sistem operasi lain tanpa mengalami perubahan source code ( kalaupun ada perubahan, biasanya sangat minim). Karena Arduino menggunakan bahasa C yang multi-platform, maka software Ardunio pun bisa dijalankan pada semua sistem operasi yang umum, misalnya : Windows, Linux, MacOs. Bahasa C mudah dipelajari.Maksud kata mudah di sini adalah relatif, tergantung kemampuan dari tiap user. Kalau anda sudah mengerti bahasa C, anda dapat melakukan pengembangan dengan board lain atau mikrokontroler lain dengan lebih mudah. Diinternet banyak library bahasa C untuk Arduino yang bias di-download secara gratis.Setiap library Arduino biasanya disertai dengan contoh pemakaiannya.Keberadaan library- library ini bukan hanya membantu kita membuat proyek mikrokontroler. Tetapi bias dijadikan sarana untuk mendalami pemrograman bahasa C pada mikrokontroler.
Soket USB adalah soket untuk kabel USB yang disambungkan ke komputer atau laptop.Berfungsi untuk mengirimkan program ke Arduino dan juga sebagai port komunikasi serial.
· Input / Output Digital
Input/output digital atau digital pin adalah pin-pin untuk menghubungkan Arduino dengan komponen atau rangkaian digital. Misalnya, kalau igin membuat LED berkelip, LED tersebut dapat dipasang pada salah satu pin I/O digital dan ground. Komponen lain yang menghasilkan output digital atau menerima input digital bisa disambungkan ke pin-pin ini.
· Input Analog
Input Analog atau analog pin adalah pin-pin yang berfungsi untuk menerima sinyal dari komponen atau rangkaian analog. Misalnya dari potensiometer, sensor suhu, sensor cahaya, dsb.
· Accu
Accu adalah suatu alat yang menyimpan tegangan 12 VDC sesuai keperluan yang akan dibutuhkan, accu menyuplai tegangan ke motor shield dengan tegangan 12 VDC untuk menggerakan motor dc pada robot.
2. Arduino Serial
Menggunakan RS232 sebagai antar muka pemrograman atau komunikasi komputer.
Gambar 2.10 Arduino Serial
3. Arduino AT MEGA
Gambar 2.11 Arduino AT MEGA
Papan Arduino dengan spesifikasi yang lebih tinggi, dilengkapi tambahan pin digital, pin analog, port serial dan sebagainya. Contoh:
· Arduino Mega · Arduino Mega 2560 4. Arduino Fio
Gambar 2.12 Arduino Fio 5. Arduino Lilypad
Papan dengan bentuk yang melingkar. Contoh: LilyPad Arduino 00, LilyPad Arduino 01, LilyPad Arduino 02, LilyPad Arduino 03, LilyPad Arduino 04.
Gambar 2.13 Lilypad
6. Arduino BT
Gambar 2.14 Arduino BT
7. Arduino Nano dan Arduino Mini
Gambar 2.15 Arduino Nano dan Mini
Papan berbentuk kompak dan digunakan bersama breadboard. Contoh:
· Arduino Nano 3.0, Arduino Nano 2.x
· Arduino Mini 04, Arduino Mini 03, Arduino Stamp 02 2.3 Bluetooth
Nama "bluetooth" berasal dari nama raja di akhir abad sepuluh, Harald Blatand (Abad 10) yang di Inggris juga dijuluki Harald Bluetooth kemungkinan karena memang giginya berwarna gelap. Ia adalah raja Denmark yang telah berhasil menyatukan suku-suku yang sebelumnya berperang, termasuk suku dari wilayah yang sekarang bernama Norwegia dan Swedia. Bahkan wilayah Scania di Swedia, tempat teknologi bluetooth ini ditemukan juga termasuk daerah kekuasaannya.Kemampuan raja itu sebagai pemersatu juga mirip dengan teknologi bluetooth sekarang yang bisa menghubungkan berbagai peralatan seperti komputer personal dan telepon genggam.Sedangkan logo bluetooth berasal dari penyatuan dua huruf Jerman yang analog dengan huruf H dan B (singkatan dari Harald Bluetooth), yaitu (Hagall) dan (Blatand) yang kemudian digabungkan.
Awal mula dari Bluetooth adalah sebagai teknologi komunikasi wireless (tanpa kabel) yang beroperasi dalam pita frekuensi 2,4 GHz unlicensed ISM (Industrial, Scientific and Medical) dengan menggunakan sebuah frequency hopping tranceiver yang mampu menyediakan layanan komunikasi data dan suara secara real-time antara host-host bluetooth dengan jarak jangkauan layanan yang terbatas (sekitar 10 meter). Bluetooth berupa card yang menggunakan frekuensi radiostandar IEEE 802.11 dengan jarak layanan yang terbatas dan kemampuan data transfer lebih rendah dari card untuk Wireless Local Area Network (WLAN).
Pembentukan Bluetooth dipromotori oleh 5 perusahaan besar Ericsson, IBM, Intel, Nokia dan Toshiba membentuk sebuah Special Interest Group (SIG)yang meluncurkan proyek ini. Pada bulan Juli 1999 dokumen spesifikasi
bluetooth versi 1.0 mulai diluncurkan. Pada bulan Desember 1999 dimulai lagi pembuatan dokumen spesifikasi bluetooth versi 2.0 dengan tambahan 4 promotor baru yaitu 3Com, Lucent Technologies, Microsoft dan Motorola. Saat ini, lebih dari 1800 perusahaan di berbagai bidang bergabung dalam sebuah konsorsium sebagai adopter teknologi bluetooth. Walaupun standar Bluetooth SIG saat ini ‘dimiliki’ oleh grup promotor tetapi ia diharapkan akan menjadi sebuah standar IEEE (802.15).
Gambar 2.16 Logo Bluetooth
2.4 Motor Driver (Motor Shield)
Ada beberapa macam driver motor DC yang biasa kita pakai seperti menggunakan relay yang diaktifkan dengan transistor sebagai saklar, namun yang demikian dianggap tidak efisien dan terlalu ribet “repot” dalam pengerjaan hardware-nya. Dengan berkembangnya dunia IC, sekarang sudah ada H Bridge yang dikemas dalam satu IC dimana memudahkan kita dalam pelaksanaan hardware dan kendalinya apalagi jika menggunakan mikrokontroler saya rasa akan lebih mudah lagi dalam penggunaannya. IC yang familiar seperti IC L298.IC ini memiliki kelebihan dan kekurangan masing-masing.Modul yang menggunakan
IC driver L298 yang memiliki kemampuan menggerakkan motor DC sampai arus 4A dengan tegangan maksimum 46VDC untuk satu kanalnya.Rangkaian driver motor DC dengan IC L298 diperlihatkan pada gambar di bawah. Pin enable A dan B untuk mengendalikan jalan atau kecepatan motor, pin input 1 sampai 4 untuk mengendalikan arah putaran. Pin enable diberi VCC 5 volt untuk kecepatan penuh dan PWM (Pulse Width Modulation) untuk kecepatan rotasi yang bervariasi tergantung dari level high-nya. Ilustrasinya ditunjukkan pada gambar di bawah.
Gambar 2.17 Driver Motor DC Shield dengan L298
2.5 Aplikasi Program Arduino IDE ( Integrated Development Environment ) Ketika kita membuka program Arduino IDE ( Integrated Development Environment ), akan terlihat serupa dengan tampilan gambar 2.4 di bawah ini. Jika kita menggunakan Windows atau Linux, akan terlihat perbedaan, tetapi pada dasarnya IDE akan sama, tidak perduli Opersai sistem apa yang digunakan.
Gambar 2.18 Tampilan Program IDE
2.6Arduino Programming Tool
Arduino merupakan perangkat pemrograman mikrokontroler jenis AVR yang tersedia secara bebas (open source) untuk membuat prototip elektronika yang dapat berinteraksi dengan keadaan sekitarnya. Arduino dapat menerima input dari berbagai jenis sensor dan mengendalikan sensor, servo, dan actuator lainnya.
Gambar 2.19 Tampilan Utama Aplikasi Arduino
1. Toolbar
a b c d e f g
Gambar 2.20 Toolbar Pada Aplikasi Arduino
Message
Application Status Toolbar
a. Verify
Tombol ini digunakan untuk meng-compile program yang telah dibuat.Compile berguna untuk mengetahui apakah program yang telah dibuat benar atau masih memilki kesalahan. Apabia ada kesalahan yang terjadi, bagian messageakan menampilkan letak kesalahan tersebut.
b. Stop
Tombol ini digunakan untuk membatalkan proses verify yang sedang berlangsung.
c. New
Tombol ini digunakan untuk membuat coding pada layar baru
d. Open
Tombol ini digunakan untuk membuka coding yang sudah disimpan sebelumnya.
e. Save
Tombol ini digunakan untuk menyimpan coding yang sedang dikerjakan.
f. Upload
Tombol ini digunakan untuk mengirim coding yang sudah dikerjakan ke mikrokontroler.
g. Serial Monitor
Tombol ini digunakan untuk melihat aktivitas komunikasi serial dari mikrokontroler baik yang dikirm oleh user ke mikrokontroler maupun sebaliknya.
2. Coding Area
Bagian ini merupakan tempat penulisan coding dengan menggunakan bahasa pemrograman C. Coding di dalam Arduino memiliki dua bagian utama, yaitu :
a. Void Setup ( )
Bagian ini merupakan inisialisasi yang diperlukan sebelum program utama dijalankan, contoh :
void setup ( ) {
Serial.begin (9600) ; // Inisialisasi baudrate komunikasi serial pinMode (6, INPUT) ; // set pin 6 Arduino sebagai input pinMode (7, OUTPUT) ; // set pin 7 Arduino sebagai output }
b. Void Loop ( )
Bagian ini merupakan fungsi utama yang dijalankan terus menerus selama modul Arduino terhubung dengan power supply.Contoh :
void loop ( ) {
digitalWrite (6, HIGH) ; // memberikan logic HIGH pada pin 6
delay (1000) ; // menunda selama 1 detik
digitalWrite (6, LOW) ; // memberikan logic LOW pada pin 6 delay (2000) ; // menunda selama 2 detik
3. Application Status
Bagian ini memberikan informasi kepada pengguna mengenai tugas yang yang sedang dujalankan oleh aplikasi Arduino.
4. Message
Bagian ini memberikan informasi kepada pengguna mengenai besarnya ukuran file dari coding yang dibuat dan letak kesalahan yang terjadi pada coding.
2.6.1 Serial Port
Serial digunakan untuk memprogram mikrokontroler langsung dari aplikasi Arduino. Selain itu, komunikasi serial juga digunakan untuk mengirim dan menerima data antara mikrokontroler dan komputer melalui fasilitas serial monitor yang terdapat pada aplikasi Arduino. Seperti gambar berikut ini :
Gambar 2.21 Tools Serial Ports
2.7Android
Android adalah sistem operasi bergerak (mobile operating system) yang mengadopsi sistem operasi Linux, namun telah dimodifikasi. Android diambil alih oleh Google pada tahun 2005 dari Android, Inc sebagai bagian strategi untuk mengisi pasar sistem operasi bergerak. Google mengambil alih seluruh hasil kerja Android termasuk tim yang mengembangkan Android.
Google menginginkan agar Android bersifat terbuka dan gratis, oleh karena itu hamper setiap kode program Android diluncurkan berdasarkan lisensi open-source Apache yang berarti bahwa semua orang yang ingin menggunakan Android dapat men-download penuh source code-nya.
Di samping itu produsen perangkat keras juga dapat menambahkan extension -nya sendiri ke dalam Android sesuai dengan kebutuhan produk mereka. Model
pengembangannya yang sederhana membuat Android menarik bagi vendor-vendor perangkat keras.
Keuntungan utama dari Android adalah adanya pendekatan aplikasi secara terpadu. Pengembang hanya berkonsentrasi pada aplikasi saja, aplikasi tersebut bisa berjalan pada beberapa perangkat yang berbeda selama masih tenagai oleh Android (pengembang tidak perlu mempertimbangkan kebutuhan jenis perangkatnya).
Tabel 2.1 Versi Android
No Versi Android Diluncurkan Nama Kode
1 Beta 5 November 2007 2 1.0 23 September 2008 3 1.1 9 febuari 2009 4 1.5 30 April 2009 Cupcake 5 1.6 15 September 2009 Donut 6 2.0/2.1 26 Oktober 2009 Éclair 7 2.2 20 Mei 2010 Froyo 8 2.3 6 Desember 2010 Gingerbread 9 3.0 22 Febuari 2011 Honeycomb
10 4.0 19 Oktober 2011 Ice Cream Sandwich
11 4.1 Sekitar pertengahan 2012 Jelly Bean
2.8 Aplikasi Program Eclipse
Ketika membuka program Eclipse (dalam pembuatan digunakan Eclipse Galileo) akan terlihat serupa dengan tampilan gambar berikut.
Gambar 2.22 Tampilan Program Eclipse
2.9 Eclipse Programming Tools
Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Dalam Skripsi ini digunakan Android sebagai platform -nya.
Gambar 2.23 Tampilan Utama Pada Eclipse
1. Toolbar
Pada bagian toolbar, terdapat shortcut perintah dalam bentuk icon. Seperti Create New (project, folder), Save, Print, Open Android SDK Manager, Open the Android Virtual Device Manager, Open a wizard ho help create a new Android Project, Open a wizard ho help create a new Android Test Project, Open a wizard ho help create a new Android XML file, Debug, Run, Run Last Tool, New Java Project, New Java Package, New Java Class, Open Type, Open Task, Search, Next Annotation, Previous Annotation, Last Edit Location, Backward, dan Forward.
2
4
3
2. Package Explorer
Merupakan jendela yang menampilkan project-project yang sudah dibuat dalam sebuah workspace. Jendela ini layaknya explore pada sistem operasi windows, yang berguna untuk mengexplore project yang ada dalam sebuah workspace.
3. Java Editor
Merupakan jendela yang menampilkan coding java yang sedang dikerjakan.Pada bagian ini digunakan untuk mengetik perintah-perintah dalam syntax java untuk membuat sebuah aplikasi.
4. Console
Merupakan jendela yang menampilkan hasil output dari aplikasi yang telah buat. Agar hasil outputnya berjalan, tekan Run pada toolbar. Jika muncul error, berarti aplikasi yang telah buat memang memiliki error, dan console ini akan menunjukkan dimana letak error-nya.