Daftar Isi:

DIY - Irigasi Taman Otomatis - (Arduino / IOT): 9 Langkah (dengan Gambar)
DIY - Irigasi Taman Otomatis - (Arduino / IOT): 9 Langkah (dengan Gambar)

Video: DIY - Irigasi Taman Otomatis - (Arduino / IOT): 9 Langkah (dengan Gambar)

Video: DIY - Irigasi Taman Otomatis - (Arduino / IOT): 9 Langkah (dengan Gambar)
Video: Penyiraman tanaman otomatis berbasis IOT(Internet Of Things) graph chart blynk nodemcu esp8266 2024, November
Anonim
DIY - Irigasi Taman Otomatis - (Arduino / IOT)
DIY - Irigasi Taman Otomatis - (Arduino / IOT)
DIY - Irigasi Taman Otomatis - (Arduino / IOT)
DIY - Irigasi Taman Otomatis - (Arduino / IOT)
DIY - Irigasi Taman Otomatis - (Arduino / IOT)
DIY - Irigasi Taman Otomatis - (Arduino / IOT)

Proyek ini akan menunjukkan cara membangun pengontrol irigasi untuk taman rumah. Mampu mengukur pembacaan kelembaban tanah dan mengaktifkan irigasi dari keran taman jika tanah menjadi terlalu kering. Pengontrol juga mencakup sensor suhu dan kelembaban. Pengontrol tidak akan mengaktifkan keran taman jika suhunya terlalu rendah. Pembacaan sensor dan statistik tentang penggunaan air / waktu berjalan dicatat di ThingsBoard IOT untuk visualisasi dan analitik. Peringatan dan email dipicu jika pengontrol irigasi berhenti mengirimkan data, tanah menjadi terlalu kering atau terlalu jenuh.

Prasyarat

  • Pengetahuan Arduino termasuk setidaknya pengkodean dasar untuk Arduino dan penyolderan.
  • 1x keran taman bertekanan

Bill of material

  • Pipa poli irigasi taman, jet, drippers dll.
  • Pengatur waktu ketuk elektronik dua dial (yaitu: Pengatur Waktu Ketuk Digital Elektronik Sistem Aqua)
  • Tekan peredam tekanan 300kpa
  • Arduino Uno
  • Perisai Lora Arduino
  • Lora Gateway (Tidak diperlukan jika Anda memiliki gateway Things Network lokal dalam jangkauan)
  • Sensor Kelembaban Suhu DHT11
  • Relai 5v
  • Kabel Telepon
  • Pengikat kabel
  • Otomotif Split Corrugated Tubing
  • Strip Konektor Terminal Otomotif
  • 2x paku galvanis
  • 1x Resistor
  • Silikon / Dempul
  • Semen PVC
  • Primer PVC
  • Pipa PVC lebar 32mm x panjang 60mm
  • Pipa PVC lebar 90mm x panjang 30cm
  • 3x PVC Push End Caps 90mm
  • 1x Tutup Ujung Sekrup PVC 90mm
  • 1x PVC Threaded Insert Fitting 90mm
  • 1x PVC Push End Caps 32mm
  • Sumber daya 1x 3.2V (pengatur waktu ketuk) [baterai, adaptor multivolt AC]
  • 1x 6-12V sumber daya (arduino) [baterai, USB, USB ke adaptor AC]
  • pita segel benang
  • pita listrik

Langkah 1: Pasang Irigasi Kebun

Pasang Irigasi Kebun
Pasang Irigasi Kebun
Pasang Irigasi Kebun
Pasang Irigasi Kebun

Tata letak pipa poli, jet pas, garis tetes dan drippers. Pengontrol irigasi akan bekerja dengan irigasi apa pun. Pada intinya adalah mengukur pembacaan kelembaban tanah dan mengaktifkan pengatur waktu keran jika dan ketika tanah terlalu kering. Kontroler dapat dikalibrasi untuk menyetel titik rendah untuk saturasi, berapa lama timer tap harus dihidupkan dan seberapa sering pengontrol harus memeriksa saturasi.

Pengaturan ini dapat diubah pada arduino dan disimpan dalam memori EPROM. Pengaturan juga dapat diperbarui dengan integrasi IOT. Proyek ini akan menjalankan pengontrol setiap empat jam dan menyalakan keran selama 3 menit jika tanah terlalu kering. Ini dapat berjalan beberapa kali berturut-turut jika kering/panas atau sekali sehari atau dua kali sebaliknya.

Langkah 2: Sesuaikan Pengatur Waktu Ketuk

Sesuaikan Pengatur Waktu Ketuk
Sesuaikan Pengatur Waktu Ketuk

Pasang pengatur waktu keran dan bereksperimenlah dengan tombol putar yang dapat disesuaikan untuk menentukan frekuensi kasar dan waktu pengoperasian yang paling sesuai untuk instalasi irigasi Anda. Kami akan menghapus timer dan memodifikasinya agar berfungsi dengan Arduino.

Langkah 3: Arduino Build

Arduino Build
Arduino Build
Arduino Build
Arduino Build
Arduino Build
Arduino Build
Arduino Build
Arduino Build

Gunakan diagram pengkabelan sebagai panduan untuk membangun. Dalam foto kabel kabel telepon telah digunakan dan strip terminal sekrup untuk titik persimpangan. Beberapa solder diperlukan.

Ketuk Modifikasi Pengatur Waktu

Bongkar pengatur waktu keran dengan hati-hati. Kami akan memasang kabel keras pada dua tombol yang dapat disesuaikan sehingga dapat dikontrol oleh arduino daripada menggunakan tombol manual. Dial frekuensi kiri akan disambungkan ke posisi reset sehingga dial kanan dapat dialihkan antara posisi on/off. Dial kanan akan memiliki satu kabel yang berasal dari kontak kanan tengah dan kontak kanan luar seperti yang ditunjukkan. Secara default timer akan berada pada posisi off. Jika kedua kabel bersentuhan, timer akan menyala. Dengan dua kabel terhubung ke relai 5V, arduino kemudian dapat menutup/membuka kontak antara dua kabel. Dengan satu kabel di terminal relai umum dan yang lainnya di terminal yang biasanya tertutup, kami akan memastikan bahwa timer dimatikan ketika arduino dimatikan. Menyetel pin relai ke HIGH akan mengaktifkan timer; menyetelnya ke LOW akan mematikan timer.

Penyelidikan Tanah

Untuk proyek ini, kedua paku disolder ke kawat yang terhubung ke terminal sekrup. Satu terminal paku langsung ke ground. Yang lain terhubung ke input analog di arduino dan resistor. Resistor terhubung ke sinyal arduinos 5v. Ditunjukkan dalam diagram lingkaran.

Sensor Suhu / Kelembaban

Sensor Suhu / Kelembaban DHT11 dihubungkan ke 5V arduino, ground dan pin digital pada arduino.

Perisai Lora

Proyek ini juga menggunakan Dragino Lora Shield (tidak ditampilkan dalam diagram pengkabelan).

Dasar PVC

Basis PVC untuk arduino yang digunakan dalam proyek ini dirancang agar sensor suhu/kelembaban dapat terpapar sambil menjaga semua komponen lain tetap aman di dalam selungkup PVC tahan air. Sebuah lubang kecil dibor/dipotong untuk sensor dan silikon digunakan untuk menahannya di tempatnya sambil menghentikan kelembaban agar tidak mencapai arduino. Ditunjukkan dalam diagram.

Langkah 4: Pemrograman Arduino

Pemrograman Arduino
Pemrograman Arduino

Hubungkan komponen bersama-sama melalui papan tempat memotong roti atau strip terminal untuk pemrograman dan pengujian

Konfigurasi EPROM

Pertama kita perlu menulis variabel konfigurasi ke memori EPROM. Jalankan kode berikut di arduino Anda:

Kode tersedia di Github

Di sini DRY_VALUE diatur pada 960. 1024 berarti tanah benar-benar kering, 0 berarti saturasi penuh, 960 adalah tingkat kejenuhan yang baik untuk resistor, panjang kabel dan paku yang digunakan. Ini dapat bervariasi tergantung pada konfigurasi Anda sendiri.

VALVE_OPEN disetel pada 180000 milidetik (3 menit). Ketika/jika pengatur waktu keran dihidupkan, itu akan dibiarkan terbuka selama 3 menit.

RUN_INTERVAL diatur pada 14400000 milidetik (4 jam). Ini berarti bahwa pengontrol akan memeriksa kelembaban tanah setiap empat jam dan menyalakan pengatur waktu keran selama 3 menit jika saturasinya rendah (lebih besar dari 960).

Kode di atas dapat diubah dan nilai-nilai ini diubah kapan saja.

