Subrutin Default Subrutin Light Subrutin Dose

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