# Monchila (Monitoring and Controlling Chilli Plants)
## Nama Kelompok
* Ribhi Gusti Zio (1103213026)
* Miftah Farid Maulana (1103210066)
* Kivlan Hakeem Arrouf (1103213073)
* Raditya Ghifari Al Jabbar (1103213092)
* Fahreza Ardiansyah (1103213170)
* Daffa Muhammad Irfan (1103213051)
## Daftar Isi
> [TOC]
> **[Tujuan]**
> Tujuan proyek ini adalah untuk memenuhi tugas besar kelas Sistem Kendali Mekanika Universitas Telkom semester genap 2024.
## Pendahuluan
Di era digital ini, teknologi telah menjadi bagian integral dari kehidupan sehari-hari. Salah satu inovasi terkini yang memiliki potensi besar adalah Internet of Things (IoT), yang memungkinkan perangkat untuk terhubung dan berkomunikasi satu sama lain secara cerdas.
Proyek Monchila dilatarbelakangi oleh kesulitan budidaya cabai akibat faktor cuaca. Cabai merupakan sayuran penting. Oleh karena itu, proyek ini bertujuan untuk meningkatkan efisiensi dan keberlanjutan budidaya cabai melalui pemanfaatan teknologi.
Monchila adalah alat monitoring berbasis IoT yang dirancang khusus untuk memantau kondisi tanaman cabai secara real-time. Alat ini memiliki tiga keunggulan utama:
1. Meningkatkan efisiensi penggunaan air: Monchila membantu petani mengoptimalkan penyiraman cabai, sehingga menghemat air dan meminimalisir pemborosan.
2. Mengurangi dampak lingkungan: Dengan penggunaan air yang lebih efisien, Monchila membantu mengurangi pencemaran air dan melestarikan lingkungan.
3. Memanfaatkan teknologi IoT dan tren smart farming: Monchila terintegrasi dengan aplikasi mobile, memungkinkan petani untuk mengontrol dan memantau tanaman cabai dari jarak jauh.
Target utama alat ini adalah petani cabai, khususnya petani skala kecil yang membutuhkan solusi praktis dan terjangkau untuk meningkatkan hasil panen mereka.
Proyek Monchila diprakarsai oleh Tim Arduino D dengan semangat untuk mengatasi tantangan budidaya cabai dan mewujudkan pertanian yang lebih maju.
Monchila merupakan solusi inovatif yang berpotensi merevolusi budidaya cabai di Indonesia. Alat ini diharapkan dapat membantu petani meningkatkan pendapatan, melestarikan lingkungan, dan memajukan sektor pertanian secara keseluruhan.
## Tujuan
Tujuan dari pembuatan alat Monchila ini adalah membantu petani, khususnya petani cabai yang memerlukan monitoring dan kontroling secara otomatis.
**Gambar Sistem**

**Bahan yang digunakan :**
**1. ESP32 wroom**
* kami menggunakan ESP32 sebagai Microcontroller. Microcontroller ESP32 adalah salah satu jenis Microcontroller yang sangat populer dikalangan pengembang IoT (Internet of Things) dan Embedded Systems. ESP32 yang dikembangkan oleh Espressif Systems menawarkan berbagai fitur canggih dan fleksibilitas tinggi dalam mengembangkan berbagai aplikasi.
**2. Sensor DHT 22**
* DHT22 adalah sensor digital yang mengukur suhu dan kelembaban udara. Dibandingkan dengan sensor analog, DHT22 lebih mudah digunakan karena output yang dihasilkan berupa sinyal digital sehingga tidak memerlukan pembacaan nilai lewat analog-to-digital converter (ADC).
**3. Sensor Soil**
* Sensor Soil / tanah merupakan sensor yang digunakan untuk membaca kelembaban tanah dengan metode kapasitif resistance. sensor ini belum digital, maka dari itu perlu analog-to-digital converter (ADC).
**4. Bread Board**
* Sebagai tempat untuk merakit atau membangun prototipe rangkaian elektronik.
* Komponen - komponen seperti resistor, LED, dan DHT Sensor.
**5. Kabel Jumper**
* Kabel berdiameter kecil yang digunakan untuk menghubungkan dua titik atau lebih serta dapat menghubungkan 2 komponen elektronika.
* Menyambungkan arus listrik sementara atau permanen antara komponen - komponen pada papan sirkuit.
**6. Power Supply**
* Power supply sebagai catu daya daripada alat dan pompa dc.
**Laporan pengeluaran biaya: :**
<div style="text-align:center;">
| No | Nama Barang | Jumlah Barang | Harga |
| --- | -------------------------- | ------------- | ------- |
| 1 | ESP32 | 1 Pcs | 74.000 |
| 2 | Sensor DHT 22 | 1 Pcs | 22.500 |
| 3 | Adaptor | 1 Pcs | 60.000 |
| 4 | Relay Optocoupler | 1 Pcs | 12.500 |
| 5 | Modul Step Down 12 to 5vdc | 1 Pcs | 7.000 |
| 6 | Pompa 12 VDC | 1 Pcs | 144.000 |
| 7 | Soil Moisture | 1 Pcs | 6.500 |
| 8 | Kabel | 25 Pcs | 25.000 |
| 9 | Heatshrink | 3 Pcs | 5.000 |
| 10 | LED | 6 Pcs | 2.500 |
| 11 | Black Box | 1 Pcs | 29.400 |
| 12 | Selang Air | 10 Pcs | 57.500 |
| 13 | Sprinkler Kit | 1 Pcs | 45.000 |
| 14 | Resistor | 6 Pcs | 2.500 |
| 15 | Cable Gland | 1 Pcs | 1.700 |
| | Total | 60 Pcs | 495.100 |
</div>
## Cara Kerja
Sensor suhu, kelembaban udara, dan tanah mengumpulkan data penting, yang kemudian disimpan di platform cloud untuk akses dan pemantauan 24/7. Sistem kontrol otomatis memicu sprinkler secara otomatis untuk menjaga kelembaban tanah ideal, menghemat air dan meminimalisir pemborosan. Pengguna juga dapat mengontrol sprinkler secara manual melalui aplikasi Android, memberikan fleksibilitas dan kendali penuh atas budidaya cabai mereka.
```
#define BLYNK_TEMPLATE_ID "TMPL6yRd6y6q" // Template ID Blynk
#define BLYNK_TEMPLATE_NAME "monchila " // Nama Template Blynk
#define BLYNK_AUTH_TOKEN "EOrM69cLSZoJw7VIJ_S08QGGLdCMgSAB" //Token Template Blynk
#include "DHT.h" // include library
#include <WiFi.h> // include library
#include <BlynkSimpleEsp32.h> // include library
char auth[] = "EOrM69cLSZoJw7VIJ_S08QGGLdCMgSAB"; //Token Template Blynk
char ssid[] = "my Speedy"; // SSID Wifi
char pass[] = "zte12639"; // Pass Wifi
#define DHTPIN 4 // PIN DHT
#define RedLed 15 // PIN LED Merah
#define Red2Led 19 // PIN LED Relay On
#define YellowLed 2 // PIN LED Kuning
#define GreenLed 5 // PIN LED Hijau
#define SoilPin 34 // PIN SENSOR TANAH
#define relay 18 // PIN RELAY
#define DHTTYPE DHT22 // Tipe DHT22
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
bool kontrolManual = false; // flag untuk mode kontrol manual
bool relayStatus = false; // status relay
// Fungsi ini akan dipanggil saat tombol di Blynk ditekan
BLYNK_WRITE(V3) {
relayStatus = param.asInt();
kontrolManual = relayStatus;
digitalWrite(relay, relayStatus ? LOW : HIGH);
}
void setup() {
Serial.begin(115200);
pinMode(relay, OUTPUT);
digitalWrite(relay, HIGH); // Relay dalam keadaan HIGH (Mati)
Blynk.begin(auth, ssid, pass);
pinMode(RedLed, OUTPUT); // Lampu Merah Sebagai Output
pinMode(Red2Led, OUTPUT); // Lampu Merah Sebagai Indikator Relay On
pinMode(YellowLed, OUTPUT); // Lampu Kuning Sebagai Output
pinMode(GreenLed, OUTPUT); // Lampu Hijau Sebagai Output
dht.begin();
timer.setInterval(2000L, sensor);
}
void sensor() {
// SENSOR DHT
float suhu = dht.readTemperature(); // Baca suhu dalam Celcius
float kelembaban = dht.readHumidity(); // Baca kelembaban relatif
if (isnan(kelembaban) || isnan(suhu)) {
Serial.println(F("Gagal membaca dari sensor DHT!"));
return;
}
Serial.print("Suhu: ");
Serial.print(suhu);
Serial.println(" C");
Serial.print("Kelembaban: ");
Serial.print(kelembaban);
Serial.println("%");
Blynk.virtualWrite(V0, suhu); // Menampilkan hasil suhu pada Blynk
Blynk.virtualWrite(V1, kelembaban); // Menampilkan hasil kelembaban pada Blynk
// Kelembaban Tanah
int nilaiKelembabanTanah = analogRead(SoilPin); // Menyimpan nilai analog dari sensor ke esp32
Serial.print("Nilai Analog = ");
Serial.println(nilaiKelembabanTanah);
int persenKelembabanTanah = map(nilaiKelembabanTanah, 4095, 0, 0, 100); // Nilai yang diperoleh dalam bentuk persen setelah dimaping
Serial.print("Kondisi Tanah = ");
Serial.print(persenKelembabanTanah); // Hasil dari maping dalam bentuk persen
Serial.println("%");
if (!kontrolManual) {
if (persenKelembabanTanah > 50 && persenKelembabanTanah <= 100) { // Ketika Nilai dari persenKelembabanTanah >50
Serial.println("Tanah basah");
digitalWrite(RedLed, LOW); // Lampu Merah Mati
digitalWrite(YellowLed, LOW); // Lampu Kuning Mati
digitalWrite(GreenLed, HIGH); // Lampu Hijau Menyala
digitalWrite(relay, HIGH); // Mematikan relay
} else if (persenKelembabanTanah > 30 && persenKelembabanTanah <= 50) { // Ketika Nilai dari persenKelembabanTanah >30
Serial.println("Tanah normal");
digitalWrite(RedLed, LOW); // Lampu Merah Mati
digitalWrite(YellowLed, HIGH); // Lampu Kuning Menyala
digitalWrite(GreenLed, LOW); // Lampu Hijau Mati
digitalWrite(relay, HIGH); // Mematikan relay
} else if (persenKelembabanTanah >= 0 && persenKelembabanTanah <= 30) { // Ketika Nilai dari persenKelembabanTanah >=0
Serial.println("Tanah Kering");
digitalWrite(RedLed, HIGH); // Lampu Merah Menyala
digitalWrite(YellowLed, LOW); // Lampu Kuning Mati
digitalWrite(GreenLed, LOW); // Lampu Hijau Mati
digitalWrite(relay, LOW); // Menyalahkan Relay
digitalWrite(Red2Led, HIGH); // menyalakan led merah indikator relay on
}
}
Blynk.virtualWrite(V2, persenKelembabanTanah); // Menampilkan hasil persentasi kondisi tanah pada Blynk
}
void loop() {
Blynk.run();
timer.run();
delay(10);
}
```
## **Penyimpanan Data**
Untuk alat Monchila ini, kami menggunakan 2 penyimpanan data; Blynk dan Firebase. Blynk kami gunakan karena memungkinkan pengumpulan data sensor (seperti suhu, kelembaban, dan kelembaban tanah) secara real-time dan menampilkannya langsung di aplikasi. Selain itu, dapat mengontrol sprinkle secara manual melalui aplikasi. Sementara itu, kami menggunakan firebase untuk menyimpan data pengguna karena firebase menawarkan berbagai keuntungan seperti kemudahan penggunaan, keamanan dan skalabilitas.
<p>
<img width=250 src="https://hackmd.io/_uploads/r18fRSPrC.jpg">
<img width=250 src="https://hackmd.io/_uploads/BJAGRSPBC.jpg">
</p>
## Hasil dan Saran
Berdasarkan hasil yang didapatkan saat proses percobaan alat, dapat disimpulkan sebagai berikut:
1. Alat Mampu Mengukur Kelembaban Ruangan dan Juga Kelembaban Tanah. Alat yang dirancang mampu secara akurat mengukur kelembaban ruangan dan tanah. Pengukuran ini konsisten dan dapat diandalkan untuk berbagai kondisi lingkungan.
2. Data Dikirimkan ke Server Blynk IoT. Alat ini dapat mengirimkan data yang didapatkan dari sensor kepada server Blynk IoT dengan lancar, *real-time*, dan tanpa *data loss*.
3. Dashboard Blynk IoT Menampikan Data *Real Time*. Dashboard yang terdapat pada platform Blynk IoT mampu menampilkan data pengukuran kelembaban secara real-time. Pengguna dapat memonitor kondisi kelembaban ruangan kapan saja dengan akses yang mudah melalui website.
Adapun saran yang dapat kami berikan untuk perancangan dan pengembangan alat adalah sebagai berikut:
1. Menggunakan modul ESP32 dengan External Antenna. Pada proses perancangan alat yang menggunakan ESP32 dengan WiFi antenna yang build in sering terdapat issue *reconnecting*. Akan lebih baik jika menggunakan ESP32 dengan External Antenna untuk mengurangi issue tersebut sehingga proses perancangan dan pembuatan alat lebih lancar.
2. Menimplementasi 3D Design. Dalam proses perancangan alat, akan lebih mudah jika container alat dibuat menggunakan 3D Design dan Printer, karena alat yang kami rancang masih menggunakan box kayu sebagai kontainernya.
## Video Demo Alat
[](https://www.youtube.com/watch?v=33AYfnhFlk4)
## Referensi
M. I. Ferdiansyach, R. P. Astutik, and P. P. S.S., “Rancang Bangun Sistem Monitoring dan Penyiram Tanaman Otomatis Menggunakan Wemos D1 Berbasis Web,” Semin. Nas. Fortei7-4 Forum Pendidik. Tinggi Tek. Elektro Indones. Reg. VII, pp. 29–34, 2013.
Wajiran, S. D. Riskiono, P. Prasetyawan, A. Mulyanto, M. Iqbal, and R. Prabowo, “Control and Realtime Monitoring System for Mushroom Cultivation Fields based on WSN and IoT,” J. Phys. Conf. Ser., vol. 1655, no. 1, 2020, doi: 10.1088/1742-6596/1655/1/012003.
F. Amanda, “Perancangan IoT (Internet of Things) dalam Sistem Irigasi Tanaman Cabai,” J. Portal Data, vol. 2, no. 4, pp. 1–9, 2022, [Online].
Available: http://portaldata.org/index.php/portaldata/article/view/111%0Ahttp://portaldata.org/index.php/portaldata/article/download/111/126