melakukan pengecekan input suara. Berikutnya Android mengolah data yang didapat dari server Google kemudian mengirimkan perintah ke microcontroller.
Perintah dari Android diolah kembali oleh microcontroller yang kemudian mengaktifkan aktuator untuk menyalakan perangkat elektronik.
3.3.1 Menerima Data dari Android
Dalam melakukan penerimaan data pada microcontroller dibuat perancangan flowchart sebagai berikut :
STIKOM SURABAYA
Start
If usart int == 1
Panggil void terimadata
If data == a
If data == b
If data == c
If data == d
If data == e
If data == i If data == g
If data == f
If data == h
If data == l If data == k
If data == j Lampu 2 on
Pagar off Lampu 1 on
Lampu 3 on
Pintu 1 off Lampu 1 off
Pintu 1 on Lampu 2 off
Pintu 2 on
Pintu 2 off Lampu 3 off
Pagar on
STOP
Gambar 3.8 Flowchart Terima Data Microcontroller
STIKOM SURABAYA
Ketika ada data yang masuk pada buffer serial maka interrupt serial akan aktif dan menjalankan void terima data yang membaca perintah dari user dan
mengaktifkan relay driver yang terhubung dengan perangkat elektronik. Daftar perintah yang dikirim oleh telepon genggam berbasis Android dapat
dilihat pada Tabel 3.4. Tabel 3.4 Daftar Perintah Android
Perintah Aksi
a Mengaktifkan lampu 1
b Mematikan lampu 1
c Mengaktifkan lampu 2
d Mematikan lampu 2
e Mengaktifkan lampu 3
f Mematikan lampu 3
g Membuka kunci pintu 1
h Menutup kunci pintu 1
i Membuka kunci pintu 2
j Menutup kunci pintu 2
k Membuka pagar
l Menutup pagar
interrupt [USART_RXC] void usart_rx_isrvoid {
terimadata; }
void terimadata {
data=getchar;delay_ms1000; ifdata==a{lampu1=1;}
ifdata==b{lampu1=0;} ifdata==c{lampu2=1;}
ifdata==d{lampu2=0;} ifdata==e{lampu3=1;}
ifdata==f{lampu3=0;} ifdata==g{pintu1=1;}
ifdata==h{pintu1=0;} ifdata==i{pintu2=1;}
ifdata==j{pintu2=0;} ifdata==k{pagarbuka;}
ifdata==l{pagartutup;} }
3.3.2 Mengirim Data ke Android
Dalam melakukan pengiriman data ke telepon genggam berbasis Android pada microcontroller dibuat perancangan flowchart sebagai berikut.
STIKOM SURABAYA
Start
If sensorlampu1 = lampua
If sensor pagar = pagar Pintub == 1
Pagar == 1 If sensorlampu2 = lampub
If sensorlampu3 = lampuc
Stop
Lampua = sensorlampu1
Lampub = sensorlampu2
Pintua = sensorpintu 1
Lampuc = sensorlampu 3
Pagar = sensorpagar Pintub =
sensorpintu 2 Lampua == 1
Lampub == 1
Lampuc == 1
Pintua == 1
If sensorpintu2 = pintub If sensorpintu1 = pintua
Ki i ha
Ki i ha
Ki i ha s
Ki i ha Ki i ha o
Ki i ha
Ki i ha Ki i ha p
Ki i ha x Ki i ha u
Ki i ha Ki i ha t
T
T
T
T
T
T Y
Y T
Y Y
T
Y Y
T
Y
Y
Y Y
T
Y T
Y T
Gambar 3.9 Flowchart Kirim Data Microcontroller
STIKOM SURABAYA
Pada proses pengiriman data, microcontroller mendeteksi adanya perubahan kondisi dari sensor. Apabila terjadi perubahan maka microcontroller
akan mengirimkan data ke telepon genggam berbasis android sesuai dengan state masing-masing sensor.
Daftar perintah yang dikirim oleh microcontroller ke Android dapat dilihat pada Tabel 3.5.
Tabel 3.5 Daftar perintah microcontroller Perintah
Kondisi n
Lampu 1 nyala m
Lampu 1 mati o
Lampu 2 nyala p
Lampu 2 mati q
Lampu 3 nyala r
Lampu 3 mati s
Kunci pintu 1 nonaktif t
Kunci pintu 1 aktif u
Kunci pintu 2 nonaktif v
Kunci pintu 2 aktif w
Pagar tertutup x
Pagar terbuka
void kirimdata {
ifsensorlampu1 = lampua {
lampua=sensorlampu1; iflampua{putcharn;}
iflampua{putcharm;} }
ifsensorlampu2=lampub {
lampub=sensorlampu2; iflampub{putcharp;}
iflampub{putcharo;} }
ifsensorlampu3=lampuc {
lampuc=sensorlampu3; iflampuc{putcharr;}
iflampuc{putcharq;} }
ifsensorpintu1=pintua
STIKOM SURABAYA
{ pintua=sensorpintu1;
ifpintua{putchart;} ifpintua{putchars;}
} ifsensorpintu2=pintub
{ pintub=sensorpintu2;
ifpintub{putcharv;} ifpintub{putcharu;}
} ifsensorpagar=pagar
{ pagar=sensorpagar;
ifpagar{putcharx;} ifpagar{putcharw;}
} }
3.3.3 Mengirim Data ke Microcontroller