Tartalomjegyzék:

DIY - Automatizált kerti öntözés - (Arduino / IOT): 9 lépés (képekkel)
DIY - Automatizált kerti öntözés - (Arduino / IOT): 9 lépés (képekkel)

Videó: DIY - Automatizált kerti öntözés - (Arduino / IOT): 9 lépés (képekkel)

Videó: DIY - Automatizált kerti öntözés - (Arduino / IOT): 9 lépés (képekkel)
Videó: Öntöző vezérlés PIC kel 2024, Július
Anonim
DIY - Automatizált kerti öntözés - (Arduino / IOT)
DIY - Automatizált kerti öntözés - (Arduino / IOT)
DIY - Automatizált kerti öntözés - (Arduino / IOT)
DIY - Automatizált kerti öntözés - (Arduino / IOT)
DIY - Automatizált kerti öntözés - (Arduino / IOT)
DIY - Automatizált kerti öntözés - (Arduino / IOT)

Ez a projekt megmutatja, hogyan kell öntözővezérlőt építeni egy házi kerthez. Képes a talajnedvesség leolvasására és az öntözés aktiválására a kerti csapból, ha a talaj túl száraz lesz. A szabályozó hőmérséklet- és páratartalom -érzékelőt is tartalmaz. A szabályozó nem aktiválja a kerti csapot, ha a hőmérséklet túl alacsony. Az érzékelők leolvasásait és a vízhasználatra / futási időre vonatkozó statisztikákat a ThingsBoard IOT -on rögzítik vizualizáció és elemzés céljából. Riasztások és e -mailek jelennek meg, ha az öntözővezérlő leállítja az adatok továbbítását, a talaj túl száraz vagy túl telített lesz.

Előfeltételek

  • Arduino ismeretek, beleértve legalább az Arduino alapvető kódolását és a forrasztást.
  • 1x nyomott kerti csap

Darabjegyzékben

  • Kerti öntöző poli cső, fúvókák, csepegtetők stb.
  • Két számlapú elektronikus érintés időzítő (azaz: Aqua Systems Electronic Digital Tap Timer)
  • Csap nyomáscsökkentő 300kpa
  • Arduino Uno
  • Lora Arduino pajzs
  • Lora -átjáró (nem szükséges, ha hatótávolságon belül van egy helyi Things Network -átjáró)
  • DHT11 hőmérséklet páratartalom érzékelő
  • 5v relé
  • Telefonkábel
  • Kábelkötegelők
  • Automotive Split hullámos cső
  • Gépkocsi terminál csatlakozó szalagok
  • 2x horganyzott szögek
  • 1x ellenállás
  • Szilícium / tömítés
  • PVC cement
  • PVC alapozó
  • PVC cső 32 mm szélesség x 60 mm hosszú
  • PVC cső 90 mm szélesség x 30 cm hosszú
  • 3x PVC tolózár 90 mm
  • 1x PVC csavaros zárókupak 90 mm
  • 1x PVC menetes betét 90mm
  • 1x PVC nyomóvég sapka 32mm
  • 1x 3,2 V -os áramforrás (érintési időzítő) [elemek, váltakozó áramú adapter]
  • 1x 6-12V-os áramforrás (arduino) [elemek, USB, USB-hálózati adapter]
  • menetes tömítőszalag
  • elektromos szalag

Lépés: Telepítse a kerti öntözőrendszert

Telepítse a kerti öntözőrendszert
Telepítse a kerti öntözőrendszert
Telepítse a kerti öntözőrendszert
Telepítse a kerti öntözőrendszert

Elrendezése poli cső, illeszkedő fúvókák, csepegtető vezetékek és csepegtetők. Az öntözővezérlő bármilyen öntözőberendezéssel működik. Ennek lényege, hogy méri a talaj nedvességtartalmát, és aktiválja a csapot, ha és amikor a talaj túl száraz. A vezérlő kalibrálásával beállítható a telítettség mélypontja, mennyi ideig kell bekapcsolni a csapot, és milyen gyakran kell ellenőrizni a telítettséget.

Ezek a beállítások megváltoztathatók az arduino készüléken, és tárolhatók az EPROM memóriában. A beállítások az IOT integrációval is frissíthetők. Ez a projekt négy óránként működteti a vezérlőt, és ha a talaj túl száraz, 3 percre elzárja a csapot. Futtathatja néhányszor egymás után, ha száraz/meleg, vagy naponta egyszer vagy kétszer.

2. lépés: Fit Tap Timer

Fit Tap Timer
Fit Tap Timer

Illessze be a csapot időzítőt, és kísérletezzen az állítható tárcsákkal, hogy meghatározza az öntözés telepítéséhez legjobban megfelelő durva frekvenciát és futási időt. Eltávolítjuk az időzítőt, és módosítjuk, hogy egy Arduino -val működjön.

3. lépés: Arduino Build

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

Használja a kapcsolási rajzot útmutatóként az összeállításhoz. A fényképeken telefonkábel huzalozását és csavaros csatlakozócsíkokat használták a csatlakozási pontokhoz. Némi forrasztás szükséges.

Koppintson az Időzítő módosítása elemre

Óvatosan szerelje szét a csapot. Keményen bekötjük a két állítható tárcsát, így azokat a kézi tárcsák helyett az arduino vezérelheti. A bal oldali frekvenciaválasztó keményen be van kötve a visszaállítási helyzetbe, így a jobb tárcsa váltható a be/ki állás között. A jobb oldali tárcsán egy vezeték lesz a jobb középső érintkezőből, és a jobb oldali külső érintkező az ábrán látható módon. Alapértelmezés szerint az időzítő kikapcsolt állásban lesz. Ha a két vezeték érintkezik, az időzítő bekapcsol. Ha a két vezeték 5V -os reléhez van csatlakoztatva, akkor az arduino bezárhatja/megnyithatja a kapcsolatot a két vezeték között. Ha az egyik vezeték a közös relé termináljában van, a másik pedig a normálisan zárt terminálban, akkor biztosítjuk, hogy az időzítő kikapcsoljon, amikor az arduino kikapcsol. A relécsap HIGH értékre állítása bekapcsolja az időzítőt; ha alacsonyra állítja, az időzítő kikapcsol.

Talajszonda

Ehhez a projekthez a két szöget a csavaros csatlakozókhoz csatlakoztatott huzalhoz forrasztják. Az egyik körömcsatlakozó egyenesen a talajhoz megy. A másik az arduino analóg bemenetéhez és az ellenálláshoz csatlakozik. Az ellenállás az arduinos 5v jelhez csatlakozik. A csavart ábrán látható.

Hőmérséklet/páratartalom érzékelő

A DHT11 hőmérséklet/páratartalom érzékelő be van kötve az arduino 5V -os földelésébe és az arduino digitális tüskéjébe.

Lora pajzs

Ez a projekt egy Dragino Lora pajzsot is használt (nem látható a kapcsolási rajzon).

PVC alap

Az ebben a projektben használt arduino PVC alapját úgy tervezték, hogy a hőmérséklet/páratartalom érzékelő ki legyen téve, miközben az összes többi alkatrészt rögzítse a vízálló PVC házban. Egy kis lyukat fúrnak/vágnak az érzékelőhöz, és szilíciumot használnak a helyén tartásra, miközben megakadályozzák a nedvesség elérését az arduino -hoz. Az ábrán látható.

4. lépés: Arduino programozás

Arduino programozás
Arduino programozás

A programozáshoz és a teszteléshez kösse össze a komponenseket egy kenyértáblán vagy sorkapocslécen keresztül

EPROM konfiguráció

Először konfigurációs változókat kell írnunk az EPROM memóriába. Futtassa a következő kódot az arduino készüléken:

A kód elérhető a Githubon

Itt a DRY_VALUE értéke 960. A 1024 azt jelenti, hogy a talaj teljesen száraz, a 0 teljes telítettséget jelent, a 960 jó telítettségi szint volt az ellenállás, a kábelhossz és a használt szögek esetében. Ez a saját konfigurációjától függően változhat.

A VALVE_OPEN értéke 180000 ezredmásodperc (3 perc). Amikor/ha bekapcsolja a csapot, akkor 3 percig nyitva marad.

A RUN_INTERVAL beállítása 14400000 ezredmásodperc (4 óra). Ez azt jelenti, hogy a vezérlő négy óránként ellenőrzi a talaj nedvességtartalmát, és ha a telítettség alacsony (960 -nál nagyobb), 3 percre bekapcsolja a csapot.

A fenti kód bármikor megváltoztatható, és ezek az értékek módosíthatók.

Programkód

A kód elérhető a Githubon

Függőségek:

  • TimedAction
  • Rádiófej

Ez a példa a Dragino Lora pajzsot és különösen a Lora párhuzamos példát használta, amikor a pajzs közvetlenül a Dragino Lora átjáróhoz csatlakozott.

Ez úgy alakítható a dolgok hálózatának használatához, hogy eltávolítja a kódot a "BEGIN: lora vars" szakasz alatt, és módosítja a programot, hogy tartalmazza a következő Dragino példát, vagy adaptálható más rádiókhoz/wifi pajzsokhoz stb.

A mellékelt kód feltételezi, hogy a DHT11_PIN a 4. digitális tű, a RELAY_PIN a 3. digitális tű és a talajnedvesség analóg csap 0 analóg bemenet.

Egy hibakeresési változót igazra lehet állítani, így a soros hibakeresési üzenetek naplózhatók a 9600 baudrate -vel.

5. lépés: Házépítés

Házépítés
Házépítés

Vágja le a PVC csövet, hogy megfeleljen a csap időzítőjének és az Arduino alapnak. Fúrjon lyukakat a csapidőzítő csaptelepéhez és tömlőszerelvényéhez. Fúrjon lyukakat a csőbe elég szélesre az autóvezetékekhez, csúsztasson 10 cm hosszúságú vezetékeket a lyukakba, és kösse ki a vezetékeket az arduino és a csapot időzítőből. Ennek tartalmaznia kell:

Az Arduino -ból

  • Tápvezetékek és/vagy USB -kábel az arduino USB -portjáról.
  • Talajnedvesség kábelek (VCC, GND, A0)
  • Két vezeték a relé NC & Common csavaros csatlakozóiból

A csapot időzítőből

  • Tápkábelek
  • Két vezeték a jobb oldali tárcsaérintkezőkről

6. lépés: A ragasztás előtt tesztelje a vezérlőt

Tesztelje a vezérlőt a ragasztás előtt
Tesztelje a vezérlőt a ragasztás előtt
Tesztelje a vezérlőt a ragasztás előtt
Tesztelje a vezérlőt a ragasztás előtt

Győződjön meg arról, hogy minden működik, mielőtt mindent lezár.

A fenti fényképek egy mintaelrendezést mutatnak egy esky -ben, ahol a talajnedvesség -szondát egy edénybe helyezték, és a csap időzítőjét üdítőital -palackból származó vízzel látták el.

Az egyik csepegtetőt a csap időzítőjéhez rögzítették.

Ez jó módszer volt annak tesztelésére, hogy a telepítés nem végezte -e víz alatt vagy alatt az üzemet.

Ez a példa a vezérlő kalibrálásához szükséges ideig futhat.

7. lépés: Ragasztó / vízálló burkolatok

Ragasztó / vízálló burkolatok
Ragasztó / vízálló burkolatok

Használjon PVC alapozót és PVC cementet a zárósapkák és a csatlakozó rögzítéséhez.

Tömítőanyaggal/szilíciummal töltse ki az automatikus vezeték és a csapot időzítő szerelvények körüli réseket.

Itt egy csavaros zárósapkát használnak az arduino házon a hozzáférhetőség érdekében.

8. lépés: Telepítse

Telepítés
Telepítés
Telepítés
Telepítés
Telepítés
Telepítés

Telepítse tiszta napon. Az alkatrészek és vezetékek szárazon maradnak, mielőtt lezárják őket.

Helyezze a vezérlőt a kerti csap és a talajszonda elhelyezése középpontjába.

Szerelje fel a csapot időzítőt, és győződjön meg arról, hogy nincs áram alatt, amíg a telepítés befejeződik.

Szerelje fel a talajszondát.

Csatlakoztassa a szalagcsatlakozókat az egyes alkatrészekhez, majd fektesse le a telefonkábelt az egyes alkatrészek csavaros csatlakozóiról, ügyelve arra, hogy a kábel fedett legyen az automatikus vezetékben. Mindent összekapcsolni

Zárja le az összes csatlakozót és minden más szabadon lévő részt menetes tömítőszalaggal, majd elektromos szalaggal.

Zárja le az osztott vezeték minden laza/szabad területét menetes tömítőszalaggal, majd elektromos szalaggal.

Csatlakoztassa az időzítőt egy 3,2 V -os áramforráshoz. Akku vagy egy 3,2 V -os egyenáramú hálózati adapter, amely a hálózati aljzathoz csatlakozik.

Csatlakoztassa az Arduino-t egy 6-12 V DC áramforráshoz. Akkucsomagot vagy a hálózati aljzathoz futó USB / DC-AC adaptert.

Kapcsolja be és tesztelje!

9. lépés: A ThingsBoard integrációja - Monitoring és jelentéskészítés

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

Ez a példa egy Dragino Lora pajzsot használt egy Dragino Lora átjáróhoz. Függetlenül attól, hogy ezt a beállítást, egy másik Lora -beállítást vagy bármely más IOT -kapcsolatot használja, az öntözővezérlő által gyűjtött adatok továbbíthatók egy IOT -platformra, például a Thingsboardra. Alapértelmezés szerint a program a következő adatsort küldi, ahol minden karakterbájt hexadecimális kódolású:

TXXXHXXXSXXXXRX

Ahol T -t a hőmérséklet követi, H -t a páratartalom követi, S -t a telítettségi szint követi, és R -t egyetlen számjegy követi annak függvényében, hogy milyen műveletet hajtott végre az utolsó futtatási intervallumban. Ez lehet 0-5, ahol minden számjegy a következőket jelenti:

0: A program inicializál 1: Hőmérséklet -érzékelő hiba2: A hőmérséklet túl alacsony volt a futáshoz

Számos módon telepítheti a Thingsboard másolatát saját berendezésére, vagy létrehozhat egy ingyenes fiókot a ThingsBoard telepítéshez itt.

Állítsa be eszközét a Thingsboardban

Kövesse ezeket az utasításokat, és adjon hozzá egy új eszközt a Thingsboardhoz, amely "Öntözésvezérlőnek" nevezi.

Telemetriai adatok leküldése az eszközről

Kövesse ezeket az utasításokat, hogy beállítson egy módszert a telemtriai adatoknak az eszközről a Thingboardra történő továbbítására MQTT, HTTP vagy CoAp segítségével.

A szerverünkön a következő JSON -t a https://thingsboard.meansofproduction.tech/api/v1/… címre küldjük négy óránként, amikor az eszköz fut (élő adatokkal):

Továbbá a következő attribútumokat a https://thingsboard.meansofproduction.tech/api/v1/… címre tesszük, rendszeresen a csomópont legutóbbi megtekintésének adataival:

Ezt olyan riasztásokra használják, amelyek akkor aktiválódnak, ha a készülék leállítja az adatátvitelt.

Készítsen irányítópultot

Hozzon létre egy irányítópultot az itt leírtak szerint. Moduljaink a következők:

Egy egyszerű kártya widget, amelyet a lastRunResult telemetria mezőből hoztak létre. Függőleges digitális mutató a hőmérsékleti telemetria mezőhöz A lastRunResult telemetria mezőből létrehozott Timeseries táblázat, amely az utolsó napok adatait mutatja. Egy vízszintes sáv, amely a telítettség telemetriai mezőjét mutatja. Ez az adatok utófeldolgozási funkcióját használja:

visszatér 1024-érték;

És beállít egy minimális és maximális értéket 0-100. Így a telítettségi szint százalékban kifejezhető. Útmutató a páratartalom értékének megjelenítéséhez. Idősoros oszlopdiagram, amely tartalmazza a hőmérsékletet, a páratartalmat és a futási eredményt, az elmúlt hét 5 órás periódusaiba csoportosítva, a maximális értékek megjelenítéséhez. Ez ad nekünk egy sávot egy négyórás futó eseményhez. Egy adat utófeldolgozási funkciót használnak a futási eredmény 0 vagy 120 értékként való kifejezésére, attól függően, hogy a vizet futtatták-e vagy sem. Ez egyszerű vizuális visszajelzést ad, hogy lássa, milyen gyakran folyik víz egy héten. Statikus HTML -kártya, amely a kert képét mutatja.

E -mail értesítések

Szabályok segítségével állítottuk be az e -mail értesítéseket az öntözővezérlő számára. Mindannyian üzenetszűrőket és egy Levél küldése műveletbővítményt használnak.

Ha e -mailben figyelmeztetést szeretne küldeni, ha az öntözővezérlő nem tud adatokat küldeni, akkor az „Eszközattribútumok szűrőt” használtuk a következő szűrővel:

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

Ha e -mailt szeretne küldeni, ha a talaj túl száraz lesz, használja a következő telemetriai szűrőt

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

Ha e -mailt szeretne küldeni, ha a talaj túl nedves lesz, használja a következő telemetriai szűrőt

typeof saturation! = "undefined" && saturation

Ajánlott: