BAB II DASAR TEORI Pada bab ini akan dibahas mengenai teori-teori yang mendukung. M ateri yang akan dibahas adalah mikrokontroler atmega 16, solenoid, LCD (Liquid Crystal Disp lay), RTC (Real Time Clock), keypad 4x4, IC NE555, Buzzer, Relay, dan perangkat lunak Bascom AVR. 2.1 Mikrokontroler Hal yang paling penting dan menjadi otak (processor) adalah mikrokontroler ATM ega16. ATM ega16 merupakan salah satu dari keluarga ATM EL yang berfungsi sebagai pusat kendali dari suatu sistem yang dibuat. Tampilan dan konfigurasi kaki-kaki ATM ega16 : G ambar 2.1 Mikrokontrole Mikrokontrolerr ATMega16 2.1.1 Port sebagai input/output digital PORT ATM ega16 mempunyai empat buah port yang bernama PORTA, PORT PORTC, PORTC, dan PORTD. PORTD. Keempat port tersebut merupakan jalur PORTB, bidirectional dengan pilihan internal pull-up.. Tiap port mempunyai tiga buah register bit, y aitu DDxn, PORTxn, dan PINxn. Bit DDxn terdapat p ada I/O address DDRx, bit PORTxn terdapat p ada I/O address PORTx, dan bit PINxn terdapat pada I/O address PINx. Bit DDxn dalam register DDRx Data Direction Register)) menentukan arah pin. Bila DDxn diset 1 maka Px (Data Model Pengunci Pintu Multi User dan Logger Menggunakan Kode Angka Berbasis Atmega 16 5 berfungsi berfung si sebagai pin output output.. Bila DDxn diset 0 maka Px berfungsi sebagai pin input. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin input, maka resistor pull-up akan diaktifkan. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila PORT PORTxn xn diset 0 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 0. Biasanya, kondisi pull-up enabled dapat diterima sepenuhnya, selama lingkungan impedansi tinggi tidak memperhatikan perbedaan antara sebuah strong high driver dengan sebuah pull-up.. Jika ini bukan suatu masalah, maka bit PUD pada register SFIOR dapat diset 1 untuk mematikan semua pull-up dalam semua port. Peralihan dari kondisi input dengan pull-up ke kondisi output low juga menimbulkan masalah yang sama. M aka harus digunakan kondisi tri-state. (DDxn=0, PORTxn=0) PORTxn=0) atau kondisi output high (DDxn=1, PORTxn=0) PORT xn=0) sebagai kondisi transisi. 2.1.2 Konfigurasi Pin Atmega16 Konfigurasi pin Atmega secara fungsional adalah sebagai berikut : a. VCC merupakan pin yang berfungsi sebagai input tegangan b. GND merupakan pin ground. c. PORTA ( PA0 – PA7 ) merupakan pin I/O dua arah dan pin masukan ADC. d. PORTB PORTB ( PB0 – PB7 ) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu timer/counter, timer counter,, komparator analog, dan timer oscillator. e. PORTC ( PC0 – PC 7 ) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog, dan timer oscillator. oscillator f. Port D ( PD0 – PD7 ) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator analog, interupsi eksternal, dan komunikasi serial. g. RESET merupakan pin yang digunakan untuk me-reset mikrokontroller. Model Pengunci Pintu Multi User dan Logger Menggunakan Kode Angka Berbasis Atmega 16 6 h. XTAL AL dan XTAL2 merupakan pin masukan clock eksternal. i. AVCC merupakan pin masukan tegangan untuk ADC. j. AREF merupakan pin masukan tegangan referensi ADC. 2.2 S olenoid Solenoid adalah sebuah perangkat yang dapat difungsikan sebagai aktuator. Perangkat ini terdiri dari 2 bagian utama, yaitu kumparan atau koil, dan inti besi. Cara kerja dari perangkat ini adalah jika ada tegangan yang mengalir di kumparan, maka di dalamnya akan menimbulkan medan magnetis yang akan menarik besi masuk kedalam kumparan. Prinsip kerja yang digunakan adalah prinsip elektromagnetik. Gambar 2.2 Solenoid 12Vdc Solenoid yang digunakan membutuhkan tegangan sebesar 12Vdc untuk bekerja. 2.3 Liquid Crystal Display (LCD) 4x20 LCD adalah perangkat output yang berfungsi menampilkan data berupa teks, simbol dan gambar sederhana. LCD ini memiliki 4 baris yang setiap barisny a terdiri dari 20 kolom atau biasa ditulis 4x20. Sehingga memungkinkan untuk menampilkan 20 buah karakter di setiap barisny a. Model Pengunci Pintu Multi User dan Logger Menggunakan Kode Angka Berbasis Atmega 16 7 Bentuk fisik LCD 4x 4x20 20 dapat dilihat p ada gambar 2.3. Gambar 2.3 LCD 4x20 dengan backlight hijau LCD 4x20 memiliki 16 buah pin, yang terdiri dari 8 buah pin data I/O (DB0 – DB7), 2 pin untuk pengaturan backlight (LED+ dan LED-), 2 pin untuk supply (VCC dan VSS), RS, R/W, E. Tabel 2.1 Konfigurasi pin LCD 4x20 2.4 RTC (Real Time Clock) RTC adalah jenis pewaktu yang bekerja berdasarkan waktu yang sebenarnya atau dengan kata lain berdasarkan waktu yang ada pada jam. Agar dapat berfungsi, pewaktu ini membutuhkan dua parameter utama yang harus ditentukan, yaitu pada saat mulai (start ((start) start) dan pada saat berhenti stop). RTC pada umumnya berupa sirkuit terpadu yang berfungsi sebagai stop). (stop). pemelihara waktu. RTC memiliki catu daya terpisah sehingga dapat tetap berfungsi ketika catu daya utama terputus. Real Time Clock berhubungan dengan waktu mulai dari detik, menit, jam, hari, tanggal, bulan dan tahun. Model Pengunci Pintu Multi User dan Logger Menggunakan Kode Angka Berbasis Atmega 16 8 RTC C yang digunakan berjenis D S1307, yang merupakan salah satu tipe IC RTC yang dapat bekerja dalam daya listrik rendah. Didalamnya berisi waktu jam dan kalender dalam format BCD. Waktu jam dan kalender memberikan informasi detik, menit, jam, hari, tanggal, bulan, dan tahun. Untuk bagian jam dapat berformat 24 jam atau 12 jam. Pendeteksi sumber listrik juga disediakan untuk mendeteksi kegagalan sumber listrik dan langsun g mengalihkannya ke sumber baterai. D S1307 berkomunikasi dengan menggunakan 2 kabel, yaitu SDA dan DSL. SQW/Out adalah penghasil gelombang kotak yang frekuensinya tergantung dari control register register. Gambar 2.4.Typical slave operating circuit Model Pengunci Pintu Multi User dan Logger Menggunakan Kode Angka Berbasis Atmega 16 9 Gambar 2.5 Blok diagram IC 1307 IC 1307 terdiri dari 8 buah blok, yaitu blok osilator and driver, square wave out, control logic, power control, serial bus interface ,address register, RTC dan RAM . Blok osilator mengontrol kecepatan jam dan pulsa keluaran dari blok square wave out, blok control logic mengatur frekuensi yang dikeluarkan oleh blok square wave out, out address register menunjukan alamat dari RTC atau RAM berdasarkan input dari blok serial bus interface dan control logic. Blok RTC berisi data mengenai jam sedangkan RAM menyimpan data yang telah dituliskan sebelumnya. Gambar 2.6 RTC DS1307 Model Pengunci Pintu Multi User dan Logger Menggunakan Kode Angka Berbasis Atmega 16 10 2.4.1 Pin-pin -pin pada IC DS1307 IC DS1307 juga memiliki 8 buah pin, yaitu : X1, X2: dihubungkan dengan kristal quartz 32,768 kHz. Rangkaian osilator internal ini didesain untuk beroperasi dengan sebuah kristal yang mempunyai kapasitansi beban tertentu (CL) yakni 12,5 pF. Vcc, GND: sebagai power supply utama. Vcc merupakan tegangan input +5 Volt sedangkan GND merupakan ground. Ketika tegangan 5 Volt digunakan pada batas normal, RTC dapat diakses secara penuh dan data dapat ditulis dan dibaca. Ketika Vcc kurang dari 1,25 x Vbat, proses penulisan dan pembacaan menjadi terhalang. Namun demikian, proses penghitungan waktu tetap berjalan. Pada saat Vcc kurang dari Vbat, RAM dan penghitung waktu terhubung dengan batere 3 Volt. Vbat: tegangan input batere lithium cell cell 3 Volt. Tegangan batere harus berada antara 2,5 Volt sampai 3,5 Volt. SCL (Serial (Serial Clock Input): Input): digunakan untuk mensinkronkan perubahan data pada antarmuka serial. SDA (Serial (Serial Data Input/Output Input/Output) : merupakan pin input/output input output untuk antarmuka serial 2 kawat. Pin SDA membutuhkan resistor pull-up eksternal. 2.5 SQW/OUT (Square (Square Wave/Output Driver) Driver Keypad 4x4 Keypad digunakan sebagai perangkat input untuk memasukkan password. Keypad merupakan serangkaian push-button yang disusun secara matrik sehingga memiliki kolom dan baris. Setiap kolom dan baris dihubungkan dengan pin I/O dari M ikrokontroler sejumlah 8 pin, 4 pin untuk kolom dan 4 pin untuk baris. Model Pengunci Pintu Multi User dan Logger Menggunakan Kode Angka Berbasis Atmega 16 11 Berikut Beri kut gambar keypad 4x4. 1 2 3 A 4 5 6 B 7 8 9 C * 0 # D RR1 R1 47K RR2 C = KOLOM R = BARIS R2 47K RR3 R3 47K RR4 R4 47K RC1 47 47K RC2 4 47K C1 C2 RC3 4 47K C3 RC4 47K 47 C4 Gambar 2.7 Keypad 4x4 2.6 IC NE555 IC 555 merupakan jenis IC yang dapat membangkitkan sinyal frekuensi, baik itu monostabil mulivibrator maupun astabil mutivibrator. Pada alat ini (rangkaian transmitter) IC 555 digunakan sebagai pembangkit sinyal frekuensi astabil multivibrator dengan frekuensi yang dihasilkan sekitar 2,3 kHz. Gambar 2.8 IC NE555 M ultivibrator astabil dapat menghasilkan aliran-aliran pulsa yang berkelanjutan, berbentuk segi empat y ang dapat berada pada dua keadaan. Akan tetapi keadaan kedua pulsa-pulsa yang dihasilkan tidak berada pada keadaan stabil, seperti terlihat pada gambar 2.9. Model Pengunci Pintu Multi User dan Logger Menggunakan Kode Angka Berbasis Atmega 16 12 Gambar 2.9 Rangkaian astabil multivibrator Kapasitor asitor C mengisi muatan melalui tahanan R1 dan R2, sedangkan pengosongan muatan hanya melalui tahanan R2. Dalam mode ini, tegangan kapasitor dalam melakukan pengisian dan pengoson gan berada diantara 1/3 dan 2/3 Vcc. Saat kapasitor mengisi muatan melalui R1 dan R2 tegangan naik secara eksp onensial. Perhitungan waktu p engisian pada saat output high adalah : t 1 =0,693 (R1 + R2 ) C1 Perhitungan waktu p engisian pada saat output low adalah : t 2 =0,693 (R2 ) C1 M aka total perioda (T) : T= t 1 + t 2 = 0,693 (R1 + R2 ) C1 Untuk perhitungan frekuensi osilasi : f = =( , ) Dan untuk unt uk perhitungan Duty cycle : D= R2 R1 + 2R2 Gambar 2.10 10 Bentuk gelombang astabil multivibrator Model Pengunci Pintu Multi User dan Logger Menggunakan Kode Angka Berbasis Atmega 16 13 2.7 Buzzer Buzzer merupakan perangkat output yang menghasilkan suara, prinsip kerjanya mirip dengan sp eaker biasa. Buzzer ini menjadi bagian dari rangkaian alarm yang berperan untuk menghasilkan bunyi dengan nada yang diatur di rangkaian sebelumnya. Gambar 2.11 Buzzer Buzz Buzzer ini dapat bekerja dalam rentang tegangan dari 5Vdc hingga 15Vdc. Semakin tinggi tegangan yang disupply, maka bunyi keluaran akan semakin keras. 2.9 Relay Relay merupakan salah satu peralatan elektronik yang berfungsi untuk memtuskan dan menghubungkan suatu rangkaian elektronik yang satu dengan yang lainnya. Pada dasarnya relay adalah saklar elektromagnetik yang akan bekerja apabila arus mengalir melalui kumparan, lalu inti besi akan menjadi magnet dan akan menarik kontakrelay.. Kontak-kontak dapat ditarik apabila garis magnet dapat kontak relay mengalahkan gaya pegas yang melawannya. Besarnya gaya magnet bergantung dari medan di celah udara pada inti magnet, jumlah lilitan kumparan, dan kuat arus yang mengalir. Untuk memperbesar kuat medan magnet dibentuk sirkuit magnet. Model Pengunci Pintu Multi User dan Logger Menggunakan Kode Angka Berbasis Atmega 16 14 Kontak-kontak Kont ak-kontak atau kutub-kutub dari relay umumnya memiliki tiga dasar pemakaian yaitu : 1. Bila kumparan dialiri arus listrik maka kontaknya akan menutup dan disebut sebagai kontak Normally Open (NO). 2. Bila kumparan dialiri arus listrik maka kontaknya akan membuka dan disebut dengan kontak Normally Close (NC). 3. Tukar-sambung (Change Over/CO), jenis relay ini mempunyai kontak tengah yang normalnya tertutup tetapi akan membuat kontak dengan yang lain bila relay dialiri listrik. Gambar 2.12 memperlihatkan beberapa bentuk kontak dari sebuah relay : Gambar 2.12 12 Bentuk Kontak Relay Gambar 2.13 Relay 2.10 Perangkat Lunak Perangkat lunak atau software yang digunakan pada proyek akhir ini digunakan pemrograman BASCOM AVR untuk pemrograman pada mikrokontroler. BASCOM AVR merupakan suatu program compiler dengan bahasa pemrograman tingkat tinngi yang dilengkapi oleh simulasi Model Pengunci Pintu Multi User dan Logger Menggunakan Kode Angka Berbasis Atmega 16 15 compil ke bahasa mesin. BASCOM AVR terdiri dari main windows dan compiler simulator windows. Main windows merupakan jendela utama yang dapat digunakan untuk membuat listing program. Gambar 2.13 Jendala utama pada BASCOM AVR Pemrograman BA SCOM AVR memiliki beberapa jenis variabel data dan karakter. Jenis – jenis variabel data pada pemrograman BA SCOM AVR yaitu: 1. Bit (1/8 byte) Sebuah bit hanya memiliki nilai 0 atau 1. Dimana 8 buah bit sama dengan 1 byte. 2. Byte (1Byte) Byte ini memiliki jumlah 8 bit-biner yang bernilai 0-255. 3. Integer (two Bytes) Integer ini memiliki jumlah 16 bit-biner yang bernilai antara -32,768 sampaidengan +32,767. 4. Word (two bytes) Word ini memiliki jumlah 16 bit-biner yang bernilai antara 0 sampai dengan 65535. 5. Long (four bytes) Model Pengunci Pintu Multi User dan Logger Menggunakan Kode Angka Berbasis Atmega 16 16 Long ini memiliki jumlah 32bit-biner yang bernilai antara 2147483648 sampai dengan 2147483647. 6. Single Single ini memiliki jumlah 32 bit-biner yang bernilai antara 1.5x1045 sampai dengan 3.4x1038. 7. String (up to 254 bytes) String ini memiliki panjang dimensi sebanyak 10 byte. Model Pengunci Pintu Multi User dan Logger Menggunakan Kode Angka Berbasis Atmega 16 17