Sadržaj:

Uradi sam - Automatsko navodnjavanje vrta - (Arduino / IOT): 9 koraka (sa slikama)
Uradi sam - Automatsko navodnjavanje vrta - (Arduino / IOT): 9 koraka (sa slikama)

Video: Uradi sam - Automatsko navodnjavanje vrta - (Arduino / IOT): 9 koraka (sa slikama)

Video: Uradi sam - Automatsko navodnjavanje vrta - (Arduino / IOT): 9 koraka (sa slikama)
Video: Объяснение прошивки Marlin 2.0.x 2024, Novembar
Anonim
Uradi sam - Automatsko navodnjavanje vrta - (Arduino / IOT)
Uradi sam - Automatsko navodnjavanje vrta - (Arduino / IOT)
Uradi sam - Automatsko navodnjavanje vrta - (Arduino / IOT)
Uradi sam - Automatsko navodnjavanje vrta - (Arduino / IOT)
Uradi sam - Automatsko navodnjavanje vrta - (Arduino / IOT)
Uradi sam - Automatsko navodnjavanje vrta - (Arduino / IOT)

Ovaj će vam projekt pokazati kako izgraditi kontroler za navodnjavanje za kućni vrt. Sposoban je mjeriti očitanja vlažnosti tla i aktivirati navodnjavanje iz vrtne slavine ako se tlo previše osuši. Regulator takođe uključuje senzor temperature i vlažnosti. Regulator neće aktivirati vrtnu slavinu ako je temperatura preniska. Očitavanja senzora i statistika o potrošnji vode / vremenu rada bilježe se na ThingsBoard IOT radi vizualizacije i analize. Upozorenja i e -poruke se aktiviraju ako kontroler navodnjavanja prestane prenositi podatke, tlo postane previše suho ili previše zasićeno.

Preduslovi

  • Arduino znanje, uključujući barem osnovno kodiranje za Arduino i lemljenje.
  • 1x vrtna slavina pod pritiskom

Bill Of Materials

  • Poli cijevi za navodnjavanje vrta, mlaznice, kapaljke itd.
  • Elektronski mjerač dodira s dva biranja (npr. Aqua Systems Elektronički digitalni mjerač dodira)
  • Reduktor pritiska slavine 300kpa
  • Arduino Uno
  • Štit Lora Arduino
  • Lora Gateway (Nije potrebno ako u dometu imate pristupnik lokalne mreže stvari)
  • DHT11 Senzor temperature i vlažnosti
  • 5v relej
  • Telefonski kabl
  • Kabelske vezice
  • Automobilske Split valovite cijevi
  • Priključne trake za automobile
  • 2x pocinkovani ekser
  • 1x otpornik
  • Silikon / Zaptivanje
  • PVC cement
  • PVC Primer
  • PVC cijev širine 32 mm x dužine 60 mm
  • PVC cijev širine 90 mm x dužine 30 cm
  • 3x PVC zatvarači 90mm
  • 1x PVC zavrtanj na zavrtanj 90mm
  • 1x PVC umetak sa navojem 90 mm
  • 1x PVC zatvarači 32mm
  • 1x izvor napajanja od 3,2 V (mjerač vremena) [baterije, višenaponski adapter naizmjenične struje]
  • 1x izvor napajanja 6-12V (arduino) [baterije, USB, USB na AC adapter]
  • zaptivna traka sa navojem
  • električna traka

Korak 1: Instalirajte navodnjavanje vrta

Instalirajte navodnjavanje vrta
Instalirajte navodnjavanje vrta
Instalirajte navodnjavanje vrta
Instalirajte navodnjavanje vrta

Rasporedite poli cijevi, postavite mlaznice, vodovodne kapaljke i kapalice. Kontroler za navodnjavanje će raditi s bilo kojim navodnjavanjem. U svojoj srži, on mjeri očitanja vlažnosti tla i aktivira mjerač vremena kada je tlo previše suho. Kontroler se može kalibrirati kako bi se postavila niska tačka zasićenja, koliko dugo bi trebao biti uključen mjerač vremena dodira i koliko često bi kontroler trebao provjeravati zasićenje.

