Fungsi Kerjakan Perancangan Perangkat Lunak

strcpy_Pbuffer, charpgm_read_wordpenyusn_tabel[4]; client.printbuffer; strcpy_Pbuffer, charpgm_read_wordstRelay[statusRelay[i]]; client.printbuffer; strcpy_Pbuffer, charpgm_read_wordpenyusn_tabel[5]; client.printbuffer; } kirim penutup tabel strcpy_Pbuffer, charpgm_read_wordawalakhir_html[6]; client.printbuffer; strcpy_Pbuffer, charpgm_read_wordsemua[0]; client.printbuffer; strcpy_Pbuffer, charpgm_read_wordsemua[1]; client.printbuffer; strcpy_Pbuffer, charpgm_read_wordawalakhir_html[7]; client.printbuffer; break; } if c == \n { memulai baris baru currentLineIsBlank = true; } else if c = \r { terdapat karakter pada baris yang sekarang currentLineIsBlank = false; } } } beri waktu web browser untuk menerima data delay1; tutup koneksi: client.stop; readString=; } }

3.3.5 Fungsi Kerjakan

Pada fungsi kerjakan program akan menset nilai HIGH atau LOW pada pin-pin digital yang terhubung ke pengendali relay berdasarkan variabel cRelay dan cCmd. Pertama-tama program akan mengecek apakah variabe cRelay menunjuk ke semua relay atau tidak. Jika variabel cRelay menunjuk ke semua relay ditandai dengan cRely berisi karakter ‘a’ maka program akan menset seluruh relay pin menjadi HIGH dan menset statusnya menjadi 1 jika isi dari variabel cCmd adalah karakter ‘1’ dan menset seluruh relay pin menjadi LOW dan menset statusnya menjadi 0 jika isi dari variable cCmd adalah karakter ‘0’. Jika isi cRelay bukan karakter ‘a’ maka program mengubah karakter angka yang berada dalam cRelay menjadi bilangan decimal dengan cara mengurangkannya dengan dengan karakter ‘0’ dan menyimpannya di variabel k. Kemudian program akan memberi nilai HIGH dan menset statusnya menjadi 1 jika isi dari variabel cCmd adalah karakter ‘1’ dan member nilai LOW dan menset statusnya menjadi 0 jika isi dari variable cCmd adalah karakter ‘0’ ke relay pin yang ditunjuk oleh variabel k. Setelah itu program akan menyimpan isi cRelay ke LcRelay dan cCmd ke LcCmd. Variabel LcRelay dan LcCmd digunakan untuk mengecek agar tidak terjadi pengulangan perintah di koneksi berikutnya. Kode program untuk fungsi kerjakan adalah sebagai berikut: void kerjakanchar sRelay, char sCmd{ ifsRelay == a{ ifsCmd == 0{ forbyte i =0; i4; i++{ digitalWriterelay[i], LOW; statusRelay[i] = 0; } } ifsCmd == 1{ forbyte i =0; i4; i++{ digitalWriterelay[i], HIGH; statusRelay[i] = 1; } } } else { byte k = sRelay - 0; ifsCmd == 0{ digitalWriterelay[k], LOW; statusRelay[k] = 0; } ifsCmd == 1{ digitalWriterelay[k], HIGH; statusRelay[k] = 1; } } LcRelay = sRelay; LcCmd = sCmd; } 50

BAB IV PENGUJIAN DAN ANALISA

4.1 Metode Pengujian

Di dalam bab ini dilakukan pengujian terhadap rancangan prototipe smart building berbasis arduino uno. Pengujian-pengujian yang dilakukan pada rancangan alat ini bertujuan untuk mengetahui kinerja dan proses kerja dari rangkaian-rangkaian yang diuji serta sistem secara keseluruhan apakah telah bekerja sesuai dengan yang diharapkan atau tidak. Pengujian pada rancangan alat ini akan dilakukan per bagian rancangan sehingga diketahui apakah masing-masing perangkat keras dan perangkat lunak sudah bekerja dengan baik. Pada pengujian di sini peralatan listrik adalah 4 buah lampu yang dihubungkan ke relay dari prototipe yang dirancang.

4.2 Pengujian Rangkaian Pengendali Relay

Pengujian rangkaian pengendali lampu dapat dilakukan dengan memberikan tegangan 5 volt dan 0 volt pada basis transistor 2N2222, yang merupakan transistor jenis NPN. Sesuai dengan persamaan 3.2 relay akan aktif jika arus minimum pada basis transistor 2N2222 adalah 0,6 mA. Pada alat ini relay digunakan untuk menghidupkanmematikan lampu beban, dimana hubungan yang dugunakan adalah normally open NO dengan demikian jika relay tidak aktif maka lampu beban akan mati, sebaliknya jika relay aktif, maka lampu beban akan menyala. Pengujian dilakukan dengan memberikan tegangan 5 volt pada