BAB II LANDASAN TEORI 2.1 Arduino Duemilanove 328 Arduino adalah pengendali mikro single board yang bersifat open source yang diturunkan dari wiring platform, dirancang untuk memudahkan pengguanaan elektronik dalam berbagai bidang. Hardwarenya memiliki prosesor Atmega AVR dan softwarenya memiliki bahasa pemograman sendiri. Arduino adalah kit mikrokontroler yang serba bias dan sangat mudah penggunaannya. Untuk membuatnya diperlukan chip programmer (untuk menanamkan bootloader Arduino pada chip). Arduino merupakan single board hardware yang open source dan softwarenya pun dapat dinikmati secara open source. Software arduino dapat dijalankan dimultiplatform, yaitu : linux, windows, atau juga mac. Hardware arduino merupakan mikrokontroler yang berbasis AVR dari ATMEL yang didalamnyta sudah diberi bootloader dan juga sudah terdapat standar pin I/O nya. 2.1.1 Kelebihan Arduino Tidak perlu perangkat chip programmer karena didalamnya sudah ada bootloader yang akan menangani upload program dari computer. Sudah memiliki sarana laptop yang tidak komunikasi USB, sehingga pengguna memiliki port serial RS323 bisa menggunakannya. Bahasa pemograman relative mudah karena software Arduino dilengkapi dengan kumpulan library yang cukup lengkap. Memiliki modul yang siap pakai (shield) yang bisa langsung dipasangkan pada board arduino, misalnya Shield GPS,Shield motor, dll. 5 6 Adapun data teknis Arduino Duemilanove 328 sebagai berikut : Mikrokontroler : Arduino Duemilanove 328 Tegangan operasi : 5V Tegangan input (recommended) : 7-12V Tegangan Input (Limit) : 6-20V Pin digital I/O : 14 (6 diantaranya pin PWM) Pin anolag input : 6 Arus DC per pin I/O : 40mA Arus DC untuk pin 3.3V : 150mA Flash memori : 32KB dengan 0.5KB digunakan untuk bootloader SRAM : 2KB EEPROM : 1KB Kecepatan pewaktu : 16 MHz Gambar 2.1 Bentuk Arduino Duemilanove 328 2.1.2 Soket USB Soket USB adalah soket untuk kabel USB yang disambungkan kekomputer atau laptop. Berfungsi untuk mengirimkan program ke Arduino dan juga sebagai port komunikasi serial. 7 2.1.3 Input / Output Digital (Digital Pin) Input / Output Digital (Digital Pin) adalah pin-pin untuk menghubungkan Arduino dengan komponen atau rangkaian digital. Misalnya ingin membuat LED berkelip, LED tersebut bisa 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. 2.1.4 Input Analog (Anolaog Pin) Input Analog (Analog Pin) Adalah pin-pin yang berfungsi untuk menerima sinyal dari komponen atau rangkaian analog. Misalnya dari potensiometer, sensor suhu, sensor cahaya, dll. 2.1.5 Catu Daya Pin-pin catu daya adalah pin yang memberikan tegangan untuk komponen atau rangkaian yang dihubungkan dengan Arduino. Pada bagian catu daya ini terdapat juga pin Vin dan reset. Vin digunakan untuk menberikan tegangan langsung kepada Arduino tanpa melalui tegangan USb atau adaptor. Reset adalah pin untuk memberikan sinyal reset melalui tombola tau rangkaian eksternal. 2.1.6 Baterai / Adaptor Baterai / Adaptor digunakan untuk menyuplai Arduino dengan tegangan dari baterai / adaptor 9V pada saat arduino tidak sedang disambungkan kekomputer. Seandainya arduino sedang tersambung dengan computer melalui USB, Arduino mendapat suplai tegangan dari USB, jadi tidak perlu memasang baterai / adaptor saat memprogram Arduino. 2.2 Sensor Cahaya ( LDR ) Light Dependent Resistor (LDR), merupakan sebuah sensor peka cahaya yang terdiri dari sebuah cakram semikonduktor yang mempunyai dua buah elektroda pada permukaannya. Kerja LDR ini tergantung dari keberadaan cahaya. Pada saat gelap atau cahaya redup, bahan dari cakram tersebut menghasilkan elektron bebas dengan jumlah yang relative kecil. Sehingga hanya ada sedikit 8 electron untuk mengangkut muatan elektrik. Artinya pada saat cahaya redup LDR menjadi konduktor yang buruk, atau bisa disebut juga LDR memiliki resistansi yang besar pada saat gelap atau cahaya redup. Pada saat cahaya terang, ada lebih banyak electron yang lepas dari atom bahan semikonduktor tersebut. Sehingga akan ada lebih banyak electron untuk mengangkut muatan elektrik. Artinya pada saat cahaya terang LDR menjadi konduktor yang baik, atau disebut juga LDR memiliki resistansi yang kecil pada saat cahaya terang. Gambar 2.2 Sensor Cahaya ( LDR ) 2.3 Drive Motor ( Motor Shield 298 ) Ada beberapa macam driver motor DC yang biasa kita pakai seperti menggunakan relay yang diaktifkan dengan transistor sebagai saklar, namun yang demikian dianggap tidak efesien 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 penggunaannya. IC yang familiar seperti IC L298.IC ini memiliki kelebihan dan kekurangan masing-masing.Modul yang menggunakan IC driver motor shieldL298 yang memiliki kemampuan menggerakkan motor DC sampai arus 4A dan tegangan maksimum 46 VoltDC untuk satu kanalnya. Rangkaian driver motor DC dengan IC L298 diperlihatkan pada gambar 2.3. Pin 9 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 highnya. Gambar 2.3 Drive motor DC dengan L298 2.3 Teori Motor DC Motor DC berfungsi untuk mengubah tenaga listrik arus searah menjadi tenaga gerak.Tenaga gerak tersebut berupa putaran dari rotor.Jadi motor DC menerima sumber arus DC dari jala-jala dirubah menjadi energi mekanik berupa putaran yang nantinya akan dipakai oleh peralatan lain. 2.3.1 Prinsip Kerja Motor DC Adanya garis-garis gaya medan magnet (fluks) antara kutub yang berada pada stator. Penghantar yang dialiri arus ditempatkan pada jangkar yang berda dalam medan magnet. Pada penghantar tinbul gaya yang menghasilkan torsi. 10 Konstruksi Motor DC pada gambar 2.4, berikut : Gambar 2.4 Motor DC Gearbox 2.4 Aplikasi Program Arduino IDE ( Integrated development Enviroment) Ketika kita membuka program Arduino IDE ( Integrated Development Enviroment ), akan terlihat serupa dengan tampilan gambar 2.6 dibawah ini. Jika kita menggunakan Windows atau Linux, akan terlihat perbedaan, tetapi pada dasarnya IDE ( Integrated Development Enviroment ) akan sama tidak perduli Operasi Sistemnya apa yang digunakan. 11 Gambar 2.5 Tampilan program IDE ( Integrated Development Enviroment ) 2.5 Arduino Programming Tool Arduino merupakan perangkat pemrograman mikrokontroler jenis AVR yang tersedia secara bebas (open-source) untuk membuat prototip elektronika yang dapat berinteraksi dengan keaadaan sekitarnya.Arduino dapat menerima input dari berbagai jenis sensor dan mengendalikan sensor,servo dan aktuator lainnya. Gambar 2.6 Tampilan Utama Aplikasi Arduino 12 1. Toolbar Gambar 2.7 Toolbar pada Aplikasi Arduino a. Verify Tombol ini digunakan untuk meng-compile program yang telah dibuat.Compile berguna untuk mengetahui apakah program yang dibuat telah benar atau masih memiliki kesalahan.Apabila asa kesalahan yang terjadi,bagian Message akan menampilkan letak kesalahan tersebut. b. Stop Tombol ini digunakan untuk membatalkan proses verify yang sedang berlangsung. c. New Tombol digunakan untuk membuat coding pada windows yang 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 mikrokontroler. g. Serial Monitor mengirim coding yang sedang dikerjakan ke 13 Tombol ini digunakan untuk melihat aktivitas komunikasi serial dari mikrokontroler baik yang di kirim oleh user ke mikrokontroler maupan sebaliknya. 2. Coding Area Bagian ini merupakan tempat penulisn coding dengan menggunakan bahasa pemrograman C.Coding di dalam Arduino memiliki 2(dua) bagian utama,yaitu: a) Void setup() Bagian ini merupakan inisialisasi yang diperlukan sebelum program utama dijalankan.contoh: Void setup() { Serial.begin(19200); // inisialisasi baudrate komunikasi serial. pinMode(5,INPUT); // set pin no.2 Arduino sebagai input. pinMode(12,OUTPUT); // set pin no.12 Arduino sebagao output. } b) void loop () Bagian ini merupakan fungsi utama yang dijalankan terus menerus selama modul Arduino terhubung dengan power supply.contoh Void loop() { digitalWrite(13,HIGH); //memberikan logic High pada pin 13. delay(100); //menunda selama 1 detik. 14 digitalWrite(13,LOW); //memberikan logic Low pada pin 13 delay(100); //menunda selama 1 detik. } 3. Application status Bagian ini memberikan informasi kepada pengguna mengenai tugas yang sedang dijalankan 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.5.1 Serial Port Komunikasi serial digunakan untuk memprogram mikrokontroler langsung dari aplikasi Arduino.Selain itu,komunokasi 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.8 Tools Serial Port