Taula de continguts:

Bricolatge - Reg automàtic de jardí - (Arduino / IOT): 9 passos (amb imatges)
Bricolatge - Reg automàtic de jardí - (Arduino / IOT): 9 passos (amb imatges)

Vídeo: Bricolatge - Reg automàtic de jardí - (Arduino / IOT): 9 passos (amb imatges)

Vídeo: Bricolatge - Reg automàtic de jardí - (Arduino / IOT): 9 passos (amb imatges)
Vídeo: #2 - Aula Ao Vivo - Curso de Arduino - Eletrônica Fácil 2024, Desembre
Anonim
Bricolatge - Reg automàtic de jardí - (Arduino / IOT)
Bricolatge - Reg automàtic de jardí - (Arduino / IOT)
Bricolatge - Reg automàtic de jardí - (Arduino / IOT)
Bricolatge - Reg automàtic de jardí - (Arduino / IOT)
Bricolatge - Reg automàtic de jardí - (Arduino / IOT)
Bricolatge - Reg automàtic de jardí - (Arduino / IOT)

Aquest projecte us mostrarà com construir un controlador de reg per a un jardí domèstic. Capaç de mesurar les lectures d’humitat del sòl i d’activar el reg d’una aixeta del jardí si el sòl queda massa sec. El controlador també inclou un sensor de temperatura i humitat. El controlador no activarà l’aixeta del jardí si la temperatura és massa baixa. Les lectures del sensor i les estadístiques sobre l’ús d’aigua / temps de funcionament es registren a ThingsBoard IOT per a la seva visualització i anàlisi. Les alertes i els correus electrònics s’activen si el controlador de reg deixa de transmetre dades, el sòl queda massa sec o massa saturat.

Requisits previs

  • Coneixements d'Arduino que inclouen almenys codificació bàsica per a Arduino i soldadura.
  • 1x aixeta de jardí a pressió

Factura de materials

  • Pipa de reg per a jardí, dolls, goters, etc.
  • Temporitzador de claus electrònic de dues esferes (és a dir: Temporitzador de claus electrònic digital Aqua Systems)
  • Reductor de pressió de l'aixeta 300kpa
  • Arduino Uno
  • Escut Lora Arduino
  • Lora Gateway (no cal si teniu una passarel·la local de la xarxa de coses)
  • Sensor d’humitat de temperatura DHT11
  • Relleu 5v
  • Cable de telèfon
  • Lligams de cables
  • Tubs corrugats dividits per a automoció
  • Tires de connectors de terminals d'automoció
  • 2x claus galvanitzats
  • 1x resistència
  • Silici / calafat
  • Ciment de PVC
  • Imprimació de PVC
  • Tub de PVC de 32 mm d'amplada x 60 mm de longitud
  • Tub de PVC 90mm d'amplada x 30cm de llarg
  • 3x Taps extrems de PVC de 90 mm
  • 1x Tap de cargol de PVC de 90 mm
  • 1x Inserció roscada de PVC de 90 mm
  • 1x taps finals de PVC de 32 mm
  • 1 font d'alimentació de 3,2 V (temporitzador de tap) [bateries, adaptador multivolt de CA]
  • 1x font d'alimentació 6-12V (arduino) [bateries, USB, adaptador USB a CA]
  • cinta de segell de fil
  • cinta elèctrica

Pas 1: instal·leu el reg de jardí

Instal·leu el reg de jardí
Instal·leu el reg de jardí
Instal·leu el reg de jardí
Instal·leu el reg de jardí

Disseny de canonades polivalents, jets d’ajust, línies de degoteig i goters. El controlador de reg funcionarà amb qualsevol adaptació de reg. En el seu nucli, mesura les lectures d'humitat del sòl i activa el temporitzador de l'aixeta si i quan el sòl està massa sec. El controlador es pot calibrar per establir el punt baix de saturació, el temps durant el qual s’ha d’activar el temporitzador de punteria i la freqüència amb què el controlador ha de comprovar la saturació.

Aquests paràmetres es poden canviar a l’arduino i emmagatzemar-los a la memòria EPROM. La configuració també es pot actualitzar mitjançant la integració IOT. Aquest projecte executarà el controlador cada quatre hores i obrirà l’aixeta durant 3 minuts si el sòl està massa sec. Pot funcionar unes quantes vegades seguides si és sec / calent o una vegada al dia o dos en cas contrari.

Pas 2: ajustar el temporitzador de toc

Ajusta el temporitzador de toc
Ajusta el temporitzador de toc

Col·loqueu el temporitzador d’aixeta i experimenteu amb els dials ajustables per obtenir una freqüència aproximada i un temps d’execució que millor funcioni per a la vostra instal·lació de reg. Eliminarem el temporitzador i el modificarem perquè funcioni amb un Arduino.

Pas 3: Arduino Build

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

Utilitzeu el diagrama de cablejat com a guia per a la construcció. A les fotos s'ha utilitzat cablejat de cable telefònic i tires de bornes cargolades per als punts de connexió. Es requereix una mica de soldadura.

Toqueu Modificació del temporitzador

Desmunteu amb cura el temporitzador d’aixetes. Farem un cablejat dur dels dos dials ajustables perquè puguin ser controlats per l’arduino en lloc dels dials manuals. El dial de freqüència esquerre es connectarà durament a la posició de restabliment de manera que es pugui alternar el dial dret entre la posició d’encès / apagat. El dial dret tindrà un cable que prové del contacte central dret i del contacte exterior dret tal com es mostra. Per defecte, el temporitzador estarà en posició apagada. Si els dos cables entren en contacte, el temporitzador s'encén. Amb els dos cables connectats a un relé de 5V, un arduino pot tancar / obrir el contacte entre els dos cables. Amb un cable al terminal de relé comú i l’altre al terminal normalment tancat, ens assegurarem que el temporitzador estigui apagat quan l’arduino estigui apagat. Si configureu el pin del relé a HIGH, s’activarà el temporitzador; configurant-lo a BAIX, s’activarà el temporitzador.

Sonda del sòl

Per a aquest projecte, els dos claus es solden a filferro connectat a terminals de cargol. La terminal d’un clau va directament a terra. L’altre es connecta a una entrada analògica a l’arduino i a una resistència. La resistència es connecta al senyal arduinos de 5v. Es mostra al diagrama de retorç.

Sensor de temperatura / humitat

El sensor de temperatura / humitat DHT11 està connectat a la terra de 5 V de l’arduino i a un pin digital de l’arduino.

Escut de Lora

Aquest projecte també feia servir un escut Dragora Lora (no es mostra al diagrama de cablejat).

Base de PVC

La base de PVC per a l’arduino que s’utilitza en aquest projecte es va dissenyar de manera que es pogués exposar el sensor de temperatura / humitat mantenint assegurats tots els altres components dins del tancament de PVC impermeable. Es fa un forat / es talla un petit forat per al sensor i s’utilitza silici per mantenir-lo al seu lloc i evitar que la humitat arribi a l’arduino. Es mostra al diagrama.

Pas 4: Programació Arduino

Programació Arduino
Programació Arduino

Connecteu els components junts mitjançant una placa de control o tires de terminals per programar-les i provar-les

Configuració de l'EPROM

Primer hem d’escriure variables de configuració a la memòria EPROM. Executeu el codi següent al vostre arduino:

Codi disponible a Github

Aquí el DRY_VALUE es fixa en 960. 1024 significa que el sòl està completament sec, 0 significa saturació completa, 960 era un bon nivell de saturació per a la resistència, la longitud del cable i els claus utilitzats. Pot variar en funció de la vostra configuració.

VALVE_OPEN s'estableix en 180000 mil·lisegons (3 minuts). Quan / si el temporitzador d’activació està activat, es deixarà obert durant 3 minuts.

RUN_INTERVAL s'estableix en 14400000 mil·lisegons (4 hores). Això significa que el controlador comprovarà la humitat del sòl cada quatre hores i activarà el temporitzador de l'aixeta durant 3 minuts si la saturació és baixa (superior a 960).

Es pot canviar el codi anterior i modificar aquests valors en qualsevol moment.

Codi del programa

Codi disponible a Github

Dependències:

  • TimedAction
  • Cap de ràdio

En aquest exemple s’utilitzava l’escut Dragino Lora i específicament l’exemple simultani de Lora amb l’escut que es connectava directament a la passarel·la Dragino Lora.

Es pot adaptar per utilitzar la xarxa de coses eliminant el codi de la secció "COMENÇA: lora vars" i canviant el programa per incloure l'exemple següent de Dragino o adaptant-lo per treballar amb altres ràdios / escuts wifi, etc.

El codi subministrat suposa que DHT11_PIN és el pin digital 4, el RELAY_PIN és el pin digital 3 i el pin analògic d’humitat del sòl és l’entrada analògica 0.

Es pot establir una variable de depuració a true perquè els missatges de depuració sèrie es puguin registrar a velocitat de transmissió 9600.

Pas 5: construcció del recinte

Construir recinte
Construir recinte

Talleu la canonada de PVC per adaptar-la al temporitzador de l'aixeta i a la base d'Arduino. Foradats per al muntatge de la aixeta del temporitzador de l'aixeta i de la mànega. Feu forats a la canonada prou amples per al conducte de l’automòbil, rellisqueu 10 cm de llargada del conducte als forats i traieu els cables de l’arduino i el temporitzador d’aixetes. Això hauria d'incloure:

De l’Arduino

  • Cables d’alimentació i / o cable USB des del port USB de l’arduino.
  • Cables d'humitat del sòl (VCC, GND, A0)
  • Dos cables dels borns de rosca NC i Common del relé

Des del temporitzador de claus

  • Cables d'alimentació
  • Dos cables dels contactes de marcatge dret

Pas 6: proveu el controlador abans d'enganxar

Controlador de proves abans d’enganxar
Controlador de proves abans d’enganxar
Controlador de proves abans d’enganxar
Controlador de proves abans d’enganxar

Assegureu-vos que tot funcioni abans de segellar-ho tot.

Les fotografies anteriors mostren una configuració de mostra en un esquí on es col·locava la sonda d’humitat del sòl en una olla i el temporitzador de l’aixeta estava equipat amb aigua provinent d’una ampolla de refresc.

S'ha connectat un degoteig al temporitzador de l'aixeta.

Aquesta va ser una bona manera de provar que la instal·lació no sobreposava ni baixava la planta.

Aquest exemple es podria executar el temps que calgui per calibrar el controlador.

Pas 7: Cintes / Tancaments impermeables

Cintes / Tancaments impermeables
Cintes / Tancaments impermeables

Utilitzeu imprimació de PVC i ciment de PVC per assegurar les tapes finals i l'acoblament.

Utilitzeu calafat / silici per omplir qualsevol buit al voltant del conducte automàtic i els accessoris del temporitzador.

Aquí s’utilitza una tapa de cargol al recinte arduino per facilitar l’accessibilitat.

Pas 8: instal·leu

Instal·la
Instal·la
Instal·la
Instal·la
Instal·la
Instal·la

Instal·leu-la en un dia clar. Els components i els cables hauran de romandre secs abans de segellar-los.

Col·loqueu el controlador en algun lloc situat entre l’aixeta del jardí i on es col·locarà la sonda del sòl.

Col·loqueu el temporitzador del toc i assegureu-vos que no estigui alimentat fins que finalitzi la instal·lació.

Col·loqueu la sonda del sòl.

Connecteu els terminals de tira a cada component i col·loqueu el cable del telèfon dels terminals de cargol de cada component assegurant-vos que el cable estigui cobert de conducte automàtic. Connectant-ho tot

Segelleu tots els terminals i qualsevol altra part exposada amb cinta adhesiva de fil i després cinta elèctrica.

Segelleu les zones soltes / exposades del conducte dividit amb cinta adhesiva de fil i després cinta elèctrica.

Connecteu el temporitzador a una font d’alimentació de 3,2 v. Ja sigui un paquet de bateries o un adaptador de corrent altern de 3,2 V CC a una presa de corrent.

Connecteu l'Arduino a una font d'alimentació de 6-12V CC. Ja sigui un paquet de bateries o un adaptador USB / DC-AC que funciona a una presa de corrent.

Enceneu i proveu!

