# 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** ![dokumentasi](https://hackmd.io/_uploads/Hy13TeIrC.png) **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 [![Monchila](https://hackmd.io/_uploads/ryjBPUDSR.png)](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