BAB III PERANCANGAN ALAT Pada bab ini diterangkan tentang langkah dalam merancang ssistem perangkat keras dan perangkat lunak sistem minimum pada bagian PCB (Printed Circuit Board Board) dimana terdapat mikrokontroller ATmega16 dan bluetooth HC-05 sebagai receiver. Kemudian akan membahas tentang aplikasi program yang terdapat pada smartphone sebagai transmitter. Bahan perancangan alat akan dibahas terlebih dahulu kemudian akan dilanjutkan pada perancangan alat, lalu mengenai realisasi alat pada masing-masing blok rangkaian. 3.1 Data Perancangan dan Bahan Untuk melakukan langkah-langkah yang terorganisir dalam mencapai keselamatan dan keberhasilan, dibutuhkannya data berupa lokasi dan waktu saat melakukan perancangan alat berlangsung. Serta bahan-bahan yang diperlukan untuk melakukan perancangan alat tersebut. Berikut Jadwal Perancangan dan Bahan-bahan dalam membuat Prototype Smarthome: 39 http://digilib.mercubuana.ac.id/ 40 3.1.1 Tempat dan Waktu Perancangan Tabel 3.1 Jadwal Perancangan Alat Waktu Kegiatan Tempat Bimbingan dengan Pak Yudhi Gunardi selaku 10 Oktober 2015 Dosen Pembimbing dalam menentukan Universitas perancangan alat untuk Tugas Akhir Mercubuana Mulai membuat Skematik Rangkaian dan 5 November 2015 mengumpulkan bahan-bahan untuk Workshop PT. perancangan. COSL Indo Melakukan bimbingan dengan dosen 12 Desember 2015 pembimbing yang berkaitan tentang perancangan Universitas alat yang sudah berjalan Mercubuana Melakukan Pengujian alat rancang bangun 23 Januari 2016 dan memasukan data ke dalam laporan Workshop PT. Tugas Akhir COSL Indo Mempresentasikan alat rancang bangun 6 Febuari 2016 yang sudah selesai di rancang dan Universitas menyerahkan data-data laporan sesuai Mercubana pengujian http://digilib.mercubuana.ac.id/ 41 3.1.2 Bahan Perancangan Perancangan ini membutuhkan beberapa bahan yang akan digunakan. Tabel dibawah ini menunjukkan bahan-bahan yang akan digunakan pada penelitian ini. Tabel 3.2 Bahan Perancangan No. Komponen Jumlah 1 Mikrokontroller Atmega16 1 buah 2 Power Supply 220V to 12V 1 buah 3 IC Regulator LM2596 5V 1 buah 4 Driver Motor L293D 1 buah 5 LCD Display 2x16 1 buah 6 Servo motor (Tower Pro SG-90) 1 buah 7 Modul Keypad 3x4 1 buah 8 Smartphone Android 1 buah 9 Bluetooth HC HC-05 05 1 buah 10 Dinamo Motor DC (+/-) 1 Buah 11 Magnet Reed Switch 3 Pasang 12 Buzzer (Alarm) 1 Buah 13 Lampu LED 1,8V 3 Buah http://digilib.mercubuana.ac.id/ 42 Pengumpulan Alat dan Bahan Untuk menunjang proses penelitian, alat dan bahan dikumpulkan dengan cara membeli di toko elektronik maupun secara online di internet. Bahan dan peralatan yang mudah didapatkan dibeli di Jakarta dan daerah lain di Indonesia baik di toko elektronika maupun secara online di internet. Namun untuk smartphone sebagai transmitter dari alat tersebut, digunakan kepemilikan pribadi. 3.2 Perancangan Alat Pada bagian sub-bab ini perancangan alat mencakup deskripsi alat, cara kerja alat dan diagram blok. 3.2.1 Deksripsi Alat Nama alat : Prototype Smarthome dengan Bluetooth dan Smarthome berbasis Mikrokontroller ATmega16. Fungsi alat ini untuk mempermudah aktifitas manusia untuk mengendalikan sistem penerangan dan keamanan saat berada di rumah. Dengan mempunyai t tphone yang terdapat aplikasi program yang telah di rancang, kita smartphone bisa menyalakan dan mematikan lampu hanya dengan mengendalikan tombol pada smartphone secara otomatis. Tidak hanya itu di setiap rumah rata-rata memiliki sebuah pintu ruangan dan gerbang pembatas, yang biasa kita sebut dengan pintu pagar. Dengan alat ini pun kita bisa mengunci pintu ruangan, membuka dan menutup gerbang secara otomatis. Perangkat ini menggunakan teknologi bluetooth dalam memberikan perintah terhadap sistem minimum tersebut sehingga dapat dilakukan dari jarak jauh agar lebih efisien dalam mengoperasikannya. http://digilib.mercubuana.ac.id/ 43 Secara umum perangkat ini terdiri dari 2 perangkat dasar komunikasi, yaitu perangkat pemancar dari bluetooth smartphone dan perangkat penerima pada bluetooth HC-05. 3.2.2 Cara Kerja Alat Cara kerja dari Prototype Smarthome dengan Teknologi Android dan Bluetooth berbasis Mikrokontroller ATmega16 ini, langkah awal yang dilakukan yaitu memberikan daya 220V terhadap sistem kemudian akan di switching to 5V dimana daya tersebut cukup optimal untuk mengaktifkan mikrontroller Atmega16. Lalu kita menyiapkan smartphone yang sudah terinstall program “b4a” untuk mengendalikan sistem penerangan dan keamanan pada sebuah rumah. Proses pengoperasiannya dengan mengaktifkan bluetooh smartphone dan bluetooth pada prototype, kemudian sinkronisasikan kedua bluetooth tersebut. Setelah kedua bluetooth sudah terhubung, kita sudah bisa mengendalikan prototype. Untuk menyalakan dan mematikan masing-masing lampu, cukup dengan mengaktifkan tombol ON atau OFF pada smartphone. Bluetooth HC-05 akan menerima sinyal perintah yang langsung di terima oleh mikrokontroller sebagai komputer mini yang mengendalikan rangkaian prototype tersebut. Secara otomatis lampu akan di berikan daya sebesar 5V dengan melalui resitor (hambatan) untuk mendapatkan jumlah daya sebesar 1,8V, yang sesuai untuk lampu LED tersebut. http://digilib.mercubuana.ac.id/ 44 Lalu untuk mengunci sebuah pintu pada ruangan, dengan proses awal yang sama, daya 5V akan disalurkan untuk mengaktifkan Micro Servo 99 (tower pro) untuk mengunci slot dan membuka slot pada pintu. Terdapat juga modul keypad 3x4, untuk memasukan kode password yang ditentukan sebagai alternatif untuk membuka slot kunci pada pintu. Dan fungsi yang terakhir adalah untuk membuka dan menutup gerbang. Diawali dengan proses yang sama, otomatis mikrokontroller akan memberikan instruksi ke driver motor L293D terlebih dahulu. L293D akan memberi daya sebesar 100ma dan mengendalikan arus minus dan plus ke motor DC. Instruksi kode (0 = -) dan (1 = +) . Jika mikrokontroller mengoperasikan untuk membuka gerbang, kode akan terlampir 0-1 untuk instruksi motor DC, Sedangkan untuk menutup gerbang, kode akan terlampir 1-0 untuk instruksi ke motor DC. Namun untuk berhenti beroperasi kode akan terlampir 0-0 atau 1-1 1-1. Kemudian sensor reed switch yang sudah terpasang pada setiap ujung pertemuan gerbang, yang bertujuan untuk membatasi bekerjanya dinamo dalam membuka dan menutup gerbang, dengan memberi sinyal ke mikrokontroller. http://digilib.mercubuana.ac.id/ 45 Gambar 3.1 Blok Diagram Sistem Keseluruhan 3.2.3 Spesifikasi Alat Spesifikasi alat yang ada pada alat ini khususnya pada pembahasan rangkaian prototype yang berperan sebagai penerima sinyal bluetooth dan mengoperasikan alat yang dirancang, sesuai dengan perintah dari smartphone sebagai pemancar. Berikut ini pembahasan mengenai me software dan hardware dari protoype ini: Software IDE (Integrated Development Enviroment) adalah sebuah program computer yang memiliki beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak. Spesifikasi dari sofware IDE yaitu; Menggunakan bahasa C atau C++ Software untuk meng-upload program ke mikrokontroler http://digilib.mercubuana.ac.id/ 46 Pemrogaman pada mikrokontroller Atmega16 menggunakan software Code Vision AVR. CV AVR merupakan sebuah software yang digunakan untuk memprogram mikrokontroler yang saat ini telah umum. Mulai dari penggunaan untuk kontrol sederhana sampai kontrol yang cukup kompleks, mikrokontroler dapat berfungsi jika telah diisi sebuah program, pengisian program ini dapat dilakukan menggunakan compiler yang selanjutnya diprogram ke dalam mikrokontroler mi menggunakan fasilitas yang sudah di sediakan oleh program tersebut. Salah satu compiler program yang umum digunakan sekarang ini adalah CodeVision AVR yang menggunakan bahasa pemrograman C. CodeVision AVR mempunyai suatu keunggulan dari compiler lain, yaitu adanya codewizard, fasilitas ini memudahkan kita dalam inisialisasi mikrokontroler yang akan kita gunakan. Aplikasi yang digunakan pada smartphone android yaitu “B4A”. B4A (Basic 4 Android) merupakan sebuah development tool sederhana dan powerful yang digunakan untuk membangun aplikasi android dengan bahasa yang mirip dengan Visual Basic. Pada Basic4Android, aplikasi android (APK) yang di compile adalah aplikasi Android nativ atau asli dan tidak ada ketergantungan dengan file msvbvm60.dll seperti Visual Basic. Dengan kata lain aplikasi B4A yang dicompile bersifat NO http://digilib.mercubuana.ac.id/ 47 Dependencies (tidak tergantung pada file lain). B4A mencakup semua fitur yang dibutuhkan untuk cepat mengembangkan jenis aplikasi Android. B4A digunakan oleh puluhan ribu pengembang dari seluruh dunia, termasuk perusahaan seperti NASA, HP, IBM dan lain-lain. Basic4Android termasuk designer GUI untuk aplikasi Android dengan dukungan Built-in untuk multiple screens dan orientations, dan tidak dibutuhkan lagi penulisan XML yang rumit. Basic4Android memiliki libraries (perpustakaan) yang membuatnya menjadi lebih mudah untuk mengembangkan macam-macam aplikasi advanced. Library advanced Library-nya -nya adalah: SQL databases GPS Serial ports (Bluetooth) Camera XML parsing Web services (HTTP) Services (background tasks) JSON etc Hardware Mikrokontroler ATmega16 http://digilib.mercubuana.ac.id/ Android yang 48 Berfungsi untuk mengendalikan berbagai komponen elektronika. Program yang kita buat dengan bahasa pemrograman di input dari komputer melalui Active Server Pages (ASP) Downloader yang terhubung ke prototype, yang kemudian mikrokontroler akan bekerja sesuai dengan program yang dibuat. Spesifikasi modul mikrokontroler berbasis ATmega16: Memiliki 16K byte Flash Memory Memiliki EEPROM ((Electrically Erasable Programmable Read Only Memory) sebesar 512KB Memiliki SRAM (Static Random Access Memory Memory) sebesar 1KB. Pemograman menggunakan Software Code Vision AVR Pengisian kode program menggunakan ASP Downloader Downloader. Modul bluetooth HC-05 sebagai receiver, berfungsi menerima sinyal kode dari aplikasi program b4a Bridge pada smartphone smartphone. Adapun spesifikasi dari bluetooth HC-05 yaitu m menggunakan V2.0 + EDR (Enchanced Data Rate) 3 Mbps dengan memanfaatkan gelombang radio berfrekuensi 2,4 GHz. Rangkaian voltage regulator (power supply) Rangkaian ini berfungsi sebagai sumber tegangan agar alat dapat bekerja sebesar 5V. http://digilib.mercubuana.ac.id/ 49 3.3 Realisasi Alat Pada sub bab ini akan dibahas mengenai perealisasian alat yang meliputi perancangan rangkaian sampai dengan pembuatan program. 3.3.1 Skematik Rangkaian Untuk mengetahui keterhubungan alat secara keseluruhan ke pin- pin Sistem Minimum, Gambar 3.2 dibawah ini memperlihatkan skematik rangkaian untuk seluruh system pada bagian penerima. Gambar 3.2 Skematik Rangkaian Prototype Smarthome http://digilib.mercubuana.ac.id/ 50 3.3.2 Perancangan Rangkaian Hardware Rangkaian hardware yang digunakan pada alat adalah Sistem minimum ATmega16, Driver Motor L293D, LCD Display, Modul Keypad, dan Micro Servo SG90. Rangkaian prototype ini merupakan rangkaian sistem sederhana yang dapat mengontrol rangkaian lain dengan menggunakan ATmega16 sebagai masukan atau pun keluaran data. Rangkaian pada sistem minimum terdiri dari ATmega ATmega16, IC Regulator LM2596, LED 1,8V, Resistor 220Ω, Resistor 10kΩ, Resistor 8,2kΩ, Resistor 4,7kΩ, Kapasitor 10uF, Kapasitor 330uf, f f, Kapasitor 2200uF, Kapasitor Keramik 22pF, dan Tactile Button Switch. Dari komponen-komponen diatas dibuatlah sistem minimum. minimum ATmega16, yang dapat dilihat pada Gambar 3.3. Gambar 3.3 Rangkaian Sistem Minimum Prototype Smarthome http://digilib.mercubuana.ac.id/ 51 Board sistem minimum berfungsi sebagai pusat dan pengendali dari perangkat-perangkat yang saling terhubung. Dalam perancangan ini, semua perangkat terhubung pada pin-pin board sistem minimum. 3.3.3 Voltage Regulator (Power Supply) Catu daya berfungsi untuk memberikan suplai tegangan, untuk IC mikrokontroler ATmega16, catu daya yang digunakan adalah 5 volt DC. Skema rangkaian catu daya dapat dilihat pada Gambar 3.4. Gambar 3. 3.4 4 Rangkaian Voltage Regulator (Power Supply) Jenis regulator yang digunakan adalah MJE13005 berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 Volt DC. Jenis dioda yang dipergunakan adalah diode silikon 1N4002. Pada rangkaian catu daya, diode berfungsi sebagai penyearah, dimana tegangan AC diubah menjadi tegangan DC. Pada rangkaian catu daya kapasitor berfungsi sebagai filter (penyaring) yaitu untuk menghilangkan sinyal AC agar tegangan http://digilib.mercubuana.ac.id/ 52 keluaran catu daya memiliki sinyal DC. Kapasitor yang digunakan adalah 2200uF. Semakin besar nilai kapasitor maka akan semakin besar daya penyaring kapasitor sehingga dapat mengurangi tegangan ripple. Catu daya mempunyai kemungkinan untuk mengalami perubahan level tegangan setelah dihubungkan kebeban. Jika ini terjadi maka tegangan yang keluar dari catu daya tidak stabil oleh karena itu dibutuhkan IC regulator yang berfungsi untuk menurunkan dan menstabilkan tegangan. IC regulator yang digunakan adalah IC regulator LM2595 karena keluaran catu daya yang dibutuhkan sebesar 5V dan Trimpo Trimpot Variable Resistor yaitu potensiometer yang hanya satu kali saja distel dengan obeng dan selanjutnya tidak dikutik-kutik lagi. Berikut skema rangkaian switching regulator dapat dilihat pada Gambar 3.6. Gambar 3.5 Rangkaian Switching Regulator http://digilib.mercubuana.ac.id/ 53 3.3.4 Konfigurasi Pin Atmega16 Mikrokontroller sebagai pengontrol rangkaian elektronik dan umunya dapat menyimpan program didalamnya. Konfigurasi pin ATmega16 terdapat dalam kemasan 40 pin DIP (Dual Inline Package) yang mempunyai fungsi masing-masing seperti pada gambar 3.4 skematik rangkaian prototype. Berikut dapat dijelaskan fungsi dari masing-masing pin ATmega16 yang di gunakan pada prototype ini: Tabel 3.3 Perancangan pin Input/Output Atmega16 Input/Output Urutan Alokasi / Fungsi Pin PA0 _(ADC0) 40 PA1_ _ (ADC1) 39 PA2 _(ADC2) 38 PA3 _(ADC3) 37 PA4 _(ADC4) 36 PA5 _(ADC5) 35 PA6 _(ADC6) 34 PA7 _(ADC7) 33 Terhubung dengan I/O modul keypad 3x4 http://digilib.mercubuana.ac.id/ 54 PB0 _(XCX/T0) 1 Terhubung dengan pin D7 dari I/O LCD Display PB1 _(T1) 2 Terhubung dengan pin D6 dari I/O LCD Display PB2 3 Terhubung dengan pin D5 dari I/O LCD Display 4 Terhubung dengan pin D4 dari I/O LCD Display PB4 _(SS) 5 Tidak Ada PB5 _(MOSI) (MOSI) 6 Terhubung dengan pin E dari I/O LCD Display PB6 _(MISO) (MISO) 7 Terhubung dengan pin R/W dari I/O LCD Display PB7 _(SCK) 8 Terhubung dengan pin RS dari I/O LCD Display PC0 _(SCL) 22 Terhubung dengan Micro Servo 99 (Tower Pro) PC1 _(SDA) 23 Terhubung dengan Buzzer (Alarm) PC2 _(TCK) 24 PC3 _(TMS) 25 PC4 _(TDO) 26 PC5 _(TDI) 27 PC6 _(TOSC1) 28 PC7 _(TOSC2) 29 _(AIN0/INT2) PB3 _(AINI/OC0) (AINI/OC0) Terhubung dengan rangkaian Reed Swicth Terhubung dengan lampu LED 1,2,3 http://digilib.mercubuana.ac.id/ 55 PD0 _(RX) 14 PD1 _(TX) 15 Mempunyai 2 pilihan tergantung tujuannya, bisa terhubung dengan I/O dari RS 232 atau terhubung dengan I/O dari Bluetooth Connection PD2 _(INT0) 16 Terhubung dengan Tactile Button Gate PD3 _(INT1) 17 Terhubung dengan I/O dari Driver Motor PD4 _(OC1B) 18 Tidak Ada PD5 _(0C1A) 19 PD6 _(ICP _(ICP) ( (ICP ) 20 Terhubung dengan I/O dari Driver Motor PD7 _(OC2) 21 Terhubung dengan Tactile Button Pintu XTAL 1 12 XTAL 2 13 VCC 10 AVCC 30 AREF 32 GND 11&31 11 & 31 Digunakan sebagai analog ground digital 9 Digunakan untuk me-reset mikrokontroller jika terjadi Terhubung ke Osilator IC dari Mikrokontroller Sebagai Input (masukan) daya sebesar 5V yang disalurkan dari Power Supply dan IC regulator Reset error pada saat penggunaan prototype tersebut. http://digilib.mercubuana.ac.id/ 56 3.3.5 Driver Motor L293D Driver motor merupakan suatu rangkaian khusus yang memiliki fungsi untuk mengatur arah ataupun kecepatan pada motor DC. Perlunya rangkaian driver motor ini dikarenakan pada umumnya suatu motor DC membutuhkan arus lebih dari 250mA untuk beberapa IC contohnya NE555, ATmega 16 dan IC seri 74 tidak bisa memberikan arus lebih dari nilai tersebut. Jika motor langsung dihubungkan ke IC, maka hal ini akan menyebabkan kerusakan pada IC tersebut. Bentuk rangkaian driver motor yang umum digunakan yaitu H-Bridge. Berbentuk seperti huruf H yang memiliki perbedaan fungsi di setiap sisinya. Prinsip sederhana dari pergerakan rangkaian driver motor ini adalah sebagai berikut : Gambar 3.6 Prinsip Sederhana Pergerakan Rangkaian Driver motor Motor akan bergerak forward atau searah jarum jam apabila transistor pada sebelah kiri atas dan kanan bawah aktif (high) serta transistor kiri bawah dan kanan atas tidak aktif (low). Pada kondisi ini kutub positif pada motor DC mendapatkan tegangan sumber dan kutub negatifnya terhubung dengan ground sehingga ada perbedaan potensial yang menyebabkan motor http://digilib.mercubuana.ac.id/ 57 berputar. Untuk pergerakan berlawanan jarum jam (reverse) kebalikan dari seluruh kondisi pada keadaan forward. IC L293D merupakan dual H-Bridge Driver yang dapat digunakan maksimal untuk drive 2 buah motor DC. Pada pin IN 1 dan IN 2 untuk logic H-Bridge seperti penjelasan sebelumnya, dan pin ENA sebagai aktivasi PWM untuk pengaturan kecepatan motor DC. Kemampuan arus maksimum pada IC L293D ini sebesar 1A. Berikut skematik rangkaian dari Driver Motor L293D pada prototype yang dirancang ini: Gambar 3.7 Rangkaian Skematik Driver Motor L293D Konfigurasi pin dari skematik Driver Motor L293D seperti diatas, dapat diuraikan untuk pin IN1 dan IN2 terhubung dari pin Atmega16 yaitu PD3 (INT1) dan PD6 (ICP). Pin VCC dan VC jalur masuk daya 5V dari IC regulator, pin OUT1 dan OUT2 untuk menyalurkan tegangan terhadap Dinamo Motor DC. Sedangkan pin GND untuk terhubung dengan Ground pada rangkaian PCB. http://digilib.mercubuana.ac.id/ 58 3.3.6 Bluetooth Connection Terdapat koneksi bluetooth pada rangkaian, dimana bluetooth HC-05 dipasang pada koneksi tersebut. Rangkaian ini menggunakan hambatan 10kΩ untuk mendapatkan daya yang stabil dan sesuai. Karena bluetooth membutuhkan daya 3,3V, sedangkan Mikrokontroller mengeluarkan daya 5V Berikut rangkaian skematik bluetooth connection pada prototype ini: Gambar 3.8 Rangkaian Skematik Bluetooth Connection 3.4 Perancangan Program Pada perancangan program akan dibahas tentang pemprograman modul Mikrokontroller Atmega16 sebagai processor dari prototype. Serta pembuatan program untuk seluruh rangkaian untuk pengoperasian sistem penerangan dan sistem keamanan. Dengan menggunakan Integrated Development Environment (IDE), Mikrokontroller pun di program dengan menggunakan Code Vision AVR. Berikut perancangan program yang terlampir untuk prototype smarthome. http://digilib.mercubuana.ac.id/ 59 a.) Perancangan program utama untuk mikrokontroller Atmega16 //-------------------------------void main(void) { PORTA=0xF0;DDRA=0xF0; PORTC=0xFC;DDRC=0xE1; PORTD=0x00; DDRD=0xFC; TCCR0=0x00; TCNT0=0x00; OCR0=0x00; UCSRA=0x00; UCSRB=0x18; UCSRC=0x86; UBRRH=0x00; UBRRL=0x47; ACSR=0x80; lcd_init(16); PORTD.5=1;DDRD.7=0;PORTD.7=1; DDRC.1=1;PORTC.1=1; kunci(); pass[0]='1';pass[1]='2';pass[2]='3';pass[3]='4'; g=0; g_tutup(); while (1) { if (tombol==0){buka();delay_ms(1000);kunci();} //get data from andrid baca_android(); if (dat[1]=='B' && dat[2]=='P'){buka();kunci();} if (dat[1]=='B' && dat[2]=='G'){g_buka();g=1;} if (dat[1]=='T' && dat[2]=='G'){g_tutup();g=0;} if (dat[1]=='1' && dat[2]=='1'){l1_on;} if (dat[1]=='1' && dat[2]=='0'){l1_off;} if (dat[1]=='2' && dat[2]=='0'){l2_off;} http://digilib.mercubuana.ac.id/ 60 if (dat[1]=='2' && dat[2]=='1'){l2_on;} if (dat[1]=='3' && dat[2]=='0'){l3_off;} if (dat[1]=='3' && dat[2]=='1'){l3_on;} //---------------------lcd_gotoxy(0,0);lcd_putsf("RUMAH PINTAR"); lcd_gotoxy(0,1);lcd_putsf("Pass: "); // pass keypad if (k==0){ dig[0]=0xff;dig[1]=0xff;dig[2]=0xff;dig[3]=0xff; lcd_gotoxy(5,1);a=1; keypad();dig[0]=digit;if(dig[0]>=35 && dig[0] <=57){lcd_putsf("*");delay_ms(100);} if(dig[0]>=35&&dig[0] <=57){a=75;keypad();dig[1]=digit;lcd_putsf("*");delay_ms(100);} if (dig[1]>=35 && dig[1] <=57){a=75;keypad();dig[2]=digit;lcd_putsf("*");delay_ms(100);} if (dig[2]>=35 && dig[2] <=57){a=75;keypad();dig[3]=digit;lcd_putsf("*");delay_ms(100);} if (dig[3]>=35 && dig[3] <=57){a=75;if (pass[0]==dig[0] && pass[1]==dig[1] && pass[2]==dig[2] && pass[3]==dig[3]) {buka();delay_ms(1000);kunci();}} dat[0]=0;dat[1]=0;dat[2]=0;dat[3]=0;dat[4]=0; } if (rs_t==1 && g==0){bz_on;g_tutup();while(1);} //-------------------- }} b.) Pemrogaman mikrokontroller untuk menyalakan lampu 1,2,dan 3 #include <mega16.h> #include <delay.h> #include <alcd.h> // Standard Input/Output functions #include <stdio.h> http://digilib.mercubuana.ac.id/ 61 #define rs_p PINC.2 #define rs_t PINC.3 #define rs_b PINC.4 #define tombol PIND.7 #define l1_on PORTC.5=0 #define l1_off PORTC.5=1 #define l2_on PORTC.6=0 #define l2_off PORTC.6=1 #define l3_on PORTC.7=0 #define l3_off PORTC.7=1 #define bz_on PORTC.1=0 #define bz_off PORTC.1=1 #define sv_on PORTC.0=1 #define sv_off PORTC.0=0 int i,a; unsigned char digit,dig[4],pass[4],dat[5],x,data_rx,k,y,g; c.) Pemrogaman mikrokontroller untuk membuka kunci dan mengunci sebuah pintu void buka() {for (i=0;i<=20;i++){sv_on;delay_us(2100);sv_off;delay_ms(15);} for (i=0;i<=50;i++){delay_ms(100);if (rs_p==1){i=100;}}} void kunci() {while(rs_p==1){bz_on;delay_ms(100);bz_off;delay_ms(100);}delay_ms(1000); for (i=0;i<=20;i++){sv_on;delay_us(1500);sv_off;delay_ms(15);}} // get data from androidg http://digilib.mercubuana.ac.id/ 62 d.) Pemograman mikrokontroller untuk membuka dan menutup gerbang void g_tutup() //garasi tutup{ while (rs_t==1) {PORTD.6=1;} delay_ms(70); PORTD.6=0;} void g_buka() //garasi buka {while (rs_b==1) {PORTD.3=1;} delay_ms(70); PORTD.3=0;} e.) Pemrogaman Keypad Alternatif pembuka kunci pintu void keypad() {digit=0xff; for (i=0;i<=a;i++) {PORTA=0b10111111;delay_ms(5); if (PINA.3==0){digit='#';i=250;delay_ms(100);} if (PINA.2==0){digit='9';i=250;delay_ms(100);} if (PINA.1==0){digit='6';i=250;delay_ms(100);} if (PINA.0==0){digit='3';i=250;delay_ms(100);} while (PINA.3==0 || PINA.2==0 || PINA.1==0 || PINA.0==0 ){bz_on;delay_ms(100);} PORTA=0b11011111;delay_ms(5); if (PINA.3==0){digit='0';i=250;delay_ms(100);} if (PINA.2==0){digit='8';i=250;delay_ms(100);} if (PINA.1==0){digit='5';i=250;delay_ms(100);} if (PINA.0==0){digit='2';i=250;delay_ms(100);} http://digilib.mercubuana.ac.id/