• Tidak ada hasil yang ditemukan

BAB IV HASIL DAN PEMBAHASAN

4.2. Pembuatan Software

Pada tahap, proses ini terdiri dari dua bagian utama, yakni penerapan perangkat lunak di platform Arduino dan pembuatan web interface.

1. Arduino IDE

Memasukan, memverifikasi, dan mengirimkan perintah ke Mikrocontroller NodeMcu Esp32 melalui kodingan yang dibuat melalui software IDE Arduino berbahasa pemrograman C.. Gambar pemrograman Arduino IDE dapat dilihat pada gambar 4.5.

Gambar 4. 5 Tampilan kodingan Arduino.

Tampilan kodingan pada gambar 4.6 merupakan tahap awal program, atau insialiasi, dan pendeklarasian jenis piranti elektronik, seperti sensor, juga dimasukkan ke dalam deklarasi library NodeMcu ESP32. Selanjutnya, variable yang diperlukan dideklarasikan. Tujuan library adalah untuk membuat komponen bekerja sesuai dengan fungsinya. Misalnya, mereka ingin mendefinisikan variable fix untuk masing-masing sensor ultrasonik, buzzer, dan sensor pH NodeMCU ESP32.

Gambar 4. 6 Kodingan tahapan awal.

Tampilan kodingan pada gambar 4.7 adalah kodingan untuk mengkonfigurasi kode untuk membaca data dari sensor pH, menghitung rata-rata nilai pH dari beberapa sampel, mengkalibrasi nilai-nilai tersebut, dan menyimpan hasilnya dalam variabel pH setelah semua proses selesai.

Gambar 4. 7 Konfigurasi Sensor pH.

Tampilan kodingan pada gambar 4.8 adalah kodingan yang berfungsi untuk menghidupkan dan mengatur sensor ultrasonik sehingga dapat berkomunikasi dengan mikrokontroler. Setelah pengaturan selesai dapat menggunakan objek ultrasonic untuk mengukur ketinggian air atau jarak ke objek di depan sensor. Hasil pengukuran kemudian dapat disimpan dalam variabel ketinggian_air untuk digunakan dalam program selanjutnya.

Gambar 4. 8 Konfigurasi Sensor Ultrasonik.

Tampilan kodingan pada gambar 4.9 adalah kodingan yang menghubungkan data Arduino ke server web, yang dapat digunakan untuk memantau atau mengendalikan sistem akuaponik secara online. HTTPClient adalah deklarasi objek HTTPClient yang digunakan untuk mengelola komunikasi HTTP. Ini memungkinkan Arduino untuk mengirim dan menerima data dari server melalui protokol HTTP. Selain itu, variabel String alamat_kirim menyimpan URL server tempat data akan dikirimkan, yang dalam hal ini adalah

"https://iotprojects.my.id/akuaponik/backend/post_data.php."

Gambar 4. 9 Konfigurasi Alamat Web.

Tampilan kodingan pada gambar 4.10 adalah kodingan untuk mengarahkan perangkat secara otomatis mencoba untuk terhubung ke jaringan Wi-Fi yang telah ditentukan, seperti "Akuaponik IoT" dengan kata sandi

"akuaponik". Ketika koneksi berhasil, akan muncul pesan "WiFi Terhubung!" di serial monitor, dan buzzer akan aktif beberapa kali. Namun, jika perangkat tidak dapat terhubung ke jaringan Wi-Fi, mungkin karena kesalahan dalam kata sandi atau ketidaktersediaan jaringan, maka perangkat akan me-restart. Fungsi ini berguna ketika koneksi Wi-Fi menjadi krusial dalam operasi perangkat, sehingga jika terjadi gangguan koneksi, perangkat akan mencoba kembali atau mengambil langkah pemulihan yang sesuai. Dengan WiFiManager, proses konfigurasi

jaringan Wi-Fi dapat dilakukan tanpa perlu menuliskan secara manual nama jaringan dan kata sandi dalam kode, serta memberikan kontrol yang lebih baik dalam mengelola koneksi Wi-Fi tergantung pada hasilnya.

Gambar 4. 10 Konfigurasi WiFi.

Tampilan kodingan pada gambar 4.11 adalah kodingan Implementasi dari sebuah fungsi yang berjalan dalam sebuah tugas (task) berulang kali. Tugas ini bertujuan untuk mengendalikan berbagai aspek dalam sistem yang berhubungan dengan tingkat pH air.

Di dalam loop utama tugas ini, terdapat dua pemanggilan fungsi. Pertama, sensor_ph() digunakan untuk membaca nilai dari sensor pH, dan kedua, sensor_ultrasonik() digunakan untuk membaca data dari sensor ultrasonik yang mengukur jarak dalam sentimeter.

Setelah pembacaan sensor, terdapat serangkaian pernyataan kondisional if yang digunakan untuk mengendalikan perangkat berdasarkan nilai pH yang terukur. Misalnya, jika nilai pH berada dalam kisaran antara 6.5 hingga 7.5, maka kedua pompa (pompa atas dan pompa bawah) akan dihidupkan (HIGH) dan status pH akan diatur sebagai "Good". Selain itu, kedua pompa akan dimatikan (OFF).

Namun, jika nilai pH kurang dari 6.5, maka pompa atas akan dihidupkan dan pompa bawah dimatikan, dengan status pH disetel sebagai "Low". Sebaliknya, jika pH lebih dari 7.5, maka pompa atas dimatikan dan pompa bawah dihidupkan, dengan status pH disetel sebagai "High".

Terakhir, di akhir loop, terdapat pernyataan vTaskDelay(pdMS_TO_TICKS(10)); yang mengatur jeda selama 10 milidetik sebelum tugas dijalankan kembali. Jeda ini mungkin digunakan untuk mengatur frekuensi pembacaan sensor dan pengambilan keputusan dalam tugas ini.

Keseluruhan, kode ini memungkinkan sistem untuk merespons nilai pH air dengan mengontrol pompa-pompa sesuai kebutuhan, menjaga tingkat pH dalam kisaran yang diinginkan

.

Gambar 4. 11 Fungsi Proses.

Tampilan kodingan pada gambar 4.12 adalah implementasi dari sebuah fungsi yang berjalan dalam tugas (task) terpisah. Tugas ini bertujuan untuk mengirim data ke server secara berkala. Di dalam loop utama tugas ini, terdapat

pemanggilan fungsi mengirim_data(), yang bertanggung jawab untuk mengirim data ke server, mungkin termasuk pengukuran pH dan data sensor lainnya.

Setelah pengiriman data, terdapat pernyataan

vTaskDelay(pdMS_TO_TICKS(300)); yang mengatur jeda selama 300 milidetik sebelum tugas dijalankan kembali. Jeda ini digunakan untuk mengatur frekuensi pengiriman data ke server, sehingga tidak ada pengiriman yang terlalu sering.

Kode ini memungkinkan sistem untuk secara berkala mengirim data ke server, sehingga informasi terkini dari sensor-sensor yang terhubung dapat diakses dan dianalisis di sisi server, sesuai dengan kebutuhan aplikasi atau sistem yang digunakan.

Gambar 4. 12 Fungsi Kirim.

2. Web Interface

Pada tahap ini adalah proses pembuatan tampilan web yang dibuat khusus untuk memantau perangkat yang mengatur pH dan tinggi air melalui tahapan- tahapn berikut :

a. Menentukan informasi yang akan ditampilkan pada tampilan web.

b. Membuat desain antarmuka web, termasuk tata letak elemen-elemen.

c. Elemen pertama yaitu grafik yang akan menampilkan grafik disesuaikan berdasarkan waktu dan nilai pH.

d. Elemen kedua berwarna biru dibuat untuk menampilkan beberapa tampilan yaitu, tampilan hasil monitoring ketinggian air, tapilan status

pH, Tampilan waktu dan tanggal secara real-time selama alat dalam keadaan menyala.

e. Elemen ketiga berwarna pink dibuat untuk menampikan status kapan terakhir nilai pada pH tidak stabil.

f. Elemen keempat berwarna hijau muda dibuat untuk menampikan status pH. Dimana, jika status pada pH low maka tampilan pada pH Up akan dalam keadaan ON dan jika status pada pH High maka tampilan pada pH Down akan dalam keadaan ON, dan jika pH dalam keadaan stabil maka keduanya akan keadaan OFF.

g. Elemen kelima berwarna kuning dibuat untuk menampilkan Satistik pH yang diatur dalam rentan 3 jam sekali.

h. Pada elemen lain juga dibuat reset data untuk memulai ulang semua data tampilan pada web interface.

i. Elemen Download data dibuat untuk dapat mengunduh data yang sudah dihasilkan saat memantau.

Setelah melalui semua langkah yang telah dijelaskan, langkah selanjutnya adalah menerapkan apa yang telah dibuat ke dalam alat atau sistem sehingga hasil akhirnya akan mirip dengan yang ditunjukkan dalam gambar 4.13.

Gambar 4. 13 Tampilan Web

Dokumen terkait