Kode Program

Kode tersedia di Github

Dependensi:

  • WaktuTindakan
  • Kepala Radio

Contoh ini menggunakan perisai Dragino Lora dan secara khusus contoh Lora bersamaan dengan perisai yang terhubung langsung ke Gerbang Dragino Lora.

Ini dapat disesuaikan untuk menggunakan Jaringan Hal dengan menghapus kode di bawah bagian "MULAI: lora vars" dan mengubah program untuk menyertakan contoh Dragino berikut atau disesuaikan untuk bekerja dengan perisai radio/wifi lain, dll.

Kode yang diberikan mengasumsikan bahwa DHT11_PIN adalah pin digital 4, RELAY_PIN adalah pin digital 3 dan pin analog kelembaban tanah adalah input analog 0.

Variabel debug dapat disetel ke true sehingga pesan debug serial dapat dicatat pada baudrate 9600.

Langkah 5: Pembuatan Kandang

Membangun Kandang
Membangun Kandang

Potong pipa PVC agar sesuai dengan pengatur waktu keran dan basis Arduino. Bor lubang untuk pemasangan keran pengatur waktu keran dan pemasangan selang. Bor lubang di pipa yang cukup lebar untuk saluran otomotif, masukkan saluran sepanjang 10cm ke dalam lubang dan cabut kabel dari arduino dan tap timer. Ini harus mencakup:

Dari Arduino

  • Kabel catu daya dan/atau kabel usb dari port USB arduino.
  • Kabel Kelembaban Tanah (VCC, GND, A0)
  • Dua kabel dari terminal sekrup NC & Common Relay

Dari penghitung waktu ketuk

  • Kabel catu daya
  • Dua kabel dari kontak dial kanan

Langkah 6: Uji Pengontrol Sebelum Menempel

Kontroler Uji Sebelum Menempel
Kontroler Uji Sebelum Menempel
Kontroler Uji Sebelum Menempel
Kontroler Uji Sebelum Menempel

Pastikan semuanya masih berfungsi sebelum menyegel semuanya.

Foto-foto di atas menunjukkan pengaturan sampel di esky di mana probe kelembaban tanah ditempatkan dalam pot dan pengatur waktu keran dilengkapi dengan air yang berasal dari botol minuman ringan.

Satu dripper dipasang pada pengatur waktu keran.

Ini adalah cara yang baik untuk menguji bahwa pengaturan tidak melebihi atau di bawah air tanaman.

Contoh ini dapat dijalankan selama diperlukan untuk mengkalibrasi pengontrol.

Langkah 7: Lem / Kandang Tahan Air

Kandang Lem / Tahan Air
Kandang Lem / Tahan Air

Gunakan PVC Primer dan PVC Cement untuk mengamankan end cap dan coupling.

Gunakan dempul/silikon untuk mengisi celah di sekitar saluran otomatis dan alat pengatur waktu ketukan.

Di sini tutup ujung sekrup digunakan pada penutup arduino untuk aksesibilitas.

Langkah 8: Instal

Install
Install
Install
Install
Install
Install

Instal pada hari yang cerah. Komponen dan kabel harus tetap kering sebelum disegel.

Tempatkan pengontrol di suatu tempat di tengah antara tempat keran kebun berada dan di mana probe tanah akan ditempatkan.

Pasang pengatur waktu keran dan pastikan tidak dialiri daya hingga penginstalan selesai.

Pasang probe tanah.

Pasang terminal strip ke setiap komponen kemudian letakkan kabel telepon dari terminal sekrup masing-masing komponen untuk memastikan kabel tercakup dalam saluran otomatis. Menghubungkan semuanya bersama-sama

Tutup semua terminal dan bagian lain yang terbuka dengan pita segel benang kemudian pita listrik.

Tutup semua area yang longgar/terbuka dari saluran split dengan pita segel ulir kemudian pita listrik.

Hubungkan timer ke sumber daya 3.2v. Baik paket baterai atau ke adaptor 3.2V DC - AC yang mengalir ke stopkontak.

Hubungkan Arduino ke sumber daya DC 6-12V. Baik paket baterai atau adaptor USB / DC-AC yang mengalir ke stopkontak.

Nyalakan dan uji!

Langkah 9: Integrasi ThingsBoard - Pemantauan dan Pelaporan

Integrasi ThingsBoard - Pemantauan dan Pelaporan
Integrasi ThingsBoard - Pemantauan dan Pelaporan

Contoh ini menggunakan A Dragino Lora Shield yang terhubung ke Dragino Lora Gateway. Baik menggunakan pengaturan ini, pengaturan Lora lain atau konektivitas IOT lainnya, data yang dikumpulkan oleh pengontrol irigasi dapat diteruskan ke platform IOT seperti Thingsboard. Secara default program mentransmisikan string data berikut di mana setiap byte karakter dikodekan hex:

TXXXHXXXXXXXXRX

Dimana T diikuti oleh suhu, H diikuti oleh kelembaban, S diikuti oleh tingkat kejenuhan dan R diikuti oleh satu digit yang berkaitan dengan tindakan apa yang dilakukan pada interval lari terakhir. Ini bisa berupa 0-5 di mana setiap digit berarti:

0: Program sedang dimulai1: Sensor Suhu rusak2: Suhu terlalu rendah untuk dijalankan3: Kelembaban tanah terlalu kering sehingga pengatur waktu keran diaktifkan4: Kelembaban tanah halus sehingga pengatur waktu keran tidak diaktifkan5: Kontroler irigasi telah dinonaktifkan

Ada beberapa cara untuk menginstal salinan Thingsboard pada peralatan Anda sendiri atau Anda dapat mengatur akun gratis di instalasi ThingsBoard kami di sini.

Siapkan perangkat Anda di Papan Hal

Ikuti petunjuk ini untuk menambahkan perangkat baru di Thingsboard dengan menyebutnya "Pengendali Irigasi".

Dorong data Telemetri dari perangkat

Ikuti petunjuk ini untuk menyiapkan metode mendorong data telemetri dari perangkat ke Thingboard melalui MQTT, HTTP, atau CoAp.

Di server kami, kami mendorong JSON berikut ke https://thingsboard.meansofproduction.tech/api/v1/… setiap empat jam saat perangkat dijalankan (dengan data langsung):

Kami juga mendorong atribut berikut ke https://thingsboard.meansofproduction.tech/api/v1/… secara berkala dengan data kapan node terakhir terlihat:

Ini digunakan untuk peringatan yang dipicu jika perangkat berhenti mengirimkan data.

Buat Dasbor

Buat dasbor seperti yang dijelaskan di sini. Widget kami meliputi:

Widget kartu sederhana yang dibuat dari bidang telemetri lastRunResult. Pengukur digital vertikal untuk bidang telemetri suhuA Tabel Deret Waktu yang dibuat dari bidang telemetri LastRunResult yang menampilkan data hari terakhir. Bilah horizontal yang menunjukkan bidang telemetri saturasi. Ini menggunakan fungsi pasca-pemrosesan data:

mengembalikan nilai 1024;

Dan menetapkan nilai minimum dan maksimum 0-100. Dengan cara ini tingkat kejenuhan dapat dinyatakan sebagai persentase. Pengukuran untuk menunjukkan nilai kelembapan. Bagan batang deret waktu yang mencakup suhu, kelembapan, dan hasil lari, dikelompokkan ke dalam periode 5 jam selama seminggu terakhir, digabungkan untuk menunjukkan nilai maksimum. Ini memberi kita satu bar untuk acara lari empat jam. Fungsi pasca-pemrosesan data digunakan untuk menyatakan hasil lari sebagai 0 atau 120 tergantung pada apakah air dijalankan atau tidak. Itu memberikan umpan balik visual yang mudah untuk melihat seberapa sering air mengalir dalam seminggu. Kartu HTML statis yang menunjukkan gambar taman.

Peringatan email

Kami menggunakan aturan untuk menyiapkan peringatan email untuk pengontrol irigasi. Semua menggunakan filter pesan dan Tindakan Plugin Tindakan Kirim email.

Untuk mengirim peringatan email jika pengontrol irigasi gagal mengirim data, kami menggunakan 'Filter Atribut Perangkat' dengan filter berikut:

typeof cs.seconds SinceLastSeen !== 'undefined' && cs.seconds SinceLastSeen > 21600

Untuk mengirim email jika tanah menjadi terlalu kering gunakan filter Telemetri berikut

jenis saturasi != "tidak terdefinisi" && saturasi > 1010

Untuk mengirim email berdasarkan jika tanah menjadi terlalu lembab gunakan filter Telemetri berikut

jenis saturasi != "tidak terdefinisi" && saturasi

Direkomendasikan: