BAB II LANDASAN TEORI Bab ini akan membahas teori pendukung untuk merealisasikannya proyek ini. Pada bab ini akan dibahas mengenai Mikrokontroler, Sensor Infra akhir merah, LCD, Selenoid, Perangkat lunak, Keypad, Relay, dan Motor DC. 2.1 Mikrokontroler IC ATmega 16 Mikrokontroler merupakan sebuah sistem komputer yang mempunyai satu atau beberapa tugas yang spesifik, berbeda dengan PC yang memiliki beragam fungsi. Perbedaan yang lainnya adalah perbandingan RAM dan ROM yang sangat berbeda dengan komputer. Mikrokontroller ATMega 16 memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16-bit, dan sebagian besar instruksi dieksekusi dalam satu siklus clock. Mikrokontroller ini berteknologi Reduce Instruction Set Computing (RISC). dan yang membedakan mikrokontroller ini dengan yang lainnya adalah arsitektur, konfigurasi pin, memori, peripheral, dan fungsinya. 2.1.1 Karakteristik mikrokontroler AVR seri ATMega16 Fitur yang tersedia pada ATMega 16 adalah : Dari gambar tersebut dapat dilihat bahwa ATMega 16 memiliki bagian sebagai berikut : 1. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D. 2. ADC 10 bit sebanyak 8 saluran. 3. Tiga buah timer/ counter dengan kemampuan pembandingan. 4. CPU yang terdiri atas 32 buah register. 5. 131 instruksi andal yang umumnya hanya membutuhkan 1 siklus clock. 6. Watchdog Timer dengan osilator internal. 7. Dua buah timer/ counter 8 bit. 8. Satu buah timer/ counter 16 bit. 9. Tegangan operasi 2,7 V – 5,5 V. 10. Internal SRAM sebesar 1 KB. 3 11. 12. Memori flash sebesar 16 KB dengan kemampuan Read While Write. Unit interupsi internal dan eksternal. 13. Port antar muka SPI. 14. EEPROM sebesar 512 byte yang dapat diprogram saat operasi. 15. Antarmuka komparator analog. 16. 4 channel PWM. 17. 32 x 8 general purpose register. 18. Hampir mencapai 16 MIPS pada kristal 16 MHz. 19. Port USART programmable untuk komunikasi serial. 2.1.2 Konfigurasi Pin ATMega16 Gambar 2.1 Konfigurasi pin mikrokontroler Atmega16 1. Vcc merupakan pin masukan positif catu daya. Setiap peralatan elektronika digital tentunya butuh sumber catu daya yang umumnya sebesar 5 V. 2. Gnd sebagai pin ground. 3. Port A (PA0..PA7) merupakan pin I/O dua arah dan dapat deprogram sebagai pin masukan ADC. 4 4. Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus, 5. Port C (PC0..PC7) merupakan pin I/O dua arah dan fungsi khusus, yaitu 6. yaitu timer/counter, komparator analog, dan SPI. TWI, komparator analog, dan timer osilator. Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator analog, interupsi eksternal, dan komunikasi serial. 7. Reset merupakan pin yang digunakan untuk me-reset mikrokontroller. 8. XTAL 1 dan XTAL 2 sebagai pin masukan clock eksternal.suatu mikrokontroller mengeksekusi instruksi yang ada di memori. Semakin tinggi nilai membutuhkan sumber detak (clock) agar dapat kristalnya, maka semakin cepat mikrokontroller tersebut. 9. AVcc sebagai pin masukan tegangan untuk ADC. 10. AREF sebagai pin masukan tegangan referensi. 2.2 Sensor Infra merah Sistem sensor infra merah merupakan salah satu media transmisi sinyal yang cahayanya tidak tampak pada mata. Pada dasarnya menggunakan infra merah sebagai media untuk komunikasi data antara receiver dan transmitter. Sistem akan bekerja jika sinar infra merah yang dipancarkan terhalang oleh suatu benda yang mengakibatkan sinar infra merah tersebut tidak dapat terdeteksi oleh penerima. Ketika pancaran sinar pancaran inframerah terhalang maka sinyal dikirimkan oleh photodioda ke rangkaian lampu agar dapat menghidupkan rangkaian beban. Keuntungan atau manfaat dari sistem ini dalam penerapannya antara lain sebagai pengendali jarak jauh, alarm keamanan, otomatisasi pada sistem. Pemancar pada sistem ini tediri atas sebuah LED infra merah yang dilengkapi dengan rangkaian yang mampu membangkitkan data untuk dikirimkan melalui sinar infra merah, sedangkan pada bagian penerima biasanya terdapat foto transistor, fotodioda, atau inframerah module yang berfungsi untuk menerima sinar inframerah yang dikirimkan oleh pemancar. 5 2.2.1 Receiver Infra Merah Komponen yang dapat menerima sinar infra merah ini merupakan komponen yang peka cahaya yang berupa photodioda atau phototransistor. Komponen ini akan merubah energi cahaya, dalam hal ini energi cahaya infra merah, menjadi pulsa-pulsa sinyal listrik. Komponen ini harus mampu mengumpulkan sinyal infra merah sebanyak mungkin sehingga pulsa-pulsa sinyal listrik yang dihasilkan kualitasnya cukup baik. Semakin besar intensitas infra merah yang diterima maka sinyal pulsa listrik yang dihasilkan akan baik, jika sinyal infra merah yang diterima intensitasnya lemah maka infra merah tersebut harus mempunyai pengumpul cahaya (light collector) yang cukup baik dan sinyal pulsa yang dihasilkan oleh sensor infra merah ini harus dikuatkan. Pada prakteknya sinyal infra merah yang diterima intensitasnya sangat kecil sehingga perlu dikuatkan. (Html : Susanto Wibisono : Agustus, 2001) Sebuah photodioda, biasanya mempunyai karakteristik yang lebih baik daripada phototransistor dalam responnya terhadap cahaya infra merah. Tetapi sebuah phototransistor tetap mempunyai keunggulan menguatkan arus bocor menjadi ratusan kali jika dibandingkan dengan photodioda. Sebuah photodioda biasanya dikemas dengan plastik transparan yang juga berfungsi sebagai lensa fresnel. Lensa ini merupakan lensa cembung yang mempunyai sifat mengumpulkan cahaya. Lensa tersebut juga merupakan filter cahaya, lebih dikenal sebagai ‘optical filter’, yang hanya melewatkan cahaya infra merah saja. Walaupun demikian cahaya yang nampak pun masih bisa mengganggu kerja dari dioda infra merah karena tidak semua cahaya nampak bisa difilter dengan baik. Faktor lain yang juga berpengaruh pada kemampuan penerima infra merah adalah ‘active area’ dan ‘respond time’. Semakin besar area penerimaan suatu dioda infra merah maka semakin besar pula intensitas cahaya yang dikumpulkannya sehingga arus bocor yang diharapkan pada teknik ‘reserved bias’ semakin besar. Selain itu semakin besar area penerimaan maka sudut penerimaannya juga semakin besar. Kelemahan area penerimaan yang semakin besar ini adalah noise yang dihasilkan juga semakin besar pula. Begitu juga 6 dengan respon terhadap frekuensi, semakin besar area penerimaannya maka respon frekuensinya turun dan sebaliknya jika area penerimaannya kecil maka respon terhadap sinyal frekuensi tinggi cukup baik. Respond time dari suatu dioda infra merah (penerima) mempunyai waktu respon yang biasanya dalam satuan nano detik. Respond time ini mendefinisikan lama agar dioda penerima infra merah merespon cahaya infra merah yang datang pada area penerima. Sebuah dioda penerima infra merah yang baik paling tidak mempunyai respond time sebesar 500 nano detik atau kurang. Jika respond time besar maka dioda infra merah ini tidak dapat merespon sinyal cahaya yang terlalu dimodulasi dengan sinyal carrier frekuensi tinggi dengan baik. Hal ini akan mengakibatkan adanya data loss. Gambar 2.2 Led Inframerah 2.2.2 Photodioda Komponen photodetektor yang digunakan untuk menerima sinar inframerah adalah photodioda. Photodioda merupakan sensor cahaya semikonduktor yang dapat mengubah besaran cahaya menjadi besaran listrik. Photodioda merupakan sebuah dioda dengan sambungan p-n yang dipengaruhi cahaya dalam kerjanya. Prinsip kerja, karena photodioda terbuat dari semikonduktor p-n junction maka cahaya yang diserap oleh photodioda akan mengakibatkan terjadinya pergeseran foton yang akan menghasilkan pasangan electron-hole dikedua sisi dari sambungan. Ketika elektron-elektron yang dihasilkan itu masuk ke pita konduksi maka elektron-elektron itu akan mengalir ke arah positif sumber tegangan sedangkan hole yang dihasilkan mengalir ke arah negatif sumber tegangan sehingga arus akan mengalir di dalam rangkaian. Besarnya pasangan 7 elektron ataupun hole yang dihasilkan tergantung dari besarnya intensitas cahaya yang diserap oleh photodioda. Sifat dari Photodioda adalah : 1. Jika terkena cahaya maka resistansi nya berkurang 2. Jika tidak terkena cahaya maka resistansi nya meningkat. Pada saat dioda dipasang reverse, maka arus tidak akan mengalir karena hambatan yg sangat besar sekali. Jadi bisa dikatakan ini dioda sebagai kondisi Open Circuit jika dianalogikan seperti sakelar. namun pada photodioda, hambatan besar tadi bisa menjadi kecil karena pengaruh cahaya yang yang yang masuk. Hal seperti ini bisa menyebabkan arus mengalir sehingga kondisi seperti ini bisa dikatakan sebagai Close Circuit jika dianalogikan seperti sakelar. 2.3 LCD LCD adalah salah satu device yang dapat menampilkan karakter yang diinginkan. Keuntungan utama dari penggunaan LCD adalah penggunaan daya yang rendah dan format tampilan yang bervariasi dan memiliki berbagai macam ukuran. Meskipun LCD memiliki berbagai macam ukuran tetapi penggunaany penggunaanya standar. LCD terdiri 16 pin yang berisikan jalur data, jalur control, power dan Back Light. bentuk fisik LCD dapat dilihat pada gambar 2.3 dan konfigurasi onfigurasi pin LCD dapat dilihat pada tabel 2.1. Gambar 2.3 Bentuk fisik LCD 2x16 Tabel 2.1 Konfigurasi pin LCD PIN SIMBOL LEVEL FUNGSI 1 VSS Ground Ground 2 VDD +5 V Tegangan Supply +5 V Pengatur Kontras LCD 3 VEE 4 RS H/L Register Select, H = baca, L = instruksi 5 R/W H/L Read/Write, H = Read, L = Write 6 E 7 DB0 H/L Data Bit 0 8 DB1 H/L Data Bit 1 9 DB2 H/L Data Bit 2 10 DB3 H/L Data Bit 3 11 DB4 H/L Data Bit 4 12 DB5 H/L Data Bit 5 13 DB6 H/L Data Bit 6 14 DB7 H/L Data Bit 7 15 A (+) +5 V LED Back Light (+) 16 A (-) 0V LED Back Light (-) Pulsa L- Enable Signal H-L 2.4 Code Vision AVR Code Vision AVR merupakan perangkat lunak yang dapat digunakan untuk pemograman mikrokontroler Atmel AVR. Code Vision AVR menggunakan bahasa pemograman tingkat menengah. Sesuai dengan namanya, "CodeVisionAVR" adalah sebuah software dimana fungsinya sebagai compiler yang akhirnya dapat menghasilkan file. Hex untuk diDownload ke dalam Suatu IC blank, sebagai programnya. Karena compiler ini dirasa memilki banyak kemudahan untuk mengakses dan memiliki alat bantu programming yang lengkap. CodeVisionAVR juga dilengkapi dengan code editor , compiler, linker, dan dapat memanggil Atmel AVR Studio untuk degugger nya. Compiler ini digunakan untuk mengubah bahasa pemograman tingkat menengah C ke format bahasa mesin, dalam format 9 heksadesimal, sehingga dapat dimengerti oleh mikrokontroler. Kumpulan karakter terdiri dari huruf kapital (A-Z) dan huruf kecil (a-z). Sedangkan karakter angka pada C adalah 0-9. Gambar 2.4 Main windows pada code vision AVR. Pada sub bab ini akan dibahas secara singkat beberapa hal mengenai Code Vision AVR termasuk perintah-perintah yang digunakan pada proyek akhir ini. 2.4.1 Tipe Data Tipe data merupakan bagian program yang paling penting karena tipe data mempengaruhi setiap instruksi yang akan dilaksanakan oleh PC. Pemilihan tipe data yang tepat akan membuat operasi data menjadi lebih efisien dan efektif. Berikut adalah tipe-tipe data pada Code Vision AVR : 10 Tabel 2.2 Tipe-tipe variabel data 2.4.2 Konstanta Penulisan konstanta adalah sebagai berikut: Integer atau lng integer dpat ditulis dengan format desimal (contoh 1234), biner dengan awlan 0b contoh (0b101001), heksadesimal dengan awalan 0x (contoh 0xff) atau oktal dengan awalan 0 (0777). Unsigned integer ditulis dengan diakhiri U (contoh 10000U). Long integer diulis dengan diakhiri L (contoh99L) Unsigned long integer ditulis dengan diakhiri UL (contoh 99UL). Floating point ditulis dengan diakhiri F (contoh 1.234F). Karakter konstanta harus dituliskan dalam tanda kutip (contoh 'a'), sedangkan konstanta string harus dalam tanda kutip dua Jika string yang diletakkan diantara tanda kutip sebagai parameter fungsi, string ini akan secara otomatis dianggap sebagai konstanta dan ditempatkan di memori flash. 2.4.3 Header Header berisi include file (.hex), yaitu library (pustaka) yang akan digunakan dalam pemrograman. 11 Contoh: #include <mega16.h> #include <delay.h> #include <stdio.h> Gambar 2.5 Contoh pengisian include file 2.4.4 Label, Variabel, dan Fungsi Identifikasi label, variabel dan fungsi dapat berupa huruf (A....Z, a...z) dan angka (0...9), juga karakter underscore ( _ ). Meskipun begitu identifikasi hanya bisa dimulai dengan huruf atau karakter underscore. Variabel program dapat berupa global (terakses pada semua fungsi program) atau lokal (hanya terakses di dalam fungsi yang mendeklarasikan). Jika tidak diinisialisasi secara khusus, variabel global secara otomatis diset pada 0 pada startup . Yang lebih penting lagi, identifikasi ini Case is significant, yaitu huruf besar dan kecil berbeda. Misal, variabel1 tidak sama Variabel1. Identifikasi bisa memuat sebanyak 32 karakter. a. Menentukan Alamat Penempatan Ram untuk variabel global Variabel global dapat diisikan pada lokasi RAM tertentu menggunakan operator @. Contoh: /* variabel integer “a” diisikan di RAM dengan alamat 80h */ int a @0x80; b. Variabel Bit Variabel bit adalah variabel global khusus yang ditempatkan pada ruang memori R2 sampai dengan R14. Variabel ini dideklarasikan menggunakan kata kunci bit. Sintaksnya adalah: bit <identifier>; c. Alokasi Variabel ke Register Dalam rangka memperoleh manfaat penuh dari arsitektur AVR dan instruction set, compiler mengalokasikan beberapa variabel program ke register chip. Register dari R2 sampai dengan R14 dapat dialokasikan untuk variabel bit. Jumlah register yang akan digunakan dapat ditentukan. Nilai ini harus sama 12 dengan terendah yang dibutuhkan oleh program. Jika direktif compiler #pragma regalloc+ digunakan, sisa register dalam kisaran R2 ke R14 yang tidak digunakan untuk variabel bit, dialokasikan untuk global variabel char dan int. Jika pengalokasian register otomatis di-disable, kata kunci register dapat digunakan untuk menentukan variabel global mana yang dialokasikan ke register. Contoh: /* disable alokasi register otomatis */ #pragma regalloc /* pengalokasian variabel ‘alfa’ ke sebuah register */ register int alfa; 2.4.5 Komentar Komentar diawali dengan tanda '/*' dan diakhiri dengan '*/'. Komentar memudahkan programmer untuk memberikan keterangan tambahan mengenai listing program. Komentar ini tidak diikut sertakan dalam proses kompilasi. Contoh /* ini contoh */ /* ini contoh 2.4.6 Struktur Struktur adalah kumpulan dari anggota nama yang didefinisikan oleh pengguna. Anggota struktur dapat berupa tipe data yang disediakan compiler, array dari tipe data ini, atau pointer yang menunjuk mereka. Struktur didefinisikan menggunakan kata kunci struct. Sintaksnya adalah: [<storage modifier>] struct [<structure tagname>] { [<type> <variable-name[, variablename, ...]>]; [<type> <variable-name[, variablename, ...]>]; 13 ... } [<structure variables>]; 2.4.7 Union Unions adalah kumpulan anggota yang diberi nama yang didefinisikan oleh user yang berbagi ruang memori yang sama. Anggota dapat berupa sebarang tipe data yang di-support, array dari tipe data ini atau pointer ke mereka. Union didefinisikan menggunakan kata kunci union. Sintaksnya adalah: [<storage modifier>] union [<union tag-name>] { [<tipe> <nama-variabel[, nama-variabel, ...]>]; [<tipe> <nama-variabel[, nama-variabel, ...]>]; ... } [<variabel union>]; 2.4.8 Enumerasi Tipe data enumerasi dapat digunakan dalam rangka menghasilkan identifier mnemonic untuk sejumlah nilai int. Kata kunci enum digunakan untuk tujuan ini. Sintaksnya adalah: [<storage modifier>] enum [<enum tag-name>] { [<nama-konstanta[[=penginisial-konstanta], nama-konstanta, ...]>]} [<variabel enum>]; 2.4.9 Mendefinisikan Tipe Data Tipe data yang didefinisikan user dideklarasikan menggunakan kata kunci typedef. Sintaksnya adalah: typedef [<storage modifier>] <tipe> <identifier>; Nama simbol (identifier) mengacu pada (tipe) 2.4.10 Global Variabel Memori Map File Selama proses kompilasi, compiler C menghasilkan file peta memori variabel global, yang di dalamnya tertera lokasi alamat RAM, alokasi register, dan ukuran dari variable global yang digunakan oleh program. File ini memiliki 14 ekstensi map, Anggota struktur dan union tertera tersendiri sesuai dengan alamat yang bersesuaian dan ukuran mereka. 2.4.11 Konversi Tipe Dalam sebuah ekspresi, jika dua operan dari operator / biner adalah dari tipe yang berbeda, kemudia compiler akan mengkonversi satu dari dua operan menjadi tipe operan yang lain. Compiler menggunakan aturan sebagai berikut: 1. jika salah satu operan adalah bertipe float kemudian operan yang lain dikonversi menjadi tipe yang sama. 2. Jika salah satu operan bertipe long int atau unsigned long int kemudian operan yang lain dikonversi ke dalam tipe yang sama. 3. Jika salah satu operan dari tipe int atau unsigned int kemudian operan yang lain dikonversi menjadi tipe yang sama. Dengan demikian tipe char atau tipe unsigned char mendapat prioritas yang paling rendah. 2.4.12 Operator Suatu instruksi pasti mengandung operator dan operand. Operand adalah variabel atau konstanta yang merupakan bagian pernyataan sedangkan operator adalah suatu simbol yang menyatakan operasi mana yang akan dilakukan oleh operand tersebut. Contoh: C=a+b; Ada tiga operand(a, b dan c) dan dua operator (= dan +). Operator dalam C dibagi menjadi 3 kelompok, yaitu: 1. Unary, Operator yang beroperasi pada satu operand, misal: -n. 2. Binary, Operator yang beroperasi pada dua operand, misal: a-n. 3. Ternary, Operator yang memerlukan tiga atau lebih operand. 15 Tabel 2.3 Tipe-tipe aritmatika Simbol Contoh Aritmatika + c=a+b Penjumlahan n=n+2 - c=a-b Pengurangan n=n-2 ++ ++i Kenaikan(increment, sama dengan i=i+1 --i Penurunan(decrement, sama dengan i=i-1 c=a*b Perkalian * n=n*2 / c=a/b Pembagian n=n/2 % sisa=a % Menghasilkan sisa dari pembagian. A dan b bilangan b bulat = a=b Pemberian nilai += a+=2 Penambahan suatu nilai pada suatu 16ariable yang sudah ada sebelumnya. Sama dengan a=a+2 -= a-=2 Pengurangan suatu nilai pada suatu 16ariable yang sudah ada sebelumnya. Sama dengan a=a-2 *= a*=2 Pengalian suatu nilai pada suatu 16ariable yang sudah ada sebelumnya. Sama dengan a=a*2 /= a/=2 Pembagian dari suatu nilai pada suatu 16ariable yang sudah ada sebelumnya. Sama dengan a=a/2 %= a/=2 Sisa dari suatu nilai pada suatu 16ariable yang sudah ada sebelumnya yang dibagi oleh nilai atau 16ariable lain. Sama dengan a=a/2 * *pointer Menunjukkan isi dari pointer 16 Tabel 2.4 Tipe-tipe simbol Symbol “==” Contoh Logika Pembanding if(a==b) Logika sama dengan, digunakan untuk pembanding. Menghasilkan nilai true jika a = b. != if(a!=b) ≠ b. < if(a<b) Logika lebih kecil dari. Menghasilkan nilai true jika a < b. Tidak sama dengan. Menghasilkan nilai true jika a <= if(a<=b) Logika lebih kecil sama dengan dari. Menghasilkan nilai true jika a ≤ b. if(a>b) Logika lebih besar dari. Menghasilkan nilai true jika a > b. >= if(a>=b) Logika lebih besar sama dengan dari. Menghasilkan nilai true jika a ≥ b. ! If(!a) NOT && if(a==b && AND a==c) || if(a==b | | OR a==c) 2.4.13 Percabangan if-then, Bentuk umum dari percabangan ini adalah: if (kondisi) { // pernyataan }; artinya adalah pernyataan akan dijalankan jika kondisi terpenuhi. 17 2.5 Solenoid Kunci pintu elektronik. seperti solenoid, merupakan perangkat yang bekerja ketika arus mengalir pada coil akan terjadi gaya magnet sehingga solenoid akan menghasilkan gerakan linier. Sebuah kawat dibentuk seperti spiral yang selanjutnya disebut kumparan , apabila dialirkan arus listrik maka akan berfungsi seperti magnet batang. Solenoid terdapat beberapa macam jenis, diantaranya adalah : 2.5.1 Solenoid Valve Solenoid valve adalah katup yang digerakan oleh energi listrik, mempunyai kumparan sebagai penggeraknya yang berfungsi untuk menggerakan piston yang dapat digerakan oleh arus AC maupun DC, solenoid valve atau katup (valve) solenoida mempunyai lubang keluaran, lubang masukan dan lubang exhaust, lubang masukan, berfungsi sebagai terminal / tempat cairan masuk atau supply, lalu lubang keluaran, berfungsi sebagai terminal atau tempat cairan keluar yang dihubungkan ke beban, sedangkan lubang exhaust, berfungsi sebagai saluran untuk mengeluarkan cairan yang terjebak saat piston bergerak atau pindah posisi ketika solenoid valve bekerja. Prinsip kerja dari solenoid valve/katup (valve) solenoida yaitu katup listrik yang mempunyai koil sebagai penggeraknya dimana ketika koil mendapat supply tegangan maka koil tersebut akan berubah menjadi medan magnet sehingga menggerakan piston pada bagian dalamnya ketika piston berpindah posisi maka pada lubang keluaran dari solenoid valve akan keluar cairan yang berasal dari supply, pada umumnya solenoid valve mempunyai tegangan kerja 100/200 VAC namun ada juga yang mempunyai tegangan kerja DC. Gambar 2.6 Bentuk Fisik Solenoid Valve 18 2.5.2 Solenoid Switch Solenoid beroperasi dengan mengirimkan arus listrik kepada solenoida untuk melepaskan dan membuka pintu atau sebaliknya tergantung dari arus listrik yang dialirkan. Solenoid dalam instalasi terbagi menjadi dua konfigurasi dasar: 1. Fail Secure / Normaly Open (akan mengunci apabila tidak terhubung catu daya). Dalam konfigurasi ini, akan terbuka saat kunci dialirkan arus listrik. Kunci ini akan tetap terkunci dalam apabila tidak ada arus listrik atau terjadi kegagalan power, agar bisa terbuka saat terkunci sistem ini diberikan button relese berfungsi untuk membuka kunci. Dalam konfigurasi ini menerapkan sistem yang dengan jenis arus listrik yang berbeda, baik AC atau DC. Arus AC menciptakan “buzz” untuk memberikan informasi bahwa pintu siap dibuka. Sedangkan Arus DC tidak membuat “buzz”, namun sebuah suara “klik” saat kunci terbuka. 2. Fail Safe / Normaly Close (akan mengunci apabila terhubung ke catu daya). Dalam konfigurasi ini, beroperasi sama seperti kunci magnetik akan terbuka saat kunci tidak ada aliran arus listrik. Jika ada listrik, pintu akan terbuka hanya dengan menjadi mendorong / membuka. Untuk menjalankan kunci ini tidak membutuhkan arus yang besar cukup 450 mA dengan tegangan 12 volt DC. Solenoid ini dipasang pada sisi dalam kusen pintu. Gambar 2.7 Bentuk fisik solenoid Switch Ketika kunci dorong elektrik ini diberikan tegangan 12 Vdc maka lilitan akan menginduksikan magnet, karena magnet didalam alat tersebut dihadapkan dengan polaritas sama sehingga terjadi gaya tolak magnet antar keduanya dan menyebabkan besi bergerak dan memberikan celak untuk tuas kunci pada pintu sehingga pintu dapat terbuka. 19 2.6 Keypad Keypad pada alat ini berfungsi sebagai input kode pin untuk password pintu keluar. Keypad umumnya digunakan sebagai suatu input dari alat yang menggunakan mikrokontroler atau mikroprosessor sebagai pengolah datanya. Keypad tersusun dari beberapa push button yang dikonfigurasi terdiri dari baris dan kolom yang memiliki fungsi input atau output. Keypad terhubung dengan port pada mikrokontroler. Gambar 2.8 Bentuk fisik keypad 4x4 2.6.1 Kombinasi keypad dengan mikrokontroler Keypad terhubung dengan mikrokontroler dengan menggunakan resistor pull up internal yang berasal dari mikrokontroler. Berikut adalah konfigurasi pin dari keypad dengan mikrokontroler. Kolom 0 terhubung dengan port D.0 Kolom 1 terhubung dengan port D.1 Kolom 2 terhubung dengan port D.2 Kolom 3 terhubung dengan port D.3 Baris 0 terhubung dengan port D.4 Baris 1 terhubung dengan port D.5 Baris 2 terhubung dengan port D.6 Baris 3 terhubung dengan port D.7 Pengambilan data dari keypad dilakukan dengan menunggu adanya penekanan terhadap tombol keypad. Ketika tidak ada penekanan tombol maka kondisinya adalah high (logic 1). Karena terhubung dengan pull up. Setelah ada 20 penekanan tombol maka akan diperiksa tombol yang ditekan berdasarkan data yang diterima oleh mikro. 2.7 Transistor sebagai sakelar Driver relay merupakan sebuah rangkaian yang digunakan sebagai pengendali solenoid dimana komponen yang digunakan adalah transistor sebagai sakelar. Terdapat beberapa hal yang harus diperhatikan dalam penggunaan transistor agar dapat bekerja dengan optimal, antara lain : ♦ transistor harus diberi catu daya DC agar dapat bekerja, ♦ cara pemberian bias dan besarnya bias akan mempengaruhi titik kerja dari transistor tersebut dan dapat digunakan dalam penentuan fungsi dari transistor dalam suatu rangkaian. Saat sebuah transistor digunakan pada rangkaian, fungsi dari transistor dapat ditentukan dari kurva karakteristiknya. Transistor memiliki kurva karakteristik input, output, dan transfer. Namun yang paling umum adalah kurva karakteristik outputnya. Penggunaan transistor ini yaitu ketika transistor mengalami kondisi saturasi dan cut off sebagai switch. Gambar 2.9 Transistor saat mangalami kondisi saturasi Menurut Ricky permadi (2011) dalam tugas akhirnya disebutkan Ada beberapa hal yang perlu diperhatikan dalam membuat transistor sebagai sakelar : a). Menentukan Ic 21 Ic adalah arus beban yang mengalir dari kolektor ke emitor dimana nilainya tidak boleh lebih besar dari Ic maksimum transistor (data sheet). Arus besar Ic dapat dicari menggunakan persamaan : Ic < Ic (max) Ic = Vcc / Rc ………………………………………………………………..( 2.1) b). Menentukan hfe transistor Setelah menentukan arus beban yang akan dilewatkan oleh transistor selanjutnya adalah menentukan transistor yang akan digunakan sebagai sakelar c). Menentukan Rb Untuk menghitung Rb menggunakan persamaan berikut : Ib = Ic / hfe ………………………………………………………………...( 2.2 ) Rb = (Vbb – Vbe) / Ib …………………………………………………….( 2.3 ) Ketika transistor mengalami kondisi saturasi, maka transistor tersebut akan seperti sebuah sakelar tertutup dari kolektor ke emitor. 2.8 Relay Relay adalah sakelar yang memanfaatkan tarikan medan magnet yang dibentuk oleh coil dari relay itu sendiri. Di dalam relay terdapat beberapa sakelar atau switch NO atau NC yang akan berubah keadaan setelah coil mendapat tegangan dari luar. Selama coil diberi tegangan selama itu pula perubahan keadaan switch. Didalam relay terdapat cover sebagai pelindung, dan terminal sebagai sambungan coil maupun switch. Di sekitar terminal pun ada nomor kaki yang sesuai pada skema relay pada cover. Gambar 2.10 Langkah pergantian kontak pada relay 22 Gambar 2.11 Salah satu bentuk fisik relay yang ada di pasaran. Relay dapat dibagi dua jenis berdasarkan tegangan coil, yaitu relay AC dan DC. Adapun parameter yang harus diperhatikan saat memilih relay adalah sebagai berikut: • resistansi lilitan ditentukan oleh diameter dan banyaknya lilitan kawat, • arus kerja relay, • tegangan kerja relay ( tengangan coil ), • tegangan Kontak ( switch ) NO maupun NC, • banyaknya kontak yang terdapat pada relay. (http://relay.com) 2.9 Motor DC Prinsip kerja dari Motor DC adalah berdasarkan dari suatu penghantar yang membawa arus yang kemudian ditempatkan dalam suatu medan magnet sehingga menimbulkan gaya. Gaya sendiri menimbulkan torsi yang dapat menghasilkan rotasi mekanik, sehingga membuat motor berputar. Motor Dc mendapatkan sumber DC dari sumber tegangan yang dirubah menjadi energi mekanik berupa putaran. Putaran inilah yang dimanfaatkan untuk peralatan lain. Prinsip kerja motor membutuhkan beberapa hal, diantaranya : 1. Adanya fluks yaitu garis garis gaya medan magnet antara kutub yang ada di stator. 2. Penghantar yang dialiri arus dan kemudian ditempatkan pada jangkar dalam medan magnet. 3. Timbul suatu gaya yang menghasilkan torsi dari penghantar tersebut. 23