Ove postavke se mogu promijeniti na arduinu i pohraniti u EPROM memoriju. Postavke se također mogu ažurirati IOT integracijom. Ovaj projekt će pokretati kontroler svaka četiri sata i uključivat će slavinu na 3 minute ako je tlo previše suho. Može se pokrenuti nekoliko puta zaredom ako je suho/vruće ili jednom dnevno ili dva.

Korak 2: Uklopite mjerač vremena dodira

Fit Time Timer
Fit Time Timer

Postavite mjerač vremena za slavinu i eksperimentirajte s podesivim brojčanicima kako biste utvrdili grubu frekvenciju i vrijeme rada koje najbolje odgovara vašim instalacijama za navodnjavanje. Uklonit ćemo tajmer i promijeniti ga da radi s Arduinom.

Korak 3: Arduino Build

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

Koristite dijagram ožičenja kao vodič za izgradnju. Na fotografijama je korišteno ožičenje telefonskog kabela i vijčani stezaljke za spojne točke. Potrebno je malo lemljenja.

Dodirnite Izmjena tajmera

Pažljivo rastavite mjerač vremena za slavinu. Bit ćemo teško spojiti dva podesiva brojača tako da ih može upravljati arduino umjesto ručnih točkića. Lijevi brojčanik će biti čvrsto spojen na položaj za resetiranje tako da se desni brojčanik može prebacivati između položaja za uključivanje/isključivanje. Desni brojčanik će imati jednu žicu koja dolazi od središnjeg desnog kontakta i vanjskog desnog kontakta, kao što je prikazano. Tajmer će prema zadanim postavkama biti u isključenom položaju. Ako dvije žice dođu u dodir, mjerač vremena će se uključiti. S dvije žice spojene na relej od 5 V, arduino tada može zatvoriti/otvoriti kontakt između dvije žice. S jednom žicom u zajedničkom relejnom terminalu, a drugom u normalno zatvorenom terminalu, osigurat ćemo da se mjerač vremena isključi kada je arduino isključen. Postavljanjem relejnog pina na HIGH uključit će se mjerač vremena; postavljanjem na LOW isključit ćete mjerač vremena.

Sond Sonda

Za ovaj projekt dva eksera su lemljena na žicu spojenu na vijčane stezaljke. Jedan terminal eksera ide ravno u zemlju. Drugi se povezuje na analogni ulaz u arduinu i otpornik. Otpornik se spaja na arduinos 5v signal. Prikazano na dijagramu ožičenja.

Senzor temperature/vlažnosti

Senzor temperature/vlažnosti DHT11 spojen je na arduino 5V, masu i digitalni pin na arduinu.

Lora štit

Ovaj projekt je također koristio Dragino Lora Shield (nije prikazan na dijagramu ožičenja).

PVC baza

PVC baza za arduino koja se koristi u ovom projektu dizajnirana je tako da senzor temperature/vlažnosti može biti izložen, a da sve ostale komponente budu pričvršćene unutar vodootpornog PVC kućišta. Izbušena je/izrezana mala rupa za senzor, a silikon se koristi za držanje na mjestu dok sprječava vlagu da dođe do arduina. Prikazano na dijagramu.

Korak 4: Arduino programiranje

Arduino programiranje
Arduino programiranje

Spojite komponente zajedno putem matične ploče ili priključnih traka za programiranje i testiranje

EPROM konfiguracija

Prvo moramo upisati konfiguracijske varijable u EPROM memoriju. Pokrenite sljedeći kôd na svom arduinu:

Kod dostupan na Githubu

Ovdje je DRY_VALUE postavljen na 960. 1024 znači da je tlo potpuno suho, 0 znači potpuno zasićenje, 960 je bio dobar nivo zasićenja za otpornik, dužinu kabela i nokte. To može varirati ovisno o vašoj konfiguraciji.

VALVE_OPEN je postavljen na 180000 milisekundi (3 minute). Kada je/ako je uključen mjerač vremena, ostat će otvoren 3 minute.

RUN_INTERVAL je postavljen na 14400000 milisekundi (4 sata). To znači da će regulator provjeravati vlažnost tla svaka četiri sata i uključivati mjerač vremena na 3 minute ako je zasićenje nisko (veće od 960).

Gornji kôd se može promijeniti i te vrijednosti izmijeniti u bilo kojem trenutku.

Programski kod

Kod dostupan na Githubu

Zavisnosti:

  • TimedAction
  • Radio Head

U ovom primjeru korišten je Dragino Lora štit, a posebno Lora istovremeni primjer sa štitom koji se povezuje direktno na Dragino Lora Gateway.

Ovo se može prilagoditi za korištenje mreže Things uklanjanjem koda u odjeljku "POČNI: lora vars" i promjenom programa tako da uključi sljedeći primjer Dragino ili prilagođeno za rad s drugim radijima/wifi štitnicima itd.

Isporučeni kod pretpostavlja da je DHT11_PIN digitalni pin 4, RELAY_PIN je digitalni pin 3, a analogni pin za vlagu tla analogni ulaz 0.

Varijabla za otklanjanje grešaka može se postaviti na true tako da se serijske poruke za otklanjanje grešaka mogu evidentirati na brzini prijenosa 9600.

Korak 5: Izrada kućišta

Izgradnja kućišta
Izgradnja kućišta

Izrežite PVC cijev tako da odgovara odbrojavanju vremena i Arduino bazi. Izbušite rupe za slavinu i spoj crijeva s mjeračem vremena slavine. Izbušite rupe u cijevi dovoljno široke za automobilski cjevovod, uvucite 10 cm dužine cijevi u rupe i istrgnite žice iz arduina i mjerača vremena za slavinu. To bi trebalo uključivati:

Sa Arduina

  • Žice za napajanje i/ili USB kabel s arduino USB priključka.
  • Kablovi za vlagu tla (VCC, GND, A0)
  • Dvije žice iz NC i Common vijčanih stezaljki releja

Sa mjerača vremena dodira

  • Kablovi za napajanje
  • Dve žice sa desnih kontakata za biranje

Korak 6: Ispitajte kontroler prije lijepljenja

Ispitni kontroler prije lijepljenja
Ispitni kontroler prije lijepljenja
Ispitni kontroler prije lijepljenja
Ispitni kontroler prije lijepljenja

Uvjerite se da sve još radi prije nego što sve zatvorite.

Gore navedene fotografije prikazuju uzorak postavljen u eskiju gdje je sonda za vlagu tla stavljena u lonac, a mjerač vremena za slavinu opremljen vodom iz boce bezalkoholnog pića.

Jedna kapaljka je bila pričvršćena na mjerač vremena slavine.

Ovo je bio dobar način da se provjeri da postrojenje nije prešlo ili pod vodom biljku.

Ovaj primjer se može izvoditi onoliko dugo koliko je potrebno za kalibriranje kontrolera.

Korak 7: Ljepila / vodootporna kućišta

Ljepila / vodootporna kućišta
Ljepila / vodootporna kućišta

Za pričvršćivanje završnih kapica i spojnica upotrijebite PVC temeljni premaz i PVC cement.

Upotrijebite brtvilo/silikon da popunite sve praznine oko automatskog vodova i armature mjerača vremena slavine.

Ovdje se za pristupačnost koristi armaturno kućište s navojnim poklopcem.

Korak 8: Instalirajte

Instaliraj
Instaliraj
Instaliraj
Instaliraj
Instaliraj
Instaliraj

Instalirajte na vedar dan. Komponente i žice moraju ostati suhi prije nego što se zapečate.

Regulator postavite negdje u središte između mjesta gdje se nalazi vrtna slavina i mjesta na kojem će biti postavljena sonda za tlo.

Postavite mjerač vremena slavine i provjerite je li bez napajanja dok instalacija ne završi.

Postavite sondu za tlo.

Pričvrstite stezaljke na svaku komponentu, a zatim položite telefonski kabel sa vijčanih terminala svake komponente pazeći da je kabel prekriven automatskim vodovima. Povezujući sve zajedno

Zatvorite sve stezaljke i sve ostale izložene dijelove trakom za zaptivanje navoja, a zatim električnom trakom.

Zatvorite sva labava/izložena područja rascijepljenog cijevi trakom za zaptivanje navoja, a zatim električnom trakom.

Uključite mjerač vremena na izvor napajanja od 3,2 V. Ili bateriju ili na 3,2 V DC - AC adapter koji radi na električnu utičnicu.

Spojite Arduino na izvor napajanja 6-12V DC. Ili bateriju ili USB / DC-AC adapter priključen na električnu utičnicu.

Uključite i testirajte!

Korak 9: Integracija ThingsBoarda - praćenje i izvještavanje

ThingsBoard Integration - Monitoring and Reporting
ThingsBoard Integration - Monitoring and Reporting

U ovom primjeru korišten je Dragino Lora Shield povezan sa Dragino Lora Gateway -om. Bez obzira koristite li ovo podešavanje, drugu postavku Lore ili bilo koju drugu IOT vezu, podaci koje prikupi kontroler za navodnjavanje mogu se proslijediti na IOT platformu poput Thingsboarda. Prema zadanim postavkama, program prenosi sljedeći niz podataka gdje je svaki bajt znakova heksadecimalno kodiran:

TXXXHXXXSXXXXRX

Tamo gdje T slijedi temperatura, H slijedi vlažnost, S slijedi nivo zasićenja i R slijedi jedna znamenka koja se odnosi na to koju je radnju izvršila u zadnjem intervalu rada. Ovo može biti 0-5 gdje svaka znamenka znači:

0: Program se pokreće1: Greška osjetnika temperature2: Temperatura je bila preniska za pokretanje3: Vlaga u tlu suviše suha pa je aktiviran mjerač vremena slavine4: Vlaga u tlu dobra pa mjerač vremena za aktiviranje slavine nije aktiviran5: Regulator navodnjavanja je deaktiviran

Postoji nekoliko načina za instaliranje kopije Thingsboarda na vlastitu opremu ili ovdje možete postaviti besplatni račun na našoj instalaciji ThingsBoarda.

Postavite svoj uređaj na Thingsboard

Slijedite ove upute za dodavanje novog uređaja u Thingsboard pod nazivom "Kontroler navodnjavanja".

Pošaljite telemetrijske podatke s uređaja

Slijedite ove upute za postavljanje metode slanja podataka telemetrije sa uređaja na Thingboard putem MQTT -a, HTTP -a ili CoAp -a.

Na našem serveru šaljemo sljedeći JSON na https://thingsboard.meansofproduction.tech/api/v1/… svaka četiri sata dok je uređaj pokrenut (sa podacima uživo):

Također, periodično šaljemo sljedeće atribute na https://thingsboard.meansofproduction.tech/api/v1/… sa podacima o tome kada je čvor zadnji put viđen:

Ovo se koristi za upozorenja koja se aktiviraju ako uređaj prestane prenositi podatke.

Kreirajte nadzornu ploču

Kreirajte nadzornu ploču kako je ovdje opisano. Naši widgeti uključuju:

Jednostavan widget za karticu kreiran iz telemetrijskog polja lastRunResult. Vertikalni digitalni mjerač za polje telemetrije temperatureTablica vremenskih serija stvorena od polja telemetrije lastRunResult koja prikazuje podatke posljednjih dana. Horizontalna traka koja prikazuje polje telemetrije zasićenja. Ovo koristi funkciju naknadne obrade podataka:

return 1024-vrijednost;

I postavlja minimalnu i maksimalnu vrijednost 0-100. Na ovaj način se nivo zasićenja može izraziti kao postotak. Mjerilo za prikaz vrijednosti vlažnosti. Trakasti grafikon vremenske serije koji uključuje temperaturu, vlažnost i rezultat rada, grupiran u razdoblja od 5 sati za prošlu sedmicu, agregiran za prikaz maksimalnih vrijednosti. To nam daje jednu traku za četvorosatni događaj. Funkcija naknadne obrade podataka koristi se za izražavanje rezultata rada kao 0 ili 120, ovisno o tome je li voda puštena ili ne. To daje laku vizuelnu povratnu informaciju da biste vidjeli koliko često voda teče u toku jedne sedmice. Statička HTML kartica koja prikazuje sliku vrta.

Upozorenja putem e -pošte

Koristili smo pravila za postavljanje upozorenja putem e -pošte za kontroler navodnjavanja. Svi koriste filtere za poruke i Akciju za dodavanje radnje slanja pošte.

Za slanje upozorenja e -poštom ako kontroler navodnjavanja ne pošalje podatke koristili smo 'Filter atributa uređaja' sa sljedećim filterom:

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

Za slanje e -pošte ako se tlo previše osuši koristite sljedeći Telemetrijski filter

typeof saturation! = "undefined" && saturation> 1010

Za slanje e -pošte na osnovu ako zemlja postane previše vlažna, koristite sljedeći Telemetrijski filter

typeof saturation! = "undefined" && saturation

Preporučuje se: