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, Studeni
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 regulator 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đer 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 aktiviraju se ako kontroler navodnjavanja prestane slati podatke, tlo postane presuho ili previše zasićeno.

Preduvjeti

  • 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.
  • Elektronički mjerač vremena za dodirivanje s dva biranja (tj. Elektronički digitalni mjerač dodira Aqua Systems)
  • Reduktor pritiska slavine 300kpa
  • Arduino Uno
  • Štit Lora Arduino
  • Lora Gateway (Nije potrebno ako imate u dometu pristupnik lokalne mreže stvari)
  • DHT11 Senzor temperature i vlažnosti
  • 5V relej
  • Telefonski kabel
  • Kabelske veze
  • Automobilske splitske valovite cijevi
  • Priključne trake za automobile
  • 2x pocinčani čavli
  • 1x otpornik
  • Silicij / brtvilo
  • PVC cement
  • PVC Primer
  • PVC cijev širine 32 mm x duljine 60 mm
  • PVC cijev širine 90 mm x duljine 30 cm
  • 3x PVC zatvarači 90mm
  • 1x završni čep od PVC vijaka 90 mm
  • 1x PVC umetak sa navojem 90 mm
  • 1x PVC završne kape 32 mm
  • 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]
  • traka za brtvljenje navoja
  • 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 jezgri mjeri očitanja vlažnosti tla i aktivira mjerač vremena kada je tlo previše suho. Regulator se može kalibrirati kako bi se postavila niska točka zasićenja, koliko dugo bi trebao biti uključen mjerač vremena dodira i koliko često bi regulator trebao provjeravati zasićenje.

Ove se postavke mogu promijeniti na arduinu i pohraniti u EPROM memoriju. Postavke se također mogu ažurirati integracijom IOT -a. Ovaj će projekt pokretati kontroler svaka četiri sata i otvoriti 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: Fit Time Timer

Odgovarajući mjerač vremena dodira
Odgovarajući mjerač vremena dodira

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 mjerač vremena i promijeniti ga za rad 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čane stezaljke za spojne točke. Potrebno je malo lemljenja.

Dodirnite Izmjena timera

Pažljivo rastavite mjerač vremena za slavinu. Bit ćemo teško ožičiti dva podesiva brojača tako da ih može upravljati arduino umjesto ručnih birač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. Timer ć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.

Sonda za tlo

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

Senzor temperature/vlage

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

Lora štit

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

PVC baza

PVC baza za arduino koja se koristi u ovom projektu dizajnirana je tako da se osjetnik temperature/vlažnosti može izložiti, a da se sve ostale komponente drže unutar vodonepropusnog 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:

Kôd 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 bila dobra razina zasićenja za otpornik, duljinu kabela i čavle. To može varirati ovisno o vašoj konfiguraciji.

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

RUN_INTERVAL postavljen je na 14400000 milisekundi (4 sata). To znači da će regulator svaka četiri sata provjeravati vlažnost tla i uključiti 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.

Kod programa

Kôd dostupan na Githubu

Ovisnosti:

  • TimedAction
  • Radio Head

U ovom primjeru korišten je štit Dragino Lora, a posebno Lora istodobni primjer sa štitom koji se izravno povezuje s ulazom Dragino Lora.

To se može prilagoditi za korištenje mreže stvari uklanjanjem koda u odjeljku "POČNI: lora vars" i promjenom programa tako da uključi sljedeći primjer Dragina 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 pogrešaka može se postaviti na true tako da se serijske poruke za otklanjanje pogrešaka mogu prijaviti 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 armaturu za slavinu i spoj crijeva. Izbušite rupe u cijevi dovoljno široke za automobilski cjevovod, gurnite 10 cm duljine cijevi u rupe i istrgnite žice iz arduina i mjerača vremena za slavinu. To bi trebalo uključivati:

Iz Arduina

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

Od mjerača vremena dodira

  • Kabeli za napajanje
  • Dvije žice s 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

Prije nego što sve zatvorite, provjerite radi li još uvijek sve.

Gornje 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 kapalica bila je pričvršćena na mjerač vremena slavine.

Ovo je bio dobar način da se provjeri da postrojenje nije nad vodom ili pod vodom.

Ovaj se primjer 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/silicij da popunite sve praznine oko armature automatskog vodovoda i mjerača vremena slavine.

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

Korak 8: Instalirajte

Instalirati
Instalirati
Instalirati
Instalirati
Instalirati
Instalirati

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 s 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 brtvljenje s navojem, a zatim električnom trakom.

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

Priključite mjerač vremena na izvor napajanja od 3,2 V. Ili baterija ili 3,2 V DC - AC adapter koji radi na mrežnu utičnicu.

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

Uključite i isprobajte!

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

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

U ovom primjeru korišten je štit Dragino Lora povezan s ulazom Dragino Lora. Bez obzira koristite li ovu postavku, 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 hex kodiran:

TXXXHXXXSXXXXRX

Tamo gdje T slijedi temperatura, H slijedi vlaga, S slijedi razina zasićenja, a R slijedi jedna znamenka koja se odnosi na to koju je radnju izvršila u zadnjem intervalu rada. To 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 previše suha pa je aktiviran mjerač vremena slavine4: Vlaga u tlu dobra pa mjerač vremena 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 da biste dodali novi uređaj u Thingsboard pod nazivom "Kontroler navodnjavanja".

Pošaljite telemetrijske podatke s uređaja

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

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

Također, povremeno guramo sljedeće atribute na https://thingsboard.meansofproduction.tech/api/v1/… s podacima o tome kada je čvor zadnji put viđen:

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

Izradite nadzornu ploču

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

Jednostavan widget za karticu kreiran iz telemetrijskog polja lastRunResult. Vertikalni digitalni pokazivač za polje telemetrijske temperatureTablica vremenskih serija izrađena od telemetrijskog polja 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 razina zasićenja može se 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šli tjedan, skupljen za prikaz maksimalnih vrijednosti. To nam daje jednu traku za četverosatni događaj. Funkcija naknadne obrade podataka koristi se za iskazivanje rezultata rada kao 0 ili 120, ovisno o tome je li voda puštena ili ne. To daje jednostavnu vizualnu povratnu informaciju da biste vidjeli koliko često voda teče u tjednu. 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 poruka i radnju dodatka za radnju 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 upotrijebite sljedeći Telemetrijski filter

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

Za slanje e -pošte ako tlo postane previše vlažno upotrijebite sljedeći Telemetrijski filter

typeof saturation! = "undefined" && zasićenje

Preporučeni: