Pengujian Komunikasi RFM12-433S 2 Arah Secara Bergantian

Pengujian kedua dilakukan dengan cara menjalankan program utama dengan pengaturan pengambilan data setiap satu menit, tetapi sistem central unit di non-aktifkan selama 100 menit dan pada menit ke 100 detik ke 30 central unit diaktifkan kembali. Hasilnya data yang mampu tersimpan hanya sampai menit ke 80, pada menit ke 81 alat ini masil belum bisa mengirimkan paket data sehingga paket data tersebut harus tetap disimpan, tapi memori yang disediakan sudah penuh sehingga data terakrir disimpan pada alamat penyimpanan paket data terakhir. Dan pada menit ke 101, central unit sudah diaktifkan kembali sehingga paket data bisa dikirimkan. Pada pengiriman data eeprom ini, dilakukan pengujian ketiga dengan cara ketika pengiriman paket data yang tersimpan dikirimkan, salah satu sistem dinonaktifkan sehingga proses pengiriman berhenti ditengah proses pengiriman dan dinyalakan kembali 10 detik kemudian. Hasilnya, ketika waktu sudah sesuai jadwal kirim alat ini kembali mengirimkan paket data yang belum terkirim ke central unit. Pengujian keempat dilakukan dengan cara menjalankan program utama dengan pengaturan pengambilan data setiap satu menit, tetapi sistem central unit di non-aktifkan selama 100 menit dan pada menit ke 100, detik ke 30 central unit diaktifkan kembali dan pada saat itu alat ini dipilih untuk mode p engiriman manual pada “menu”, sehingga alat ini mengirimkan paket semua paket data yang sudah disimpan selama koneksi masih terhubung ke central unit. Berdasarkan keempat pengujian tersebut sistem sudah bekerja sesuai dengan yang diharapkan karena alat ini mampu menampung paket data selama paket data tidak bisa dikirimkan ke central unit dan akan dikirimkan apabila alat ini bisa terhubung kembali dengan central unit.

4.3. Pembahasan Perangkat Lunak

Program yang dibuat pada perancangan ini terdiri dari beberapa subrutin dan mengacu pada gambar diagram alir pada Bab sebelumnya. Program ini sudah berfungsi seperti yang diharapkan. Berikut merupakan penjelasan lengkap dari program yang dibuat:

4.3.1. Inisialisasi

Inisialisasi dimulai dengan memasukkan library fitur-fitur yang digunakan dalam program, seperti library ATmega128, LCD, I2C, dan seterusnya. Pada inisialisasi LCD, I2C menggunakan fitur Code Wizard AVR yang ada pada software Code Vision AVR, sehingga kode program akan terinisialisasi secara otomatis. Tabel 4.5. Parameter pada memori EEPROM Subsistem Parameter Fungsi Pengiriman Paket frek Berisi pengaturan frekuensi yang digunakan kec Berisi pengaturan baudrate yang digunakan jadwal Berisi pengaturan jadwal pengiriman paket data datasimpan Berisi urutanpenyimpanan paket data hitung Berisi urutan data yang dikirim ingat Berisi paket data yang disimpan Kontrol Sistem Kendali pintumasuk Berisi pengaturan kendali pintu air masuk kolam Pintukeluar Berisi pengaturan kendali pintu air keluar kolam pompaair Berisi pengaturan pompa air kolam Pada bagian ini, program juga akan mengambil variabel – variabel dari memori EEPROM yang dibutuhkan dalam pengendalian masing – masing subsistem. Variabel – variabel yang digunakan untuk menyimpan pengaturan pengguna disimpan dalam struktur data sehingga lebih mudah untuk digunakan dalam program. Tabel 4.5 menunjukkan variabel –variable yang tersimpan di memori EEPROM.

4.3.2. Program Utama

Program utama berisi alur perintah utama, yang berikutnya akan memanggil subrutin – subrutin lainnya. Perintah yang ada pada program utama pertama akan menginisialisasi fitur- fitur yang digunakan. Setelah inisialisasi, program akan memanggil satu per satu subrutin yang ada secara terus menerus. Pada tampilan utama sistem menampilkan jam, tanggal dan status sistem kendali, pengguna juga dapat melihat pengaturan yang sudah diatur pada alat ini seperti ditampilkan pada tabel 4.6 dan tampilan setiap pemilihan tombol ditampilkan pada gambar 4.22 – gambar 4.26. Tabel 4.6. Fungsi Tombol Dalam Program Utama Tombol Fungsi RESET Berfungsi untuk mengulang sistem MENU Berfungsi untuk mengubah pengaturan OK Berfungsi untuk menampilkan frekuensi dan baudrate yang digunakan UP Berfungsi untuk menampilkan waktu pengiriman paket selanjutnya BACK Berfungsi untuk menampilkan waktu kirim dan jadwal kirim paket DOWN Berfungsi untuk menampilkan jumlah paket data yang belum terkirim Gambar 4.22. Tampilan Program Utama Gambar 4.23. Tampilan Ketika Tombol OK Ditekan Gambar 4.24. Tampilan Ketika Tombol UP Ditekan Gambar 4.25. Tampilan Ketika Tombol BACK Ditekan Gambar 4.26. Tampilan Ketika Tombol DOWN Ditekan Pada gambar 4.22 merupakan tampilan utama dari sistem ini yang menampilkan jam, tanggal dan status dari sistem kendali dimana “I” mewakili pintu masuk air, “O” mewakili pintu keluar air dan “P” mewakili pompa air. Nilai 0 berarti tidak aktif atau sama dengan pintu tertutup dan nilai 1 berarti aktif atau sama dengan pintu terbuka. Pada gambar 4.25 merupakan tampilan ketika tombol back ditekan. Pada bagian ini LCD menampilkan pengaturan jadwal pengiriman paket yang digunakan dalam menit dan total merupakan waktu yang sudah dilewati dari pengiriman paket data terakhir.

4.3.3. Subrutin Pengambilan Data Semua Sensor

Subrutin pengambilan data dipanggil ketika waktu sesuai dengan jadwal pengiriman paket data atau pengguna melakukan pengambilan paket data secara manual di dalam subrutin menu. Di dalam subrutin ini sistem akan mengambil semua data sensor secara bergantian dan mengubahnya menjadi paket data kemudian disimpan di dalam EEPROM . Satu paket data disediakan array sebanyak 50 byte.

4.3.4. Subrutin Kendali

Subrutin kendali dipanggil setelah sistem mengambil data dari setiap sensor. Sistem akan membandingkan data yang didapat dari setiap sensor dengan data kualitas air yang baik sesuai dengan tabel 2.12. Apabila data tidak sesuai maka sistem akan menutup pintu air masuk, membuka pintu air keluar dan mengaktifkan pompa air sampai data setiap sensor sesuai dengan kualitas air yang baik. Jika data sensor sesuai dengan kualitas air yang baik, maka sistem akan membuka pintu air masuk, menutup pintu air keluar dan menonaktifkan pompa air.

4.3.5. Subrutin PING

Subrutin ping dilakukan untuk memeriksa sambungan dengan central unit. Subrutin ini dipanggil sebelum mengirimkan paket data ke central unit atau dilakukan secara manual dengan memilih pengaturan di dalam subrutin menu. Pengiriman ping dilakukan dengan cara mengirimkan karakter “p”, apabila central unit menerima karakter tersebut maka central unit akan mengirimkan kembali karakter “y”. Karakter inilah yang akan dicek oleh sistem, apabila setelah mengirimkan karakter “p” tidak ada data masuk maka sistem tidak terhubung dengan central unit, tetapi apabila ada balalas berupa karakter “y” berarti sistem terhubung dengan central unit.

4.3.6. Subrutin Pengiriman Paket Data

Subrutin pengiriman paket data dipanggil ketika waktu sesuai dengan jadwal pengiriman paket data apabila status setelah subrutin ping “terhubung”. Di dalam subrutin ini, sistem mengambil satu paket data di dalam EEPROM mulai dari alamat paket data 0 kemudian dikirmkan ke central unit. Apabila masih ada data yang belum dikirim, sistem mengambil paket data selanjutnya sampai semua paket data terkirim.

4.3.7. Subrutin Menu

Subrutin menu dipanggil apabila pengguna menekan tombol menu. Di dalam subrutin ini setelah tombol menu ditekan pengguna, program akan menampilkan pertanyaan untuk mengubah pengaturan yang ingin dirubah mulai dari pengaturan waktu, pengaturan jadwal kirim paket data, percobaan pengambilan data sensor suhu, sensor asam, sensor kekeruhan, sensor kadar oksigen, pengambilan paket data, pengiriman ping ke central unit, hapus paket data yang tersimpan di EEPROM, pengaturan frekuensi yang digunakan, pengaturan kecepatan transfer paket data, pengiriman paket data yang tersimpan di EEPROM, dan pengaturan sistem kendali. Setelah pertanyaan ditampilkan, apabila pengguna ingin memilih pengaturan tersebut pengguna memilih tombol OK, tetapi jika tidak ingin mengubahnya, pengguna menekan tombol UP untuk mengubah pengaturan lainnya dan untuk keluar dari subrutin ini pengguna tinggal menekan tombol BACK sampai tampilan utama LCD menampilkan waktu dan tanggal utama.