Pas 9: Integració de ThingsBoard: supervisió i informes

Integració de ThingsBoard: supervisió i informes
Integració de ThingsBoard: supervisió i informes

En aquest exemple es feia servir un escut Dragora Lora connectat a una passarel·la Dragino Lora. Tant si utilitzeu aquesta configuració, una altra configuració de Lora o qualsevol altra connectivitat IOT, les dades recollides pel controlador de reg es poden reenviar a una plataforma IOT com Thingsboard. Per defecte, el programa transmet la següent cadena de dades on cada byte de caràcters està codificat hexadecimal:

TXXXHXXXSXXXXRX

On T segueix la temperatura, H segueix la humitat, S segueix el nivell de saturació i R segueix un sol dígit relacionat amb quina acció va realitzar en l'últim interval d'execució. Pot ser 0-5, on cada dígit significa:

0: El programa s’està inicialitzant1: Falla del sensor de temperatura2: La temperatura era massa baixa per funcionar3: La humitat del sòl és massa seca per activar el temporitzador de l’aixeta4: La humitat del sòl és fina perquè el temporitzador de l’aixeta no s’hagi activat5: El controlador de reg s’ha desactivat

Hi ha diverses maneres d’instal·lar una còpia de Thingsboard al vostre propi equip o podeu configurar un compte gratuït a la nostra instal·lació de ThingsBoard aquí.

Configureu el dispositiu a Thingsboard

Seguiu aquestes instruccions per afegir un dispositiu nou a Thingsboard que l'anomena "Controlador de reg".

Introduïu les dades de telemetria des del dispositiu

Seguiu aquestes instruccions per configurar un mètode per enviar dades de telemtry des del dispositiu a Thingboard mitjançant MQTT, HTTP o CoAp.

Al nostre servidor, estem empenyent el següent JSON a https://thingsboard.meansofproduction.tech/api/v1/… cada quatre hores quan s’executa el dispositiu (amb dades en directe):

També estem empenyent els atributs següents a https://thingsboard.meansofproduction.tech/api/v1/… periòdicament amb dades sobre l'última vegada que es va veure el node:

S'utilitza per a alertes que s'activen si el dispositiu deixa de transmetre dades.

Creeu un tauler

Creeu un tauler com es descriu aquí. Els nostres ginys inclouen:

Un senzill giny de targeta creat a partir del camp de telemetría lastRunResult. Un indicador digital vertical per al camp de telemetría de temperatura Una taula Timeseries creada a partir del camp de telemetría lastRunResult que mostra les dades dels darrers dies. Una barra horitzontal que mostra el camp de telemetria de saturació. Utilitza una funció de processament de dades:

retornar valor 1024;

I estableix un valor mínim i màxim de 0-100. D’aquesta manera, el nivell de saturació es pot expressar en percentatge. Un indicador per mostrar el valor d’humitat. Un gràfic de barres de sèries temporals que inclou la temperatura, la humitat i el resultat de l’execució, agrupats en períodes de 5 hores de la darrera setmana, agregats per mostrar els valors màxims.. Això ens proporciona una barra per a un esdeveniment de quatre hores. S'utilitza una funció de postprocessament de dades per expressar el resultat de l'execució com 0 o 120 en funció de si es va executar o no aigua. Això proporciona una retroalimentació visual fàcil per veure amb quina freqüència corre aigua durant una setmana. Una targeta HTML estàtica que mostra una imatge del jardí.

Alertes per correu electrònic

Hem utilitzat regles per configurar alertes per correu electrònic per al controlador de reg. Tots utilitzen filtres de missatges i una acció de complement Acció d'enviament de correu electrònic.

Per enviar una alerta per correu electrònic si el controlador de reg no envia dades, hem utilitzat el "Filtre d'atributs del dispositiu" amb el filtre següent:

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

Per enviar un correu electrònic si el sòl queda massa sec, utilitzeu el següent filtre de telemetria

typeof saturation! = "undefined" & saturation> 1010

Per enviar un correu electrònic basat si el terreny es torna massa humit, utilitzeu el següent filtre de telemetria

typeof saturation! = "indefinit" i & saturació

Recomanat: