5 BAB 2 TINJAUAN PUSTAKA 2.1 Mikrokontroler Mikrokontroler merupakan sistem komputer yang seluruh atau sebagian besar elemennya dikemas dalam satu chip IC (Intergrated Circuit) sehingga sering juga disebut single chip microcomputer, yang masuk dalam kategori embedded komputer. Suatu kontroler digunakan untuk mengontrol suatu proses atau aspekaspek dari lingkungan (Soebhakti, 2009). Mikrokontroler terdiri dari beberapa bagian diantaranya : 1. CPU (Central Prosesing Unit) pada bagian ini yaitu sebagai otak atau pusat dari pengontrolan sebuah komputer. 2. ROM (Read Only Memory) merupakan perangkat mengingat yang dapat membaca data pada komputer. 3. RAM (Random Access Memory) merupakan perangkat pembaca data pada komputer yang dilakukan secara acak. 4. I/O (Input/Output) merupakan sistem pemasukan dan keluar data pada komputer. 2.2 Arduino Arduino adalah platform pembuatan prototipe elektronik yang bersifat opensource hardware yang berdasarkan pada perangkat keras dan perangkat lunak yang fleksibel dan mudah digunakan. Arduino ditujukan bagi para seniman, desainer, dan siapapun yang tertarik dalam menciptakan objek atau lingkungan yang interaktif (Simanjuntak, 2013). Arduino pada awalnya dikembangkan di Ivrea, Italia. Nama Arduino adalah sebuah nama maskulin yang berarti teman yang kuat. Platform arduino terdiri dari arduino board, shield, bahasa pemrograman arduino, dan arduino development environment. Arduino board biasanya memiliki sebuah chip dasar mikrokontroler Atmel AVR ATmega8 berikut turunannya. Blok diagram arduino board yang sudah disederhanakan. Shield adalah sebuah papan yang dapat dipasang diatas Universitas Sumatera Utara 6 arduino board untuk menambah kemampuan dari arduino board (Simanjuntak, 2013). Bahasa pemrograman arduino adalah bahasa pemrograman yang umum digunakan untuk membuat perangkat lunak yang ditanamkan pada arduino board. Bahasa pemrograman arduino mirip dengan bahasa pemrograman C++ (Simanjuntak, 2013). Gambar 2.1. Blok Diagram Arduino Board. Arduino Development Environment adalah perangkat lunak yang digunakan untuk menulis dan meng-compile program untuk arduino. Arduino Development Environment juga digunakan untuk meng-upload program yangsudah di-compile ke memori program arduino board (Simanjuntak, 2013). 2.2.1 Arduino Uno Arduino Uno adalah arduino board yang menggunakan mikrokontroler ATmega328. Arduino Uno memiliki 14 pin digital (6 pin dapat digunakan sebagai output PWM), 6 input analog, sebuah 16 MHz osilator kristal, sebuah koneksi USB, sebuah konektor sumber tegangan, sebuah header ICSP, dan sebuah tombol reset. Arduino Uno memuat segala hal yang dibutuhkan untuk mendukung sebuah mikrokontroler. Hanya dengan menhubungkannya ke sebuah komputer melalui USB atau memberikan tegangan DC dari baterai atau adaptor AC ke DC sudahdapat membuatnya bekerja. Arduino Uno menggunakan ATmega16U2 yang diprogram sebagai USB-to-serial converter untuk komunikasi serial ke komputermelalui port USB. Tampak atas dari arduino uno dapat dilihat pada Gambar 8.2 (Simanjuntak, 2013). Universitas Sumatera Utara 7 Adapun data teknis board Arduino UNO R3 adalah sebagai berikut: 1) Mikrokontroler : ATmega328 2) Tegangan Operasi : 5V 3) Tegangan Input (recommended) : 7 - 12 V 4) Tegangan Input (limit) : 6-20 V 5) Pin digital I/O : 14 (6 diantaranya pin PWM) 6) Pin Analog input : 6 7) Arus DC per pin I/O : 40 mA 8) Arus DC untuk pin 3.3 V : 150 mA 9) Flash Memory : 32 KB dengan 0.5 KB digunakan untuk bootloader 10) SRAM : 2 KB 11) EEPROM : 1 KB 12) Kecepatan Pewaktuan : 16 Mhz Gambar 2.2. Arduino Uno. 2.2.2 Pin masukan dan keluaran arduino uno Masing-masing dari 14 pin digital arduino uno dapat digunakan sebagai masukan atau keluaran menggunakan fungsi pin Mode(), digital Write() dandigital Read(). Setiap pin beroperasi pada tegangan 5 volt. Setiap pin mampu menerima atau menghasilkan arus maksimum sebasar 40 mA dan memiliki resistor pull-up internal (diputus secara default) sebesar 20-30 KOhm. Sebagaitambahan, beberapa pin masukan digital memiliki kegunaan khusus yaitu: 1) Komunikasi serial: pin 0 (RX) dan pin 1 (TX), digunakan untuk menerima (RX) dan mengirim (TX) data secara serial. Universitas Sumatera Utara 8 2) External Interrupt: pin 2 dan pin 3, pin ini dapat dikonfigurasi untuk memicu sebuah interrupt pada nilai rendah, sisi naik atau turun, atau pada saat terjadi perubahan nilai. 3) Pulse-width modulation (PWM): pin 3,5,6,9,10 dan 11, menyediakan keluaran PWM 8-bit dangan menggunakan fungsi analogWrite(). 4) Serial Peripheral Interface (SPI): pin 10 (SS), 11 (MOSI), 12 (MISO) dan 13(SCK), pin ini mendukung komunikasi SPI dengan menggunakan SPI library. 5) LED: pin 13, terdapat built-in LED yang terhubung ke pin digital 13. Ketikapin bernilai HIGH maka LED menyala, sebaliknya ketika pin bernilai LOWmaka LED akan padam. Arduino Uno memiliki 6 masukan analog yang diberi label A0 sampai A5,setiap pin menyediakan resolusi sebanyak 10 bit (1024 nilai yang berbeda). Secara default pin mengukur nilai tegangan dari ground (0V) hingga 5V, walaupun begitu dimungkinkan untuk mengganti nilai batas atas dengan menggunakan pin AREF dan fungsi analog Reference(). Sebagai tambahan beberapa pin masukan analog memiliki fungsi khusus yaitu pin A4 (SDA) dan pin A5 (SCL) yang digunakan untuk komunikasi Two Wire Interface (TWI) atau Inter Integrated Circuit (I2C) dengan menggunakan Wire library (Simanjuntak, 2013). 2.2.3 Sumber Daya dan Pin Tegangan Arduino Uno Arduino uno dapat diberi daya melalui koneksi Universal Serial Bus (USB) atau melalui power supply eksternal. Jika arduino uno dihubungkan ke kedua sumber daya tersebut secara bersamaan maka arduino uno akan memilih salah satu sumber daya secara otomatis untuk digunakan. Power supplay external (USB) berasal dari adaptor AC ke DC atau baterai. Adaptor dapat dihubungkan ke soket power pada arduino uno. Jika menggunakan baterai, ujung kabel yang dibubungkan ke baterai dimasukkan kedalam pin GND dan Vinyang berada pada konektor POWER (Simanjuntak, 2013). Arduino uno dapat beroperasi pada tegangan 6 sampai 20 volt. Jika arduino uno diberi tegangan di bawah 7 volt, maka pin 5 volt akan menyediakan tegangan di bawah 5 volt dan arduino uno munkin bekerja tidak stabil. Jika diberikan tegangan Universitas Sumatera Utara 9 melebihi 12 volt, penstabil tegangan kemungkinan akan menjadi terlalu panas dan merusak arduino uno. Tegangan rekomendasi yang diberikan ke arduino uno berkisar antara 7 sampai 12 volt (Simanjuntak, 2013). Pin-pin tegangan pada arduino uno adalah sebagai berikut: 1) Pin adalah pin untuk mengalirkan sumber tegangan ke arduino uno ketika menggunakan sumber daya eksternal (selain dari koneksi USB atau sumberdaya yang teregulasi lainnya). Sumber tegangan juga dapat disediakan melalui pin ini jika sumber daya yang digunakan untuk arduino uno dialirkan melalui soket power. 2) 5V adalah pin yang menyediakan tegangan teregulasi sebesar 5 volt berasal dari regulator tegangan pada arduino uno. 3) 3V3 adalah pin yang meyediakan tegangan teregulasi sebesar 3,3 volt berasal dari regulator tegangan pada arduino uno. GND adalah pin Ground. 2.2.4 Peta Memori Arduino Uno Arduino Uno adalah arduino board yang menggunakan mikrokontroler ATmega328. Maka peta memori arduino uno sama dengan peta memori pada mikrokontroler ATmega328 (Simanjuntak, 2013). 2.2.5 Memori Program ATMega328 memiliki 32K byte On-chip In-System Reprogrammable Flash Memory untuk menyimpan program. Memori flash dibagi kedalam dua bagian, yaitu bagian program bootloader dan aplikasi seperti pada Gambar 8.3. Bootloader adalah program kecil yang bekerja pada saat sistem dimulai yang dapat memasukkan seluruh program aplikasi ke dalam memori prosesor (Simanjuntak, 2013). Universitas Sumatera Utara 10 Gambar 2.3. Peta Memori Program ATMega 328. 2.2.6 Memori Data Memori data ATMega328 terbagi menjadi 4 bagian, yaitu 32 lokasi untuk register umum, 64 lokasi untuk register I/O, 160 lokasi untuk register I/O tambahan dan sisanya 2048 lokasi untuk data SRAM internal. Register umum menempati alamat data terbawah, yaitu 0x0000 sampai 0x001F. Register I/O menempati 64 alamat berikutnya mulai dari 0x0020 hingga 0x005F. Register I/O tambahan menempati 160 alamat berikutnya mulai dari 0x0060 hingga 0x00FF.Sisa alamat berikutnya mulai dari 0x0100 hingga 0x08FF digunakan untuk SRAM internal (Simanjuntak, 2013). Peta memori data dari ATMega 328 dapat dilihat pada Gambar 8.4. Gambar 2.4. Peta Memori Data ATMega328. Universitas Sumatera Utara 11 2.2.7 Memori Data EEPROM Arduino uno terdiri dari 1 KByte memori data EEPROM. Pada memori EEPROM, data dapat ditulis/dibaca kembali dan ketika catu daya dimatikan, data terakhir yang ditulis pada memori EEPROM masih tersimpan pada memori ini,atau dengan kata lain memori EEPROM bersifat nonvolatile. Alamat EEPROM dimulai dari 0x000 hingga 0x3FF (Simanjuntak, 2013). 2.3 Ethernet Arsitektur Ethernet ini di perkenalkan tahun 1970 an oleh Xerox, di mana terdapat tiga jenis Ethernet yang di bedakan berdasarkan decepata daya akses datanya, yaitu : a. Ethernet : memiliki kecepatan akses data 10 Mbps b. Fast Ethernet : memiliki kecapatan akses data 100 Mbps c. Gigabit Ethernet : bias juga di sebut Gibic Ethernet. Gibic Ethernet memiliki kecepatan akses data sebesar 1000 Mbps atau 1Gbps. Arsitektur ini memiliki kemampuan berbagi bandwidth atau resource dalam suatu jaringan yang sama. Protokol yang di gunakan pada arsitektur ini adalah CSMA/CD atau Carrier Sense Multiple Access With Collsion Detections, protocol ini berfungsi supaya tidak terjadi collusion ketika berbagi bandwidth. Collusion merupakan suatu kondisi di mana ada beberapa source computer yang mengirimkan data pada saat yang sama sehingga data yang dikirimkan melalui jaringan tersebut akan bertabrakan dan data tidak akan terkirim. Sebelumnya, Ethernet utamanya digunakan dalam teknologi akses, menyediakan akses internet atau interface user ke network. Sampai saat ini kondisi tersebut masih berjalan tetapi standar ethernet-nya sendiri dikembangkan untuk mampu melayani layanan data pada jaringan transport. Fungsi-fungsi layanan pada teknologi Ethernet sebagai jaringan transport merupakan hasil pengembangan yang terus-menerus. ( Kharisma, 2009). 2.3.1 Ethernet Shield Merupakan modul yang digunakan untuk menghubungkan perangkat Arduino ke internet baik local atau online. Modul ini merupakan perangkat tambahan untuk Universitas Sumatera Utara 12 Arduino yang langsung di koneksikan pada papan Arduino. Modul ini dapat terkoneksi ke jaringan disebabkan adanya Chip Ethernet Wiznet W5100 yang ada pada papan Ethernet. Wiznet W5100 menyediakan jaringan (IP) stack yang memiliki TCP dan UDP. Shield ini mendukung hingga empat koneksi soket secara simultan. (Girsang, 2014). 2.4 Sensor Panas LM35 Sensor suhu LM35 adalah komponen elektronika yang memiliki fungsi untuk mengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan. Sensor Suhu LM35 yang dipakai dalam penelitian ini berupa komponen elektronika elektronika yang diproduksi oleh National Semiconductor. LM35 memiliki keakuratan tinggi dan kemudahan perancangan jika dibandingkan dengan sensor suhu yang lain, LM35 juga mempunyai keluaran impedansi yang rendah dan linieritas yang tinggi sehingga dapat dengan mudah dihubungkan dengan rangkaian kendali khusus serta tidak memerlukan penyetelan lanjutan. Meskipun tegangan sensor ini dapat mencapai 30 volt akan tetapi yang diberikan kesensor adalah sebesar 5 volt, sehingga dapat digunakan dengan satu daya tunggal dengan ketentuan bahwa LM35 hanya membutuhkan arus sebesar 60 μA hal ini berarti LM35 mempunyai kemampuan menghasilkan panas (self-heating) dari sensor yang dapat menyebabkan kesalahan pembacaan yang rendah yaitu kurang dari 0,5º C pada suhu 25º C. Gambar 2.5. Sensor Suhu LM35 Gambar LM35 tampak depan dan tampak bawah. 3 pin LM35 menujukan fungsi masing-masing pin diantaranya, pin 1 berfungsi sebagai sumber tegangan kerja dari LM35, pin 2 atau tengah digunakan sebagai tegangan keluaran atau V out Universitas Sumatera Utara 13 dengan jangkauan kerja dari 0 Volt sampai dengan 1,5 Volt dengan tegangan operasi sensor LM35 yang dapat digunakan antar 4 Volt sampai 30 Volt. Keluaran sensor ini akan naik sebesar 10 mV setiap derajad celcius sehingga diperoleh persamaan sebagai berikut : VLM35 = Suhu.10mV Secara prinsip sensor akan melakukan penginderaan pada saat perubahan suhu setiap suhu 1º C akan menunjukan tegangan sebesar 10 mV. Pada penempatannya LM35 dapat ditempelkan dengan perekat atau dapat pula disemen pada permukaan akan tetapi suhunya akan sedikit berkurang sekitar 0,01º C karena terserap pada suhu permukaan tersebut. Dengan cara seperti ini diharapkan selisih antara suhu udara dan suhu permukaan dapat dideteksi oleh sensor LM35 sama dengan suhu disekitarnya, jika suhu udara disekitarnya jauh lebih tinggi atau jauh lebih rendah dari suhu permukaan, maka LM35 berada pada suhu permukaan dan suhu udara disekitarnya. (Utomo, 2011). Keuntungan lain dari sensor LM 35 adalah memberikan akurasi sebesar ± ¼° C pada suhu ruangan dan ± ¾° C terhadap suatu rentang suhu –55° C hingga +150° C tanpa penyetelan atau pengukuran, impedansi keluaran LM35 yang rendah, keluaran linier, dan proses kalibrasi yang mudah dan tepat sehingga dapat dibaca dan diatus sirkulasinya serta dapat menggunakan catu daya tunggal atau dengan catu daya plus (+) dan minus (-). ( Indriani). 2.5 Relay Relay adalah sebuah saklar yang dikendalikan oleh arus. Relay memiliki sebuah kumparan tegangan rendah yang dililitkan pada sebuah inti dan arus nominal yang harus dipenuhi output Hal -5 rangkaian pendriver atau pengemudinya. Arus yang digunakan pada rangkaian adalaharus DC. (Bishop). 2.5.1 Motor DC Pompa Air Dalam memilih suatu pompa air terlebih dahulu harus diketahui kapasitas aliran serta head yang diperlukan untuk mengalirkan zat cair yang akan dipompa. Selain dari pada itu, agar pompa dapat bekerja tanpa mengalami kavitasi,maka perlu ditaksir berapa tekanan minimum yang tersedia pada sisi masuk pompa yang Universitas Sumatera Utara 14 terpasang instalannya. Ata s dari tekanan isap inilah maka putaran pompa dapat ditentukan. Untuk pemilihan penggerak pompa, tergantung pada mana yang tepat bagi setiap kasus. Harus dilihat kondisi kerja dan tempatnya, karena kedua jenis penggerak mula pada pompa ini memiliki keuntungan dan kerugian masingmasing. (Faisal, 2009). Gambar 2.6. Motor DC Pompa Air 2.6 Web server Web serversite atau situs adalah kumpulan halaman yang menampilkan informasi data teks, data gambar diam atau gerak, data animasi, suara, video dan atau gabungan dari semuanya, baik yang bersifat statis maupun dinamis yang membentuk satu rangkaian bangunan yang saling terkait dimana masing-masing dihubungkan dengan jaringan jaringan halaman (Hyperlink). Bersifat statis apabila isi informasi web serversite tetap, jarang berubah, dan isi informasinya searah hanya dari pemilik web serversite. Bersifat dinamis apabila isi informasi web serversite selalu berubah-berubah, dan isi informasinya interaktif dua arah berasal dari pemilik serta pengguna web serversite (Trimarsiah 2014). 2.6.1 PHP Hypertext Preprocessor (PHP) yang digunakan sebagai bahasa siscript serverside dalam pengembangan web server yang disisipkan pada dokumen HTML. Penggunaan PHP memungkinkan web server dapat dibuat dinamis sehingga maintenance situs web server tersebut menjadi lebih mudah dan efisien (Trimarsiah 2014). Universitas Sumatera Utara 15 2.7 ISIS & ARES Proteus 8.5 Proteus adalah sebuah software untuk mendesain PCB yang dilengkapi dengan simulasi Pspice pada level skematik sebelum rangkaian skematik di-upgrade ke PCB, sehingga kita tahu apakah PCB yang akan dicetak sudah benar atau tidak. Proteus mampu mengkombinasikan program ISIS untuk membuat skematik desain rangkaian dengan program ARES untuk membuat layout PCB dari skematik yang telah dibuat. Fitur-fitur dari PROTEUS adalah sebagai berikut : 1. Memiliki kemampuan untuk mensimulasikan hasil rancangan baik digital maupun analog maupun gabungan keduanya, 2. Mendukung simulasi yang menarik dan simulasi secara grafis 3. Mendukung simulasi berbagai jenis microcontroller seperti PIC, 8051 series. 4. Memiliki model-model peripheral yang interactive seperti LED, tampilan LCD, RS232, dan berbagai jenis library lainnya. 5. Mendukung instrument-instrument virtual seperti voltmeter, ammeter, oscciloscope, logic analyser, dll, 6. Memiliki kemampuan menampilkan berbagi jenis analisis secara grafis seperti transient, frekuensi, noise, distorsi, AC dan DC, dll. 7. Mendukung berbagai jenis komponen-komponen analog, Mendukung open architecture sehingga kita bisa memasukkan program seperti C++ untuk keperluan simulasi, 8. Mendukung pembuatan PCB yang di-update secara langsung dari program ISIS ke program pembuat PCB-ARES. Proteus ISIS merupakan program terintegrasi dengan proteus yang menjadi program utama pada software proteus. ISIS dirancang untuk membuat sebuah skematik rangkaian elektronika dan dapat menyimulasikan rangkaian dengan memberikan sebuah program ke dalam sebuah mikroprosesor. Proteus ISIS dapat dilihat pada gambar 2.9. Universitas Sumatera Utara 16 Gambar 2.7 Tampilan Software Proteus ISIS Proteus ARES merupakan tempat untuk membuat layout PCB berdasarkan skematik rangkaian elektronika yang telah dibuat di ISIS. Software Proteus ARES dapat dilihat pada gambar 2.10. Gambar 2.8 Tampilan Software Proteus ARES Universitas Sumatera Utara