Dokumentasi Skripsi - Informatika UPN Veteran Jatim
Sistem akuaponik adalah sistem pertanian gabungan antara ikan dengan sayuran yang saling menguntungkan. Di sisi lain, gagal panen juga dapat menjadi kekhawatiran bagi para petani akuaponik karena hal ini dapat terjadi kapan saja. Kegagalan panen dapat dipengaruhi oleh banyak faktor, namun biasanya disebabkan oleh ketidakjelasan pH air yang tinggi di sekitar ruang lingkup budidaya. Para petani akuaponik khawatir jika gagal panen terus berlanjut akan membahayakan ketahanan pangan mereka. Proyek ini dibuat dengan harapan dapat mengatasi masalah pH tersebut. Proyek ini telah dilaksanakan dan memakan waktu kurang lebih 1 tahun. Sistem yang dibuat dapat mengontrol dan memonitoring perubahan pH air setiap saat. Sistem ini berbasis Internet of Things (IoT), dengan menggunakan MQTT sebagai protokol komunikasinya. Sistem ini juga dilengkapi dengan kecerdasan buatan, yang menggunakan IT2FL (Interval Type-2 Fuzzy Logic) sebagai pendukung keputusannya. Selain itu, antarmuka sistem menggunakan Telegram Bot, sehingga memudahkan pengguna untuk berinteraksi.
Bagian | Deskripsi |
---|---|
Papan Pengembangan | DOIT ESP32 DEVKIT V1 |
Papan Pendukung | Arduino Uno R3 |
Editor Kode | Arduino IDE |
Dukungan Aplikasi | • Bot Telegram • Matlab R2020 |
Driver | CP210X USB Driver |
Platform IoT | io-t.net |
Protokol Komunikasi | • Inter Integrated Circuit (I2C) • Message Queuing Telemetry Transport (MQTT) • MTProto |
Arsitektur IoT | 4 Lapisan |
Matlab | Fuzzy Interface System |
Bahasa Pemrograman | C/C++ |
Pustaka Arduino | • WiFi (bawaan) • Wire (bawaan) • PubSubClient • LiquidCrystal_I2C • CTBot • ArduinoJson • RTClib |
Aktuator | • Submersible pump aquarium (x1) • Pneumatic solenoid valve (x2) • Piezoelectric (x1) |
Sensor | • pH Sensor (x1) • RTC (x1) |
Layar | LCD I2C (x1) |
Objek Percobaan | • Benih sawi pakcoy • Benih lele dumbo |
Komponen Lainnya | • Kabel USB Mikro - USB tipe A (x1) • Kabel jumper (1 set) • Switching power supply 12V 1A (x1) • Electrical relay 2 channel (x1) • Saklar bulat (x1) • Papan ekspansi ESP32 (x1) • PCB Dot Matrix (x1) • Terminal PCB block screw (x10) • Socket female jack DC (x1) • Connector male jack DC (x3) • Probe Elektroda pH (x1) • Pipa (1 set) • Netpot (1 set) • Rockwool (1 set) • Kain flanel (1 set) • Saringan air (x1) • Gelas dop (1 set) • Botol (x2) • Tatakan beroda akuarium (x1) • Akuarium (x1) • Kotak casing (x1) • Skun (1 set) • Plat galvanis (x1) • Baut plus (1 set) • Mur (1 set) |
-
Arduino IDE
https://www.arduino.cc/en/software
-
CP210X USB Driver
https://bit.ly/CP210X_USB_Driver
-
Matlab R2020
https://bit.ly/Matlab_R2020a_Installer
Diagram Ilustrasi | Desain Prototipe | Desain Wadah Utama |
---|---|---|
Sistem Antarmuka Fuzzy IT2FL | Variabel Masukan IT2FL | Variabel Keluaran IT2FL |
---|---|---|
#include <Wire.h>
void setup() {
Wire.begin();
Serial.begin(115200);
while (!Serial); // Tunggu monitor serial
Serial.println("\nI2C Scanner");
}
void loop() {
int nDevices = 0;
Serial.println("Scanning...");
for (byte address = 1; address < 127; ++address) {
// i2c_scanner menggunakan nilai balik dari Wire.endTransmission
// Untuk melihat apakah sebuah perangkat memang mengakui alamat tersebut
Wire.beginTransmission(address);
byte error = Wire.endTransmission();
if (error == 0) {
Serial.print("I2C device found at address 0x");
if (address < 16) {
Serial.print("0");
}
Serial.print(address, HEX);
Serial.println(" !");
++nDevices;
} else if (error == 4) {
Serial.print("Unknown error at address 0x");
if (address < 16) {
Serial.print("0");
}
Serial.println(address, HEX);
}
}
if (nDevices == 0) {
Serial.println("No I2C devices found\n");
} else {
Serial.println("done\n");
}
delay(5000); // Tunggu 5 detik untuk pemindaian berikutnya
} |
Sensor pH dapat di kalibrasi dengan menggunakan hasil perhitungan regresi linear. Persamaan regresi linear dapat anda lihat sebagai berikut.
I |
|
Penjelasan dari simbol-simbol yang ada di persamaan I, dapat anda lihat selengkapnya pada tabel berikut.
Simbol | Keterangan |
---|---|
𝑌 | nilai buffer pH |
𝑋 | nilai tegangan yang diperoleh berdasarkan Y |
𝑎 dan 𝑏 | nilai ketetapan regresi linear |
Nilai ketetapan regresi linear (a dan b) dapat diperoleh melalui persamaan II dan III.
II |
|
III |
|
Contoh kalibrasi sensor pH: Klik Disini
Sensor RTC ini dapat di kalibrasi dengan menggunakan kode program berikut :
#include <RTClib.h> // Memanggil pustaka RTC
RTC_DS3231 rtc; // Konstruktor
void setup(){
RTCinit(); // Memanggil metode RTCinit
}
void loop(){}
void RTCinit(){
// Memulai RTC
rtc.begin();
// Pengaturan Tanggal dan Waktu
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
// Atur Waktu Sekarang
// Jika sudah di kalibrasi, silakan tutup dengan komentar
rtc.adjust(DateTime(YYYY,MM,DD,HH,MM,SS));
} |
-
Buka
Arduino IDE
terlebih dahulu, kemudian buka proyek dengan cara klikFile
->Open
:PH_IT2FL.ino
-
Isi
Url Pengelola Papan Tambahan
di Arduino IDEKlik
File
->Preferences
-> masukkanBoards Manager Url
dengan menyalin tautan berikut :https://dl.espressif.com/dl/package_esp32_index.json
-
Pengaturan Board
di Arduino IDECara mengatur board
DOIT ESP32 DEVKIT V1
• Klik
Tools
->Board
->Boards Manager
-> Instalesp32
.• Kemudian klik
Tools
->Board
->ESP32 Arduino
->DOIT ESP32 DEVKIT V1
.• Board
Arduino Uno
yang ada di proyek ini hanya digunakan sebagai filter atau pembagi tegangan.• Anda tidak perlu melakukan konfigurasi pada board
Arduino Uno
, cukup hanya berfokus padaESP32
saja.
-
Ubah Kecepatan Papan
di Arduino IDEKlik
Tools
->Upload Speed
->115200
-
Instal Pustaka
di Arduino IDEUnduh semua file zip pustaka. Kemudian tempelkan di:
C:\Users\Computer_Username\Documents\Arduino\libraries
-
Pengaturan Port
di Arduino IDEKlik
Port
-> Pilih sesuai dengan port perangkat anda(anda dapat melihatnya di Device Manager)
-
Ubah
Nama WiFi
,Kata Sandi WiFi
, dan sebagainya sesuai dengan apa yang anda gunakan saat ini. -
Sebelum mengunggah program, silakan klik:
Verify
. -
Jika tidak ada kesalahan dalam kode program, silakan klik:
Upload
. -
Beberapa hal yang perlu anda lakukan saat menggunakan
board ESP32
:• Informasi
Arduino IDE
:Uploading...
-> segera tekan dan tahan tombolBOOT
.• Informasi
Arduino IDE
:Writing at .... (%)
-> lepaskan tombolBOOT
.• Tunggu sampai muncul pesan:
Done Uploading
->Program langsung dioperasikan
.• Tekan tombol
EN (RST)
laluRestart
untuk menangani boardESP32
yang tidak bisa memprosesSC
.• Jangan tekan tombol
BOOT
danEN
secara bersamaan karena hal ini bisa beralih ke modeUnggah Firmware
.
-
Jika masih ada masalah saat unggah program, maka coba periksa pada bagian
driver
/port
/yang lainnya
.
-
Memulai io-t.net :
• Buka situs resminya di tautan berikut : io-t.net.
• Jika anda belum memiliki akun, silakan Daftar terlebih dahulu -> aktivasi akun melalui email.
• Jika anda sudah memiliki akun, silakan Masuk untuk dapat mengakses layanan io-t.net.
-
Buat node :
• Masuk ke menu
Instance
->Atur Node
.• Lalu berikan nama yang unik pada node yang anda gunakan.
-
Buat device :
• Masuk ke menu
Devices
.• Pilih
Tambah Devices
-> isi bagianClient ID
,Access
,Topic
sesuai dengan kebutuhan. Contohnya :-
Client ID
->Phiotnet_v1
. -
Access
->Publish & Subscribe
. -
Topic
->detect
.
-
-
Buka @BotFather.
-
Ketik
/newbot
. -
Ketik nama bot yang diinginkan, contoh:
phiotnet_bot
. -
Ketik nama pengguna bot yang diinginkan, contoh:
phiotnet_bot
. -
Lakukan juga untuk pengaturan gambar bot, deskripsi bot, dan lain sebagainya menyesuaikan dengan kebutuhan anda.
-
Salin
API token bot telegram anda
-> lalu tempelkan pada bagian#define BOTtoken "YOUR_API_BOT_TOKEN"
.Contohnya yaitu :
#define BOTtoken "2006772150:AAE6Fdjk3KbiySkzV6CLbd6ClJDzgTfJ5y0"
-
Buka
Matlab
. -
Buka kotak dialog
Set Path
menggunakan perintah :pathtool
-
Pilih
Add Folder...
-> cari folderFIS-IT2FLS-Toolbox-MATLAB
->Select Folder
. -
Klik
Save
dan kemudian klikClose
. -
Buka
IT2FL Toolbox
menggunakan perintah :fuzzyt2
-
Selebihnya tinggal anda atur sesuai dengan kebutuhan anda.
-
Unduh dan ekstrak repositori ini.
-
Pastikan anda memiliki komponen elektronik yang diperlukan.
-
Pastikan komponen anda telah dirancang sesuai dengan diagram.
-
Konfigurasikan perangkat anda menurut pengaturan di atas.
-
Selamat menikmati [Selesai].
Via Telegram: @phiotnet_bot
Produk | Sistem Pendukung Keputusan (SPK) IT2FL | Bot Telegram |
---|---|---|
Informasi lebih lanjut:
• Skripsi: Klik Disini |
-
Hardware:
• Arus bocor listrik disebabkan oleh penggunaan PSU yang tidak standar atau kurangnya isolator yang digunakan.
• Kurangnya sirkulasi udara yang ada di main box dapat menyebabkan panas.
• NO (Normally Open) yang diterapkan pada relay mengakibatkan solenoid valve menjadi panas.
• Kurangnya arus listrik mengakibatkan LCD tidak kuat menyala.
• Penggunaan Arduino Uno sebagai filter atau pembagi tegangan itu dinilai tidak efisien.
• Probe sensor pH tidak memiliki proteksi.
-
Firmware:
• Waktu tunda yang ada di setiap method dinilai berlebihan, seharusnya menggunakan fungsi
millis()
agar tidak mengganggu method lainnya.• Penggunaan
io-t.net
dinilai kurang maksimal karena diketahui penggunaannya baru sebataspublish
.• Fitur keamanan yang ada pada bot telegram dirasa belum baik.
-
Lainnya:
• Pengisian galon pH dan pemberian AB Mix itu masih dilakukan secara manual sehingga menyulitkan pengguna.
• Pemberian pakan ikan masih dilakukan secara manual.
• Sawi Pakcoy kurang mendapatkan asupan sinar matahari secara teratur, sehingga setelah pemindahan lahan, perkembangannya tidak secepat sebelumnya.
• Pengurasan dan pengisian air akuarium ini masih menggunakan cara manual, sehingga sangat merepotkan bagi pengguna.
• Antarmuka sistem melalui bot telegram, sehingga pemberian perintah sekaligus upaya pemantauan dapat dilakukan kapan saja dan dimana saja. • Dengan IT2FL, akurasi sensor menjadi lebih akurat. • Sistem ini secara otomatis dapat mengambil keputusannya sendiri dan juga dapat dikendalikan secara manual oleh pengguna. • Sistem ini telah dilengkapi dengan fitur pewaktuan. |
• Perlunya peningkatan arus listrik. Anda dapat menggunakan PSU 3A. • Perlunya mengubah NO (Normally Open) menjadi NC (Normally Close) pada relay agar perangkat yang dialiri listrik itu dapat terhindar dari kerusakan. • Perlunya pembagian tegangan dan arus listrik. Anda dapat menggunakan step down. • Perlunya peningkatan fitur keamanan pada bot telegram. • Perlunya peningkatan keamanan pada sensor pH. • Perlunya penambahan perangkat re-fill galon pH dan AB mix yang dibuat secara otomatis. • Perlunya penambahan perangkat yang dapat melakukan pengukuran suhu air dan amonia. • Perlunya penambahan perangkat dalam pemberian pakan ikan secara otomatis. • Perlunya penambahan perangkat yang dapat memancarkan sinar hangat sebagai pengganti sinar matahari. • Perlunya penambahan perangkat yang dapat melakukan pengurasan dan pengisian air akuarium. • Perlunya penambahan perangkat yang dapat melakukan pendinginan secara optimal pada bagian main box. • Lahan tanam hidroponik yang ada pada penelitian ini mungkin kedepannya perlu dikembangkan lagi. Selain itu, media tanam rockwool dapat diganti dengan media tanam lain yang lebih mencukupi kebutuhan tanaman, misalnya : arang sekam maupun cocopeat. |
Jika karya ini bermanfaat bagi anda, maka dukunglah karya ini sebagai bentuk apresiasi kepada penulis dengan mengklik tombol ⭐Bintang
di bagian atas repositori.
Aplikasi ini merupakan hasil karya saya sendiri dan bukan merupakan hasil plagiat dari penelitian atau karya orang lain, kecuali yang berkaitan dengan layanan pihak ketiga yang meliputi: pustaka, kerangka kerja, dan lain sebagainya.
LISENSI MIT - Hak Cipta © 2022 - Devan C. M. Wijaya, S.Kom
Dengan ini diberikan izin tanpa biaya kepada siapa pun yang mendapatkan salinan perangkat lunak ini dan file dokumentasi terkait perangkat lunak untuk menggunakannya tanpa batasan, termasuk namun tidak terbatas pada hak untuk menggunakan, menyalin, memodifikasi, menggabungkan, mempublikasikan, mendistribusikan, mensublisensikan, dan/atau menjual salinan Perangkat Lunak ini, dan mengizinkan orang yang menerima Perangkat Lunak ini untuk dilengkapi dengan persyaratan berikut:
Pemberitahuan hak cipta di atas dan pemberitahuan izin ini harus menyertai semua salinan atau bagian penting dari Perangkat Lunak.
DALAM HAL APAPUN, PENULIS ATAU PEMEGANG HAK CIPTA DI SINI TETAP MEMILIKI HAK KEPEMILIKAN PENUH. PERANGKAT LUNAK INI DISEDIAKAN SEBAGAIMANA ADANYA, TANPA JAMINAN APAPUN, BAIK TERSURAT MAUPUN TERSIRAT, OLEH KARENA ITU JIKA TERJADI KERUSAKAN, KEHILANGAN, ATAU LAINNYA YANG TIMBUL DARI PENGGUNAAN ATAU URUSAN LAIN DALAM PERANGKAT LUNAK INI, PENULIS ATAU PEMEGANG HAK CIPTA TIDAK BERTANGGUNG JAWAB, KARENA PENGGUNAAN PERANGKAT LUNAK INI TIDAK DIPAKSAKAN SAMA SEKALI, SEHINGGA RISIKO ADALAH MILIK ANDA SENDIRI.