Aplikasi Pakan Otomatis Dan Sistem Kontrol Monitoring PH dan Suhu Pada Ikan Glofish Dengan Metode Fuzzy Mamdani
Pemeliharaan ikan Glofish membutuhkan perhatian khusus terhadap kualitas pakan, tingkat pH, dan suhu air. Kesibukan sehari-hari sering menyebabkan pemelihara lupa memberi makan dan memantau kondisi ikan, yang berakibat pada kesehatan ikan yang buruk. Penelitian ini bertujuan mengembangkan sistem otomatis untuk memudahkan pemeliharaan ikan Glofish, yang meliputi pemberian pakan otomatis, monitoring dan kontrol pH serta suhu air secara real-time, serta fitur pemantauan ikan melalui kamera. Menggunakan Mikrokontroler ESP32, sistem ini memproses data sensor dan mengontrol aktuator. Metode Fuzzy Mamdani digunakan untuk adaptasi kontrol pH.
A. Diagram
Blok
1. Koneksi Internet: Mikrokontroler ESP-32
DevKit terhubung ke internet, memungkinkan komunikasi dua arah antara sistem
lokal dan cloud.2. Sensor pH Air: Sensor pH air digunakan mendeteksi
kadar ph air. Hasil pembacaan dari sensor ini digunakan untuk mentriger pompa
untuk menyemprotkan cairan ph.3. Sensor Suhu: Sensor suhu DS18b20 digunakan
untuk memantau suhu air. Hasil pembacaan dari sensor ini digunakan untuk mentriger
heater.4. Sensor Ultrasonik HCSR04: Sensor
ultrasonik ini berfungsi untuk mendeteksi tingkat ketersediaan pakan ikan. Jika
pakan ikan habis, sistem akan memberikan peringatan dengan menyalakan buzzer.5. Real Time Clock (RTC): RTC digunakan untuk
menyediakan referensi waktu yang akurat dan real time, untuk mengatur jadwal
pemberian pakan secara otomatis.6. IP Camera: IP camera digunakan untuk
memantau kondisi akuarium secara visual. Gambar atau video yang diambil dapat
diakses melalui aplikasi.7. Aplikasi Android: Aplikasi ini berperan
sebagai antarmuka antara pengguna dan sistem secara online.8. Firebase: Firebase digunakan sebagai
database cloud untuk menyimpan dan mengelola data dari sistem, serta
memungkinkan akses real-time antara aplikasi dan mikrokontroler.9. Aktuator dan Indikator:
·
LCD
20x4 I2C: Menampilkan pembacaan data dari masing sensor.
·
Buzzer:
Memberikan bunyi audio “beep” untuk kondisi, habisnya pakan ikan.
·
Motor
Servo: Mengendalikan mekanisme dalam pemberian pakan otomatis.
· Water
Pump: Mengatur penambahan cairan pH up dan pH down untuk menjaga keseimbangan pH air.
·
Heater:
Menjaga suhu air sesuai dengan pembaan sensor suhu.B. Flowchart
Flowchart diatas mengambarkan alur kerja sistem kontrol dan monitoring akuarium
berbasis mikrokontroler. Penjelasan
detail mengenai setiap langkah dalam sistem ini adalah sebagai berikut: 1.
Mulai: Sistem dimulai dengan inisiasi.
2. Inisiasi Input / Output: Mikrokontroler melakukan
inisialisasi input dan output, menyiapkan semua pin dan periferal yang
diperlukan.
3. Pembacaan Sensor Ultrasonik: Mikrokontroler membaca data
dari sensor ultrasonik untuk mendeteksi jarak pakan ikan.
4.
Pengecekan Jarak Pakan:
·
Jika jarak lebih dari 10 cm, ini menandakan pakan ikan
sudah habis.
·
Buzzer ON: Sistem menyalakan buzzer sebagai indikasi
bahwa pakan ikan sudah habis.
5.
Buzzer OFF: sebagai indikasi
bahwa pakan telah diisi penuh.
6. Membaca Waktu RTC: Mikrokontroler membaca data waktu
dari RTC (Real time Clock) untuk mengetahui waktu saat ini.
7.
Pengecekan Waktu:
·
Jika waktu menunjukkan pukul 09.00, sistem akan
memberikan pakan ikan.
·
Servo Membuka
Katup Pakan: Servo menggerakkan katup untuk membuka pakan.
·
Pakan Telah Diberikan: Pakan ikan diberikan.
8.
IP Camera:
·
Mengirimkan Video: IP Camera mengirimkan video kondisi
akuarium untuk pemantauan.
9.
Langkah A: Sistem melanjutkan ke bagian berikutnya
dari flowchart (ditandai dengan "A").
10. Membaca Sensor
Suhu: Mikrokontroler membaca data dari sensor suhu untuk mengetahui suhu air
dalam akuarium.
11. Pengecekan Suhu:
·
jika suhu air kurang dari 20°C, heater akan menyala.
·
Heater Menyala: Sistem menyalakan heater untuk
menaikkan suhu air.
12. Baca Sensor pH:
Mikrokontroler membaca data dari sensor pH untuk mengetahui tingkat keasaman air.
13. Input Fuzzifikasi:
Data
dari sensor pH digunakan sebagai input untuk sistem kontrol Fuzzy.
14. Rule Base: Sistem Fuzzy
menggunakan aturan yang telah ditentukan untuk menentukan tindakan yang tepat
berdasarkan data input.
15. Defuzzifikasi:
Hasil dari system fuzzy dikonversi menjadi tindakan konkret.
16. pH UP dan pH Down:
Berdasarkan hasil defuzzifikasi, sistem mengatur pompa untuk menambah atau
mengurangi pH air (menambah cairan pH UP atau pH Down).
17. Selesai: Proses
selesai dan sistem ke keadaan awal atau memulai siklus baru.
B. Flowchart
1.
Mulai: Sistem dimulai dengan inisiasi.
2. Inisiasi Input / Output: Mikrokontroler melakukan
inisialisasi input dan output, menyiapkan semua pin dan periferal yang
diperlukan.
3. Pembacaan Sensor Ultrasonik: Mikrokontroler membaca data
dari sensor ultrasonik untuk mendeteksi jarak pakan ikan.
4.
Pengecekan Jarak Pakan:
·
Jika jarak lebih dari 10 cm, ini menandakan pakan ikan
sudah habis.
·
Buzzer ON: Sistem menyalakan buzzer sebagai indikasi
bahwa pakan ikan sudah habis.
5.
Buzzer OFF: sebagai indikasi
bahwa pakan telah diisi penuh.
6. Membaca Waktu RTC: Mikrokontroler membaca data waktu
dari RTC (Real time Clock) untuk mengetahui waktu saat ini.
7.
Pengecekan Waktu:
·
Jika waktu menunjukkan pukul 09.00, sistem akan
memberikan pakan ikan.
·
Servo Membuka
Katup Pakan: Servo menggerakkan katup untuk membuka pakan.
·
Pakan Telah Diberikan: Pakan ikan diberikan.
8.
IP Camera:
·
Mengirimkan Video: IP Camera mengirimkan video kondisi
akuarium untuk pemantauan.
9.
Langkah A: Sistem melanjutkan ke bagian berikutnya
dari flowchart (ditandai dengan "A").
10. Membaca Sensor
Suhu: Mikrokontroler membaca data dari sensor suhu untuk mengetahui suhu air
dalam akuarium.
11. Pengecekan Suhu:
·
jika suhu air kurang dari 20°C, heater akan menyala.
·
Heater Menyala: Sistem menyalakan heater untuk
menaikkan suhu air.
12. Baca Sensor pH:
Mikrokontroler membaca data dari sensor pH untuk mengetahui tingkat keasaman air.
13. Input Fuzzifikasi:
Data
dari sensor pH digunakan sebagai input untuk sistem kontrol Fuzzy.
14. Rule Base: Sistem Fuzzy
menggunakan aturan yang telah ditentukan untuk menentukan tindakan yang tepat
berdasarkan data input.
15. Defuzzifikasi:
Hasil dari system fuzzy dikonversi menjadi tindakan konkret.
16. pH UP dan pH Down:
Berdasarkan hasil defuzzifikasi, sistem mengatur pompa untuk menambah atau
mengurangi pH air (menambah cairan pH UP atau pH Down).
17. Selesai: Proses
selesai dan sistem ke keadaan awal atau memulai siklus baru.
C. Perancangan Aturan Metode Logika Fuzzy Mamdani
|
Jenis Variabel |
Nama Variabel |
Himpunan Fuzzy |
Rentang Nilai |
|
|
Kendali pH air |
Input |
pH |
Sangat Asam |
0 - 3 |
|
Asam |
2 - 5 |
|||
|
Netral |
4 - 7 |
|||
|
Basa |
6 - 9 |
|||
|
Sangat Basa |
8 - 14 |
|||
|
Suhu |
Dingin |
0 - 23 |
||
|
Normal |
22 - 26 |
|||
|
Panas |
25 - 35 |
|||
|
Output |
pH Down |
Sedikit |
0 - 5 |
|
|
Sedang |
55 - 105 |
|||
|
Banyak |
100 - 200 |
|||
|
pH Up |
Sedikit |
0 - 55 |
||
|
Sedang |
50 - 105 |
|||
|
Banyak |
100 - 200 |
|
LOGIC |
|
|
1 |
IF
pH
is sangat asam AND suhu is dingin THEN pH up
is Banyak AND pH down
is off |
|
2 |
IF
pH
is sangat asam AND suhu is normal THEN pH up
is Banyak AND pH down
is off |
|
3 |
IF
pH
is sangat asam AND suhu is panas THEN pH up
is Sedang AND pH down
is off |
|
4 |
IF
pH
is asam
AND suhu is dingin THEN pH
up is Sedang AND pH
down is off |
|
5 |
IF
pH
is asam
AND suhu is normal THEN pH up
is Sedang AND pH down
is off |
|
6 |
IF
pH
is asam
AND suhu is panas THEN pH up
is Sedikit AND pH down is
off |
|
7 |
IF
pH
is sangat basa AND suhu is dingin THEN pH
down is Sedang AND pH up
is off |
|
8 |
IF
pH
is sangat basa AND suhu is normal THEN pH down
is Banyak AND pH up
is off |
|
9 |
IF
pH
is sangat basa AND suhu is panas THEN pH down
is Banyak AND pH up
is off |
|
10 |
IF
pH
is netral AND
suhu is dingin THEN pH up
is Sedikit AND pH down
is off |
|
11 |
IF
pH
is netral AND
suhu is normal THEN pH up
is off AND pH down
is off |
|
12 |
IF
pH
is netral AND
suhu is panas THEN pH down
is Sedikit AND pH up
is off |
|
13 |
IF
pH
is basa AND
suhu is dingin THEN pH down
is sedikit AND pH up
is off |
|
14 |
IF
pH
is basa AND
suhu is normal THEN pH down
is sedang AND pH up
is off |
|
15 |
IF
pH
is basa AND
suhu is panas THEN pH down
is sedang AND pH up
is off |
D. Pembuatan Aplikasi
|
|
UI APLIKASI |
GAMBAR |
PENJELASAN |
|
1 |
Tampilan awal ketika aplikasi di buka. |
Splash
screen aplikasi ini menampilkan teks “WELCOME” berwarna putih di atas
latar belakang biru muda, menciptakan suasana yang tenang dan menyegarkan. Dua ikan kuning dengan sirip merah dan pola hitam menghiasi bagian
tengah, menambah daya tarik visual dan mencerminkan tema aquatik. Elemen
dekoratif seperti gelembung, terumbu karang ungu, dan tanaman laut hijau di
bagian bawah memperindah tampilan, menyambut pengguna dengan kehangatan dan
keindahan sebelum mereka masuk ke aplikasi. |
|
|
2 |
Menampilkan menu control sensor ph,
monitoring, history. |
Di
bagian atas, terdapat teks “Menu” berwarna putih yang mudah dibaca. Latar
belakangnya adalah biru muda dengan ilustrasi ikan-ikan yang berenang,
menambah nuansa akuatik. Di tengah, terdapat ilustrasi akuarium
yang berisi ikan-ikan berwarna cerah dan dekorasi kapal karam, memberikan
kesan mendalam dan menarik bagi pengguna. Di bawahnya, ada tiga tombol
utama yang menonjol: 1.
Monitoring – Digambarkan dengan ikon sistem
monitoring akuarium, berfungsi untuk memantau kondisi akuarium. 2.
Kontrol pH – Diwakili oleh ikon alat test pH air dan
tombol On/Off untuk dapat menonaktifkan logika fuzzy pada sensor pH. 3.
History – Dilambangkan dengan ikon dokumen dan jam,
berfungsi untuk melihat riwayat aktivitas atau data yang tersimpan. |
|
|
3 |
Monitoring,
notifikasi. |
Tulisan "Monitoring" jelas
menunjukkan bahwa ini adalah layar monitoring. Ikon di
sebelah kanan menunjukkan gambar alat dan gelombang air, mengindikasikan
pemantauan sistem perairan. Penggunaan warna biru dan putih memberikan
kesan bersih dan profesional. Warna oranye digunakan untuk judul setiap informasi sensor, menyoroti
informasi penting. Setiap informasi sensor disertai dengan ikon yang relevan
dan label yang jelas, memudahkan pengguna untuk memahami data yang
ditampilkan. Font yang digunakan mudah dibaca dan ukuran teks cukup besar
untuk memastikan informasi mudah dilihat. Tata letak informasi
sensor di bawah video memberikan struktur yang teratur dan mudah diikuti. Tampilan notifikasi yang berada dalam kotak merah, ketika
suhu dibawah 20 notifikasi mengirimkan bahwa suhu air mulai mendingin, Ketika
ph nya asam/basa akan mengirimkan notifikasi, begitu juga ketika pakan habis. |
|
|
5 |
History |
|
Bagian atas halaman memiliki header
berwarna biru muda dengan ikon dokumen dan teks "History". Latar
belakang utama halaman berwarna putih, memberikan kontras yang baik untuk
membaca informasi. Setiap entri data ditampilkan dalam kotak
berwarna biru tua, menonjolkan informasi penting. Fitur Penyesuaian Tanggal: Di bagian atas halaman,
terdapat dua kolom input: "Start Time" dan "end Time". Kolom-kolom
ini memungkinkan pengguna untuk memasukkan rentang waktu tertentu. Tombol
"FILTER" di antara kedua kolom tersebut berfungsi untuk menerapkan
filter berdasarkan rentang waktu yang dimasukkan. Fitur ini memungkinkan
pengguna untuk mencari dan menampilkan data historis dalam periode waktu
tertentu. Manfaat Fitur Pencarian: Memudahkan pengguna
untuk menemukan data spesifik dari periode tertentu. Berguna untuk analisis
tren atau pemantauan perubahan kondisi selama interval waktu tertentu. Meningkatkan
efisiensi dalam mengelola dan mengakses data historis. Desain ini
menggabungkan estetika yang menarik dengan fungsionalitas praktis, memudahkan
pengguna untuk menavigasi dan menganalisis data historis dalam aplikasi. |
E. Pembuatan Alat
Komponen terdiri dari
ESP32, sensor pH, sensor suhu ds18b20, buzzer, LCD,
servo, pompa, relay, USB Host 2.0, Dipasang menjadi 1 kesatuan menggunakan
kabel jumper dan diletakkan di dalam box dengan dimensi 24x16x9 cm. LCD
untuk menampilkan hasil pembacan pada alat. Sensor pH dan sensor suhu
akan dicelupkan ke dalam air untuk mendeteksi kondisi air di dalam akuarium.
Jika pH terdeteksi asam, pompa akan menyemprotkan cairan pH up. Aktivasi relay
1 berfungsi sebagai saklar yang mengalirkan tegangan ke pompa, sehingga pompa
dapat bekerja. Sebaliknya, jika pH terdeteksi basa, pompa akan menyemprotkan
cairan pH down, dengan relay 2 sebagai saklar yang mengalirkan tegangan ke
pompa. Durasi penyemprotan cairan pH dikendalikan oleh logika fuzzy Mamdani,
yang menentukan berapa lama cairan tersebut disemprotkan berdasarkan kondisi pH
yang terdeteksi, Penggunaan fuzzy dalam alat ini diterapkan pada ph nya, agar dapat
menuangkan cairan sesuai dengan kondisi ph yang dihadapi berdasarkan kategori
kategori yang telah di susun sebelumnya. Tidak seperti ketika "berbasis
IOT" yang masih memiliki kemungkinan yang tidak sesuai seperti misalnya ph
asam namun yang dituangkan bisa saja terlalu banyak alih alih menetral ini
malah menyebabkan kebasaan. Dengan adanya fuzzy memungkinkan untuk transisi
yang jauh lebih halus dalam penuangan cairan ph tersebut.
Sensor ultrasonik ditempatkan di atas botol
untuk mengukur ketersediaan pakan di dalam botol berdasarkan jarak. Ketika
memasuki waktu pemberian pakan, yaitu pukul 09.00 yang ditentukan oleh RTC
(Real Time Clock), servo akan berfungsi sebagai mekanisme pemberian pakan.
Selama 1 menit, servo akan terus bergerak maju dari 0 derajat ke 45 derajat,
berhenti selama 1 detik, lalu mundur kembali dari 45 derajat ke 0 derajat,
berhenti selama 1 detik lagi, dan mengulangi siklus ini untuk mengoperasikan
pakan otomatis hanya pada waktu yang telah ditentukan. Ketika pakan lebih dari
10 buzzer akan berbunyi beep pertanda pakan habis.
Stopkontak yang sudah dihubungkan dengan relay
3 digunakan untuk menghubungkan heater. Ketika sensor suhu mendeteksi bahwa
suhu air perlu dinaikkan, relay 3 akan mengalirkan tegangan ke stopkontak,
sehingga heater dapat menyala dan menaikkan suhu air. Ketika suhu mencapai
nilai yang diinginkan, relay akan memutus aliran tegangan, sehingga heater
mati.
Relay 4 fitur on/off pada aplikasi digunakan untuk
menonaktifkan sistem yang dikendalikan oleh logika fuzzy. Ketika fitur ini
diaktifkan, durasi relay yang diatur oleh logika fuzzy tidak akan berfungsi,
namun sensor lainnya tetap akan bekerja. Ini memungkinkan pengguna untuk
menonaktifkan kontrol fuzzy jika tidak ingin menggunakannya, sementara sistem
tetap dapat memantau dan membaca data dari sensor lainnya.
USB Host digunakan untuk menghubungkan kabel Type-C dari IP cam
agar terhubung dengan mikrokontroler pada alat, memungkinkan kamera untuk
terhubung dengan aplikasi yang telah dibuat. Untuk dapat tampil video di
aplikasi yang penulis buat yang pertama harus mendapatkan URL real-time
streaming protocol (RTSP). Dalam aplikasi yang dibuat menggunakan library VLC
(Video LAN Client media player), URL tersebut dimasukkan ke dalam codingan
aplikasi Android Studio. Namun, kamera yang saya gunakan ternyata tidak mendukung
RTSP (ada kamera yang mendukung, tetapi harganya mahal), sehingga hanya dapat
dipantau melalui aplikasi bawaan kamera itu sendiri. Meskipun demikian, kamera
IP CAM penulis dapat terhubung melalui USB HOST.
Stepdown digunakan untuk menyediakan tegangan ke kamera melalui USB
mini host. Tegangan input (V in) dari USB mini host berasal dari adaptor pompa
yang menurunkan tegangan dari 12 volt menjadi 5 volt untuk memenuhi kebutuhan
daya kamera.
Sensor ultrasonik ditempatkan di atas botol
untuk mengukur ketersediaan pakan di dalam botol berdasarkan jarak. Ketika
memasuki waktu pemberian pakan, yaitu pukul 09.00 yang ditentukan oleh RTC
(Real Time Clock), servo akan berfungsi sebagai mekanisme pemberian pakan.
Selama 1 menit, servo akan terus bergerak maju dari 0 derajat ke 45 derajat,
berhenti selama 1 detik, lalu mundur kembali dari 45 derajat ke 0 derajat,
berhenti selama 1 detik lagi, dan mengulangi siklus ini untuk mengoperasikan
pakan otomatis hanya pada waktu yang telah ditentukan. Ketika pakan lebih dari
10 buzzer akan berbunyi beep pertanda pakan habis.
Stopkontak yang sudah dihubungkan dengan relay 3 digunakan untuk menghubungkan heater. Ketika sensor suhu mendeteksi bahwa suhu air perlu dinaikkan, relay 3 akan mengalirkan tegangan ke stopkontak, sehingga heater dapat menyala dan menaikkan suhu air. Ketika suhu mencapai nilai yang diinginkan, relay akan memutus aliran tegangan, sehingga heater mati.
Relay 4 fitur on/off pada aplikasi digunakan untuk
menonaktifkan sistem yang dikendalikan oleh logika fuzzy. Ketika fitur ini
diaktifkan, durasi relay yang diatur oleh logika fuzzy tidak akan berfungsi,
namun sensor lainnya tetap akan bekerja. Ini memungkinkan pengguna untuk
menonaktifkan kontrol fuzzy jika tidak ingin menggunakannya, sementara sistem
tetap dapat memantau dan membaca data dari sensor lainnya.
USB Host digunakan untuk menghubungkan kabel Type-C dari IP cam
agar terhubung dengan mikrokontroler pada alat, memungkinkan kamera untuk
terhubung dengan aplikasi yang telah dibuat. Untuk dapat tampil video di
aplikasi yang penulis buat yang pertama harus mendapatkan URL real-time
streaming protocol (RTSP). Dalam aplikasi yang dibuat menggunakan library VLC
(Video LAN Client media player), URL tersebut dimasukkan ke dalam codingan
aplikasi Android Studio. Namun, kamera yang saya gunakan ternyata tidak mendukung
RTSP (ada kamera yang mendukung, tetapi harganya mahal), sehingga hanya dapat
dipantau melalui aplikasi bawaan kamera itu sendiri. Meskipun demikian, kamera
IP CAM penulis dapat terhubung melalui USB HOST.
Stepdown digunakan untuk menyediakan tegangan ke kamera melalui USB
mini host. Tegangan input (V in) dari USB mini host berasal dari adaptor pompa
yang menurunkan tegangan dari 12 volt menjadi 5 volt untuk memenuhi kebutuhan
daya kamera.
Komentar