BAB II LANDASAN TEORI 2.1 Mikrokontroler AVR Atmega8 AVR merupakan salah satu jenis mikrokontroler yang di dalamnya terdapat berbagai macam fungsi. Perbedaannya pada mikro yang pada umumnya digunakan seperti MCS51 adalah pada AVR tidak perlu menggunakan oscillator eksternal karena di dalamnya sudah terdapat internal oscillator. Selain itu kelebihan dari AVR adalah memiliki Power-On Reset, yaitu tidak perlu ada tombol reset dari luar karena cukup hanya dengan mematikan supply, maka secara otomatis AVR akan melakukan reset. Untuk beberapa jenis AVR terdapat beberapa fungsi khusus seperti ADC, EEPROM sekitar 128 byte sampai dengan 512 byte. AVR ATmega8 adalah mikrokontroler CMOS 8-bit berarsitektur AVR RISC yang memiliki 8K byte in-System Programmable Flash. Mikrokontroler dengan konsumsi daya rendah ini mampu mengeksekusi instruksi dengan kecepatan maksimum 16MIPS pada frekuensi 16MHz. Jika dibandingkan dengan ATmega8L perbedaannya hanya terletak pada besarnya tegangan yang diperlukan untuk bekerja. Untuk ATmega8 tipe L, mikrokontroler ini dapat bekerja dengan tegangan antara 2,7 - 5,5 V sedangkan untuk ATmega8 hanya dapat bekerja pada tegangan antara 4,5 – 5,5 V. 5 Universitas Sumatera Utara 2.1.1. Konfigurasi Pin Atmega8 Gambar 2.1. Konfigurasi Pin ATmega 8 Atmega8 ATmega8 memiliki 28 Pin, yang masing-masing pin nya memiliki fungsi yang berbeda-beda baik sebagai port maupun fungsi yang lainnya. Berikut akan dijelaskan fungsi dari masing-masing kaki ATmega8. a. VCC Merupakan supply tegangan digital. b. GND Merupakan ground untuk semua komponen yang membutuhkan grounding. c. Port B (PB7...PB0) Didalam Port B terdapat XTAL1, XTAL2, TOSC1, TOSC2. Jumlah Port B adalah 8 buah pin, mulai dari pin B.0 sampai dengan B.7. Tiap pin dapat digunakan sebagai input maupun output. Port B merupakan sebuah 8-bit bi-directional I/O dengan internal pull-up resistor. Sebagai input, pin-pin 7 yang terdapat pada port B yang secara eksternal diturunkan, maka akan 6 Universitas Sumatera Utara mengeluarkan arus jika pull-up resistor diaktifkan. Khusus PB6 dapat digunakan sebagai input Kristal (inverting oscillator amplifier) dan input ke rangkaian clock internal, bergantung pada pengaturan Fuse bit yang digunakan untuk memilih sumber clock. Sedangkan untuk PB7 dapat digunakan sebagai output Kristal (output oscillator amplifier) bergantung pada pengaturan Fuse bit yang digunakan untuk memilih sumber clock. Jika sumber clock yang dipilih dari oscillator internal, PB7 dan PB6 dapat digunakan sebagai I/O atau jika menggunakan Asyncronous Timer/Counter2 maka PB6 dan PB7 (TOSC2 dan TOSC1) digunakan untuk saluran input timer. d. Port C (PC5…PC0) Port C merupakan sebuah 7-bit bi-directional I/O port yang di dalam masingmasing pin terdapat pull-up resistor. Jumlah pin nya hanya 7 buah mulai dari pin C.0 sampai dengan pin C.6. Sebagai keluaran/output port C memiliki karakteristik yang sama dalam hal menyerap arus (sink) ataupun mengeluarkan arus (source). e. RESET/PC6 Jika RSTDISBL Fuse diprogram, maka PC6 akan berfungsi sebagai pin I/O. Pin ini memiliki karakteristik yang berbeda dengan pin-pin yang terdapat pada port C lainnya. Namun jika RSTDISBL Fuse tidak diprogram, maka pin ini akan berfungsi sebagai input reset. Dan jika level tegangan yang masuk ke pin ini rendah dan pulsa yang ada lebih pendek dari pulsa 8 minimum, maka akan menghasilkan suatu kondisi reset meskipun clock-nya tidak bekerja. Port D (PD7…PD0) 7 Universitas Sumatera Utara f. Port D merupakan 8-bit bi-directional I/O dengan internal pull-up resistor. Fungsi dari port ini sama dengan port-port yang lain. Hanya saja pada port ini tidak terdapat kegunaan-kegunaan yang lain. Pada port ini hanya berfungsi sebagai masukan dan keluaran saja atau biasa disebut dengan I/O. g. AVcc Pin ini berfungsi sebagai supply tegangan untuk ADC. Untuk pin ini harus dihubungkan secara terpisah dengan VCC karena pin ini digunakan untuk analog saja. Bahkan jika ADC pada AVR tidak digunakan tetap saja disarankan untuk menghubungkannya secara terpisah dengan VCC. Jika ADC digunakan, maka AVcc harus dihubungkan ke VCC melalui low pass filter. h. AREF Merupakan pin referensi jika menggunakan ADC. 2.1.2.SPESIFIKASI Atmega 8 1. Kinerja tinggi, rendah daya Atmel®AVR® 8-bit Microcontroller 2. Advanced RISC Architecture a. 130 Instruksi Powerfull - Kebanyakan Single-jam Siklus Eksekusi b. 32 × 8 General Purpose Kerja Register c. Operasi Fully Static d. Sampai dengan 16MIPS throughput di 16MHz e. On-chip 2-siklus Multiplier 3. segmen Memory Tinggi Ketahanan Non-volatile 8 Universitas Sumatera Utara a. 8Kbytes In-System Self-programmable memori program flash b. 512bytes EEPROM c. SRAM 1Kbyte internal d. Menulis / Erase Cycles: 10.000 Flash / 100.000 EEPROM e. Data retensi: 20 tahun pada 85 ° C / 100 tahun pada 25 ° C (1) f. Opsional Boot Kode Bagian dengan Independent Lock Bits g. In-System Programming secara On-chip Program Boot h. Benar Operasi Baca-Sementara-Write i. Kunci Pemrograman untuk Security Software 4. Fitur Peripheral a. Dua 8-bit Timer / Counter dengan Prescaler terpisah, satu Bandingkan Modus b. Satu 16-bit Timer / Counter dengan Prescaler terpisah, Bandingkan Mode, dan Tangkap c. Mode d. Real Time Counter dengan Oscillator terpisah e. Tiga Saluran PWM f. 8-channel ADC di TQFP dan QFN / MLF paket g. Delapan Saluran 10-bit Akurasi h. 6-channel ADC dalam paket PDIP i. Enam Saluran 10-bit Akurasi j. Byte berorientasi Dua-kawat Serial Interface k. Programmable Serial USART l. Master / Slave SPI Serial Interface 9 Universitas Sumatera Utara m. Programmable Watchdog Timer dengan terpisah On-chip Oscillator n. On-chip Analog Comparator 5. Fitur Mikrokontroler Khusus a. Power-on ulang dan Programmable Brown-out Detection b. Internal dikalibrasi RC Oscillator c. Eksternal dan Sumber Interrupt internal d. Lima Mode Sleep: Idle, ADC Noise Reduction, Power-save, Power-down, dan e. Bersiap 6. I / O dan Paket a. 23 Programmable I / O Garis b. 28-lead PDIP, 32-lead TQFP, dan 32-pad QFN / MLF 7. Tegangan Operasi a. 2.7V - 5.5V (ATmega8L) b. 4.5V - 5.5V (ATmega8) 8. Kelas Kecepatan a. 0 - 8MHz (ATmega8L) b. 0 - 16MHz (ATmega8) 9. Konsumsi Daya di 4Mhz, 3V, 25 C a. Aktif: 3.6mA b. Menganggur Mode: 1.0mA c. Power-down Mode: 0.5μA 10 Universitas Sumatera Utara 2.1.3. Memori AVR Atmega 8 Memori atmega terbagi menjadi tiga yaitu : 1. Memori Flash Memori flash adalah memori ROM tempat kode-kode program berada. Kata flash menunjukan jenis ROM yng dapat ditulis dan dihapus secara elektrik. Memori flash terbagi menjadi dua bagian yaitu bagian aplikasi dan bagian boot. Bagian aplikasi adalah bagian kode-kode program apikasi berada. Bagian boot adalah bagian yang digunakan khusus untuk booting awal yang dapat diprogram untuk menulis bagian aplikasi tanpa melalui programmer/downloader, misalnya melalui USART. 32 General purpose registers 64 I/O registers Additional I/O registers Internal RAM Flash Boot Section EEPROM 13. 2. Memori Data Memori data adalah memori RAM yang digunakan untuk keperluan program. Memori data terbagi menjadi empat bagian yaitu : 32 GPR (General Purphose Register) adalah register khusus yang bertugas untuk membantu eksekusi program oleh ALU (Arithmatich Logic Unit), dalam instruksi assembler setiap instruksi harus melibatkan GPR. Dalam istilah processor komputer sahari-hari GPR dikenal sebagai “chace memory”. I/O register dan Aditional I/O register adalah register yang difungsikan khusus untuk mengendalikan berbagai pheripheral dalam mikrokontroler seperti pin port, timer/counter, usart dan lain-lain. Register ini dalam keluarga mikrokontrol MCS51 dikenal sebagi SFR(Special Function Register). 11 Universitas Sumatera Utara 3. EEPROM EEPROM adalah memori data yang dapat mengendap ketika chip mati (off), digunakan untuk keperluan penyimpanan data yang tahan terhadap gangguan catu daya. 14 2.1.3 Timer/Counter 0 Timer/counter 0 adalah sebuah timer/counter yang dapat mencacah sumber pulsa/clock baik dari dalam chip (timer) ataupun dari luar chip (counter) dengan kapasitas 8-bit atau 256 cacahan. Timer/counter dapat digunakan untuk : 1. Timer/counter biasa 2. Clear Timer on Compare Match (selain Atmega 8) 3. Generator frekuensi (selain Atmega 8) 4. Counter pulsa eksternal 2.1.4. Komunikasi Serial Pada Atmega 8 Mikrokontroler AVR Atmega 8 memiliki Port USART pada Pin 2 dan Pin 3 untuk melakukan komunikasi data antara mikrokontroler dengan mikrokontroler ataupun mikrokontroler dengan komputer. USART dapat difungsikan sebagai transmisi data sinkron, dan asinkron. Sinkron berarti clock yang digunakan antara transmiter dan receiver satu sumber clock. Sedangkan asinkron berarti transmiter dab receiver mempunyai sumber clock sendiri-sendiri. USART terdiri dalm tiga blok yaitu clock generator, transmiter, dan receiver. 2.1.5. Sistim Minimum Atmega 8 Dengan menggunakan minimum sistem yang kompatibel dengan atmega8 mikrokontroler atmega8 bertindak sebagai mikro target dimana kita membutuhkan downloader lain intuk mendownload firmware ke atmega8. downloader tersebut 12 Universitas Sumatera Utara bisa berupa downloader paralel atau serial dengan tools programmernya menggunakan Ponkemudian sediakan USBASP (Downloader) yang lain untuk mendownload firmware ke atmega8. (Downloader tidak harus yang berbasis USBASP bisa yang lain asal kompatibel dengan MOSI,MISO,SCK dan reset mikrokontroler AVR). 2.2 Sensor Temperatur 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 catu daya tunggal dengan ketentuan bahwa LM35 hanya membutuhkan arus sebesar 60 µA hal ini berarti LM35 mempunyai kemampuan menghasilkan panas (selfheating) dari sensor yang dapat menyebabkan kesalahan pembacaan yang rendah yaitu kurang dari 0,5 ºC pada suhu 25 ºC . 13 Universitas Sumatera Utara 2.3. LCD LCD merupakan salah satu perangkat penampil yang sekarang ini mulai banyak digunakan.Penampil LCD mulai dirasakan menggantikan fungsi dari penampil CRT (Cathode Ray Tube), yang sudah berpuluh-puluh tahun digunakan manusia sebagai penampil gambar/text baik monokrom (hitam dan putih), maupun yang berwarna.Teknologi LCD memberikan keuntungan dibandingkan dengan teknologi CRT, kaena pada dasarnya, CRT adalah tabung triode yang digunakan sebelum transistor ditemukan. Beberapa keuntungan LCD dibandingkan dengan CRT adalah konsumsi daya yang relative kecil, lebih ringan, tampilan yang lebih bagus, dan ketika berlama-lama di depan monitor, monitor CRT lebih cepat memberikan kejenuhan pada mata dibandingkan dengan LCD Gambar 2.2.LCD LCD memanfaatkan silicon atau gallium dalam bentuk Kristal cair sebagai pemendar cahaya.Pada layar LCD, setiap matrik adalah susunan dua dimensi piksel yang dibagi dalam baris dan kolom.Dengan demikian, setiap pertemuan baris dan kolom adalah sebuah LED terdapat sebuah bidang latar (backplane), yang merupakan lempengan kaca bagian belakang dengan sisi dalam yang 14 Universitas Sumatera Utara ditutupi oleh lapisan elektroda trasparan.Dalam keadaan normal, cairan yang digunakan memiliki warna cerah. Daerah-daerah tertentu pada cairan akan berubah warnanya menjadi hitam ketika tegangan diterapkan antara bidang latar dan pola elektroda yang terdapat pad sisi dalam lempeng kaca bagian depan. Keunggulan LCD adalah hanya menarik arus yang kecil (beberapa microampere), sehingga alat atau sistem menjadi portable karena dapat menggunakan catu daya yang kecil.Keunggulan lainnya adalah tampilan yang diperlihatkan dapat dibaca dengan mudah di bawah terang sinar matahari.Di bawah sinar cahaya yang remang-remang dalam kondisi gelap, sebuah lampu (berupa LED) harus dipasang dibelakang layar tampilan. LCD yang digunakan adalah jenis LCD yang mena mpilkan data dengan 2 baris tampilan pada display. Keuntungan dari LCD ini adalah : 1. Dapat menampilkan karakter ASCII, sehingga dapat memudahkan untuk membuat program tampilan. 2. Mudah dihubungkan dengan port I/O karena hanya mengunakan 8 bit data dan 3 bit control. 3. Ukuran modul yang proporsional. 4. Daya yang digunakan relative sangat kecil. D0 D1 D2 D3 D4 D5 D6 D7 RS RW EN LCD 16x2 4 5 6 1 GND 3 LCD Drv 16 V-BL 10 11 12 13 11 12 13 14 2 VCC V+BL15 +5VDC Gambar 2.3. Konfigurasi Pin LCD 15 Universitas Sumatera Utara Operasi dasar pada LCD terdiri dari empat, yaitu instruksi mengakses proses internal, instruksi menulis data, instruksi membaca kondisi sibuk, dan instruksi membaca data. ROM pembangkit sebanyak 192 tipe karakter, tiap karakter dengan huruf 5x7 dot matrik.Kapasitas pembangkit RAM 8 tipe karakter (membaca program), maksimum pembacaan 80x8 bit tampilan data.Perintah utama LCD adalah Display Clear, Cursor Home, Display ON/OFF, Display Character Blink, Cursor Shift, dan Display Shift. Tabel 2.2. menunjukkan operasi dasar LCD Tabel 2.1.Operasi Dasar LCD RS R/W Operasi 0 0 Input Instruksi ke LCD 0 1 Membaca Status Flag (DB7) dan alamat counter (DB0 ke DB6) 1 0 Menulis Data 1 1 Membaca Data Tabel 2.2. Konfigurasi LCD Pin Bilangan biner Keterangan RS 0 Inisialisasi 1 Data 0 Tulis LCD / W (write) RW 16 Universitas Sumatera Utara E 1 Baca LCD / R (read) 0 Pintu data terbuka 1 Pintu data tertutup Tabel 2.3.Konfigurasi Pin LCD Pin Keterangan Konfigurasi Hubung 1 GND Ground 2 VCC Tegangan +5VDC 3 VEE Ground 4 RS Kendali RS 5 RW Ground 6 E Kendali E/Enable 7 D0 Bit 0 8 D1 Bit 1 9 D2 Bit 2 10 D3 Bit 3 11 D4 Bit 4 12 D5 Bit 5 13 D6 Bit 6 14 D7 Bit 7 15 A Anoda (+5VDC) 16 K Katoda (Ground) No. 17 Universitas Sumatera Utara Lapisan film yang berisis Kristal cair diletakkan di antara dua lempeng kaca yang telah ditanami elektroda logam transparan. Saat teganga dicatukan pada beberapa pasang elektroda, molekul – molekul Kristal cair akan menyusun diri agar cahaya yang mengenainya akan dipantulkan atau diserap. Dari hasil pemantulan atau penyerapan cahaya tersebut akan terbentuk pola huruf, angka, atau gambar sesuai bagian yang di aktifka. LCD membutuhkan tegangan dan daya yang kecil sehingga sangat popular untuk aplikasi pada kalkulator, arloji digital, dan instrument elektronika lain seperti Global Positioning System (GPS), baragraph display dan multimeter digital. LCD umumnya dikemas dalam bentuk Dual In Line Package (DIP) dan mempunyai kemampuan untuk menampilkan beberapa kolom dan baris dalam satu panel. Untuk membentuk pola, baik karakter maupun gambar pada kolom dan baris secara bersamaan digunakan metode Screening. Metode screening adalah mengaktifkan daerah perpotongan suatu kolo dan suatu baris secara bergantian dan cepat sehingga seolah-olah aktif semua.Penggunaan metode ini dimaksudkan untuk menghemat jalur yang digunakan untuk mengaktifkan panel LCD. Saat ini telah dikembangkan berbagai jenis LCD, mulai jenis LCD biasa, Passive Matrix LCD (PMLCD), hingga Thin-Film Transistor Active Matrix (TFT-AMLCD). Kemampuan LCD juga telah ditingkatkan daru yang monokrom hingga yang mampu menampilkan ribuan warna. 18 Universitas Sumatera Utara 2.4. PWM PWM ( Pulse Width Modulation) adalah salah satu teknik modulasi dengan mengubah lebar pulsa (duty cylce) dengan nilai amplitudo dan frekuensi yang tetap. Satu siklus pulsa merupakan kondisi high kemudian berada di zona transisi ke kondisi low. Lebar pulsa PWM berbanding lurus dengan amplitudo sinyal asli yang belum termodulasi. Duty Cycle merupakan representasi dari kondisi logika high dalam suatu periode sinyal dan di nyatakan dalam bentuk (%) dengan range 0% sampai 100%, sebagai contoh jika sinyal berada dalam kondisi high terus menerus artinya memiliki duty cycle sebesar 100%. Jika waktu sinyal keadaan high sama dengan keadaan low maka sinyal mempunyai duty cycle sebesar 50%. Aplikasi penggunaan PWM biasanya ditemui untuk pengaturan kecepatan motor dc, pengaturan cerah/redup LED, dan pengendalian sudut pada motor servo. Contoh penggunaan PWM pada pengaturan kecepatan motor dc semakin besar nilai duty cycle yang diberikan maka akan berpengaruh terhadap cepatnya putaran motor. Apabila nilai duty cylce-nya kecil maka motor akan bergerak lambat. Untuk membandingkannya terhadap tegangan DC, PWM memiliki 3 mode operasi yaitu : 1. mode inverted Pada mode inverted ini jika nilai sinyal lebih besar dari pada titik pembanding (compare level) maka output akan di set high (5v) dan sebaliknya jika nilai sinyal lebih kecil maka output akan di set low (0v) seperti pada gelombang A pada gambar di atas. Universitas Sumatera Utara 2. Non Inverted Mode Pada mode non inverted ini output akan bernilai high (5v) jika titik pembanding (compare level) lebih besar dari pada nilai sinyal dan sebaliknya jika bernilai low (0v) pada saat titik pembanding lebih kecil dari nilai sinyal seperti pada gelombang B pada gambar di atas. 3. Toggle Mode Pada mode toggle output akan beralih dari nilai high (5v) ke nilai low (0v) jika titik pembanding sesuai dan sebaliknya beralih dari nilai low ke high. 2.5. Modul Bluetooth HC-05 Modul HC-05 adalah modul bluetooth yang dapat berfungsi sebagai master atau sebagai slave. modul HC-05 memiliki dua mode kerja yaitu mode AT Command dan mode Data. Modul HC-05 menggunakan mode Data secara default. Berikut ini adalah keterangan untuk kedua mode tersebut: • AT Command. Pada mode ini, modul HC-05 akan menerima instruksi berupa perintah AT Command. Mode ini dapat digunakan untuk mengatur konfigurasi modul HC-05. Perintah AT Command yang dikirimkan ke modul HC-05 menggunakan huruf kapital dan diakhiri dengan karakter CRLF (\r\n atau 0x0d 0x0a dalam heksadesimal). • Data. Pada mode ini, modul HC-05 dapat terhubung dengan perangkat bluetooth lain dan mengirimkan serta menerima data melalui pin TX dan RX. Konfigurasi koneksi serial pada mode ini menggunakan baudrate: 9600 bps, data: 8 bit, stop bits: 1 bit, parity: None, handshake: None. 20 Universitas Sumatera Utara Adapun password default untuk terhubung dengan modul HC-05 pada mode Data adalah 0000 atau 1234. Gambar 2.4. Modul Bluetooth HC-05 Keterangan pin out di atas adalah sebagai berikut: • EN fungsinya untuk mengaktifkan mode AT Command Setup pada modul HC-05. Jika pin ini ditekan sambil ditahan sebelum memberikan tegangan ke modul HC-05, maka modul akan mengaktifkan mode AT Command Setup. Secara default, modul HC-05 aktif dalam mode Data. • Vcc adalah pin yang berfungsi sebagai input tegangan. Hubungkan pin ini dengan sumber tegangan 5V. • GND adalah pin yang berfungsi sebagai ground. Hubungkan pin ini dengan ground pada sumber tegangan. • TX adalah pin yang berfungsi untuk mengirimkan data dari modul ke perangkat lain (mikrokontroler). Tegangan sinyal pada pin ini adalah 3.3V sehingga dapat langsung dihubungkan dengan pin RX pada arduino karena 21 Universitas Sumatera Utara tegangan sinyal 3.3V dianggap sebagai sinyal bernilai HIGH pada arduino. • RX adalah pin yang berfungsi untuk menerima data yang dikirim ke modul HC-05. Tegangan sinyal pada pin sama dengan tegangan sinyal pada pin TX, yaitu 3.3V. Untuk keamanan, sebaiknya gunakan pembagi tegangan jika menghubungkan pin ini dengan arduino yang bekerja pada tegangan 5V. Pembagi tegangan tersebut menggunakan 2 buah resistor. Resistor yang digunakan sebagai pembagi tegangan pada tutorial ini adalah 1K ohm dan 2K ohm. Untuk lebih jelasnya, dapat dilihat pada bagian implementasi koneksi antara modul HC-05 dan arduino UNO. • STATE adalah pin yang berfungsi untuk memberikan informasi apakah modul terhubung atau tidak dengan perangkat lain. 22 Universitas Sumatera Utara