bab iii perancangan alat - Perpustakaan Universitas Mercu Buana

advertisement
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/
Download