Automatic Water Sprinker
by yohanprabayoga in Circuits > Electronics
496 Views, 1 Favorites, 0 Comments
Automatic Water Sprinker
![Poster_Automatic_Water_Sprinkler.png](/proxy/?url=https://content.instructables.com/F3Y/7L9C/LDM2OIVB/F3Y7L9CLDM2OIVB.png&filename=Poster_Automatic_Water_Sprinkler.png)
Anggota
Yohan Prabayoga, Marupa Ferdinand Fitz Nunzio, Vadrick Ferdinand Fu - Computer Engineering - Binusian 2024 - Bina Nusantara University.
APA ITU...?
Dalam tugas rancang ini kami membuat sebuah alat Automatic Water Sprinkler. Sesuai dengan namanya, alat ini berfungsi untuk menyiram tanaman jika tanah sudah kering. Selain itu alat ini dapat dikontrol secara manual menggunakan aplikasi dalam hp.
SEDIKIT LATAR BELAKANG…
Hobby berkebun adalah salah satu hobby bapak-bapak dan ibu-ibu yang sedang ngetrend sejak adanya covid-19. Selain untuk mengisi waktu kosong dan mempercantik tampilan luar atau dalam rumah, hobby ini juga faktanya bisa menambah ketenangan jiwa dan kesehatan mental. Di tahun 2022, dampak pandemi sudah berkurang sekali. Banyak pekerjaan yang sudah menetapkan bekerja di kantor kembali. Dengan kembalinya bekerja di kantor, tanaman yang sudah mereka rawat selama ini akan terabaikan.
Kami pun mempunyai ide untuk membuat alat yang berguna untuk menyiram tanaman secara otomatis berdasarkan kelembaban tanah yang didapat dari sensor. Alat kami juga didampingi aplikasi untuk memonitor data yang diperoleh sensor dan aplikasi kami juga bisa digunakan oleh remote control untuk pengguna misalkan mereka ingin menyiram tanaman mereka tidak dirumah tetapi tidak mau menggunakan fitur otomatis.
SEBELUM ITU…
Alat yang dibuat ini akan menggunakan komponen elektronik dan software studio code sebagai pendeteksi sensor adanya aliran listrik dalam tanah. Jadi, alat ini memiliki batasan dimana alat ini baru bisa bekerja jika sensor soil moisture ini ditancapkan ke tanah, sedangkan komponen elektronik alat ini tidak bisa terkena air. Oleh karena itu, alat ini harus diperhatikan dalam pemasangannya agar komponen utama terlindungi dari paparan air. Selain itu, bagian pelat di sensor moisture ini yang bersentuhan dengan tanah, juga harus diperhatikan materialnya yang dimana berpotensi terjadi oksidasi atau korosi jika terlalu lama didalam tanah tersebut dan jika terkena dengan jenis cairan yang asam atau mengandung zat-zat tertentu.
Supplies
APA SAJA KOMPONEN YANG DIPERLUKAN?
Pada pembuatan alat ini, digunakan beberapa komponen utama. Pertama digunakan Framework Espressif sebagai kompenen utamanya, yaitu ESP32. Selanjutnya kita memakai komponen elektronik sensor kelembapan tanah bernama Hygrometer YL-69, yaitu sensor yang dapat memberikan signal data tentang kelembaban tanah tersebut ke ESP32 dan sensor suhu dan kelembapan udara bernama DHT11, yaitu sensor yang dapat memberikan signal data tentang suhu dan humidity tersebut ke ESP32. Berikut adalah daftar semua komponen yang diperlukan dan juga jumlahnya.
- ESP-32 (1x)
- Kabel USB A to USB micro b (2x)
- Kabel jumper male to female (9x)
- Hygrometer YL-69 (Sensor kelembapan tanah) (1x)
- DHT11 (Sensor temperatur dan kelembapan udara (1x)
- Relay 5V (1x)
- Submersible pump (1x)
Selain itu, untuk pembuatan Aplikasi, kita membutuhkan Aplikasi Flutter untuk membuild aplikasi.
Merancang Skematik
![block diagram.png](/proxy/?url=https://content.instructables.com/FIX/NR1P/L4O6GN4I/FIXNR1PL4O6GN4I.png&filename=block diagram.png)
![Flowchart_1.1.png](/proxy/?url=https://content.instructables.com/FLC/CS85/L4O6GN4J/FLCCS85L4O6GN4J.png&filename=Flowchart_1.1.png)
Untuk membuat rangkaian skematik, kita harus menentukan bagaimana cara kerja alatnya, pada tugas rancang ini saya dan rekan-rekan kelompok saya telah memikirkan bagaimana cara kerja alatnya, jadi alat ini bekerja dengan mendeteksi kelembaban suatu tanah yang sudah kami tentukan, dan jika kelembaban tanah tersebut sudah melampaui batas yang kami tentukan, maka alat ini akan otomatis menyiramkan air ke tanaman.
Setelah kita tau cara kerja alat yang ingin kita buat, selanjutnya kita harus bikin cara kerja sistem-nya, pada sesi ini kita harus membuat konsep logika jalannya kerja alat, berikut adalah flowchart kerja alat ini.
Sebelum menyalakan alat, kita harus mengisi cup penampungan air terlebih dahulu dan memasukkan sensor Hygrometer YL-69 ke tanah. Setelah persiapan yang telah disebutkan selesai dilakukan, kita sekarang bisa menyalakan alatnya. Jika sensor Hygrometer YL-69 mendeteksi kelembaban dibawah 300 maka air yang ada di penampungan didorong oleh pump.
Selanjutnya adalah kita harus membuat blok diagramnya, blok diagram adalah suatu diagram sistem dimana bagian utama akan dihubungkan dengan bagian lainnya oleh blok yang dihubungkan oleh garis yang menunjukkan hubungan blok. Saya dan rekan kerja saya telah membuat blok diagramnya, dan ini merupakan blok diagram kami:
Pertama YL-69 akan mengirim sinyal analog ke ESP32. Bersamaan dengan YL-69, DHT11 akan mengirim sinyal digital juga ke ESP32. Setelah ESP mendapatkan sinyal, jika persyaratannya terpenuhi, maka ESP akan memberikan sinyal digital agar relay menyala agar pump mendapatkan daya.
Mendesign PCB
![skematik.png](/proxy/?url=https://content.instructables.com/F44/AWAK/LDJ5WBVI/F44AWAKLDJ5WBVI.png&filename=skematik.png)
![skematik.png](/proxy/?url=https://content.instructables.com/F8K/7EI7/LDJ5WBP6/F8K7EI7LDJ5WBP6.png&filename=skematik.png)
Untuk dapat membuat PCB kita membutuhkan skematik dari PCB yang kita butuhkan. Untuk itu kita akan menggunakan suatu website yang bernama https://easyeda.com/ yang dapat merancang PCB dalam website.
Hal yang pertama harus diperhatikan adalah cara merancang skematik dari PCB yang akan dirancang, karena harus sesuai dengan block diagram flow chart yang sudah dibuat tadi.
Setelah merancang skematiknya, kita dapat menekan tombol Design pada EasyEDA dan tekan, "Convert Schematic to PCB", dengan itu akan ada sebuah file yang muncul dalam editor EasyEDA.
Disini kita bisa mengatur setiap komponen kita agar dapat ditaruh di PCB. Karena kita akan mencetak PCB kita dengan single layer, kita butuh mengatur jalan listrik agar tidak menabrak satu sama lain.
Setelah dirancang, kita bisa menambah border untuk membatasi PCB yang kita buat.
Mencetak PCB Dan Solder
![PCB hasil.png](/proxy/?url=https://content.instructables.com/FTI/Z39S/LDJ5WC3X/FTIZ39SLDJ5WC3X.png&filename=PCB hasil.png)
![PCB fitting.png](/proxy/?url=https://content.instructables.com/F4B/UMG1/LDJ5WC6V/F4BUMG1LDJ5WC6V.png&filename=PCB fitting.png)
Pada langkah ini, kita akan mencetak PCB yang sudah kita rancang di EasyEDA. Kita akan menggunakan metode etching untuk mencetak PCB.
Setelah itu kita akan menyolder semua komponen sesuai dengan trace yang ada di PCB agar alat dapat berjalan sesuai yang direncanakan.
Kita disini hanya akan menyolder pin header pada PCB agar komponen yang dipasang dapat dicabut kembali.
Setelah semua disolder, kita akan fitting semua komponen kita agar bisa masuk ke dalam casing yang kita akan buat pada step selanjutnya.
Mendesign Casing
![casing.png](/proxy/?url=https://content.instructables.com/F24/SD4D/LDK92Q2I/F24SD4DLDK92Q2I.png&filename=casing.png)
Pada langkah ini kita akan mendesign casing untuk alat kita agar terlihat lebih rapi dari luar. Kita akan menggunakan AutoCAD sebagai aplikasi untuk mendesign casing yang kita akan gunakan.
Disini kita hanya akan membuat kotak simpel untuk memuat alat kita agar komponen tidak terlihat, jadi kita akan mendesign kotak dan tutupnya yang diberi beberapa lubang agar kabel dari pompa dan sensor kelembaban tahan.
Printing Casing
![D4DB1AF3-AFAF-47DC-9974-6C9707758524.jpeg](/proxy/?url=https://content.instructables.com/FUG/3Z89/LDM2KQ8T/FUG3Z89LDM2KQ8T.jpg&filename=D4DB1AF3-AFAF-47DC-9974-6C9707758524.jpeg)
Setelah kita mendapatkan design yang kita inginkan, kita dapat mengexport file casing kita ke file .stl yang akan kita masukkan ke program Cura yang akan meng-slice hasil 3D kita.
Setelah itu kita bisa print hasil 3D design yang sudah kita buat menggunakan 3D printer.
Firebase Setup
![unknown.png](/proxy/?url=https://content.instructables.com/FQB/I6PC/L4O6GNK0/FQBI6PCL4O6GNK0.png&filename=unknown.png)
![unknown (1).png](/proxy/?url=https://content.instructables.com/FOE/T7AV/L4O6GNK1/FOET7AVL4O6GNK1.png&filename=unknown (1).png)
![unknown (4).png](/proxy/?url=https://content.instructables.com/FMH/QIFR/L4O6GNJX/FMHQIFRL4O6GNJX.png&filename=unknown (4).png)
![unknown (2).png](/proxy/?url=https://content.instructables.com/FUP/KDHI/L4O6GNK2/FUPKDHIL4O6GNK2.png&filename=unknown (2).png)
![unknown (3).png](/proxy/?url=https://content.instructables.com/FCW/J5UE/L4O6GNK3/FCWJ5UEL4O6GNK3.png&filename=unknown (3).png)
![unknown (6).png](/proxy/?url=https://content.instructables.com/FEC/ZKIW/L4O6GNJZ/FECZKIWL4O6GNJZ.png&filename=unknown (6).png)
![unknown (5).png](/proxy/?url=https://content.instructables.com/F1F/MK3R/L4O6GNJY/F1FMK3RL4O6GNJY.png&filename=unknown (5).png)
- Buka Firebase.google.com pada browser anda
- Jika belum sign in, maka sign in dulu menggunakan email kalian dan masuk ke console.
- Setelah masuk, kalian harus membuat sebuah project baru kalian.
- Setelah kalian berhasil membuat project baru, kalian masuk ke dalam Realtime Database untuk men-setup Rules dan datanya.
- Dapatkan Database secret firebase kalian dengan cara ke project settings lalu ke service account.
Kode Project
![unknown9.png](/proxy/?url=https://content.instructables.com/FTB/OD2J/L4O6GOHR/FTBOD2JL4O6GOHR.png&filename=unknown9.png)
![unknown10.png](/proxy/?url=https://content.instructables.com/F94/FTXU/L4O6GOHS/F94FTXUL4O6GOHS.png&filename=unknown10.png)
![unknown12.png](/proxy/?url=https://content.instructables.com/FF3/CWXD/L4O6GOIX/FF3CWXDL4O6GOIX.png&filename=unknown12.png)
![unknown11.png](/proxy/?url=https://content.instructables.com/FXF/0TMM/L4O6GOIY/FXF0TMML4O6GOIY.png&filename=unknown11.png)
Mengunakan Extention PlatformIO pada Visual Studio Code buatlah project baru.
Masukkan "main.cpp" kedalam folder "src" dan masukkan "firebase.h" ke dalam folder include.
Membuat Aplikasi Mobile
Seperti yang sudah dijelaskan sebelumnya, kita akan menggunakan Flutter untuk membangun aplikasi kita.
Code yang kami gunakan bisa di download dari link berikut:
https://github.com/yohanprabayoga/fluttter-kelompok-4/tree/master
setelah mendownload code yang disediakan, kita perlu run program dengan simulator android agar dapat melihat tampilan yang sudah dibuat.
Fitur aplikasi kami adalah:
- Monitoring suhu, kelembapan tanah, & kelembapan udara menggunakan grafik
- Mengontrol pump secara manual
- Fitur login menggunakan email address
Hasil Aplikasi
![Screenshot_2022-12-10-11-30-42-071-.jpg](/proxy/?url=https://content.instructables.com/F65/7AZH/LDK92Q42/F657AZHLDK92Q42.jpg&filename=Screenshot_2022-12-10-11-30-42-071-.jpg)
![Screenshot_2022-12-10-11-30-22-575-.jpg](/proxy/?url=https://content.instructables.com/FPD/IKY3/LDK92Q3Z/FPDIKY3LDK92Q3Z.jpg&filename=Screenshot_2022-12-10-11-30-22-575-.jpg)
Berikut adalah hasil dari aplikasi yang sudah dibuat.
Jika berjalan sesuai dengan rencana, kita bisa memonitor temperature, humidity, dan moisture dari aplikasinya. Kita juga bisa mengontrol pump kita secara manual jika kita scroll aplikasi kita ke samping.
Video Demo
Berikut adalah link video demonstrasi alat kami
https://youtu.be/EjMnH51xGtE
Datasheet
- ESP32
- https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf
- Soil Moisture YL-69
- https://www.datasheetarchive.com/pdf/download.php?id=3d430ea6bd3fde0d7a8b811f4a848d19f9a644&type=P&term=YL%252069%2520moisture
- DHT11
- https://www.mouser.com/datasheet/2/758/DHT11-Technical-Data-Sheet-Translated-Version-1143054.pdf
- https://components101.com/sensors/dht11-temperature-sensor
- Relay 1 Channel
- https://curtocircuito.com.br/datasheet/modulo/rele-1canal.pdf
- https://components101.com/switches/5v-single-channel-relay-module-pinout-features-applications-working-datasheet