Satura rādītājs:

DIY - automatizēta dārza apūdeņošana - (Arduino / IOT): 9 soļi (ar attēliem)
DIY - automatizēta dārza apūdeņošana - (Arduino / IOT): 9 soļi (ar attēliem)

Video: DIY - automatizēta dārza apūdeņošana - (Arduino / IOT): 9 soļi (ar attēliem)

Video: DIY - automatizēta dārza apūdeņošana - (Arduino / IOT): 9 soļi (ar attēliem)
Video: The easiest way to make a homemade drip irrigation system ll DIY home drip irrigation system 2024, Jūlijs
Anonim
DIY - automatizēta dārza apūdeņošana - (Arduino / IOT)
DIY - automatizēta dārza apūdeņošana - (Arduino / IOT)
DIY - automatizēta dārza apūdeņošana - (Arduino / IOT)
DIY - automatizēta dārza apūdeņošana - (Arduino / IOT)
DIY - automatizēta dārza apūdeņošana - (Arduino / IOT)
DIY - automatizēta dārza apūdeņošana - (Arduino / IOT)

Šis projekts parādīs, kā izveidot mājas dārza apūdeņošanas kontrolieri. Spēj izmērīt augsnes mitruma rādījumus un aktivizēt apūdeņošanu no dārza krāna, ja augsne kļūst pārāk sausa. Kontrolierim ir arī temperatūras un mitruma sensors. Kontrolieris neaktivizēs dārza krānu, ja temperatūra ir pārāk zema. Sensora rādījumi un statistika par ūdens patēriņu / darbības laiku tiek reģistrēti lietās ThingsBoard IOT vizualizācijai un analīzei. Brīdinājumi un e -pasta ziņojumi tiek aktivizēti, ja apūdeņošanas kontrolieris pārtrauc datu pārraidi, augsne kļūst pārāk sausa vai pārāk piesātināta.

Priekšnosacījumi

  • Arduino zināšanas, ieskaitot vismaz pamata kodēšanu Arduino un lodēšanai.
  • 1x spiediena dārza krāns

Materiālu rēķins

  • Dārza apūdeņošanas poli caurule, strūklas, pilinātāji utt.
  • Divu ciparu taustiņu taimeris (ti: Aqua Systems elektroniskais digitālais pieskārienu taimeris)
  • Krāna spiediena reduktors 300kpa
  • Arduino Uno
  • Lora Arduino vairogs
  • Lora vārteja (nav nepieciešama, ja diapazonā ir vietējā lietu tīkla vārteja)
  • DHT11 temperatūras mitruma sensors
  • 5v relejs
  • Telefona kabelis
  • Kabeļu saites
  • Automobiļu sadalītās gofrētās caurules
  • Automobiļu termināļu savienotāju sloksnes
  • 2x cinkotas naglas
  • 1x rezistors
  • Silīcijs / drīvētājs
  • PVC cements
  • PVC gruntējums
  • PVC caurule 32 mm platumā x 60 mm garumā
  • PVC caurule 90 mm platumā x 30 cm garumā
  • 3x PVC spiedpogas uzgaļi 90 mm
  • 1x PVC skrūves gala vāciņš 90 mm
  • 1x PVC vītņu ieliktnis 90mm
  • 1x PVC spiedpogas uzgaļi 32 mm
  • 1x 3,2 V barošanas avots (pieskāriena taimeris) [baterijas, maiņstrāvas vairāku voltu adapteris]
  • 1x 6-12V barošanas avots (arduino) [baterijas, USB, USB uz maiņstrāvas adapteri]
  • diegu blīvējuma lente
  • elektriskā lente

1. darbība: uzstādiet dārza apūdeņošanu

Uzstādiet dārza apūdeņošanu
Uzstādiet dārza apūdeņošanu
Uzstādiet dārza apūdeņošanu
Uzstādiet dārza apūdeņošanu

Izvietojiet poli cauruli, uzstādiet strūklas, pilienu caurules un pilinātājus. Apūdeņošanas kontrolieris darbosies ar jebkuru apūdeņošanas aprīkojumu. Tā pamatā ir augsnes mitruma rādījumu mērīšana un krāna taimera aktivizēšana, ja un kad augsne ir pārāk sausa. Kontrolieri var kalibrēt, lai iestatītu piesātinājuma zemāko punktu, cik ilgi ieslēgšanas taimeris būtu jāieslēdz un cik bieži kontrolierim jāpārbauda piesātinājums.

Šos iestatījumus var mainīt arduino un saglabāt EPROM atmiņā. Iestatījumus var atjaunināt arī ar IOT integrāciju. Šis projekts kontrolieri darbinās ik pēc četrām stundām un ieslēdz krānu uz 3 minūtēm, ja augsne ir pārāk sausa. Tas var darboties dažas reizes pēc kārtas, ja tas ir sauss/karsts, vai citreiz dienā vai divas reizes.

2. darbība. Pieskarieties taimerim

Pieskarieties taimerim
Pieskarieties taimerim

Uzstādiet pieskāriena taimeri un eksperimentējiet ar regulējamiem ciparnīcām, lai noteiktu aptuvenu frekvenci un darbības laiku, kas vislabāk atbilst apūdeņošanas uzstādīšanai. Mēs noņemsim taimeri un pārveidosim to darbam ar Arduino.

3. darbība: izveidojiet Arduino

Arduino būve
Arduino būve
Arduino būve
Arduino būve
Arduino būve
Arduino būve
Arduino būve
Arduino būve

Izmantojiet elektroinstalācijas shēmu kā ceļvedi konstrukcijai. Fotogrāfijās ir izmantota telefona kabeļa elektroinstalācija un savienojuma vietu skrūvju spailes. Nepieciešama neliela lodēšana.

Pieskarieties Taimera modifikācija

Uzmanīgi izjauciet krāna taimeri. Mēs stingri vadīsim abus regulējamos ciparnīcas, lai tos varētu kontrolēt arduino, nevis manuālie ciparnīcas. Kreisais frekvenču ciparnīca būs cieši pieslēgta atiestatīšanas pozīcijai, lai labo pārslēgu varētu pārslēgt starp ieslēgšanas/izslēgšanas pozīciju. Labajā ciparnīcā būs viens vads no centrālā labā kontakta un ārējā labā kontakta, kā parādīts attēlā. Pēc noklusējuma taimeris būs izslēgtā stāvoklī. Ja abi vadi saskaras, taimeris ieslēgsies. Kad divi vadi ir savienoti ar 5 V releju, arduino var aizvērt/atvērt kontaktu starp abiem vadiem. Ar vienu vadu kopējā releja spailē un otru parasti slēgtajā spailē mēs nodrošināsim, ka taimeris tiek izslēgts, kad tiek izslēgts arduino. Iestatot releja tapu uz HIGH, tiks ieslēgts taimeris; iestatot to uz LOW, taimeris tiks izslēgts.

Augsnes zonde

Šim projektam abas naglas ir pielodētas pie stieples, kas savienota ar skrūvju spailēm. Viena nagu spailes iet taisni uz zemes. Otrs savienojas ar analogo ieeju arduino un rezistoru. Rezistors savienojas ar arinos 5v signālu. Parādīts izgriešanas diagrammā.

Temperatūras/mitruma sensors

DHT11 temperatūras/mitruma sensors ir pievienots arduino 5V, zemē un arduino digitālajā tapā.

Lora vairogs

Šajā projektā tika izmantots arī Dragino Lora vairogs (nav parādīts elektroinstalācijas shēmā).

PVC pamatne

Šajā projektā izmantotā arduino PVC pamatne tika izstrādāta tā, lai temperatūras/mitruma sensors varētu tikt pakļauts, vienlaikus saglabājot visas pārējās sastāvdaļas ūdensnecaurlaidīgā PVC korpusā. Sensoram tiek izurbts/izgriezts neliels caurums, un silīcijs tiek izmantots, lai to noturētu, vienlaikus novēršot mitruma nokļūšanu arduino. Parādīts diagrammā.

4. solis: Arduino programmēšana

Arduino programmēšana
Arduino programmēšana

Programmēšanai un testēšanai pievienojiet komponentus kopā, izmantojot maizes dēli vai spaiļu sloksnes

EPROM konfigurācija

Vispirms mums ir jāraksta konfigurācijas mainīgie EPROM atmiņā. Palaidiet šādu kodu savā arduino:

Kods pieejams vietnē Github

Šeit DRY_VALUE ir iestatīts uz 960. 1024 nozīmē, ka augsne ir pilnīgi sausa, 0 nozīmē pilnīgu piesātinājumu, 960 bija labs piesātinājuma līmenis pret rezistoru, kabeļa garumu un izmantotajām naglām. Tas var atšķirties atkarībā no jūsu konfigurācijas.

VALVE_OPEN ir iestatīts uz 180000 milisekundēm (3 minūtes). Kad/ja ir ieslēgts pieskāriena taimeris, tas tiks atvērts uz 3 minūtēm.

RUN_INTERVAL ir iestatīts uz 14400000 milisekundēm (4 stundas). Tas nozīmē, ka kontrolieris ik pēc četrām stundām pārbaudīs augsnes mitrumu un ieslēdz krāna taimeri uz 3 minūtēm, ja piesātinājums ir zems (lielāks par 960).

Iepriekš minēto kodu var mainīt un šīs vērtības mainīt jebkurā laikā.

Programmas kods

Kods pieejams vietnē Github

Atkarības:

  • TimedAction
  • Radio vadītājs

Šajā piemērā tika izmantots Dragino Lora vairogs un īpaši Lora piemērs ar vairogu, kas tieši savienots ar Dragino Lora vārteju.

To var pielāgot lietu tīkla izmantošanai, noņemot kodu sadaļā "SĀKT: lora vars" un mainot programmu, lai iekļautu šādu Dragino piemēru vai pielāgotu darbam ar citiem radio/wifi vairogiem utt.

Piegādātais kods pieņem, ka DHT11_PIN ir digitālā tapa 4, RELAY_PIN ir digitālā tapa 3 un augsnes mitruma analogā tapa ir analogā ievade 0.

Atkļūdošanas mainīgo var iestatīt uz patiesu, lai sērijas atkļūdošanas ziņojumus varētu reģistrēt ar bitu pārraides ātrumu 9600.

5. darbība: korpusa veidošana

Korpusa uzbūve
Korpusa uzbūve

Izgrieziet PVC cauruli, lai tā atbilstu krāna taimerim un Arduino pamatnei. Izurbiet caurumus krāna taimera krāna stiprinājumam un šļūtenes stiprinājumam. Izurbiet caurulēs caurumus, kas ir pietiekami plaši automobiļu vadiem, ievietojiet caurulēs 10 cm garumā caurumus un izvelciet vadus no arduino un pieskaršanās taimera. Tajā jāiekļauj:

No Arduino

  • Barošanas vadi un/vai USB kabelis no arduino USB porta.
  • Augsnes mitruma kabeļi (VCC, GND, A0)
  • Divi vadi no releja NC un kopējiem skrūvju spailēm

No pieskāriena taimera

  • Barošanas kabeļi
  • Divi vadi no labās ciparnīcas kontaktiem

6. darbība: pārbaudiet kontrolieri pirms līmēšanas

Pārbaudiet kontrolieri pirms līmēšanas
Pārbaudiet kontrolieri pirms līmēšanas
Pārbaudiet kontrolieri pirms līmēšanas
Pārbaudiet kontrolieri pirms līmēšanas

Pirms visu aizzīmogošanas pārliecinieties, ka viss joprojām darbojas.

Iepriekš redzamajos fotoattēlos ir parādīts parauga iestatījums esky, kur augsnes mitruma zonde tika ievietota katlā un krāna taimeris tika aprīkots ar ūdeni no bezalkoholisko dzērienu pudeles.

Viens pilinātājs tika piestiprināts pie krāna taimera.

Tas bija labs veids, kā pārbaudīt, vai iekārta nav pārsniegusi augu vai zem tā.

Šo piemēru var izmantot tik ilgi, cik nepieciešams kontroliera kalibrēšanai.

7. solis: līmes / ūdensnecaurlaidīgi korpusi

Līmes / ūdensnecaurlaidīgi korpusi
Līmes / ūdensnecaurlaidīgi korpusi

Lai nostiprinātu gala vāciņus un savienojumus, izmantojiet PVC grunti un PVC cementu.

Izmantojiet blīvējumu/silīciju, lai aizpildītu visas nepilnības ap automātisko cauruļvadu un pieskaršanās taimera veidgabaliem.

Šeit pieejamībai arduino korpusā tiek izmantots skrūvējams gala vāciņš.

8. solis: instalējiet

Uzstādīt
Uzstādīt
Uzstādīt
Uzstādīt
Uzstādīt
Uzstādīt

Instalējiet skaidrā dienā. Komponentiem un vadiem pirms to aizzīmogošanas būs jāpaliek sausiem.

Novietojiet regulatoru vietā, kur atrodas dārza krāns un augsnes zonde.

Uzstādiet pieskāriena taimeri un pārliecinieties, vai tas ir izslēgts, līdz instalēšana ir pabeigta.

Uzstādiet augsnes zondi.

Katram komponentam pievienojiet sloksnes spailes, pēc tam novietojiet tālruņa kabeli no katras detaļas skrūvju spailēm, pārliecinoties, ka kabelis ir pārklāts ar automātisko vadu. Visu savienojot kopā

Noslēdziet visus spailes un citas atklātās daļas ar vītņu blīvējuma lenti un pēc tam ar elektrisko lenti.

Nostipriniet visas sadalītās caurules vaļējās/atklātās vietas ar vītņu blīvējuma lenti un pēc tam ar elektrisko lenti.

Pievienojiet taimeri 3,2 V barošanas avotam. Akumulators vai 3,2 V līdzstrāvas maiņstrāvas adapteris, kas darbojas pie elektrotīkla.

