Mundarija:

DIY - Bog'ni avtomatik sug'orish - (Arduino / IOT): 9 qadam (rasmlar bilan)
DIY - Bog'ni avtomatik sug'orish - (Arduino / IOT): 9 qadam (rasmlar bilan)

Video: DIY - Bog'ni avtomatik sug'orish - (Arduino / IOT): 9 qadam (rasmlar bilan)

Video: DIY - Bog'ni avtomatik sug'orish - (Arduino / IOT): 9 qadam (rasmlar bilan)
Video: Simple NiMH battery charger (with PCB files) 2024, Noyabr
Anonim
DIY - Bog'ni avtomatik sug'orish - (Arduino / IOT)
DIY - Bog'ni avtomatik sug'orish - (Arduino / IOT)
DIY - Bog'ni avtomatik sug'orish - (Arduino / IOT)
DIY - Bog'ni avtomatik sug'orish - (Arduino / IOT)
DIY - Bog'ni avtomatik sug'orish - (Arduino / IOT)
DIY - Bog'ni avtomatik sug'orish - (Arduino / IOT)

Ushbu loyiha sizga uy bog'i uchun sug'orish moslamasini qanday qurishni ko'rsatib beradi. Tuproq namligi ko'rsatkichlarini o'lchash va agar tuproq juda quruq bo'lsa, bog 'kranidan sug'orishni faollashtirish. Nazoratchi shuningdek harorat va namlik sensori bilan jihozlangan. Agar harorat juda past bo'lsa, nazoratchi bog 'kranini faollashtirmaydi. Vizualizatsiya va tahlil qilish uchun ThingsBoard IOT -da datchik o'qishlari va suvdan foydalanish / ishlatish vaqti haqidagi statistik ma'lumotlar yoziladi. Agar sug'orish moslamasi ma'lumot uzatishni to'xtatsa, tuproq juda quruq yoki to'yingan bo'lsa, ogohlantirishlar va elektron pochta xabarlari yuboriladi.

Old shartlar

  • Arduino bilimlari, shu jumladan Arduino va lehim uchun hech bo'lmaganda asosiy kodlash.
  • 1x bosimli bog 'krani

Materiallar hisobi

  • Bog'ni sug'orish poli quvurlari, reaktivlar, tomchilar va boshqalar.
  • Ikki raqamli elektron tap -taymer (ya'ni: Aqua Systems elektron raqamli tegish taymeri)
  • Musluk bosimini pasaytiruvchi 300kpa
  • Arduino Uno
  • Lora Arduino qalqoni
  • Lora shlyuzi (agar sizda Things Network mahalliy shlyuzi bo'lsa, kerak emas)
  • DHT11 harorat namligi sensori
  • 5v o'rni
  • Telefon kabeli
  • Kabel aloqalari
  • Avtomobil bo'linadigan gofrirovka qilingan quvurlar
  • Avtomobil terminali ulagichlari
  • 2x galvanizli mixlar
  • 1x rezistor
  • Kremniy / kaliy
  • PVX tsement
  • PVX astar
  • Kengligi 32 mm x 60 mm bo'lgan PVX quvurlari
  • Kengligi 90 mm x 30 sm uzunlikdagi PVX quvur
  • 3x PVX tugmachalari 90 mm
  • 1x PVX vintli qopqoq 90 mm
  • 1x PVX tishli ulanish moslamasi 90 mm
  • 1x PVX tugmachalari 32 mm
  • 1x 3,2V quvvat manbai (tegish taymeri) [batareyalar, ko'p voltli AC adapteri]
  • 1x 6-12V quvvat manbai (arduino) [batareyalar, USB, USB to AC adapteri]
  • ip yopishtiruvchi lenta
  • elektr tasmasi

1 -qadam: Bog'ni sug'orishni o'rnating

Bog'ni sug'orishni o'rnatish
Bog'ni sug'orishni o'rnatish
Bog'ni sug'orishni o'rnatish
Bog'ni sug'orishni o'rnatish

Poli quvurlarni joylashtirish, mos keladigan reaktivlar, tomchilar va tomchilar. Sug'orish moslamasi har qanday sug'orish moslamasi bilan ishlaydi. Asosiysi, bu tuproq namligining ko'rsatkichlarini o'lchash va agar tuproq juda quruq bo'lsa, taymerni ishga tushirish. Tekshirish moslamasini to'yinganlikning past nuqtasini sozlash, kalibrlash taymeri qancha vaqt yoqilishi va nazoratchi to'yinganlikni qanchalik tez -tez tekshirib turish uchun sozlanishi mumkin.

Ushbu sozlamalarni arduino -da o'zgartirish va EPROM xotirasida saqlash mumkin. IOT integratsiyasi yordamida sozlamalar ham yangilanishi mumkin. Bu loyiha har to'rt soatda boshqaruvchini ishga tushiradi va agar tuproq juda quruq bo'lsa, 3 daqiqa davomida kranni ochadi. Agar u quruq/issiq bo'lsa yoki ketma -ket bir yoki ikki marta bo'lsa, u ketma -ket bir necha marta ishlashi mumkin.

2 -qadam: Tap Tap taymerini o'rnating

Fit Tap Taymer
Fit Tap Taymer

Vaqt taymerini joylashtiring va sug'orish uchun sizga eng mos keladigan chastota va ish vaqtini aniqlash uchun sozlanishi kadrlar bilan tajriba o'tkazing. Biz taymerni olib tashlaymiz va uni Arduino bilan ishlashga o'zgartiramiz.

3 -qadam: Arduino Build

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

Qurilish uchun qo'llanma sifatida simlar sxemasidan foydalaning. Fotosuratlarda telefon kabeli simlari va ulanish nuqtalari uchun vintli klemenslar ishlatilgan. Bir oz lehim kerak.

Taymerni o'zgartirish -ga teging

Taymerni ehtiyotkorlik bilan ajratib oling. Biz qo'lda terish o'rniga arduino tomonidan boshqariladigan ikkita sozlanishi terish moslamasini o'tkazamiz. Chap chastotali terish tugmasi asl holatiga qaytariladi, shuning uchun o'ng tugmani yoqish/o'chirish holatiga o'tkazish mumkin. O'ng tugmachada ko'rsatilgandek, markazning o'ng va tashqi o'ng kontaktlaridan bitta sim bo'ladi. Odatiy bo'lib, taymer o'chirilgan holatda bo'ladi. Agar ikkita sim bir -biriga tegsa, taymer yoqiladi. Ikki sim 5V o'rni bilan ulangan bo'lsa, arduino ikkita sim orasidagi kontaktni yopishi/ochishi mumkin. Bir sim umumiy röle terminalida, ikkinchisi odatda yopiq terminalda bo'lsa, biz arduino o'chirilganda taymerni o'chirilishini ta'minlaymiz. O'rnimizni PIN -kodini "YUKOR" ga o'rnatish taymerni yoqadi; LOW holatiga qo'yilsa, taymer o'chadi.

Tuproq probi

Ushbu loyiha uchun ikkita mix vintli terminallarga ulangan simga lehimlanadi. Bir tirnoqning terminali to'g'ridan -to'g'ri erga tushadi. Ikkinchisi esa arduino analog qarshiligiga va rezistorga ulanadi. Rezistor arduinos 5v signaliga ulanadi. Burilish diagrammasida ko'rsatilgan.

Harorat/namlik sensori

DHT11 Harorat/namlik sensori arduino 5V, topraklama va arduino raqamli piniga ulangan.

Lora qalqoni

Ushbu loyihada Dragino Lora qalqoni ham ishlatilgan (ulanish sxemasida ko'rsatilmagan).

PVX taglik

Ushbu loyihada ishlatiladigan arduino uchun PVX taglik, harorat va namlik sezgichi ochiq bo'lishi uchun mo'ljallangan bo'lib, boshqa barcha komponentlar suv o'tkazmaydigan PVX korpus ichida saqlanadi. Sensor uchun kichik teshik ochiladi/kesiladi va namlikni arduinoga etib borishini to'xtatish uchun uni ushlab turish uchun kremniy ishlatiladi. Diagrammada ko'rsatilgan.

4 -qadam: Arduino dasturlash

Arduino dasturlash
Arduino dasturlash

Komponentlarni dasturlash va sinash uchun non paneli yoki terminal chiziqlari orqali bir -biriga ulang

EPROM konfiguratsiyasi

Avval biz konfiguratsion o'zgaruvchilarni EPROM xotirasiga yozishimiz kerak. Arduino -da quyidagi kodni ishga tushiring:

Kod Github -da mavjud

Bu erda DRY_VALUE 960 ga o'rnatiladi. 1024 - bu tuproq to'liq qurigan, 0 to'liq to'yinganlikni bildiradi, 960 - rezistor, simi uzunligi va mixlar uchun yaxshi to'yinganlik darajasi edi. Bu sizning konfiguratsiyangizga qarab farq qilishi mumkin.

VALVE_OPEN 180000 milisekundga (3 daqiqa) o'rnatiladi. Qachon/agar taymer yoqilsa, u 3 daqiqa ochiq qoladi.

RUN_INTERVAL 14400000 milisaniyaga (4 soat) o'rnatiladi. Bu shuni anglatadiki, nazoratchi har to'rt soatda tuproq namligini tekshiradi va to'yinganlik past bo'lsa (960 dan katta) 3 minut davomida taymerni yoqadi.

Yuqoridagi kodni xohlagan vaqtda o'zgartirish mumkin va bu qiymatlarni o'zgartirish mumkin.

Dastur kodi

Kod Github -da mavjud

Bog'liqliklar:

  • Vaqtli harakat
  • Radio boshi

Bu misolda Dragino Lora qalqoni va xususan, Lora bir vaqtning o'zida qalqoni bilan to'g'ridan -to'g'ri Dragino Lora shlyuziga ulangan.

Bu Things Network -dan foydalanishga moslashtirilishi mumkin, "BEGIN: lora vars" bo'limidagi kodni olib tashlash va Dragino dasturini quyidagi dasturga o'zgartirish yoki boshqa radiolar/wifi qalqonlar bilan ishlashga moslashtirish.

Taqdim etilgan kod DHT11_PIN raqamli pin 4, RELAY_PIN raqamli 3 -pin va tuproq namligining analog pimi 0 analogli kirishni nazarda tutadi.

Nosozliklarni tuzatish o'zgaruvchisini rost qilib sozlash mumkin, shunda ketma -ket disk raskadrovka xabarlari 9600 tezlikda yoziladi.

5 -qadam: korpus tuzilishi

Qoplama qurilishi
Qoplama qurilishi

PVX trubkasini tap taymeriga va Arduino tagiga mos keladigan tarzda kesib oling. Kran taymeri va shlangni o'rnatish uchun burg'ulash teshiklari. Quvurda avtomobil trubkasi uchun etarli kenglikdagi teshiklarni burang, 10 sm uzunlikdagi quvurlarni teshiklarga o'tkazing va arduino va taymerdan simlarni uzing. Bunga quyidagilar kirishi kerak:

Arduino -dan

  • Arduino USB portidan quvvat simlari va/yoki usb kabeli.
  • Tuproq namligi kabellari (VCC, GND, A0)
  • NC va Common Relay vintli terminallaridan ikkita sim

Vaqt taymeridan

  • Elektr ta'minoti kabellari
  • O'ng terish kontaktlaridan ikkita sim

6 -qadam: Yelimlashdan oldin tekshirgichni tekshiring

Yelimlashdan oldin tekshirgich
Yelimlashdan oldin tekshirgich
Yelimlashdan oldin sinov tekshirgichi
Yelimlashdan oldin sinov tekshirgichi

Hammasini yopishdan oldin hamma narsa ishlayotganiga ishonch hosil qiling.

Yuqoridagi fotosuratlarda namlik o'lchagichi qozonga joylashtirilgan va musluğun taymeriga alkogolsiz ichimlik shishasidan keladigan suv o'rnatilgan, eskisidagi namuna moslamasi ko'rsatilgan.

Bir damlatgich kran taymeriga ulangan.

Bu sozlash zavodning ustida yoki suv ostida emasligini tekshirish uchun yaxshi usul edi.

Bu misol, tekshirgichni kalibrlash uchun kerak bo'lganda ishga tushirilishi mumkin.

7 -qadam: yopishtiruvchi / suv o'tkazmaydigan korpuslar

Yelim / suv o'tkazmaydigan korpuslar
Yelim / suv o'tkazmaydigan korpuslar

Qopqoqlarni yopishtirish uchun PVX astar va PVX tsementdan foydalaning.

Avtomatik quvur va taymer armaturalari atrofidagi bo'shliqlarni to'ldirish uchun kalta/silikondan foydalaning.

Bu erda kirish uchun arduino korpusida vintli qopqoq ishlatiladi.

8 -qadam: O'rnatish

O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish

Aniq kunda o'rnating. Yopishtirishdan oldin komponentlar va simlar quruq qolishi kerak.

Tekshirgichni bog 'kranining joylashgan joyi bilan tuproq probi joylashtiriladigan joy o'rtasida markazlashtirilgan joyga qo'ying.

Vaqt taymerini o'rnating va o'rnatish tugaguncha uning kuchsiz ekanligiga ishonch hosil qiling.

Tuproq probini joylashtiring.

Har bir komponentga chiziqli terminallarni ulang, so'ngra kabelning har bir komponentining vintli terminallaridan telefon kabelini yotqizib, kabel avtomatik o'tkazgich bilan yopilganligiga ishonch hosil qiling. Hamma narsani bir -biriga bog'lash

Barcha terminallarni va boshqa ochiq bo'laklarni ip bilan, so'ngra elektr tasmasi bilan mahkamlang.

Bo'lingan kanalning bo'shashgan/ochilgan joylarini ip bilan, so'ngra elektr tasmasi bilan mahkamlang.

Taymerni 3.2V quvvat manbaiga ulang. Batareya to'plami yoki 3.2V kuchlanishli tarmoq adapteri.

Arduino-ni 6-12 V kuchlanishli doimiy quvvat manbaiga ulang. Batareya to'plami yoki elektr manbaiga ulanadigan USB / DC-AC adapteri.

Quvvatlang va sinovdan o'ting!

9 -qadam: ThingsBoard integratsiyasi - monitoring va hisobot

ThingsBoard integratsiyasi - monitoring va hisobot
ThingsBoard integratsiyasi - monitoring va hisobot

Bu misolda Dragino Lora shlyuziga ulangan Dragino Lora qalqoni ishlatilgan. Bu sozlamadan foydalanilsin, boshqa Lora sozlamalari yoki boshqa IOT ulanishi bilan sug'orish moslamasi tomonidan to'plangan ma'lumotlar Thingsboard kabi IOT platformasiga yuborilishi mumkin. Odatiy bo'lib, dastur har bir belgi baytli kodlangan quyidagi ma'lumotlar qatorini uzatadi:

TXXXXXXXXXXXXRX

Bu erda T dan keyin harorat, H dan keyin namlik, S dan keyin to'yinganlik darajasi va R dan keyin oxirgi ish oralig'ida qanday harakat bajarilganligi bilan bog'liq bitta raqam keladi. Bu 0-5 bo'lishi mumkin, bu erda har bir raqam:

0: Dastur boshlanmoqda1: Harorat sensori ishlamayapti2: Harorat ishlamayapti juda past edi3: Tuproq namligi juda quruq, shuning uchun kran taymeri ishga tushdi4: Tuproq namligi yaxshi, shuning uchun kran taymeri yoqilmagan5: Sug'orish moslamasi o'chirilgan

Thingsboard -ning nusxasini o'z uskunangizga o'rnatishning bir necha yo'li bor yoki bu erda ThingsBoard -da bepul hisob qaydnomasini o'rnatishingiz mumkin.

Thingsboard -da qurilmangizni sozlang

Thingsboard -ga "Irrigation Controller" deb nomlangan yangi qurilma qo'shish uchun ushbu ko'rsatmalarga amal qiling.

Qurilmadan telemetriya ma'lumotlarini olish

MQTT, HTTP yoki CoAp orqali teleko'rsatuv ma'lumotlarini Thingboard -ga yuborish usulini o'rnatish uchun ushbu ko'rsatmalarga amal qiling.

Bizning serverimizda biz har to'rt soatda qurilma ishga tushirilganda (jonli ma'lumotlar bilan) quyidagi JSON -ni https://thingsboard.meansofproduction.tech/api/v1/… ga o'tkazamiz:

Shuningdek, biz quyidagi atributlarni vaqti -vaqti bilan https://thingsboard.meansofproduction.tech/api/v1/… saytiga o'tkazamiz va tugun oxirgi marta qachon ko'rilgani haqida ma'lumotga ega bo'lamiz:

Agar qurilma ma'lumot uzatishni to'xtatsa, bu ogohlantirishlar uchun ishlatiladi.

Boshqaruv panelini yarating

Bu erda tasvirlangan asboblar panelini yarating. Bizning vidjetlarimizga quyidagilar kiradi:

LastRunResult telemetriya maydonidan yaratilgan oddiy karta vidjeti. Haroratli telemetriya maydonining vertikal raqamli o'lchagichi LastRunResult telemetriya maydonidan oxirgi kunlar ma'lumotlarini ko'rsatadigan Timeseries jadvali. To'yinganlik telemetriya maydonini ko'rsatuvchi gorizontal chiziq. Bu ma'lumotlarni qayta ishlash funktsiyasidan foydalanadi:

1024 qiymatini qaytarish;

Va minimal va maksimal qiymatni 0-100 ga o'rnatadi. Shunday qilib, to'yinganlik darajasi foiz sifatida ifodalanishi mumkin. Namlik qiymatini ko'rsatish uchun ko'rsatma. O'tgan hafta uchun 5 soatlik davrlarga bo'lingan, maksimal qiymatlarni ko'rsatish uchun yig'ilgan vaqt, namlik va ish natijalarini o'z ichiga olgan vaqtli chiziqli jadval.. Bu bizga to'rt soatlik yugurish uchun bitta bar beradi. Ma'lumotni qayta ishlashdan keyingi funktsiya, suv oqayotganiga yoki yo'qligiga qarab, ish natijasini 0 yoki 120 deb ifodalash uchun ishlatiladi. Bu bir hafta ichida suvning qanchalik tez -tez oqishini ko'rish uchun vizual javob beradi. Bog'ning tasvirini ko'rsatadigan statik HTML -karta.

Elektron pochta orqali ogohlantirishlar

Biz sug'orish boshqaruvchisi uchun elektron pochta ogohlantirishlarini o'rnatish uchun qoidalardan foydalanganmiz. Hammasi xabarlar filtridan va "Pochta jo'natish" harakatining plaginidan foydalanadi.

Agar sug'orish moslamasi ma'lumotni yubora olmasa, elektron pochta orqali ogohlantirish yuborish uchun biz "Qurilma atributlari filtri" dan quyidagi filtr yordamida foydalanganmiz:

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

Agar tuproq juda quruq bo'lsa, elektron pochta xabarini yuborish uchun quyidagi Telemetriya filtridan foydalaning

to'yinganlik turi! = "aniqlanmagan" && to'yinganlik> 1010

Agar tuproq haddan tashqari nam bo'lsa, elektron pochta xabarini yuborish uchun quyidagi Telemetriya filtridan foydalaning

to'yinganlikning turi! = "aniqlanmagan" && to'yinganlik

Tavsiya: