BAB II LANDASAN TEORI 2.1 Mikrokontroller ATmega8535 Mikrokontroller merupakan suatu terobosan teknologi mikrokontroler dan mikro computer menjadi kebutuhan pasar dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi secara massal (dalam jumlah banyak) sehingga harga menjadi murah. Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industry dan para konsumen akan kebutuhan pada alatalat bantu yang canggih. Mikrokontroler adalah suatu keeping IC dimana terdapat mikroprosesor dan memori program (ROM) serta memori serbaguna, bahkan ada beberapa jenis mikrokontroler yang memiliki fasilitas ADC, PPL, EEPROM dalam suatu kemasan. Pengguna mikrokontroler dalam bidang kontrol yang sangat luas dan popular,ada beberapa vendor yang membuat mikrokontoler diantaranya Intel, Mikrochip, Winbond, Atmel, Philips, Xmics dan lain lainya. Mikrokontroler Atmega8535 merupakan generasi AVR (Alf and Vegard’s risk processor) mikrokontroler AVR memiliki arsiterktur RISC (Reduced Instruction Set Computing) 8 bit, dimana semua instruksi dalam kode 16 bit (16 bit word ) dan sebagian besar instruksi dieksekusi dalam satu siklus clock. AVR menjalankan sebuah instruksi komponen eksternal dapat dikurangi. Mikrokontroler AVR didesain menggunakan arsitektur Harvard, dimana ruang dan jalur bus bagi memori program dipisahkan dengan memori data memori program yang diakses dengan single-level 4 pipeling, di mana ketikan sebuah instruksi di jalankan, instruksinya akan di prefetch dari memori program. 2.1.1 Arsitektur Atmega 8535 Gambar 2.1 diagram blok funsional ATmega8535 5 Gambar 2.1 diatas memperlihatkan bahwa ATmega8535 bagian sebagai berikut : 1. Saluran I/O sebanyak 32 buah,yaiitu Port A, port B,Port C,Port D. 2. ADC 10 bit sebanyak 8 saluran. 3. Tiga Timer/counter dengan kemapuan pembanding. 4. CPU yang terdiri atas 32 buah register. 5. Wacthdog Timer dengan osilator internal. 6. SRAM sebesar 512 byte. 7. Memori flash sebesar 8 kb dengan kemampuan Read while write. 8. Unit iterupsi internal dan eksternal 9. Port antar muka SPI 10. EEPROM(electrically erasable read only memori) sebesar 512 byte yang deprogram saat oprasi. 11. Antar muka komparator analog. 12. Port USART untuk komunikasi serial dengan kecepatan maksimal 12,5 Mbps. 13. Sistem mikroprosesor 8 bit dengan kecepatan maksimal 16 MHz. 6 2.1.2 Konfigurasi PIN ATmega8535. Gambar 2.2 Konfigurasi Pin ATmega8535 Konfiguras pin ATmega 8535 dapat dilihat pada gambar 2.2 secara fungsional Konfigurasi pin ATmega 8535 sebagai berikut: 1. VCC merupakan pin yang berfungsi sebagai pin masukan catudaya. 2. GND merupakan pin ground. 3. Port A (PA0…PA7) merupakan pin I/O dua arah dan pin masukan ADC 4. Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus untuk Timer/counter,Komparator analog , dan SPI. 7 5. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin khusus TWI, Komparator analog dan Timer oscillator.. 6. Port D (PD0..PD7) merupakan pin I/O dua arah dan pin khusus untuk komparator analog ,interupsi eksternal ,dan Komunikasi serial. 7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler. 8. XTAL1 dan merupakan XTAL2 merupakan pin masukan clock eksternal. 9. AVCC merupakan pin masukan tegangan untuk ADC. 10. AREF merupakan pin masukan referensi ADC. 2.2 LCD (liquid crystal Display) Kegunaan LCD banyak sekali dalam perancangan suatu sistem dengan menggunakan mikrokontroler, LCD (Liquid Crysral Display) dapat berfungsi untuk menampilkan suatu nilai hasil sensor, menampilakan teks, atau menampilakan menu pada aplikasi mikrokontroler. M1632 merupakan modul LCD matrix dengan konfigurasi 16 karakter dan 2 baris dengan setiap karakternya dibentuk oleh baris pixel dan 5 kolom pixel (1 baris pixel terakhir adalah kursor). Didalam modul M1632 sudah tersedia HD44780 yang dikeluarkan oleh Hitachi, Hyundai dan modul-modul M1632 lainnya. HD44780 sebetulnya merupakan mikrokontroler dirancang khusus untuk mengenendalikan LCD dan mempunyai kemampuan untuk mengatur proses scanning pada layar LCD yang terbentuk oleh 16 COM dan 40 SEG sehingga mikrokontroler/perangkat yang mengakses modul LCD ini tidak perlu lagi mengatur scanning pada layar LCD. Mikrokontroler atau perangkat tersebut hanya mengirim data-data yang merupakan karakter yang akan ditampilkan pada LCD atau perintah yang mengatur proses tampilan pada LCD saja. 8 Adapun konfigurasi dan deskripsi dari pin-pin LCD M1632 antara lain: 1. Pin 1 dihubungkan ke Gnd 2. Pin 2 dihubungkan ke Vcc +5V 3. Pin 3 dihubungkan ke bagian tegangan potensiometer 10KOhm sebagai pengatur kontras. 4. Pin 4 untuk membritahukan LCD bahwa sinyal yang dikirim adalah data, jika Pin 4 ini diset ke logika 1 (high, +5V), atau memberitahukan bahwa sinyal yang dikirim adalah perintah jika pin ini di set ke logika 0 (low, 0V). 5. Pin 5 digunakan untuk mengatur fungsi LCD. Jika di set ke logika 1 (high, +5V) maka LCD berfungsi untuk menerima data (membaca data). Dan fungsi untuk mengeluarkan data, jika pin ini di set ke logika 0 (low, 0V). Namun kebanyakan aplikasi hanya digunakan untuk menerima data, sehingga pin 5 ini selalu dihubungkan ke Gnd. 6. Pin 6 adalah terminal enable. Berlogika 1 setiap kali pengiriman atau pembaca data. 7. Pin 7 – Pin 14 adalah data 8 bit data bus (Aplikasi ini menggunakan 4 bit MSB saja, sehingga pin data yang digunkan hanya Pin 11 – Pin 14). 8. Pin 15 dan Pin 16 adalah tegangan untuk menyalakan lampu LCD. Adapun gambar dari LCD 2x16 adalah sebagai berikut: Gambar 2.3 Struktur LCD 9 Modul LCD M1632 memilki beberapa jenis memori yang digunakan untuk menyimpan atau memproses data-data yang ditampilkan pada layar LCD. Setiap memori mempunyai fungsi-fungsi tersendiri: a. DDRAM DDRAM merupakan memori tempat karakter yang ditampilkan berada. Contohnya karakter ‘A’ atau 41h yang ditulis pada alamat 00 akan tampil pada baris pertama dan kolom pertama dari LCD. Apabila karakter tersebut di alamat 40h, karakter tersebut akan tampil pada baris kedua kolom pertama darai LCD. b. CGRAM CGRAM merupakan memori untuk menggambarkan pola seluruh karakter dan bentuk karakter dapat diubah-ubah sesuai keinginan. Akan tetapi isi memori akan hilang saat power supplay tidak aktif sehingga pola karakter akan hilang. c. CGROM pola sebuah karakter dan pola tersebut ditentukan secara permanen dari HD44780 sehingga pengguna tidak dapat mengubahnya lagi. Oleh Adalah memori untuk menggambarkan karena ROM bersifat permanen, pola karakter tersebut akan hilang walaupun power supplay tidak aktif. 10 2.3 Fotodioda Pengertian merupakan piranti semikonduktor dengan struktur p-n atau p-i-n untuk mendeteksi cahaya. Fotodioda biasanya digunakan untuk mendeteksi cahaya. Fotodioda adalah piranti semikonduktor yang mengandung sambungan p-n, dan biasanya terdapat lapisan intrinsik antara lapisan n dan p. Piranti yang memiliki lapisan intrinsik disebut p-i-n atau PIN fotodioda. Cahaya diserap di daerah penggambungan atau daerah intrinsik menimbulkan pasangan elektron-hole, kebanyakan pasangan tersebut menghasilkan arus yang berasal dari cahaya. Fotodioda dapat dioperasikan dalam 2 mode yang berbeda: 1. Mode fotovoltaik: seperti solar sel, penyerapan pada fotodioda menghasilkan tegangan yang dapat diukur. Bagaimanapun, tegangan yang dihasilkan dari tenaga cahaya ini sedikit tidak linier, dan range perubahannya sangat kecil. 2. mode fotokonduktivitas : disini, fotodioda diaplikasikan sebagai tegangan revers (tegangan balik) dari sebuah dioda (yaitu tegangan pada arah tersebut pada dioda tidak akan menhantarkan tanpa terkena cahaya) dan pengukuran menghasilkan arus foto. ( hal ini juga bagus untuk mengaplikasikan tegangan mendekati nol). Ketergantungan arus foto pada kekuatan cahaya dapat sangat linier . Karakteristik bahan fotodioda: 1. silikon (Si) : arus lemah saat gelap, kecepatan tinggi, sensitivitas yang bagus antara 400 nm sampai 1000 nm ( terbaik antara 800 sampai 900 nm). 2. Germanium (Ge): arus tinggi saat gelap, kecepatan lambat, sensitivitas baik antara 600 nm sampai 1800 nm (terbaik 1400 sampai 1500 nm). 11 3. Indium Gallium Arsenida (InGaAs): mahal, arus kecil saat gelap, kecepatan tinggi sensitivitas baik pada jarak 800 sampai 1700nm (terbaik antara 1300 sampai 1600nm). Gambar 2.4. Fotodioda 2.4. Sinar Infra Merah Infra merah (infra red) ialah sinar elektromagnet yang panjang gelombangnya lebih dari pada cahaya tampak yaitu diantara 700 nm. Sinar infra merah merupakan cahaya yang tidak tampak. Jika dilihat dengan spektroskop cahaya maka radiasi cahaya infra merah akan nampak pada spektrum elektromagnet dengan panjang gelombang diatas panjang gelombang cahaya merah. Dengan panjang gelombang ini maka cahaya infra merah ini akan tidak tampak oleh mata namun radisi panas yang ditimbulkannya masih terasa / dideteksi. Sifat-sifat cahaya infra merah : 1. Tidak tampak manusia 2. Tidak dapat menembus materi yang tidak tembus pandang 3. Dapat ditimbulkan oleh komponen yang menghasilkan panas. 12 Komunikasi Infra merah dilakukan dengan menggunakan dioda infra merah sebagai pemancar dan modul penerima infra merah sebagai penerimanya. Untuk jarak yang cukup jauh, kurang lebih tiga sampai lima meter, pancaran data infra merah harus dimodulasikan terlebih dahulu untuk menghindari kerusakan data akibat noise Saat ini telah dikenal berbagai macam gelombang elektromagnetik dengan rentang panjang gelombang tertentu. Spektrum elektromagnetik merupakan kumpulan spectrum dari berbagai panjang gelombang. Berdasarkan pembagian daerah panjang gelombang, sinar inframerah dibagi dalam 3 daerah, yaitu: 1. Daerah inframerah dekat dengan panjang gelombang 0,75 micrometer – 2,5 micrometer. 2. Daerah inframerah pertengahan dengan panjang gelombang 2,5 micrometer – 50 micrometer. 3. Daerah inframerah jauh dengan panjang gelombang 50 micrometer – 1000 micrometer. Spektrum sinar matahari terdiri dari sinar tampak dan sinar tidak tampak. Dimana sinar tampak meliputi: merah, orange, kuning, hijau, biru, dan ungu. Sinar yang tidak tampak antara lain: sinar ultraviolet, sinar – X, sinar gamma, sinar kosmik, microwave, gelombang listrik dan sinar inframerah. Gelombang elektromagnetik diantara sinar tampak dan sinar microwave dinamakan sinar inframerah, dengan karakteristik adalah tidak kasat mata atau tidak terlihat, bersifat linier atau menyebar, refraktif atau dapat dipantulkan dan dapat diserap oleh beberapa obyek. Dibawah ini terdapat gambar berdasarkan pembagian panjang gelombang, yaitu: 13 Tabel 1.1 Karakteristik Spektrum Elektromagnetik Dari pembagian daerah spektrum elektromagnetik tersebut diatas, daerah panjang gelombang yang digunakan pada alat spektrofotometer infra merah adalah 14 pada daerah infra merah pertengahan, yaitu pada panjang gelombang 2,5 μm – 50 μm atau pada bilangan gelombang 4.000 – 200 cm. Gelombang elektromagnetik diantara sinar tampak dan sinar microwave dinamakan sinar inframerah, dengan karakteristik adalah tidak kasat mata atau tidak terlihat, bersifat linier atau menyebar, refraktif atau dapat dipantulkan dan dapat diserap oleh beberapa obyek. Daerah N pada saat LED dibias maju . Selama perubahan energi ini, proton akan dibangkitkan, sebagian akan diserap oleh bahan semikonduktor dan sebagian lagi akan dipancarkan sebagai energi cahaya. Infra merah yang digunakan sebagai transmisi data dalam artikel ini hanya memanfaatkan pancaran cahaya infra merah. Jika LED infra merah memancarkan cahaya berarti datanya dianggap 1, sedangkan jika LED infra merah tidak memancarkan cahaya berarti datanya adalah 0. 2.5 Resistor Resistor adalah komponen dasar elektronika yang digunakan untuk membatasi jumlah arus yang menaglir dalam suatu rangkaian. Sesuai dengan namanya resistor bersifat resistif dan umumnya terbuat dari bahan karbn. Dalam hukum ohm diketahui bahwa resistansi berbanding terbalik dengan jumlah arus yang mengalir melaluinya. Satuan dari resistansi dari resistor disebut Ohm atau dilambangkan dengan (Omega). 15 Gambar .2.5 Bentuk Fisik dan Lambang Resistor Resistor umumnya berbentuk tabung dengan dua kaki tembaga dikiri dan kana. Dibadan nya terdapat lingkaran berbentuk gelang kode warna yang memudahkan pemakai mengenali besar resistansi tanpa mengukur besarannya tanpa menggunakan Ohm meter. 2.6 Light Emitting Diode (LED) LED merupakan komponen yang mampu mengeluarkan emisi cahaya .LED merupakan produk temuan lain setelah diode.Strukturnya juga sama dengan diode,tetapi belakangan ditemukan bahwa elektron yang menerjang sambungan P-N juga melepaskan energy berupa energy panas dan energy cahaya. LED dibuat agar lebih efisien jika mengeluarkan cahaya pada semikonduktor 16 Gambar .2.6 Bentuk dan Lambang LED LED sering dipakai sebagai indikator yang masing masing warnanya biasa memiliki arti yang berbeda. Sama hal nya yang sering dilihat dalam traffic light, LED yang sudah dirangkai sebagai indikator yang mempunyai arti yang berbeda. Misalnya LED merah menyala menandakan untuk berhenti, LED kuning menandakan untuk berhati-hati, dan LED hijau menandakan untuk melaju. 2.7. Bahasa BASIC Menggunkan BASCOM-AVR BASCOM-AVR adalah program BASIC Compiler berbasis Windows untuk mikrokontroler keluarga AVR seperti ATmega, dan yang lainnya. BASCOM-AVR merupakan program dengan bahasa tingkat tinggi BASIC yang dikembangkan dan dikeluarkan oleh MCS Elektronika. 2.7.1 Karakteristik Dalam BASCOM Dalam program BASCOM, karakter dasarnya terdiri atas karakter alphabel (AZ dan a-z), karakter numeric (0-9), dan karakter spesial (lihat tabel dibawah ini). 17 karakter Nama Blank ‘ Apostrophe * Asterisk (symbol perkalian) + Plus sign , Comma - Minus sign . Period (decimal point) / Slash (division symbol) will be handled as\ : Colon “ Double quotation mark ; Semicolon < Less than = Equal sign (assignment symbol or relational operator) > Greater than \ Backspace (integer or word division symbol) Tabel 1.2 Karakter Spesial 18 2.7.2 Tipe Data Stiap variabel dalam BASCOM memiliki tipe data yang menunjukkan daya tampungannya. Hal ini berhubungan denga penggunaan memori mikrokontroler. Berikut ini adalah tipe data pada BASCOM berikut keterangannya : Tipe Data Ukuran (byte) Range Bit 1/8 - Byte 1 0 – 255 Integer 2 -32,768 - +32,767 Word 2 0 – 65535 Long 4 -214783648 - +2147483647 Single 4 - String hingga 254 byte - Tabel 1.3 Tipe Data BASCOM 19 2.7.3 Variabel Variabel dalam sebuah pemrograman berfungsi sebagai tempat penyimpanan atau penampungan data sementara, misalnya menampung hasil perhitungan, menampung data hasil pembacaan register, dan lainnya. Variabel merupakan pointer yang menunjukkan pada alamat memori fisik dan mikrokontroler. Dalam BASCOM, ada beberapa aturan dalam penamaan sebuah variabl: a. Nana variabel maksimum terdiri atas 32 karakter. b. Karakter bisa berupa angka atau huruf. c. Nama variabel harus dimula dengan huruf. d. Variabel tidak boleh menggunkan katae. kata yang digunakan oleh BASCOM sebagai perintah, pernyataan, internal register, dan nama operator (AND, OR, DIM, dan lain-lain) Sebelum digunakan maka variabel harus dideklarasikan terlebih dahu. Dalam BASCOM, ada beberapa cara untuk mendeklarasikan sebuah variabel. Cara pertama adalah menggunakan pernyataan ‘DIM’ diikuti nama tipe datanya. Contohnya pendeklarasian menggunkan DIM sebagai berikut: Dim nama as byte Dim tombol1 as integer Dim tombol2 as word Dim tombol3 as word Dim tombol4 as word Dim Kas as string*10 20 2.7.5 Aplikasi BASCOM dengan LCD Salah satu kelebihan yang dimiliki oleh BASCOM adalah programnya yang menyediakan rutin-rutin khusus untuk menampilkan karakter menggunakan LCD. Bahkan kita pun dapat membuat karakter special dengan fasilitas LCD designer. Antarmauka antara LCD dengan ATmega8535 menggunakan mode antarmuka 4 bit. Selain lebih hemat I/O, mode demikian mempermudah proses pembuatan PCB-nya. Program berikut akan menjalankan beberapa perintah berkenan dengan LCD $regfile = “m8535.dat” $crystal = 8000000 dim x as byte config LCD = 16*2 Cursor off do X = 100 Cls Lcd “namaku pay” Lowerline Lcd “Nilaiku selalu”; x Wait 1 Cls Lcd “<<<< Hebat >>>>” For x=1 to 16 Shiftlcd left next For x=1 to 32 Shiftlcd right 21 Waitms 200 Next x = 100 cls lcd hex x loop penjelasan programnya sebagai berikut: a. Dim x As Byte Pernyataan di atas merupakan pendeklarasian variabel c/x dengan ukuran byte. b. Config LCD = 16 * 2 Oleh karana itu konfigurasi pendeklarasikannya delisting program yang kita buat seperti dikontrolkan diatas. c. CLS Perintah CLS berfungsi membersihkan atau mengosongkan tampilan LCD. d. Lowerline Perintah berfungsi memindahkan kursor ke baris bawah. Karena LCD yang digunakan adalah LCD 2x16, maka LCD memilih 2 baris dan kolom. 22 e. X = 100 Lcd “namaku pay” Lowerline Lcd “Nilaiku selalu”; x Ketika kita menjalankan perintah di atas, maka keluarannya adalah: Nama pay Nilaiku selalu Contoh tersebut menunjukkan bahwa kita dapat menampilkan isi sebuah variabel menggunakan LCD hanya dengan menulis. f. Shift LCD left/right Perintah digunakan untuk menggeser tampilan LCD ke kiri atau ke kanan sebanyak 1 langkah. Perintah berguna untuk menampilkan kalimat yang panjang dan membuat animasi LCD. g. Lcdhex x Perintah berfungsi mengirim isi sebuah variabel LCD dalam format hexadecimal. Jika ingin menjalankan program 23