Mündəricat:

DIY - Avtomatik Bağ Suvarması - (Arduino / IOT): 9 Addım (Şəkillərlə)
DIY - Avtomatik Bağ Suvarması - (Arduino / IOT): 9 Addım (Şəkillərlə)

Video: DIY - Avtomatik Bağ Suvarması - (Arduino / IOT): 9 Addım (Şəkillərlə)

Video: DIY - Avtomatik Bağ Suvarması - (Arduino / IOT): 9 Addım (Şəkillərlə)
Video: Environment Maker Challenge: Day 4, micro:bit masterclass with David Pride 2024, Iyul
Anonim
DIY - Avtomatik Bağ Suvarması - (Arduino / IOT)
DIY - Avtomatik Bağ Suvarması - (Arduino / IOT)
DIY - Avtomatlaşdırılmış Bağ Suvarması - (Arduino / IOT)
DIY - Avtomatlaşdırılmış Bağ Suvarması - (Arduino / IOT)
DIY - Avtomatik Bağ Suvarması - (Arduino / IOT)
DIY - Avtomatik Bağ Suvarması - (Arduino / IOT)

Bu layihə sizə ev bağçası üçün suvarma nəzarətçisinin necə qurulacağını göstərəcək. Torpağın nəmlik göstəricilərini ölçmək və torpaq çox quruyarsa bağ bağçasından suvarmağı aktivləşdirmək qabiliyyətinə malikdir. Nəzarətçiyə temperatur və rütubət sensoru da daxildir. Temperatur çox aşağı olduqda nəzarətçi bağ kranı aktivləşdirməyəcək. Vizualizasiya və analiz üçün ThingsBoard IOT -da suyun istifadəsi / işləmə müddəti ilə bağlı sensor oxunuşları və statistik məlumatlar qeyd olunur. Suvarma nəzarətçisi məlumat ötürülməsini dayandırarsa, torpaq həddindən artıq quruyar və ya çox doyar.

Ön şərtlər

  • Arduino üçün ən azı əsas kodlaşdırma və lehimləmə daxil olmaqla Arduino bilikləri.
  • 1x təzyiqli bağ kranı

Materiallar Bill

  • Bahçeli suvarma poli boru, jet, damcı və s.
  • İki zəngli elektron vurma sayğacı (yəni: Aqua Systems Elektron Rəqəmsal Tap Zamanlayıcısı)
  • Tap təzyiq azaldıcısı 300kpa
  • Arduino Uno
  • Lora Arduino Qalxanı
  • Lora Gateway (Aralığınızda yerli Şəbəkələr Şəbəkəsi varsa lazım deyil)
  • DHT11 Temperatur Rütubət Sensoru
  • 5v Relay
  • Telefon Kabeli
  • Kabel bağları
  • Avtomobil Split Oluklu Borular
  • Avtomobil Terminal Bağlayıcı Zolaqlar
  • 2x Sinklənmiş dırnaqlar
  • 1x rezistor
  • Silikon / Qabıq
  • PVC Sement
  • PVC astar
  • PVC Boru 32 mm enində x 60 mm uzunluğunda
  • PVC Boru 90 mm enində x 30 sm uzunluğunda
  • 3x PVC itmə ucu qapaqları 90 mm
  • 1x PVC Vida Sonu Başlığı 90mm
  • 1x PVC Yivli Vida 90 mm
  • 1x PVC itmə qapaqları 32 mm
  • 1x 3.2V enerji mənbəyi (vurma taymeri) [batareyalar, AC çox voltlu adapter]
  • 1x 6-12V enerji mənbəyi (arduino) [batareyalar, USB, USB-dən AC-yə adapter]
  • iplik bantı
  • elektrik lenti

Addım 1: Bağ Suvarma qurun

Bağ Suvarma qurun
Bağ Suvarma qurun
Bağ Suvarma qurun
Bağ Suvarma qurun

Poli boru düzümü, uyğun jetlər, damlama xətləri və damcılar. Suvarma nəzarətçisi istənilən suvarma sistemi ilə işləyəcək. Əsas odur ki, torpağın nəmlik göstəricilərini ölçür və torpaq çox quru olduqda və zamanlayıcıyı işə salır. Nəzarətçi, doyma üçün aşağı nöqtəni təyin etmək, kran taymeri nə qədər açılmalı və nəzarətçinin doyma səviyyəsini nə qədər tez -tez yoxlaması üçün kalibr edilə bilər.

Bu parametrlər arduinoda dəyişdirilə və EPROM yaddaşında saxlanıla bilər. Ayarlar IOT inteqrasiyası ilə də yenilənə bilər. Bu layihə, nəzarətçi hər dörd saatda bir işləyəcək və torpaq çox qurudursa, kranı 3 dəqiqə açacaq. Quru/isti və ya gündə bir və ya iki halda bir neçə dəfə ardıcıl işləyə bilər.

Addım 2: Tap Tap Taymerini uyğunlaşdırın

Tap Tap Taymeri
Tap Tap Taymeri

Suvarma qurğusu üçün ən yaxşı işləyən kobud bir tezliyi və işləmə müddətini təyin etmək üçün kran taymeri və tənzimlənən kadrlarla sınaq keçirin. Taymeri çıxarıb Arduino ilə işləmək üçün dəyişdirəcəyik.

Addım 3: Arduino Build

Arduino qurmaq
Arduino qurmaq
Arduino qurmaq
Arduino qurmaq
Arduino qurmaq
Arduino qurmaq
Arduino qurmaq
Arduino qurmaq

Quraşdırma üçün bir bələdçi olaraq bağlama sxemindən istifadə edin. Fotoşəkillərdə telefon kabeli naqilləri və qovşaq nöqtələri üçün terminal zolaqları istifadə edilmişdir. Bir az lehimləmə tələb olunur.

Taymer Modifikasiyası vurun

Vaxt sayğacını diqqətlə ayırın. Manuel yığımlar əvəzinə arduino tərəfindən idarə oluna bilməsi üçün iki tənzimlənən düyməni sıx bağlayacağıq. Sol frekans yığımı sıfırlama mövqeyinə möhkəm bağlanacaq, beləliklə sağ düyməni açma/söndürmə mövqeyi arasında dəyişə bilərsiniz. Sağ kadrda göstərildiyi kimi mərkəz sağ kontaktdan və xarici sağ kontaktdan gələn bir tel olacaq. Varsayılan olaraq, taymer söndürülmüş vəziyyətdə olacaq. İki tel əlaqəyə girərsə, zamanlayıcı işə düşür. 5V rölesinə qoşulan iki tel ilə bir arduino daha sonra iki tel arasındakı əlaqəni bağlaya/aça bilər. Ümumi röle terminalında bir tel ilə normal bağlanan terminalda arduino söndürüldükdə taymerin söndürülməsini təmin edəcəyik. Röle pinini YÜKSƏK olaraq təyin etmək zamanlayıcıyı açacaq; LOW olaraq təyin etmək zamanlayıcıyı söndürəcək.

Torpaq zondu

Bu layihə üçün iki mismar vintli terminallara bağlı telə lehimlənir. Bir mismarın ucu birbaşa yerə gedir. Digəri arduino -dakı analoq girişə və bir rezistora qoşulur. Rezistor arduinos 5v siqnalına qoşulur. Sıxılma diaqramında göstərilmişdir.

İstilik/Nəmlik Sensoru

DHT11 Temp/Rütubət Sensoru, arduino -nun 5V, şasi və arduino üzərindəki rəqəmsal pinlə əlaqələndirilir.

Lora qalxanı

Bu layihədə həmçinin Dragino Lora Shield istifadə edilmişdir (naqillərin diaqramında göstərilməmişdir).

PVC bazası

Bu layihədə istifadə olunan arduino üçün PVC Baza, bütün digər komponentləri suya davamlı PVC korpusun içərisində möhkəm saxlayarkən, temperatur/rütubət sensörünün ifşa ediləcəyi şəkildə dizayn edilmişdir. Sensor üçün kiçik bir çuxur qazılır/kəsilir və nəmin arduinoya çatmasını dayandırarkən onu yerində saxlamaq üçün silikon istifadə olunur. Diaqramda göstərilir.

Addım 4: Arduino Proqramlaşdırması

Arduino Proqramlaşdırma
Arduino Proqramlaşdırma

Proqramlaşdırma və sınaq üçün çörək taxtası və ya terminal zolaqları vasitəsilə komponentləri birləşdirin

EPROM Konfiqurasiyası

Əvvəlcə konfiqurasiya dəyişənlərini EPROM yaddaşına yazmalıyıq. Arduino -da aşağıdakı kodu işlədin:

Kod Github -da mövcuddur

Burada DRY_VALUE 960 olaraq təyin olunur. 1024, torpağın tamamilə qurudulması, 0 tam doyma deməkdir, 960 rezistor, kabel uzunluğu və istifadə olunan dırnaqlar üçün yaxşı bir doyma səviyyəsi idi. Bu, konfiqurasiyadan asılı olaraq dəyişə bilər.

VALVE_OPEN 180000 milisaniyə (3 dəqiqə) olaraq təyin olunur. Kran taymeri açıldıqda/3 dəqiqə açıq qalacaq.

RUN_INTERVAL 14400000 milisaniyə (4 saat) olaraq təyin olunur. Bu o deməkdir ki, nəzarətçi torpağın nəmini hər dörd saatda bir yoxlayacaq və doyma aşağı olarsa (960 -dan çox) 3 dəqiqə ərzində kran taymerini açacaq.

Yuxarıdakı kod istənilən vaxt dəyişdirilə və bu dəyərlər dəyişdirilə bilər.

Proqram kodu

Kod Github -da mövcuddur

Asılılıqlar:

  • Müddətli Fəaliyyət
  • Radio rəhbəri

Bu nümunədə Dragino Lora qalxanı və xüsusən də birbaşa Dragino Lora Gateway -ə bağlanan qalxanla eyni vaxtda Lora nümunəsi istifadə edilmişdir.

Bu, "BEGIN: lora vars" bölməsindəki kodu silmək və proqramı aşağıdakı Dragino nümunəsinə daxil etmək və ya digər radiolar/wifi qalxanları ilə işləmək üçün uyğunlaşdırmaqla Şeylər Şəbəkəsindən istifadə etmək üçün uyğunlaşdırıla bilər.

Verilən kod, DHT11_PIN -in rəqəmsal pin 4, RELAY_PIN -in rəqəmsal pin 3 və torpaq nəmliyi analog pininin analog giriş 0 olduğunu qəbul edir.

Serial debug mesajlarını baudrate 9600 -də qeyd etmək üçün bir hata ayıklama dəyişəni doğru olaraq təyin edilə bilər.

Addım 5: Mühafizə qurulması

Korpus quruluşu
Korpus quruluşu

PVC borunu kran taymeri və Arduino bazasına uyğun olaraq kəsin. Kran taymeri kranı və hortumu bağlamaq üçün deliklər qazın. Boru içərisində avtomobil borusu üçün kifayət qədər genişlikdə deliklər qazın, 10 sm uzunluğunda boruları deliklərə sürüşdürün və arduino və tap timerindən telləri çıxarın. Bura daxil edilməlidir:

Arduinodan

  • Arduino USB portundan enerji təchizatı telləri və/və ya usb kabeli.
  • Torpaq Nəmliyi kabelləri (VCC, GND, A0)
  • NC və Ortaq vida terminallarından iki tel

Kran taymerindən

  • Elektrik təchizatı kabelləri
  • Sağdakı əlaqə kontaktlarından iki tel

Addım 6: Yapışdırmadan əvvəl nəzarətçi test edin

Yapışdırmadan əvvəl test nəzarətçisi
Yapışdırmadan əvvəl test nəzarətçisi
Yapışdırmadan əvvəl test nəzarətçisi
Yapışdırmadan əvvəl test nəzarətçisi

Hər şeyi bağlamadan əvvəl hər şeyin hələ də işlədiyinə əmin olun.

Yuxarıdakı fotoşəkillər, torpağın nəm probunun bir qazana yerləşdirildiyi və kran taymeri bir sərinləşdirici içki şüşəsindən gələn su ilə təchiz olunduğu çətin bir vəziyyətdə nümunə quruluşunu göstərir.

Bir damlatıcı kran taymeri ilə bağlandı.

Bu, quruluşun bitkinin üzərində və ya suyun altında olmadığını yoxlamaq üçün yaxşı bir yol idi.

Bu nümunə, nəzarətçini kalibrləmək üçün lazım olduğu müddətdə işlədilə bilər.

Addım 7: Yapışqan / Suya Dayanacaqlı Kassalar

Yapışqan / su keçirməyən qapaqlar
Yapışqan / su keçirməyən qapaqlar

Uç qapaqları və birləşməni bərkitmək üçün PVC Astar və PVC Sement istifadə edin.

Avtomatik boru və kran taymeri armaturları arasındakı boşluqları doldurmaq üçün dolgu/silikon istifadə edin.

Burada əlçatanlıq üçün arduino korpusunda bir vida ucu qapağı istifadə olunur.

Addım 8: Quraşdırın

Yüklemek
Yüklemek
Yüklemek
Yüklemek
Yüklemek
Yüklemek

Açıq bir gündə quraşdırın. Komponentlər və tellər möhürlənmədən əvvəl quru qalmalıdır.

Nəzarətçini bağ kranının yerləşdiyi ilə torpaq probunun qoyulacağı yerin ortasına bir yerə qoyun.

Kran sayğacını quraşdırın və quraşdırma başa çatana qədər gücünün olmadığından əmin olun.

Torpaq zondunu yerləşdirin.

Şerit terminallarını hər bir komponentə bağlayın, sonra kabelin hər bir komponentin vintli terminallərindən telefon kabelini çəkin və kabelin avtomatik boru kəmərində örtülmüş olduğundan əmin olun. Hər şeyi bir -birinə bağlamaq

Bütün terminalları və digər açıq hissələri iplə, sonra elektrik lenti ilə bağlayın.

Split borunun boş və ya boş yerlərini iplik möhürləyici bantla sonra elektrik lenti ilə bağlayın.

Taymeri 3.2V güc mənbəyinə qoşun. Ya bir batareya paketi, ya da elektrik prizinə işləyən 3.2V DC - AC adapteri.

Arduino'yu 6-12V DC güc mənbəyinə qoşun. Ya bir batareya paketi, ya da elektrik prizinə işləyən USB / DC-AC adapteri.

Gücləndirin və sınayın!

Addım 9: ThingsBoard İnteqrasiyası - Monitorinq və Hesabat

ThingsBoard İnteqrasiyası - Monitorinq və Hesabat
ThingsBoard İnteqrasiyası - Monitorinq və Hesabat

Bu nümunədə Dragino Lora Gateway -ə bağlı olan Dragino Lora Shield istifadə edilmişdir. İstər bu qurğudan istifadə etsəniz, başqa bir Lora qurğusu və ya hər hansı digər IOT bağlantısı ilə suvarma nəzarətçisi tərəfindən toplanan məlumatlar Thingsboard kimi IOT platformasına göndərilə bilər. Varsayılan olaraq, proqram hər bir simvol baytının onaltılı kodlandığı aşağıdakı məlumat sətrini ötürür:

TXXXHXXXXSXXXXRX

T -dən sonra temperatur, H -dən sonra rütubət, S -dən sonra doyma səviyyəsi və R -dən sonra son işləmə aralığında hansı hərəkəti yerinə yetirdiyinə dair bir rəqəm gəlir. Bu hər bir rəqəmin 0-5 ola bilər:

0: Proqram işə salınır1: Temperatur Sensorunun arızası2: Temperaturun işləməsi üçün çox aşağı idi3: Torpağın rütubəti çox qurudulur, buna görə də kran taymeri işə salındı4: Torpağın nəmliyi incədir, buna görə də kran taymeri işə salınmır5: Suvarma nəzarətçisi deaktiv edilib

Thingsboard -un bir nüsxəsini öz avadanlıqlarınıza quraşdırmağın bir neçə yolu var və ya burada ThingsBoard qurğumuzda pulsuz bir hesab qura bilərsiniz.

Cihazınızı Thingsboard -da qurun

Thingsboard -da "Suvarma Nəzarətçisi" adlandıran yeni bir cihaz əlavə etmək üçün bu təlimatları izləyin.

Cihazdan Telemetri məlumatlarını itələyin

Cihazdan telemtry məlumatlarını MQTT, HTTP və ya CoAp vasitəsi ilə Thingboard -a köçürmək üsulu qurmaq üçün bu təlimatları izləyin.

Serverimizdə, cihaz işə salındıqda (canlı məlumatlarla) hər dörd saatdan bir aşağıdakı JSON -u https://thingsboard.meansofproduction.tech/api/v1/… ünvanına göndəririk:

Eyni zamanda, aşağıdakı atributları https://thingsboard.meansofproduction.tech/api/v1/… ünvanına, düyünün son dəfə nə vaxt görüldüyünə dair məlumatlarla vaxtaşırı itələyirik:

Bu cihaz məlumat ötürülməsini dayandırdıqda tetiklenen siqnallar üçün istifadə olunur.

Dashboard yaradın

Burada göstərildiyi kimi bir tablosuna yaradın. Vidjetlərimizə daxildir:

LastRunResult telemetriya sahəsindən yaradılan sadə bir kart vidceti. Temperatur telemetri sahəsi üçün şaquli rəqəmsal ölçmə Bu məlumatların sonrakı işlənməsi funksiyasından istifadə edir:

1024 dəyərini qaytarın;

Və minimum və maksimum dəyəri 0-100 olaraq təyin edir. Bu şəkildə doyma səviyyəsi faiz olaraq ifadə edilə bilər. Nəmlik dəyərini göstərmək üçün bir göstərici. Maksimum dəyərləri göstərmək üçün toplanmış, son həftə üçün 5 saatlıq dövrlərə qruplaşdırılmış temp, rütubət və qaçış nəticəsini özündə cəmləşdirən zaman seriyası çubuğu qrafiki.. Bu bizə dörd saatlıq qaçış hadisəsi üçün bir bar verir. Suyun axıb getməməsindən asılı olaraq qaçış nəticəsini 0 və ya 120 olaraq ifadə etmək üçün məlumat ötürmə funksiyası istifadə olunur. Bu, həftədə suyun nə qədər tez işlədiyini görmək üçün asan bir vizual rəy verir. Bağçanın görüntüsünü göstərən statik HTML kartı.

E -poçt xəbərdarlıqları

Suvarma nəzarətçisi üçün e -poçt xəbərdarlıqları qurmaq üçün qaydalardan istifadə etdik. Hamısı mesaj filtrlərindən və Poçt Göndərmə Əməliyyat Plugin Fəaliyyətindən istifadə edir.

Suvarma nəzarətçisi məlumatları göndərə bilmədikdə bir e -poçt xəbərdarlığı göndərmək üçün 'Cihaz Xüsusiyyətləri Filtrindən' istifadə etdik:

typeof cs.secondsSinceLastSeen! == 'undefined' && cs.secondsSinceLastSeen> 21600

Torpaq çox quruyarsa e -poçt göndərmək üçün aşağıdakı Telemetriya filtrindən istifadə edin

doyma növü! = "təyin olunmamış" && doyma> 1010

Torpaq həddindən artıq nəm olarsa e -poçt göndərmək üçün aşağıdakı Telemetrik filtrdən istifadə edin

doyma növü = = "təyin olunmamış" && doyma

Tövsiyə: