Turinys:

„Pasidaryk pats“- automatinis sodo drėkinimas - („Arduino“/ IOT): 9 žingsniai (su nuotraukomis)
„Pasidaryk pats“- automatinis sodo drėkinimas - („Arduino“/ IOT): 9 žingsniai (su nuotraukomis)

Video: „Pasidaryk pats“- automatinis sodo drėkinimas - („Arduino“/ IOT): 9 žingsniai (su nuotraukomis)

Video: „Pasidaryk pats“- automatinis sodo drėkinimas - („Arduino“/ IOT): 9 žingsniai (su nuotraukomis)
Video: Parduodamas Panevėžio r. sav., Plukių k., Rėklių g., Sodo namas Aus290 2024, Liepa
Anonim
„Pasidaryk pats“- automatinis sodo drėkinimas - („Arduino“/ IOT)
„Pasidaryk pats“- automatinis sodo drėkinimas - („Arduino“/ IOT)
„Pasidaryk pats“- automatinis sodo drėkinimas - („Arduino“/ IOT)
„Pasidaryk pats“- automatinis sodo drėkinimas - („Arduino“/ IOT)
„Pasidaryk pats“- automatinis sodo drėkinimas - („Arduino“/ IOT)
„Pasidaryk pats“- automatinis sodo drėkinimas - („Arduino“/ IOT)

Šis projektas parodys, kaip sukurti sodo drėkinimo valdiklį. Gali išmatuoti dirvožemio drėgmės rodmenis ir suaktyvinti drėkinimą iš sodo čiaupo, jei dirva tampa per sausa. Valdiklyje taip pat yra temperatūros ir drėgmės jutiklis. Valdiklis neįjungs sodo čiaupo, jei temperatūra per žema. Jutiklių rodmenys ir statistika apie vandens naudojimą / veikimo laiką įrašomi į „ThingsBoard IOT“vizualizavimui ir analizei. Įspėjimai ir el. Laiškai suaktyvinami, jei drėkinimo valdiklis nustoja perduoti duomenis, dirvožemis tampa per sausas arba per daug prisotintas.

Būtinos sąlygos

  • „Arduino“žinios, įskaitant bent pagrindinį „Arduino“kodavimą ir litavimą.
  • 1x suslėgtas sodo čiaupas

Sąmata

  • Sodo drėkinimo poli vamzdis, purkštukai, lašintuvai ir kt.
  • Dviejų ratų elektroninis bakstelėjimo laikmatis (ty: „Aqua Systems“elektroninis skaitmeninis bakstelėjimo laikmatis)
  • Krano slėgio reduktorius 300kpa
  • Arduino Uno
  • Lora Arduino skydas
  • „Lora Gateway“(nereikalingas, jei turite vietinį daiktų tinklo šliuzą)
  • DHT11 temperatūros drėgmės jutiklis
  • 5v relė
  • Telefono kabelis
  • Kabeliai
  • Automobilių padalintas gofruotas vamzdis
  • Automobilių terminalų jungčių juostos
  • 2x cinkuotos vinys
  • 1x rezistorius
  • Silicis / sandariklis
  • PVC cementas
  • PVC gruntas
  • PVC vamzdis 32 mm pločio x 60 mm ilgio
  • PVC vamzdis 90 mm pločio x 30 cm ilgio
  • 3x PVC stumiamieji gaubteliai 90 mm
  • 1x PVC užsukamas galinis dangtelis 90 mm
  • 1x PVC srieginis įdėklas 90 mm
  • 1x PVC stumiamieji gaubteliai 32 mm
  • 1x 3,2 V maitinimo šaltinis (bakstelėjimo laikmatis) [baterijos, kintamosios srovės adapteris]
  • 1x 6-12V maitinimo šaltinis (arduino) [baterijos, USB, USB į kintamosios srovės adapterį]
  • sriegio sandarinimo juosta
  • izoliacinė juosta

1 žingsnis: sumontuokite sodo drėkinimą

Įdiekite sodo drėkinimą
Įdiekite sodo drėkinimą
Įdiekite sodo drėkinimą
Įdiekite sodo drėkinimą

Išdėstykite poli vamzdį, pritaikykite purkštukus, lašintuvo linijas ir lašintuvus. Drėkinimo valdiklis veiks su bet kokiu drėkinimo įrenginiu. Jo esmė - dirvožemio drėgmės rodmenų matavimas ir čiaupo laikmačio įjungimas, jei dirvožemis yra per sausas. Valdiklį galima kalibruoti, kad būtų nustatytas žemiausias soties taškas, kiek laiko turėtų būti įjungtas bakstelėjimo laikmatis ir kaip dažnai valdiklis turėtų tikrinti sodrumą.

Šiuos nustatymus galima pakeisti „arduino“ir išsaugoti EPROM atmintyje. Nustatymus taip pat galima atnaujinti naudojant IOT integraciją. Šis projektas valdiklį valdys kas keturias valandas ir, jei dirva per sausa, 3 minutes užsukite čiaupą. Jis gali veikti kelis kartus iš eilės, jei sausas/karštas, arba vieną kartą per dieną ar dvi.

2 veiksmas: pritaikykite bakstelėjimo laikmatį

„Fit Tap Timer“
„Fit Tap Timer“

Įdiekite čiaupo laikmatį ir eksperimentuokite su reguliuojamais ratukais, kad nustatytumėte apytikslį dažnį ir veikimo laiką, kuris geriausiai tinka jūsų laistymui. Mes pašalinsime laikmatį ir pakeisime jį, kad jis veiktų su „Arduino“.

3 žingsnis: „Arduino“kūrimas

„Arduino Build“
„Arduino Build“
„Arduino Build“
„Arduino Build“
„Arduino Build“
„Arduino Build“
„Arduino Build“
„Arduino Build“

Naudokite elektros instaliacijos schemą kaip vadovą statymui. Nuotraukose buvo naudojamas telefono kabelio laidas ir jungiamųjų taškų varžtų gnybtų juostos. Reikalingas tam tikras litavimas.

Palieskite Laikmačio keitimas

Atsargiai išardykite čiaupo laikmatį. Mes tvirtai sujungsime du reguliuojamus ratukus, kad juos galėtų valdyti „arduino“, o ne rankiniai ratukai. Kairysis dažnio ratukas bus tvirtai prijungtas prie atstatymo padėties, kad dešinįjį ratuką būtų galima perjungti iš įjungimo/išjungimo padėties. Dešiniajame ratuke bus vienas laidas, einantis iš centrinio dešiniojo kontakto ir išorinio dešiniojo kontakto, kaip parodyta. Pagal numatytuosius nustatymus laikmatis bus išjungtoje padėtyje. Jei du laidai liečiasi, laikmatis įsijungs. Kai du laidai prijungti prie 5 V relės, arduino gali uždaryti/atidaryti kontaktą tarp dviejų laidų. Kai vienas laidas yra bendrame relės terminale, o kitas - įprastai uždarytame gnybte, mes užtikrinsime, kad laikmatis būtų išjungtas, kai arduino yra išjungtas. Nustatę relės kaištį į AUKŠTĄ, įjungsite laikmatį; nustačius LOW, laikmatis bus išjungtas.

Dirvožemio zondas

Šiam projektui du vinys yra lituojami prie vielos, prijungtos prie varžtų gnybtų. Vieno nago gnybtas eina tiesiai į žemę. Kitas jungiamas prie analoginio įėjimo arduino ir rezistoriaus. Rezistorius jungiasi prie arduinos 5v signalo. Parodyta gręžimo diagramoje.

Temperatūros/drėgmės jutiklis

DHT11 temperatūros/drėgmės jutiklis prijungtas prie „arduino“5 V įtampos, įžeminimo ir skaitmeninio kaiščio ant arduino.

Lora skydas

Šiame projekte taip pat buvo naudojamas „Dragino Lora Shield“(nerodomas elektros instaliacijos schemoje).

PVC pagrindas

Šiame projekte naudojama arduino PVC bazė buvo suprojektuota taip, kad temperatūros/drėgmės jutiklis būtų veikiamas, o visi kiti komponentai būtų apsaugoti vandeniui nepralaidžiame PVC korpuse. Jutikliui išgręžiama/iškirpiama maža skylė, o silicis naudojamas jo laikymui, neleidžiant drėgmei pasiekti arduino. Parodyta diagramoje.

4 žingsnis: „Arduino“programavimas

Arduino programavimas
Arduino programavimas

Programavimui ir bandymui prijunkite komponentus per duonos lentą arba gnybtų juostas

EPROM konfigūracija

Pirmiausia turime įrašyti konfigūracijos kintamuosius į EPROM atmintį. „Arduino“paleiskite šį kodą:

Kodą galima rasti „Github“

Čia DRY_VALUE nustatyta 960. 1024 reiškia, kad dirva yra visiškai sausa, 0 reiškia visišką prisotinimą, 960 buvo geras prisotinimo lygis rezistoriui, kabelio ilgiui ir naudojamoms vinys. Tai gali skirtis priklausomai nuo jūsų konfigūracijos.

VALVE_OPEN nustatytas 180000 milisekundžių (3 minutės). Kai įjungtas bakstelėjimo laikmatis, jis bus atidarytas 3 minutėms.

RUN_INTERVAL nustatytas 144 000 000 milisekundžių (4 valandos). Tai reiškia, kad valdiklis tikrins dirvožemio drėgmę kas keturias valandas ir įjungs čiaupo laikmatį 3 minutėms, jei prisotinimas yra mažas (didesnis nei 960).

Aukščiau pateiktą kodą galima bet kada pakeisti ir šias reikšmes keisti.

Programos kodas

Kodą galima rasti „Github“

Priklausomybės:

  • „TimedAction“
  • Radijo vadovas

Šiame pavyzdyje buvo naudojamas „Dragino Lora“skydas ir konkrečiai „Lora“pavyzdys, kai skydas buvo tiesiogiai prijungtas prie „Dragino Lora Gateway“.

Tai gali būti pritaikyta naudoti daiktų tinklą, pašalinus kodą, esantį skyriuje „BEGIN: lora vars“, ir pakeitus programą, kad būtų įtrauktas šis „Dragino“pavyzdys, arba pritaikyta dirbti su kitais radijo imtuvais/„Wi -Fi“ekranais ir pan.

Pateiktas kodas reiškia, kad DHT11_PIN yra 4 skaitmeninis kaištis, RELAY_PIN yra 3 skaitmeninis kaištis, o dirvožemio drėgmės analoginis kaištis yra analoginis įėjimas 0.

Derinimo kintamąjį galima nustatyti į „true“, kad būtų galima registruoti serijos derinimo pranešimus 9600 baudos greičiu.

5 žingsnis: gaubto kūrimas

Korpuso konstrukcija
Korpuso konstrukcija

Nupjaukite PVC vamzdį, kad jis atitiktų čiaupo laikmatį ir „Arduino“pagrindą. Gręžkite skylutes čiaupo laikmačio čiaupui ir žarnos tvirtinimui. Išgręžkite vamzdyje pakankamai plačias skylutes automobilių vamzdžiui, įkiškite 10 cm ilgio vamzdžius į skyles ir ištraukite laidus iš arduino ir čiaupo laikmačio. Tai turėtų apimti:

Iš Arduino

  • Maitinimo laidai ir (arba) USB kabelis iš „arduino“USB prievado.
  • Dirvožemio drėgmės kabeliai (VCC, GND, A0)
  • Du laidai iš relės NC ir bendrųjų varžtų gnybtų

Iš čiaupo laikmačio

  • Maitinimo kabeliai
  • Du laidai iš dešiniojo ratuko kontaktų

6 veiksmas: prieš klijuodami patikrinkite valdiklį

Prieš klijuodami patikrinkite valdiklį
Prieš klijuodami patikrinkite valdiklį
Prieš klijuodami patikrinkite valdiklį
Prieš klijuodami patikrinkite valdiklį

Prieš sandarindami viską, įsitikinkite, kad viskas veikia.

Aukščiau esančiose nuotraukose parodyta mėginio sąranka eske, kur dirvožemio drėgmės zondas buvo įdėtas į puodą, o čiaupo laikmatis buvo aprūpintas vandeniu iš gaiviųjų gėrimų butelio.

Vienas lašintuvas buvo pritvirtintas prie čiaupo laikmačio.

Tai buvo geras būdas patikrinti, ar įrenginys nebuvo perpildytas ar po vandeniu.

Šis pavyzdys gali būti rodomas tiek laiko, kiek reikia valdikliui kalibruoti.

7 žingsnis: Klijai / vandeniui atsparūs gaubtai

Klijai / vandeniui atsparūs gaubtai
Klijai / vandeniui atsparūs gaubtai

Galiniams dangteliams ir movai pritvirtinti naudokite PVC gruntą ir PVC cementą.

Naudokite sandariklį/silicį, kad užpildytumėte visas spragas aplink automatinį vamzdį ir čiaupo laikmatį.

Čia prieinamumui prie arduino gaubto naudojamas užsukamas galinis dangtelis.

8 veiksmas: įdiekite

Diegti
Diegti
Diegti
Diegti
Diegti
Diegti

Įdiekite aiškią dieną. Prieš užsandarindami komponentus ir laidus, jie turi likti sausi.

Pastatykite valdiklį viduryje tarp sodo čiaupo ir dirvos zondo.

Įdėkite čiaupo laikmatį ir įsitikinkite, kad jis yra neįjungtas, kol diegimas bus baigtas.

Įdėkite dirvožemio zondą.

Prie kiekvieno komponento pritvirtinkite juostelės gnybtus, tada iš kiekvieno komponento varžtų gnybtų nutieskite telefono laidą ir įsitikinkite, kad kabelis yra uždengtas automatiniu vamzdžiu. Viską sujungti

Uždenkite visus gnybtus ir visas kitas atviras dalis sriegine sandarinimo juosta, tada - elektros juosta.

Uždenkite visas laisvas/atviras skilimo vamzdžio vietas sriegine sandarinimo juosta, tada - elektros juosta.

Prijunkite laikmatį prie 3,2 V maitinimo šaltinio. Akumuliatorių arba prie 3,2 V nuolatinės srovės kintamosios srovės adapterio, jungiančio į elektros lizdą.

Prijunkite „Arduino“prie 6–12 V nuolatinės srovės šaltinio. Akumuliatorių arba USB / DC-AC adapterį, jungiantį prie elektros lizdo.

Įjunkite ir išbandykite!

9 žingsnis: „ThingsBoard“integracija - stebėjimas ir ataskaitų teikimas

„ThingsBoard“integracija - stebėjimas ir ataskaitų teikimas
„ThingsBoard“integracija - stebėjimas ir ataskaitų teikimas

Šiame pavyzdyje buvo naudojamas „Dragino Lora Shield“, prijungtas prie „Dragino Lora Gateway“. Naudojant šią sąranką, kitą „Lora“sąranką ar bet kokį kitą IOT ryšį, drėkinimo valdiklio surinkti duomenys gali būti persiųsti į IOT platformą, pvz., „Thingsboard“. Pagal numatytuosius nustatymus programa perduoda šią duomenų eilutę, kurioje kiekvienas simbolių baitas yra koduotas šešioliktaine:

TXXXHXXXSXXXXRX

Kai po T yra temperatūra, po H - drėgmė, po S - prisotinimo lygis, o po R - vienas skaitmuo, nurodantis, kokį veiksmą jis atliko paskutinio paleidimo intervalu. Tai gali būti 0–5, kur kiekvienas skaitmuo reiškia:

0: programa inicijuojama

Yra keletas būdų, kaip įdiegti „Thingsboard“kopiją savo įrangoje, arba galite sukurti nemokamą paskyrą mūsų „ThingsBoard“diegimui čia.

Nustatykite savo įrenginį „Thingsboard“

Vykdykite šias instrukcijas ir pridėkite naują įrenginį „Thingsboard“, pavadindami jį „drėkinimo valdikliu“.

Siųskite telemetrijos duomenis iš įrenginio

Vykdykite šias instrukcijas, kad nustatytumėte telemetrijos duomenų perkėlimo iš įrenginio į „Thingboard“metodą per MQTT, HTTP arba „CoAp“.

Savo serveryje mes siunčiame šį JSON į https://thingsboard.meansofproduction.tech/api/v1/… kas keturias valandas, kai įrenginys paleidžiamas (su tiesioginiais duomenimis):

Be to, mes periodiškai siunčiame šiuos atributus į https://thingsboard.meansofproduction.tech/api/v1/… su duomenimis apie tai, kada paskutinį kartą matytas mazgas:

Tai naudojama įspėjimams, kurie suaktyvinami, jei įrenginys nustoja perduoti duomenis.

Sukurkite informacijos suvestinę

Sukurkite prietaisų skydelį, kaip aprašyta čia. Mūsų valdikliai apima:

Paprastas kortelės valdiklis, sukurtas iš telemetrijos lauko „lastRunResult“. Vertikalus skaitmeninis temperatūros telemetrijos lauko taškas „Timeseries“lentelė, sukurta iš telemetrijos lauko „lastRunResult“, rodanti paskutinių dienų duomenis. Horizontali juosta, rodanti sodrumo telemetrijos lauką. Tam naudojama duomenų apdorojimo funkcija:

grąžinti 1024 vertę;

Ir nustato mažiausią ir didžiausią vertę 0-100. Tokiu būdu prisotinimo lygis gali būti išreikštas procentais. Paveikslėlis, rodantis drėgmės vertę. Laiko eilučių juostinė diagrama, apimanti temperatūrą, drėgmę ir važiavimo rezultatą, sugrupuotą į 5 valandų laikotarpius paskutinę savaitę, apibendrinta, kad būtų rodomos didžiausios vertės. Tai suteikia mums vieną juostą keturių valandų bėgimui. Duomenų apdorojimo funkcija naudojama išreikšti bėgimo rezultatą kaip 0 arba 120, atsižvelgiant į tai, ar vanduo buvo paleistas, ar ne. Tai suteikia lengvą vizualinį grįžtamąjį ryšį, kad pamatytumėte, kaip dažnai vanduo bėga per savaitę. Statiška HTML kortelė, kurioje rodomas sodo vaizdas.

Įspėjimai el. Paštu

Mes naudojome taisykles, kad nustatytume laistymo valdiklio įspėjimus el. Paštu. Visi naudoja pranešimų filtrus ir el. Pašto siuntimo veiksmo papildinio veiksmą.

Jei norite išsiųsti įspėjimą el. Paštu, jei drėkinimo valdiklis nesiunčia duomenų, naudojome „Įrenginio atributų filtrą“su šiuo filtru:

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

Jei norite išsiųsti el. Laišką, jei dirva tampa per sausa, naudokite šį telemetrijos filtrą

1010

Norėdami išsiųsti el. Laišką, jei dirvožemis tampa per drėgnas, naudokite šį telemetrijos filtrą

typeof prisotinimo! = "undefined" && sodrumas

Rekomenduojamas: