Obsah:

APIS - automatizovaný zavlažovací systém závodu: 12 kroků (s obrázky)
APIS - automatizovaný zavlažovací systém závodu: 12 kroků (s obrázky)

Video: APIS - automatizovaný zavlažovací systém závodu: 12 kroků (s obrázky)

Video: APIS - automatizovaný zavlažovací systém závodu: 12 kroků (s obrázky)
Video: 10 tajných tipů na Instagramu | Bé Hà Stylewithme 2024, Listopad
Anonim
APIS - automatizovaný zavlažovací systém rostlin
APIS - automatizovaný zavlažovací systém rostlin

HISTORIE: (další vývoj tohoto systému je k dispozici zde)

Na téma zalévání rostlin existuje docela dost návodů, takže jsem zde sotva vymyslel něco originálního. V čem je tento systém jiný, je množství programování a přizpůsobení, které do něj byly vloženy, což umožňuje lepší ovládání a integraci do každodenního života.

Zde je video zalévání: zalévání

Tak vznikl APIS:

Máme dvě rostliny červené pálivé chilli papričky, které sotva „přežily“několik našich prázdnin, a v tuto chvíli téměř uvažovaly o rodinných příslušnících. Prošli extrémním suchem a přemokřením, ale vždy se nějak vzpamatovali.

Myšlenka vybudovat zalévání rostlin na bázi Arduina byla téměř první myšlenkou, jak by bylo možné Arduino použít jako projekt domácí automatizace. Byl tedy vybudován jednoduchý systém zavlažování rostlin.

Verze 1 však neměla žádný náznak vlhkosti půdy a neexistoval způsob, jak zjistit, zda se chystá zalévat rostliny, nebo je zalévání o několik dní dál.

Kuriozita, jak všichni víme, zabila kočku a verze 2 byla postavena se 4místným 7segmentovým modulem pro zobrazení aktuální vlhkosti za všech okolností.

To nestačilo. Další otázka zněla „kdy naposledy zalévalo rostliny“? (Protože jsme byli jen zřídka doma, abychom toho byli svědky). Verze 3 používala 7segmentový modul také k zobrazení toho, jak dlouho k poslednímu zavlažování došlo (jako běžící textový řetězec).

Jednou v noci začalo zalévání ve 4 hodiny ráno a všechny probudilo. Frustrující … Zjistit, že je příliš práce vypnout APIS na noc a zapnout na den, aby se zabránilo zalévání uprostřed noci, byly přidány hodiny reálného času, aby zařízení v noci spalo jako součást verze 4.

Protože hodiny v reálném čase vyžadují periodické úpravy (například přepínání letního času), verze 5, obsahuje tři tlačítka umožňující nastavení různých parametrů zavlažování rostlin.

Nezůstalo jen u toho. Všiml jsem si, že vlhkostní sonda má tendenci poměrně rychle erodovat, dost pravděpodobně kvůli tomu, že byla (záměrně) pod konstantním napětím, a proto byl mezi sondami (erodující anoda) konstantní elektrický proud. Levná půdní sonda z Číny přežila zhruba týden. I pozinkovaný hřebík byl „sežrán“za měsíc. Sonda z nerezové oceli lépe držela, ale všiml jsem si, že i to se vzdává. Verze 6 zapíná sondu pouze na 1 minutu každou hodinu (a po celou dobu během zavlažování), čímž dramaticky snižuje erozi (~ 16 minut denně vs. 24 hodin denně).

Idea:

Vyvinout systém zavlažování rostlin s následujícími schopnostmi:

  1. Změřte vlhkost půdy
  2. Po dosažení předdefinované značky „nízké“vlhkosti zapněte vodní čerpadlo a zalévejte rostliny, dokud nedosáhnete značky „vysoké“vlhkosti
  3. Zalévání by mělo být prováděno v několika cyklech, oddělených periodami nečinnosti, aby se umožnilo nasycení vody půdou
  4. Systém by se měl deaktivovat v noci mezi časy „spánku“a „probuzení“
  5. Čas „probuzení“by měl být pro víkendy upraven na pozdější hodnotu
  6. Systém by měl uchovávat protokol čerpání
  7. Systém by měl zobrazovat aktuální hodnoty vlhkosti půdy
  8. Systém by měl zobrazovat datum/čas posledního spuštění čerpadla
  9. Parametry zavlažování by měly být nastavitelné bez přeprogramování
  10. Zastavte čerpání a indikujte chybový stav, pokud běh čerpadla nevede ke změně vlhkosti (nedostatek vody nebo problémy se senzory), což brání zaplavení zařízení a úniku vody
  11. Systém by měl zapínat/vypínat vlhkostní sondu, aby nedošlo k erozi kovů
  12. Systém by měl vypouštět vodu z trubek, aby se zabránilo tvorbě plísní v nich

Následující parametry by měly být konfigurovatelné pomocí tlačítek:

  1. Vlhkost „nízká“, v %, pro spuštění chodu čerpadla (výchozí = 60 %)
  2. Vlhkost „vysoká“, v %, k zastavení chodu čerpadla (výchozí = 65 %)
  3. Trvání jednoho zavlažování v sekundách (výchozí = 60 sekund)
  4. Počet opakování k dosažení cílové vlhkosti (výchozí = 4 běhy)
  5. Vojenský čas pro deaktivaci na noc, pouze hodiny (výchozí = 22 nebo 22 hodin)
  6. Vojenský čas k aktivaci ráno, pouze hodiny (výchozí = 07 nebo 7 hodin ráno)
  7. Úprava o víkendu pro ranní aktivaci, delta hodiny (výchozí = +2 hodiny)
  8. Aktuální datum a čas

APIS zapisuje datum/čas 10 posledních zalévání do paměti EEPROM. Protokol mohl být zobrazen a ukazoval datum a čas běhů.

Jedna z mnoha věcí, které jsme se od APIS dozvěděli, je, že ve skutečnosti nepotřebujete zalévat rostliny každý den, což byla naše rutina, dokud jsme na 7segmentovém displeji neviděli hodnoty vlhkosti půdy …

Krok 1: DÍLY A NÁSTROJE

DÍLY A NÁSTROJE
DÍLY A NÁSTROJE
DÍLY A NÁSTROJE
DÍLY A NÁSTROJE

K vytvoření APIS budete potřebovat následující součásti:

OVLÁDACÍ BOX A TRUBKY:

  1. Deska Arduino Uno: na Amazon.com
  2. 12v peristaltická kapalinová pumpa se silikonovou hadičkou: na Adafruit.com
  3. 4X numerický LED displej s digitálním tubusem JY-MCU modul: na Fasttech.com
  4. DS1307 Sada hodin pro odpočinek v reálném čase: na Adafruit.com (volitelně)
  5. Taktový spínač Microtivity IM206 6x6x6mm: na Amazon.com
  6. Vero board: na Amazon.com
  7. IC ovladače motoru L293D: na Fasttech.com
  8. Rezistory 3 x 10 kOhm
  9. Arduino promítá plastové pouzdro: na Amazon.com
  10. 12 V AC/DC adaptér s 2,1 mm napájecím konektorem: na Amazon.com
  11. Bambusové špejle
  12. Běhoun a trochu lepidla
  13. Super měkké latexové gumové hadičky 1/8 "ID, 3/16" OD, 1/32 "zeď, polojasná jantarová, 10 stop. Délka: na McMaster.com
  14. Odolná nylonová těsnící armatura s těsněním, T-kus pro ID trubky 1/8 ", bílá, balení po 10: na McMaster.com
  15. Odolná nylonová armatura s ostnatým těsněním, Wye pro 1/8 "ID tubusu, bílá, balení po 10: na McMaster.com
  16. Jako obvykle dráty, pájecí nástroje atd.

SNÍMAČ VLHKOSTI:

  1. Malý kus dřeva (1/4 "x 1/4" x 1 ")
  2. 2 x jehly pro extrakci akné z nerezové oceli: na Amazon.com
  3. Modul senzoru detekce vlhkosti půdy: na Fasttech.com

Krok 2: SONDA VLHKOSTI PŮDY V1

PROBE VLHKOSTI PŮDY V1
PROBE VLHKOSTI PŮDY V1
PROBE VLHKOSTI PŮDY V1
PROBE VLHKOSTI PŮDY V1
PROBE VLHKOSTI PŮDY V1
PROBE VLHKOSTI PŮDY V1

Vlhkost půdy se měří na základě odporu mezi dvěma kovovými sondami vloženými do země (asi 1 palec od sebe). Schémata jsou znázorněna na obrázku.

První sonda, kterou jsem zkoušel, byla ta, kterou si můžete koupit od řady internetových poskytovatelů (jako je tato).

Problém s těmi spočívá v tom, že úroveň fólie je relativně tenká a rychle se eroduje (záležitost jednoho nebo dvou týdnů), takže jsem tento předem vyrobený produkt pro robustnější snímač rychle opustil, založený na pozinkovaném hřebu (viz další krok).

Krok 3: SNÍMAČ VLHKOSTI PŮDY V2

PROBE VLHKOSTI PŮDY V2
PROBE VLHKOSTI PŮDY V2
PROBE VLHKOSTI PŮDY V2
PROBE VLHKOSTI PŮDY V2

Sonda „příští generace“byla vyrobena doma ze dvou pozinkovaných hřebíků, dřevěné desky a několika drátů.

Protože jsem již měl opotřebovanou vyrobenou sondu, znovu jsem použil připojovací kus a elektronický modul z něj, v podstatě jen výměnu součásti půdy.

Pozinkované hřebíky, k mému překvapení, také erodovaly (i když pomaleji než tenká fólie), ale stále rychleji, než bych chtěl.

Další sonda byla navržena na základě jehel na odstranění akné z nerezové oceli. (viz další krok).

Krok 4: SONDA VLHKOSTI PŮDY V3 „Katana“

PROBE VLHKOSTI PŮDY V3
PROBE VLHKOSTI PŮDY V3
PROBE VLHKOSTI PŮDY V3
PROBE VLHKOSTI PŮDY V3

V současnosti se používá nerezová sonda (připomínající samurajský meč, odtud také název).

Věřím, že rychlou erozi lze přičíst skutečnosti, že sonda byla vždy pod elektrickým napětím (24x7) bez ohledu na to, jak často probíhalo skutečné měření.

Abych to zmírnil, změnil jsem intervaly měření tak, aby byly jednou za 1 hodinu (koneckonců toto NENÍ systém v reálném čase) a připojil sondu k jednomu z digitálních pinů místo trvalého 5v. V současné době je sonda napájena pouze ~ 16 minut denně místo 24 hodin, což by mělo dramaticky prodloužit její životnost.

Krok 5: ZÁKLADNÍ FUNKČNOST

ZÁKLADNÍ FUNKČNOST
ZÁKLADNÍ FUNKČNOST
ZÁKLADNÍ FUNKČNOST
ZÁKLADNÍ FUNKČNOST

APIS je založen na desce Arduino UNO.

APIS měří vlhkost půdy jednou za hodinu, a pokud klesne pod předem definovanou prahovou hodnotu, zapne čerpadlo na předem definované časové období předem definovaný počet časů oddělených intervaly „nasycení“.

Jakmile je dosažen práh cílové vlhkosti, proces se vrátí zpět do režimu měření jednou za hodinu.

Pokud nelze dosáhnout cílové vlhkosti, ale bylo dosaženo spodní hranice, je to také v pořádku (proběhlo alespoň nějaké zalévání). Důvodem mohlo být nešťastné umístění sondy, kde je příliš daleko od vlhké půdy.

Pokud však nebylo možné dosáhnout ani spodní mezní hodnoty vlhkosti, je vyhlášen chybový stav. (S největší pravděpodobností došlo k problému se sondou nebo v zásobní nádobě došla voda atd.). Za chybových podmínek jednotka usne 24 hodin, aniž by cokoli dělala, a pak to zkusí znovu.

Krok 6: 7 SEGMENTOVÝ DISPLEJ

7 SEGMENTOVÝ DISPLEJ
7 SEGMENTOVÝ DISPLEJ
7 SEGMENTOVÝ DISPLEJ
7 SEGMENTOVÝ DISPLEJ

TM1650 ZOBRAZENÝ 7 SEGMENTOVÝ DISPLEJ:

Původně APIS neměl žádnou zobrazovací schopnost. Bez připojení přes USB nebylo možné zjistit aktuální úroveň vlhkosti půdy.

Abych to napravil, přidal jsem do systému 4místný 7segmentový displej: na Fasttech.com

Nikde jsem nenašel knihovnu, která by s tímto modulem pracovala (ani datový list), a tak jsem se po několika hodinách zkoumání a experimentování portů I²C rozhodl napsat knihovnu ovladačů sám.

Podporuje zobrazení až 16 číslic (přičemž 4 jsou výchozí), může zobrazovat základní znaky ASCII (všimněte si, že ne všechny znaky mohly být vytvořeny se 7 segmenty, takže písmena jako W, M atd. Nejsou implementována)., Podporuje desetinné číslo bodové zobrazení na modulu, běžící řetězec znaků (pro zobrazení více než 4 písmen) a podporuje 16 stupňů jasu.

Knihovna je k dispozici na hřišti arduino.cc zde. Knihovna ovladačů TM1650

Ukázkové video je k dispozici zde

ANIMACE:

Během vodního toku je implementována bitová 7segmentová animace.

  • Když je čerpadlo zapojeno, digitální body na displeji běží zleva doprava, což symbolizuje běh vody: video s animací zalévání
  • Během období „nasycení“tečky běží od středu displeje směrem ven, což symbolizuje sytost: video s animací sytosti

Zbytečné, ale milý dotek.

Krok 7: ČERPADLO a ČERPADLO

ČERPADLO a ŘÍZENÍ ČERPADLA
ČERPADLO a ŘÍZENÍ ČERPADLA
ČERPADLO a ŘÍZENÍ ČERPADLA
ČERPADLO a ŘÍZENÍ ČERPADLA

ČERPADLO

K zalévání rostlin jsem použil 12v peristaltické kapalinové čerpadlo (dostupné zde). Čerpadlo poskytuje asi 100 ml/min (což je asi 1/2 sklenice - je dobré si pamatovat při konfiguraci doby chodu vody, aby nedošlo k přetečení, a stalo se to 8-))

ŘÍZENÍ ČERPADLA - L293D

Čerpadlo je ovládáno pomocí čipu ovladače motoru L293D. Vzhledem k tomu, že směr otáčení je přednastaven, stačí k ovládání skutečně použít kolík pro povolení čipu. Směrové kolíky lze trvale připojit přímo k +5 V a GND.

Pokud jste si (stejně jako já) nebyli jisti, kterým směrem se čerpadlo vydá, můžete stále připojit všechny tři piny k Arduinu a ovládat směr programově. Méně pájení.

Krok 8: KONFIGURACE a TLAČÍTKA

KONFIGURACE a TLAČÍTKA
KONFIGURACE a TLAČÍTKA
KONFIGURACE a TLAČÍTKA
KONFIGURACE a TLAČÍTKA

TLAČÍTKA:

Ke konfiguraci a ovládání APIS jsem použil tři tlačítka.

Všechna stisknutí tlačítek jsou zpracována na základě přerušení pinů (knihovna PinChangeInt).

  • Červené (úplně vpravo) je tlačítko VYBRAT. Umožňuje APIS vstoupit do konfiguračního režimu a také potvrdí hodnoty.
  • Černá tlačítka úplně vlevo a prostřední tlačítka (PLUS respektive MINUS) slouží ke zvýšení/snížení konfigurovatelných hodnot (v konfiguračním režimu) nebo k zobrazení aktuálního data/času a informací o posledním zavlažování (v normálním režimu).

Protože je displej po většinu času vypnutý, všechna tlačítka nejprve „probudí“APIS a teprve poté při druhém stisknutí plní svoji funkci.

Displej se vypne po 30 sekundách nečinnosti (pokud neprobíhá zavlažování).

APIS při spuštění prochází konfiguračními parametry ke kontrole: video

KONFIGURACE:

APIS má čtyři režimy konfigurace:

  1. Konfigurujte parametry zavlažování
  2. Nastavte hodiny v reálném čase
  3. „Síla“zalévání
  4. Zkontrolujte protokol zavlažování

VODNÍ PARAMETRY:

  1. Nízký práh vlhkosti půdy (začněte zalévat)
  2. Vysoká prahová vlhkost půdy (zastavte zalévání)
  3. Trvání jednoho zavlažovacího cyklu (v sekundách)
  4. Počet zavlažovacích cyklů v jedné dávce
  5. Doba trvání nasycení půdy mezi cykly v rámci jedné dávky (v minutách)
  6. Čas aktivace nočního režimu (vojenský čas, pouze hodiny)
  7. Čas ukončení nočního režimu (vojenský čas, pouze hodiny)
  8. Úprava víkendu pro čas ukončení nočního režimu (v hodinách)

NASTAVENÍ SKUTEČNÝCH HODIN:

  1. Století (tj. 20 pro rok 2015)
  2. Rok (tj. 15 pro rok 2015)
  3. Měsíc
  4. Den
  5. Hodina
  6. Minuta

Po potvrzení minut se hodiny nastaví se sekundami nastavenými na 00.

Nastavení má časový limit 15 sekund, po kterém jsou všechny změny zrušeny.

Po uložení jsou parametry uloženy do paměti EEPROM.

NUTNOST ZÁVODU:

Stále si nejsem jistý, proč jsem to implementoval, ale je to tam. Po aktivaci APIS přejde do režimu zavlažování. Režim zavlažování však stále podléhá prahovým hodnotám. To znamená, že pokud vynutíte zavlažování, ale vlhkost půdy je nad značkou HIGH, zavlažování okamžitě skončí. V zásadě to funguje pouze tehdy, je -li vlhkost půdy mezi LOW a HIGH prahovými hodnotami.

RECENZE ZÁVODNÍHO ZÁZNAMU:

APIS uchovává v paměti EEPROM protokol posledních 10 zavlažovacích cyklů, které si uživatel může prohlédnout. Je uloženo pouze datum/čas zavlažování. Prahové hodnoty (v té době) a počet běhů potřebných k dosažení prahové hodnoty HIGH se neukládají (i když v další verzi mohou být).

Krok 9: RTC: SKUTEČNÉ ČASOVÉ HODINY

RTC: SKUTEČNÉ HODINY
RTC: SKUTEČNÉ HODINY

NOČNÍ REŽIM

Jakmile mě APIS v noci probudil, napadla mě myšlenka implementovat „noční režim“.

Noční režim je, když neprobíhá žádné měření, displej je vypnutý a neproudí žádné zalévání.

V obvyklý pracovní den se APIS „probudí“v 7 hodin ráno (konfigurovatelné) a do nočního režimu přejde ve 22 hodin (konfigurovatelné). O víkendu APIS používá nastavení „víkendové úpravy“ke zpoždění probuzení (například do 9 hodin ráno), pokud je víkendová úprava 2 hodiny).

RTC ROZDĚLENÍ RTC vs. „SOFTWARE“RTC:

Použil jsem hardwarový RTC (k dispozici zde) ke sledování data/času a vstupu/výstupu nočních režimů.

Použití je volitelné, protože skici lze kompilovat pomocí takzvaného „softwarového“RTC (pomocí funkce arduino millis ()).

Nevýhodou používání softwaru RTC je, že musíte nastavit čas pokaždé, když se APIS zapne.

Upravil jsem standardní knihovnu RTC tak, aby přesně odpovídala API, a také abych vyřešil problém s převrácením. (Ke stažení viz krok náčrtků).

Krok 10: SPOJENÍ VŠE SPOLEČNĚ

UVEDENÍ VŠE SPOLEČNĚ
UVEDENÍ VŠE SPOLEČNĚ
UVEDENÍ VŠE SPOLEČNĚ
UVEDENÍ VŠE SPOLEČNĚ
UVEDENÍ VŠE SPOLEČNĚ
UVEDENÍ VŠE SPOLEČNĚ
UVEDENÍ VŠE SPOLEČNĚ
UVEDENÍ VŠE SPOLEČNĚ

Celý systém (kromě sondy) včetně čerpadla se vejde do malé krabičky pro Arduino Uno.

  1. Displej TM1650 používá rozhraní TWI, takže vodiče SDA a SDC jdou na piny Arduino A4 a A5. Další dva vodiče jsou +5 V a GND.
  2. Deska RTC používá rozhraní TWI, tedy stejné jako výše. (TM1650 a RTC používají různé porty, takže spolu kolidují). Pin RTC +5v je připojen k arduino pinu 12 (napájen digitálním pinem místo +5v). Nepamatujte si, proč jsem to udělal, nemusíte.
  3. Kolíky L293D jsou připojeny následovně: aktivujte (kolík 1) k D5 a piny ovládání směru 2 a 7 k arduino kolíkům D6 a D7.
  4. TLAČÍTKA jsou připojena k pinům D2, D8 a D9 pro SELECT, PLUS a MINUS. (Tlačítka jsou implementována s výsuvnými 10K odpory-v konfiguraci "aktivní-vysoká").
  5. Napájení +5 V modulu PROBE je připojeno k arduino pinu 10 (pro umožnění pravidelných měření) a sonda je připojena k analogovému pinu A1.

POZNÁMKA: Do schématu github byl přidán schematický soubor Fritzing.

Krok 11: SKETCHES a další

SKETCHES a další
SKETCHES a další

Aktualizace z března 2015:

  1. Přidána funkce pro vypouštění trubek po zalévání, aby se zabránilo tvorbě plísní (Chlapec! Jsem rád, že jsem na L293D nenamontoval pevně směr otáčení čerpadla!)
  2. Rozsáhlejší protokolování zahrnuje datum/čas začátku a konce zavlažování, počáteční a koncovou vlhkost a kolikrát bylo během zavlažovacího cyklu zapojeno čerpadlo
  3. Aktualizována rutina chyb: zařízení se tvrdě resetuje po 24 hodinách od zadání chybového stavu
  4. Překompilováno pomocí TaskScheduler 2.1.0
  5. Různé další opravy chyb

Od 18. listopadu 2015 byl APIS upgradován s následujícími dalšími funkcemi:

  1. Použití knihovny DirectIO pro rychlejší a snadnější změny pinů
  2. Pomocí knihovny časových pásem můžete správně přepínat mezi EST a EDT
  3. Přidána logika odskakování tlačítek pouze pomocí TaskScheduler
  4. Přidána funkce opakování tlačítka (cyklování hodnot, pokud je tlačítko stisknuto a podrženo, přičemž rychlost cyklu se zvyšuje po 5 cyklech)
  5. Překompilováno s IDE 1.6.6 AVR 1.6.9 proti TaskScheduler 1.8.4
  6. Přesunuto do Githubu

KNIHOVNY:

APIS je založen na následujících knihovnách:

  • EEPROM - součást Arduino IDE
  • Drát - součást Arduino IDE
  • EnableInterrupt - k dispozici na Github
  • Časové pásmo - k dispozici na Githubu
  • DirectIO - k dispozici na Githubu

Upraveno (rozeklané) mnou:

  • Čas - k dispozici na Githubu
  • RTClib - k dispozici na Githubu

Mnou vyvinutý:

  • TM1650 - k dispozici na Github
  • TaskScheduler - k dispozici na Githubu
  • AvgFilter - k dispozici na Githubu

SKICA:

Nejnovější verze skici APIS, včetně souboru fritzing schematics, je k dispozici na Githubu

ÚDAJE:

  • L293D: zde
  • Breakout board RTC: zde

Krok 12: *** VYHRÁLI JSME !!! ***

*** JSME VYHRÁLI !!! ***
*** JSME VYHRÁLI !!! ***

Tento projekt získal druhou cenu v soutěži domácí automatizace sponzorované společností Dexter Industries.

Koukni na to! WOO-HOO !!!

Automatizace domácnosti
Automatizace domácnosti
Automatizace domácnosti
Automatizace domácnosti

Druhá cena v domácí automatizaci

Doporučuje: