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 Bot Telegram, 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 | 3 Lapisan |
Matlab | Fuzzy Interface System |
Bahasa Pemrograman | C/C++ |
Pustaka Arduino | • WiFi (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) • Dop kaca (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
Infrastruktur |
---|
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 |
-
Perbaikan Hardware :
1. Gunakan PSU standar dengan kapasitas 3A untuk menyuplai seluruh perangkat yang terpasang. 2. Tambahkan Step Down Converter untuk mendapatkan tegangan yang lebih stabil dan sesuai dengan kebutuhan perangkat. Dengan adanya komponen ini, maka tidak membutuhkan Arduino Uno. 3. Tambahkan isolator pada komponen listrik untuk mencegah arus bocor. 4. Pasang kipas pendingin atau ventilasi tambahan untuk meningkatkan aliran udara dan mencegah panas berlebih. 5. Tambahkan Heat Sink pada komponen yang rentan panas. 6. Ganti pengaturan Relay dari NO (Normally Open) menjadi NC (Normally Close) untuk mengurangi panas berlebih di Solenoid Valve. 7. Gunakan pelindung fisik seperti casing khusus untuk melindungi Probe Sensor pH dari kerusakan, terutama akibat benturan. -
Perbaikan Firmware :
1. Optimalkan algoritma untuk mengurangi latensi pada proses pengambilan keputusan. Disarankan menggunakan RTOS (Real-Time Operating System) agar dapat mengatur lebih baik prioritas fungsi yang ada. 2. Tambahkan metode OTA (Over The Air) untuk meningkatkan keamanan jaringan, termasuk Bot Telegram. -
Fitur Otomatisasi Tambahan Yang Disarankan :
1. Pompa otomatis yang diintegrasikan dengan sensor level untuk mengontrol pengisian cairan berupa pH dan AB Mix. 2. Pemberian pakan otomatis berbasis waktu untuk memberikan pakan secara terjadwal. 3. Pompa otomatis yang dikendalikan melalui bot telegram untuk mempermudah proses pengurasan dan pengisian air. 4. Pemantauan kualitas air pada kolam atau akuarium menggunakan perpaduan antara sensor pH, suhu air, dan amonia. 5. Penyinaran tanaman dengan lampu pertumbuhan untuk menumbuhkan tanaman secara optimal meski dalam kondisi yang minim cahaya (sebagai pengganti sinar matahari). -
Optimalisasi Media dan Infrastruktur :
1. Tingkatkan jumlah modul hidroponik agar mampu menampung lebih banyak tanaman. 2. Eksplorasi media tanam alternatif seperti arang sekam atau cocopeat untuk meningkatkan efisiensi pertumbuhan tanaman.
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.