BAB II LANDASAN TEORI 2.1 Definisi Mikrokontroler Mikrokontroler adalah sebuah sistem computer fungsional dalam sebuah chip, didalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM, memori program atau keduanya), dan perlengkapan input output. Dengan kata lain mikrokontroler adalah suatu alat elektronika digital yang mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis atau dihapus dengan khusus, cara kerja mikrokontroler sebenarya membaca dan menulis data. Mikrokontroler merupakan computer didalam chip yang digunakan mengontrol peralatan elektronika, yang menekan effisiensi dan efektifitas biaya, secara harfiahnya bisa disebut pengendali kecil dimana sebuah sisitem elektronika yang sebelumnya banyak memerlukan komponen-komponen pendukung seperti IC, TTL Dan CMOS dapat direduksi/diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler. 6 7 2.2 Arduino UNO Arduino UNO adalah sebuah board mikrokontroller yang berbasis ATmega328. Arduino memiliki 14 pin input/output yang mana 6 pin dapat digunakan sebagai output PWM, 6 analog input, sebuah crystal osilator 16 MHz, koneksi USB, jack power, kepala ICSP, dan tombol reset. Arduino UNO mampu men-support mikrokontroller; dapat dikoneksikan dengan komputer menggunakan kabel USB dan bisa disuplai dengan sebuah adaptor AC ke DC atau menggunakan baterai untuk memulainya. Gambar 2.1 boar arduino UNO. Gambar 2.1 Board arduino uno Boar Arduino UNO memiliki fitur-fitur sebagai berikut: Pin out 1.0: ditambah pin SDA dan SCL yang dekat dengan pin AREF dan dua pin baru lainnya yang diletakkan dekat dengan pin RESET, IOREF yang memungkinkan shield-shield untuk menyesuaikan tegangan yang disediakan dari board. Untuk ke depannya, shield akan dijadikan kompatibel/cocok dengan board yang menggunakan AVR yang beroperasi dengan tegangan 5V dan dengan Arduino Due yang beroperasi dengan tegangan 3.3V. Yang ke-dua ini merupakan sebuah pin yang tak terhubung, yang disediakan untuk tujuan kedepannya. 8 Sirkit RESET yang lebih kuat. Atmega16U2 menggantikan Atmega8U2. Adapun ringkasan spesifikasi Arduino UNO adalah sebagai berikut : Mikrokontroler : ATMEGA328 Tegangan Operasi : 5V Tegangan Input (recommended) : 7 - 12 V Tegangan Input (limit) : 6-20 V Pin digital I/O : 14 (6 diantaranya pin PWM) Pin Analog input : 6 Arus DC per pin I/O : 40 mA Arus DC untuk pin 3.3 V : 150 mA Flash Memory : 32 KB dengan 0.5KB digunakan untuk bootloader SRAM : 2 KB EEPROM : 1 KB Kecepatan Pewaktuan : 16 Mhz 2.2.1 Catu Daya / Power Arduino Uno dapat diaktifkan melalui koneksi USB atau dengan catu daya eksternal. Sumber daya dipilih secara otomatis. Untuk sumber daya eksternal (non-USB) dapat berasal baik dari adaptor AC-DC atau baterai. Adaptor ini dapat dihubungkan dengan memasukkan 2.1mm jack DC ke colokan listrik board. Baterai dapat dimasukkan pada pin header Gnd dan Vin dari konektor DAYA. 9 Board dapat beroperasi pada pasokan eksternal dari 6 sampai 20 volt. Jika menggunakan tegangan kurang dari 6 volt mungkin tidak akan stabil. Jika menggunakan lebih dari 12V, regulator tegangan bisa panas dan merusak papan. Rentang yang dianjurkan adalah 7 sampai 12 volt. Pin listrik yang tersedia adalah sebagai berikut: VIN. Input tegangan ke board Arduino ketika menggunakan sumber daya eksternal. Dapat menyediakan tegangan melalui pin ini, atau, jika ingin memasok tegangan melalui colokan listrik, gunakan pin ini. 5V. Pin ini merupakan output 5V yang telah diatur oleh regulator papan Arduino. Board dapat diaktifkan dengan daya, baik dari colokan listrik DC (7 - 12V), konektor USB (5V), atau pin VIN board (7-12V). Jika memasukan tegangan melalui pin 5V atau 3.3V secara langsung (tanpa melewati regulator) dapat merusak papan Arduino. Tegangan pada pin 3V3. 3.3Volt dihasilkan oleh regulator on-board. Menyediakan arus maksimum 50 mA. GND. Pin Ground. IOREF. Pin ini di papan Arduino memberikan tegangan referensi ketika mikrokontroler beroperasi. Sebuah shield yang dikonfigurasi dengan benar dapat membaca pin tegangan IOREF sehingga dapat memilih sumber daya yang tepat agar dapat bekerja dengan 5V atau 3.3V. 2.2.2 Input dan Output Digital Masing-masing dari 14 pin digital Uno dapat digunakan sebagai input atau output, menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead(). Mereka 10 beroperasi pada tegangan 5 volt. Setiap pin dapat memberikan atau menerima maksimum 40 mA dan memiliki resistor pull-up internal (terputus secara default) dari 20-50 kOhms. Selain itu, beberapa pin memiliki fungsi spesial: Serial: pin 0 (RX) dan 1 (TX) Digunakan untuk menerima (RX) dan mengirimkan (TX) data serial TTL. Pin ini terhubung dengan pin ATmega8U2 USB-to-Serial TTL. Eksternal Interupsi: Pin 2 dan 3 dapat dikonfigurasi untuk memicu interrupt pada nilai yang rendah (low value), rising atau falling edge, atau perubahan nilai. Lihat fungsi attachInterrupt() untuk rinciannya. PWM: Pin 3, 5, 6, 9, 10, dan 11 Menyediakan 8-bit PWM dengan fungsi analogWrite(). SPI: pin 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) mendukung komunikasi SPI dengan menggunakan perpustakaan SPI. LED: pin 13. Built-in LED terhubung ke pin digital 13. LED akan menyala ketika diberi nilai HIGH. Arduino Uno memiliki 6 input analog, berlabel A0 sampai A5, yang masing-masing menyediakan resolusi 10 bit (yaitu 1024 nilai yang berbeda). Secara default mereka mengukur dari ground sampai 5 volt, perubahan tegangan maksimal menggunakan pin AREF dan fungsi analogReference(). Selain itu, beberapa pin tersebut memiliki spesialisasi fungsi, yaitu TWI: pin A4 atau SDA dan A5 atau SCL mendukung komunikasi TWI menggunakan perpustakaan Wire. Ada beberapa pin lainnya yang tertulis di board: AREF. Tegangan referensi untuk input analog. Dapat digunakan dengan fungsi analogReference(). 11 Reset. Gunakan LOW untuk me-reset mikrokontroler. Biasanya digunakan untuk menambahkan tombol reset. 2.2.3 Memori ATMega328 memiliki 32 KB (dengan 0,5 KB digunakan untuk boatloader). ATMega328 juga memiliki 2 KB dari SRAM dan 1 KB EEPROM (yang dapat dibaca dan ditulis dengan perpustakaan/library EEPROM). 2.2.4 Komunikasi Arduino Uno memiliki sejumlah fasilitas untuk berkomunikasi dengan computer, Arduino lain, atau mikrokontroler lainnya. ATMega328 menyediakan UART TTL (5V) komunikasi serial, yang tersedia pada pin digital 0 (Rx) dan 1 (Tx). Pada ATMega16U2 saluran komunikasi serial melalui USB dan muncul sebagai com port virtual untuk perangkat lunak pada computer. Firmware 16U2 menggunakan standar driver USB COM, dan tidak ada driver eksternal diperlukan. Namun, pada Windows, diperlukan file .inf . Perangkat lunak Arduino termasuk monitor serial yang memungkinkan data tekstual sederhana akan dikirim ke dan dari papan Arduino. Rx dan Tx LED di papan akan berkedip ketika data sedang dikirim melalui chip USB-to-Serial dan koneksi USB computer (tetapi tidak untuk komunikasi serial pada pin 0 dan 1). ATMega328 juga mendukung I2C (TWI) dan komunikasi SPI. Perangkat lunak Arduino termasuk perpustakaan Wire berfungsi menyederhanakan penggunaan bus I2C. untuk komunikasi SPI, menggunakan perpustakaan SPI. 12 2.2.5 Perlindungan Arus USB Arduino Uno memiliki polyfuse reset yang melindungi port pada USB computer dari arus pendek atau berlebih. Meskipun kebanyakan computer memberikan perlindungan internal sendiri, sekering menyediakan lapisan perlindungan tambahan. Jika lebih dari 500 mA, sekering otomatis bekerja. 2.2.6 Karakteristik Fisik Panjang maksimum dan lebar PCB Uno masing-masing adalah 2,7 dan 2,1 inci dengan konektor USB dan colokan listrik yang melampaui dimensi tersebut. Empat lubang sekrup memungkinkan papan harus terpasang ke permukaan. Perhatikan bahwa jarak antara pin digital 7 dan 8 adalah 0,16 tidak seperti pin lainnya. 2.2.7 Aplikasi Program Arduino Arduino memiliki basic bahasa program menggunakan bahasa C++ yang telah dipermudah melalui library. Arduino mengunakan software processing yang digunakan untuk menulis program kedalam arduino. Processing sendiri merupakan penggabungan antara bahasa C++ dan Java. Software Arduino dapat di-install di berbagai operating sistem (OS) seperti: LINUX, Mac OS dan Windows. Software arduino terdiri dari 3 (tiga) bagian: 1. Edittor program, untuk menulis dan mengedit program dalam bahasa processing. Listing pada arduino disebut sketch. 13 2. Compiler, modul yang berfungsi mengubah bahasa processing (kode program) kedalam kode biner karena kode biner adalah satu-satunya bahasa program yang dipahami oleh microcontroler. 3. Uploader, modul yang berfungsi memasukan kode biner ke memori microcontroler. Struktur perintah pada arduino secara garis besar terdiri dari 2 (dua) bagian yaitu void setup dan void loop. Void setup berisi perintah yang akan dieksekusi hanya satu kali sejak arduino dihidupkan sedangkan void loop berisi perintah yang akan dieksekusi berulang-ulang saat arduino dinyalakan. Gambar 2.2 contoh program arduino. Gambar 2.2 Contoh program arduino 14 2.2.8 Otomatis Software Reset Tombol reset Arduino Uno dirancang untuk menjalankan program yang tersimpan di dalam mikrokontroler dari awal. Tombol reset terhubung ke ATMega328 melalui kapasitor 100 nf. Setelah tombol reset ditekan cukup lama untuk me-reset chip, software IDE Arduino dapat juga berfungsi untuk mengupload program dengan hanya menekan tombol upload pada software IDE Arduino. 2.3 Perangkat Pengindra (sensor) Sensor adalah suatu alat yang berfungsi mengukur besaran tertentu seperti suhu kelembaban, panas dan sebagainya atau bisa dijelaskan sebagai alat untuk menditeksi atau mengukur sesuatu yang digunakakn untuk mengubah variasi mekanis, magnetis, sinar, dan kimia menjadi tegangan dan arus listrik. 2.3.1 Sensor Warna TCS3200 Sensor warna TCS3200 adalah detektor warna lengkap , termasuk chip sensor Taos TCS3200 RGB (Red, Green, dan Blue) dan 4 LED putih. TCS3200 dapat mendeteksi dan mengukur berbagai hampir tak terbatas warna terlihat. Aplikasi termasuk membaca tes strip, menyortir berdasarkan warna, sensor cahaya, kalibrasi, dan pencocokan warna. Modul sensor ini memiliki fasilitas untuk merekam hingga 25 data warna yang akan disimpan dalam EEPROM. Sensor warana TCS3200 memiliki susunan photodetector, masing-masing dengan baik merah, hijau , atau biru filter, atau ada filter ( yang jelas ). Filter dari setiap warna yang merata di seluruh susunan untuk menghilangkan lokasi antara 15 warna. Internal untuk perangkat osilator yang menghasilkan output gelombang persegi frekuensi yang sebanding dengan intensitas warna yang dipilih. Lihat gambar dibawah ini. Gambar 2.3 Sensor warna TCS3200 Gambar 2.4 Blok diagram fungsional TCS3200 16 Gambar 2.5 Karakteristik TCS3200 Fitur sensor warna TCS3200 sebagai berikut: Power: ( 2.7V ke 5.5V ) Interface: Digital TTL Resolusi Tinggi Konversi Intensitas Cahaya untuk Frekuensi Programmable Warna dan Full - Skala Keluaran Frekuensi Power Down Fitur Berkomunikasi Langsung ke Microcontroller S0 ~ S1: input pilihan output frekuensi skala S2 ~ S3: input Jenis Photodiode pilihan OUT Pin: frekuensi output OE Pin: frekuensi output memungkinkan pin (aktif rendah), dapat akan datang ketika menggunakan Dukungan lampu LED control suplemen cahaya Ukuran : 28.4x28.4mm Prinsip kerja sensor warna TCS3200 Untuk TCS3200, ketika memilih filter warna, dapat memungkinkan hanya satu warna tertentu untuk melewati dan mencegah warna lain. Misalnya, ketika 17 memilih filter merah, Hanya cahaya insiden merah bisa melalui, biru dan hijau akan dicegah. Jadi kita bisa mendapatkan intensitas cahaya merah. Demikian pula, ketika memilih filter lain kita bisa mendapatkan cahaya biru atau hijau. Sensor warna TCS3200 memiliki empat jenis dioda. Merah, biru, hijau dan jelas, mengurangi amplitudo keseragaman cahaya insiden sangat, sehingga untuk meningkatkan akurasi dan menyederhanakan optik. Ketika proyek cahaya ke TCS3200 dapat memilih berbagai jenis dioda oleh kombinasi yang berbeda dari S2 dan S3. Lihat tabel sebagai berikut. Tabel 2.1 Tabel selektor S2 dan S3 S2 S3 PHOTODIODE TYPE L L Red L H Blue H L Clear (no filter) H H Green Dan output frekuensi gelombang persegi yang berbeda (menempati emptiescompared 50%), warna yang berbeda dan intensitas cahaya sesuai dengan frekuensi yang berbeda dari gelombang persegi. Ada hubungan antara output dan intensitas cahaya. Kisaran frekuensi output khas adalah 2HZ ~ 500kHz. Sehingga bisa mendapatkan faktor skala yang berbeda dengan kombinasi yang berbeda dari S0 dan S1. Lihatlah tabel sebagai berikut. 18 Tabel 2.2 Tabel selektor S0 dan S1 2.4 S0 S1 L L Power down L H 2% H L 20% H H 100% OUTPUT FREQUENCY SCALING( ) Warna Setiap warna bisa disusun dari warna dasar. Untuk cahaya, warna dasar penyusunannya adalah warna merah, hijau dan biru, atau lebih dikenal dengan istilah RGB (Red-Green-Blue). Warna adalah spektrum tertentu yang terdapat didalam suatu cahaya sempurna (berwarna putih). Identitas suatu warna ditentukan panjang gelombang cahaya tersebut. Cahaya tampak adalah bagian spektrum yang mempunyai panjang gelombang antara lebih kurang 380 nanometer (nm) dan 780 nanometer (nm) dalam udara. Gambar 2.6 Spektrum cahaya nampak 19 2.4.1 Model Warna RGB Model warna RGB adalah model warna berdasarkan konsep penambahan kuat cahaya primer yaitu Red, Green dan Blue. Dalam suatu ruang yang sama sekali tidak ada cahaya, maka ruangan tersebut adalah gelap total. Tidak ada signal gelombang cahaya yang diserap oleh mata atau RGB (0,0,0). Apabila menambahkan cahaya merah pada ruangan tersebut, maka ruangan akan berubah warna menjadi merah misalnya RGB (255,0,0), semua benda dalam ruangan tersebut hanya dapat terlihat berwarna merah. Demikian apabila cahaya ganti dengan hijau atau biru. Bisa dilihat dari gambar 2.4 Warna cahaya RGB. Gambar 2.7 Warna cahaya RGB 2.5 LED (Light Emitting Dioda) LED (Light Emitting Dioda) adalah dioda yang dapat memancarkan cahaya pada saat mendapatkan arus. LED (Light Emitting Dioda) dapat memancarkan cahaya karena menggunakan dopping galium, arsenic dan phosporus. Jenis dopping yang berbeda dapat menghasilkam cahaya dengan warna yang berbeda. 20 LED (Light Emitting Dioda) merupakan sala satu jenis dioda, sehingga hanya akan mengalirkan arus listrik satu arah saja. LED akan memancarkan cahaya apabila diberikan tegangan dengan konfigurasi forward bias. Berbeda dengan dioda pada umumnya karena kemampuan arus pada LED cukup rendah yaitu maksimal 20 mA, apabila dialiri arus lebih besar dari 20 mA maka LED akan rusak, sehingga pada rangkaian LED dipasang sebuah resistor pembatas arus. Gambar 2.5 simbol dan fisik LED. Gambar 2.8 Simbol dan fisik LED Dari gambar diatas dapat kita ketahui bahwa LED memiliki kaki 2 buah seperti dioda yaitu kaki anoda dan kaki katoda. Anoda memiliki ciri fisik lebih panjang dari kaki katoda pada saat masih baru, kemudian kaki katoda pada LED ditandai dengan body LED yang dipapas rata. Kaki anoda dan kaki katoda pada LED disimbolkan seperti gambar diatas. 2.5.1 Teknologi LED 1. Fungsi Fisikal Sebuah LED adalah sejenis diode semikonduktor istimewa. Seperti sebuah diode normal. LED terdiri dari sebuah chip bahan semikonduktor yang diisi penuh, atau di-dop, dengan ketidakmurnian untuk menciptakan 21 sebuah struktur yang disebut p-n junction. Pembawa muatan elektron dan lubang mengalir ke junction dari elektrode dengan voltase berbeda. Ketika elektron bertemu dengan lubang, dia jatuh ke tingkat energi yang lebih rendah, dan melepas energi dalam bentuk foton. 2. Emisi cahaya Panjang gelombang dari cahaya yang dipancarakan, dan oelah karena itu warnanya, tergantung dari selisih pita energi dari bahan yang membentuk p-n junction. Sebuah diode normal, biasanya terbuat dari silikon atau germanium, memancarkan cahaya tampak inframerah dekat, tetapi bahan yang digunakan untuk sebuah LED memiliki selisih pita energi antara cahaya inframerah dekat, tampak, dan ultraungu dekat. 3. Polarisasi Tak seperti lampu pijar dan neon, LED mempunyai kecenderungan polarisasi. Chip LED mempunyai kutub positif dan negatif (p-n) dan hanya akan menyala bila diberikan arus maju. Ini dikarenakan LED terbuat dari bahan semikonduktor dan hanya akan mengizinkan arus listrik mengalir ke satu arah dan tidak ke arah sebaliknya. Bila LED diberikan arus terbalik, hanya akanada sedikit arus yang melewati chip LED. Ini menyebabkan chip LED tidak akan mengeluarkan emisi cahaya. 4. Tegangan Maju Karakteristik chip LED pada umumnya adalah sama dengan karakteristik diode yang hanya memerlukan tegangan tertentu untuk dapat beroperasi. Namun bila diberikan tegangan yang terlalu besar, LED akan rusak walaupun tegangan yang diberikan adalah tegangan maju. Tegangan yang 22 diperlukan sebuah diode untuk dapat beroperasi adalah tegangan maju (Vf). 5. Sirkuit LED Sirkuit LED dapat didesain dengan cara menyusun LED dalam posisi seru maupun paralel. Bila disusun secara seri, maka yang perlu diperhatikan adlah jumlah tegangan yang diperlukan seluruh LED dalam rangkaian tadi. Namun bila LED diletakkan dalam keadaan paralel, maka yang perlu diperhatikan menjadi jumlah arus yang diperlukan seluruh LED dalam rangkaian ini. Menyusun LED dalam rangkaian seri akan lebih sulit jika warna LED berbeda-beda, karena tiap warna LED yang berlainan mempunyai tegangan maju (Vf) yag berbeda. Perbedaan ini akan menyebabkan bila jumlah tegangan yang diberikan terlalu besar akan berakibat kerusakan pada LED yang mempunyai tegangan maju relatif rendah. 6. Substrat LED Pengembangan LED dimulai dengan alat inframerah yang dibuat dengan gallium arsenide. Perkembangan dalam ilmu material telah memungkinkan produksi alat dengan panjang gelombang yang lebih pendek, menghasilkan cahaya dengan warna bervariasi. LED konvesional terbuat dari mineral inorganik yang bervariasi, menghasilkan warna sebagai berikut : Alluminium gallium arsenide (AIGaAs) – merah. Gallium aluminium phosphide – hijau. Gallium arsenide/phosphide (GaAsP) - oranye merah, kuning, oranye. 23 Gallium nitride (GaN) - hijau dan biru. Gallium phosphide (GaP) - merah, kuning, hijau. Zinc selenide (ZnSe) – biru. Indium gallium nitride (InGaN) - hijau kebiru-biruan. Indium gallium aluminium phosphide - orannye, kuning, dan hijau. Silicon carbide (SiC) – biru. Diamond (C) – ultraviolet. Silicon (Si) - biru (dalam pengembangan). Sapphire (Al2O3) – biru. 2.6 Resistor Resistor adalah komponen elektronika yang berfungsi untuk menghambat atau membatasi aliran listrik yang mengalir dalam suatu rangkaian elektronika. Resistor juga merupakan komponen elektronika yang memiliki dua pin dan didesain untuk mengatur tegangan listrik dan arus listrik, dengan resisitansi tertentu (tahanan) dapat memproduksi tegangan listrik diantara kedua pin, nilai tegangan terhadap resistansi sebanding lurus dengan arus yang mengalir. Satuan atau nilai resistansi suatu resistor disebut Ohm dan dilambangkan dengan simbol Omega (Ω). Selain nilai resistansi (Ohm) resistor juga memiliki nilai yang lain seperti toleransi dan kapasitas daya yang mampu dilewatkannya. Simbol resistor bisa dilihat pada gambar dibawah ini 24 Gambar 2.9 Simbol resistor Tipe resistor yang umum adalah berbentuk tabung dengan dua kaki tembaga di kiri dan kanan. Pada badannya terdapat lingkaran membentuk gelang kode warna untuk memudahkan pemakai mengenali besar resistansi tanpa mengukur besarnya dengan Ohmmeter. Kode warna tersebut adalah standar manufaktur yang dikeluarkan oleh EIA (Electronic Industries Association) seperti yang ditunjukkan pada tabel berikut. Waktu penulis masuk pendaftaran kuliah elektro, ada satu test yang harus dipenuhi yaitu diharuskan tidak buta warna. Belakangan baru diketahui bahwa mahasiswa elektro wajib untuk bisa membaca warna gelang resistor (barangkali). Resistansi dibaca dari warna gelang yang paling depan ke arah gelang toleransi berwarna coklat, merah, emas atau perak. Biasanya warna gelang toleransi ini berada pada badan resistor yang paling pojok atau juga dengan lebar yang lebih menonjol, sedangkan warna gelang yang pertama agak sedikit ke dalam. Dengan demikian pemakai sudah langsung mengetahui berapa toleransi dari resistor tersebut. Kalau anda telah bisa menentukan mana gelang yang pertama selanjutnya adalah membaca nilai resistansinya. 25 2.7 Buzzer Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah getaran listrik menjadi getaran suara. Pada dasarnya prinsip kerja buzzer hampir sama dengan loud speaker, jadi buzzer juga terdiri dari kumparan yang terpasang pada diafragma dan kemudian kumparan tersebut dialiri arus sehingga menjadi elektromagnet, kumparan tadi akan tertarik ke dalam atau keluar, tergantung dari arah arus dan polaritas magnetnya, karena kumparan dipasang pada diafragma maka setiap gerakan kumparan akan menggerakkan diafragma secara bolak-balik sehingga membuat udara bergetar yang akan menghasilkan suara. Buzzer biasa digunakan sebagai indikator bahwa proses telah selesai atau terjadi suatu kesalahan pada sebuah alat (alarm). Berikut Gambar simbol dan fisik buzrer. Gambar 2.10 (a) simbol buzzer dan (b) fisik buzzer