Menerima Data dari Android Mengirim Data ke Android

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