Pievienojiet Arduino 6-12 V līdzstrāvas avotam. Vai nu akumulators, vai USB / DC-AC adapteris, kas darbojas pie elektrotīkla.

Ieslēdziet un pārbaudiet!

9. solis: ThingsBoard integrācija - uzraudzība un ziņošana

ThingsBoard integrācija - uzraudzība un ziņošana
ThingsBoard integrācija - uzraudzība un ziņošana

Šajā piemērā tika izmantots Dragino Lora vairogs, kas savienots ar Dragino Lora vārteju. Neatkarīgi no tā, vai izmantojat šo iestatījumu, citu Lora iestatījumu vai jebkuru citu IOT savienojumu, apūdeņošanas kontroliera apkopotos datus var pārsūtīt uz IOT platformu, piemēram, Thingsboard. Pēc noklusējuma programma pārraida šādu datu virkni, kur katrs rakstzīmju baits ir heksadecimāli kodēts:

TXXXHXXXSXXXXRX

Ja T seko temperatūra, H seko mitrums, S seko piesātinājuma līmenis un R seko viens cipars, kas attiecas uz darbību, ko tā veica pēdējā izpildes intervālā. Tas var būt 0–5, kur katrs cipars nozīmē:

0: programma tiek inicializēta1: temperatūras sensora kļūda2: temperatūra bija pārāk zema, lai palaistu

Ir vairāki veidi, kā instalēt Thingsboard kopiju savā aprīkojumā, vai arī šeit varat izveidot bezmaksas kontu mūsu ThingsBoard instalācijā.

Iestatiet ierīci Thingsboard

Izpildiet šos norādījumus, lai Thingsboard pievienotu jaunu ierīci ar nosaukumu “Apūdeņošanas kontrolieris”.

Push telemetrijas datus no ierīces

Izpildiet šos norādījumus, lai iestatītu metodi telemētikas datu pārsūtīšanai no ierīces uz Thingboard, izmantojot MQTT, HTTP vai CoAp.

Mūsu serverī ik pēc četrām stundām, kad ierīce tiek palaista (ar tiešajiem datiem), mēs nosūta šādu JSON uz vietni

Mēs arī periodiski ievietojam šādus atribūtus vietnē https://thingsboard.meansofproduction.tech/api/v1/…, norādot datus par to, kad mezgls pēdējo reizi tika rādīts:

To izmanto brīdinājumiem, kas tiek aktivizēti, ja ierīce pārtrauc datu pārraidi.

Izveidojiet informācijas paneli

Izveidojiet informācijas paneli, kā aprakstīts šeit. Mūsu logrīki ietver:

Vienkāršs karšu logrīks, kas izveidots no telemetrijas lauka lastRunResult. Vertikāla ciparu zīme temperatūras telemetrijas laukam Timesimes tabula, kas izveidota no lastRunResult telemetrijas lauka, kurā parādīti pēdējo dienu dati. Horizontāla josla, kas parāda piesātinājuma telemetrijas lauku. Tas izmanto datu pēcapstrādes funkciju:

atgriezt 1024 vērtību;

Un nosaka minimālo un maksimālo vērtību 0-100. Šādā veidā piesātinājuma līmeni var izteikt procentos. Norādījums, lai parādītu mitruma vērtību. Laika rindu joslu diagramma, kurā iekļauta temperatūra, mitrums un darbības rezultāts, kas sagrupēti pēdējās nedēļas 5 stundu periodos, apkopoti, lai parādītu maksimālās vērtības. Tas dod mums vienu joslu četru stundu skrējiena pasākumam. Datu pēcapstrādes funkcija tiek izmantota, lai izteiktu izpildes rezultātu kā 0 vai 120 atkarībā no tā, vai tika palaists ūdens. Tas sniedz vieglu vizuālu atgriezenisko saiti, lai redzētu, cik bieži ūdens tek nedēļā. Statiska HTML karte, kas parāda dārza attēlu.

E -pasta brīdinājumi

Mēs izmantojām noteikumus, lai iestatītu e -pasta brīdinājumus apūdeņošanas kontrolierim. Visi izmanto ziņojumu filtrus un sūtīšanas pasta darbības spraudņa darbību.

Lai nosūtītu e -pasta brīdinājumu, ja apūdeņošanas kontrolieris nespēj nosūtīt datus, mēs izmantojām ierīces atribūtu filtru ar šādu filtru:

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

Lai nosūtītu e -pastu, ja augsne kļūst pārāk sausa, izmantojiet šādu telemetrijas filtru

1010. piesātinājuma veids! = "undefined" && saturation>

Lai nosūtītu e -pastu, ja augsne kļūst pārāk mitra, izmantojiet šādu telemetrijas filtru

typeof saturation! = "undefined" && piesātinājums

Ieteicams: