data sehingga lebih mudah untuk digunakan dalam program. Tabel 4.15 menunjukkan variabel – variabel 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 ini akan dilakukan
secara terus menerus. Seperti pada gambar 3.19, program utama pertama – tama akan menginisialisasi fitur – fitur yang digunakan. Setelah inisialisasi, program akan memanggil
satu per satu subrutin yang ada secara terus menerus. Pada program utama, kontroler juga akan menampilkan status pengendalian yang
dilakukan. Beberapa parameter yang ditampilkan kontroler melalui LCD antara lain waktu, suhu, intensitas cahaya, jumlah putaran motor pompa dosing, status relay dan status
buzzer. Parameter intensitas cahaya, jumlah putaran motor pompa dosing, status relay dan status buzzer ditampilkan secara bergantian setiap detiknya. Berikut merupakan tampilan
status alat kontrol:
4.3.3 Subrutin Default
Subrutin default dipanggil apabila pengguna menginginkan semua pengaturan kontroler kembali ke pengaturan awal. Isi pengaturan default dapat dilihat di Tabel 3.1.
4.3.4 Subrutin Light
Subrutin light dipanggil setiap detik dan akan mengontrol PWM yang kemudian digunakan untuk mengatur intensitas cahaya yang dihasilkan high power LED. Simulasi
sunrise dan sunset juga dilakukan dalam subrutin ini. Subrutin light dimulai dengan proses inisialisasi subrutin. Proses inisialisasi
subrutin berfungsi untuk menentukan bilangan gradien kenaikan intensitas cahaya dan gradien penurunan intesitas cahaya. Gradien kenaikan intensitas cahaya akan disimpan di
Gambar 4. 12. Tampilan Program Utama Saat Gambar 4. 13. Tampilan Program Utama Saat
Detik Menunjukkan Angka Ganjil Detik Menunjukkan Angka Genap
konstanta
inclight
. Sedangkan gradient penurunan intensitas cahaya akan disimpan di konstanta
declight
. Dari gambar 3.22 yang menunjukkan diagram alir subrutin light, intensitas cahaya
akan berubah setiap menit. Hal ini menyebabkan perubahan intensitas cahaya sangat terlihat dan masa transisinya tidak halus. Agar masa transisi terlihat menjadi lebih halus,
perubahan intensitas cahaya dilakukan setiap detik.
4.3.5 Subrutin Dose
Subrutin dose dipanggil setiap dua detik sekali. Kontrol penambahan bahan aditif dilakukan dalam subrutin ini. Kontrol yang dilakukan setiap kanalnya sesuai dengan mode
yang dipilih oleh pengguna, dan setiap kanal mungkin mempunyai mode yang berbeda. Dari gambar 3.21 yang menunjukkan diagram alir subrutin dose, putaran motor
yang mengendalikan pompa dosing dihitung dalam subrutin ini. Pada implementasi alat, hal ini menyebabkan proses kontrol terhenti saat pompa dosing aktif, dan kontroler tidak
dapat melakukan proses lainnya. Agar hal ini tidak terjadi, ditambahkan sebuah subrutin baru yang khusus digunakan sebagai penghitung putaran motor yang mengendalikan
pompa dosing. Subrutin ini disebut subrutin
cek_motor
. 4.3.6
Subrutin Cek Motor
Subrutin ini hanya dipanggil ketika terdapat kanal pengendali bahan aditif yang sedang aktif. Ketika terjadi perubahan logika rendah ke logika tinggi pada pin masukan
mikrokontroler, maka variabel yang menyimpan jumlah putaran motor akan bertambah.
4.3.7 Subrutin Temperature