Proses Pemberian Pakan Perancangan Alat Pemberi Makan Ikan Otomatis dan Pemantau Keadaan Akuarium Berbasis Mikrokontroler Atmega8535

dan pengaturan jadwal. Pengaturan waktu dilakukan dengan menekan push button kedua. Setelah pengaturan waktu dilakukan, maka sistem akan menampilkan ke LCD. Sedangkan untuk pengaturan jadwal dilakukan dengan menekan push button ketiga. Di dalam pilihan submenu pengaturan jadwal, terdapat 3 pilihan jadwal pemberian pakan yaitu 1 kali, 2 kali, dan 3 kali dengan waktu yang telah diatur dalam pemrograman. Setelah pengaturan jadwal dilakukan, maka proses selanjutnya adalah dengan memasukkan variabel jadwal tersebut ke dalam EEPROM agar data jadwal yang telah diatur tidak hilang ketika sistem masuk ke dalam mode reset.

4.5 Proses Pemberian Pakan

Proses pemberian pakan dilakukan setelah pengaturan jadwal. Langkah yang pertama kali dilakukan adalah membaca nilai variabel data jadwal yang terdapat dalam EEPROM. Jika waktu real dari RTC yang ditampilkan pada LCD sama dengan variabel data jadwal di EEPROM, maka sistem akan mengaktifkan motor servo selama beberapa saat. Proses pengaktifan motor servo menggunakan TimerCounter 1 yang merupakan modul timer 16 bit. Untuk mendukung waktu tundaan yang bervariasi ini, digunakan Timer1 yang mampu menampung 16 bit 65536. Sedangkan untuk mendukung waktu jeda yang sangat sempit, sumber penabuh clock berasal dari osilator eksternal kristal sebesar 8 Mhz dengan praskala 1:8. Dengan demikian, setiap penambahan 1 pada timer1 akan memiliki jeda sebesar 1 us. Frekuensi motor servo yang berasal dari tegangan AC sebesar 50 Hz sehingga didapatlah waktu 0,02 s atau 20000 us untuk 1 siklus. Universitas Sumatera Utara Dari perhitungan di atas, maka di dapatlah nilai ICR sebesar 10000 atau 2710H yang akan di masukkan ke dalam register Timer1. Untuk memilih mode- mode Timer1 yang digunakan, dapat ditentukan dari falisitas codewizard seperti Gambar 4.3. Gambar 4.3 Konfigurasi Mode Timer1 pada Codewizard Setelah menentukan mode-mode yang ingin digunakan, maka dalam pengaturan perputaran motor servo dalam program digunakanlah register OCR yang merupakan register pembanding yang nilainya nanti akan dibandingkan dengan nilai ICR. Nilai OCR yang dimasukkan sesuai dengan datasheet dari motor servo yang digunakan. Untuk memutar ke arah 0 o motor servo ini memiki lebar pulsa 580 us dan arah 180 o sebesar 2380 us. Dari data ini, maka nilai OCR yang dimasukkan sebesar 290 dan 1190 untuk memutar ke arah 0 o dan 180 o secara bergantian dengan waktu tunda masing-masing 500 ms. Listing program untuk mengatur perputaran motor servo dapat dilihat sebagai berikut: Universitas Sumatera Utara fori=0;i=8;i++ aktifkan servo { OCR1A=290; 0 derjat delay_ms500; OCR1A=1190; 180 derjat delay_ms500; i++; }

4.6 Proses Deteksi Suhu Air