Upozornění na nutnost zavlažování na vlhkostních čidlech. Chytrý dům: Automatické zavlažování
Poté, co moje další květina uschla, jsem si uvědomil, že by bylo hezké proces zalévání nějak zautomatizovat. Protože jsem si jistý, že zemřela kvůli nedostatku vody.
Rozhodl jsem se sestavit konstrukci, která by mi květinu zalévala. V důsledku toho jsem dostal toto zařízení, které se docela dobře vyrovnává se svými povinnostmi:
Pomocí dvou regulátorů můžete regulovat objem zalévané vody najednou a také dobu mezi zavlažováním. Pro zájemce je zde podrobný návod, jak si takové zařízení vyrobit. Jako základ pro mozek jsem použil Arduino (Arduino Mega).
K sestavení zadešťovače budete potřebovat řadu komponentů a ne více než 30 minut volného času.
Použité komponenty:
- Arduino Mega (právě jsem ho měl po ruce, ale bude stačit jakýkoli jiný)
- Pumpa a silikonová hadička (stačí pumpička do ostřikovače oken auta - koupíte ji v každém obchodě s autodíly nebo si můžete koupit malé ponorné čerpadlo na ebay)
- pohonná jednotka
- Dva variabilní rezistory pro nastavení (libovolné)
- Tranzistor IRL3705N
- Dva odpory (100 Ohm a 100 kOhm)
- Dioda (libovolná)
- Nádrž na vodu (v mém případě plastová krabice z Ikea)
- Rozložení
Shromažďujeme vše podle tohoto schématu:
Nebo jasněji:
Zde je to, co jsem dostal:
Nejprve otestujeme čerpadlo. Aplikujme na něj 5V. Pokud to bzučí, je vše v pořádku, jedeme dál.
Nyní připojíme pumpu k Arduinu. Udělejme si na prkénku malý postroj pro ovládání pumpy pomocí Arduina.
Zkusme pumpu ovládat pomocí Arduina. Pojďme nahrát tento kód
int pumpPin = 5 ; void setup() ( pinMode(pumpPin, OUTPUT); digitalWrite(pumpPin, LOW); ) void loop() ( digitalWrite(pumpPin, HIGH); delay(1000); digitalWrite(pumpPin, LOW); delay(1000); )Pokud to pravidelně bzučí, je zase vše v pořádku.
Teď už jen potřebujeme přidat dva regulátory. Připevněme proměnné rezistory na naše zařízení a zkontrolujme jejich funkčnost.
Pojďme tento kód nahrát do Arduina
int objemPin = A0; void setup() ( pinMode(volumePin, INPUT); Serial.begin(9600); ) void loop() ( Serial.println(analogRead(volumePin)); delay(100); )Pojďme na Serial Monitor a ujistěte se, že existuje reakce na otočení knoflíku. Mělo by se lišit od přibližně 0 do 1024
Teď už jen zbývá, aby to všechno fungovalo dohromady.
Zde je samotný kód waterer:
// První knoflík ovládá dobu, po kterou voda poteče (od 4 do 15 sekund) #define MAX_FLOWTIME 15 // sekund #define MIN_FLOWTIME 4 // sekundy // Druhý regulátor řídí frekvenci zavlažování od 1x denně do 1x týdně#define MAX_PERIOD 7 // dní #define MIN_PERIOD 1 // dní #define MAX 1015 #define MIN 0 int volumePin = A0; // Pin, ke kterému je připojen regulátor, který zodpovídá za objem zalévané vody int periodPin = A1; // Pin, ke kterému je připojen regulátor zodpovědný za období mezi zavlažováním int pumpPin = 5 ; // Pin, ke kterému je připojeno ovládání čerpadla int objem; int období; // Postup, který zapne čerpadlo na dobu zadanou v objemu void water() ( digitalWrite(pumpPin, HIGH); // zapněte čerpadlo zpoždění(hlasitost); digitalWrite(pumpPin, LOW);// vypněte čerpadlo zpoždění(období); ) void setup() ( pinMode(pumpPin, OUTPUT); digitalWrite(pumpPin, LOW); ) void loop() (// Přečtěte si hodnoty regulátorů (proměnných rezistorů) a uveďte je na zadané limityobjem = mapa (analogRead(volumePin), MIN, MAX, MIN_FLOWTIME, MAX_FLOWTIME) * 1000 ;
období = mapa (analogRead(periodPin), MIN, MAX, MIN_PERIOD, MAX_PERIOD) * 1000 * 60 * 60 * 24 ;
voda(); )
Toto je „takové a takové“, které se pokusíme udělat. Bude levný, snadno překonfigurovatelný a účinný – nic už od něj nemůže být dál. Logika jeho fungování (říkají, že je to algoritmus) je následující: pokud je půda suchá, stroj zalévá, pokud je půda vlhká, zavlažování se zastaví, dokud půda nevyschne. Jak dlouho máme čekat? Ano, ta otázka ani nestojí za to. Správným kritériem by bylo „vysušení“ půdy. Jakmile uschne, zalijte - kdykoli během dne nebo v noci...
Pojďme si nyní rozebrat naše automatické zavlažování rostlin z pohledu vývojáře „chytré“ zavlažovače:
- prostředí - bytové podmínky, květináč naplněný zeminou, kterou je třeba zalít;
- řídící jednotka - deska mikrokontroléru, která je považována za nejvhodnější pro připojení Arduina;
- ovládacím objektem je nádoba s vodou, akčním členem je čerpadlo pro čerpání vody;
- další prvky automatického zavlažovacího systému rostlin:
- jeho „oči“ jsou senzory pro vysychání půdy a hladinu vody v nádobě;
- „ruce“ - čerpadlo, které bude čerpat vodu do zavlažovací zóny;
- čistá technologie - spínací klíč, vlastně spínač čerpadla a dvě LED diody, zelená a červená, indikující „je vody“ a „málo vody“.
Zdálo by se, že místo sklenice s vodou stačí napojit na vodovodní potrubí, ale hadice a trubky po bytě opravdu nezdobí místnost, takže úloha automatického zalévání rostlin je vyřešena pomocí autonomní nádoby, která musí být „plnit“ vodou ručně. A aby sklenice s vodou nedráždila estetické chutě, lze ji zamaskovat ozdobným vzorem, aby se zdálo, že to tak má být.
Čerpadlo, které automaticky zalévá rostliny
Vodní pumpa
Čerpadlo na čerpání vody je zakoupeno. Lze jej vzít z ostřikovače čelního skla, tiskárny nebo akvária. Kterýkoli z nich se s úkolem snadno vyrovná, ale je snazší použít z auta. Je to jednoduché – přišel jsem, viděl jsem, koupil jsem, ale před použitím je třeba experimentálně zvolit napájecí napětí, aby jeho proud méně připomínal domácí domácí gejzír. Při napětí 8 V až 9 V se tvoří klidný vodní paprsek.
Složitější otázkou je provozní proud motoru čerpadla. Pro různé vzorky to může být 2-3 nebo více ampér a přípustné proudové zatížení na výstupu regulátoru je mnohem menší - 10 - 20 mA. Proto je nutné zvýšit spínací kapacitu řídící jednotky. K tomu je na jeho výstup připojen výkonný tranzistor, který díky zapojení Arduina zapíná pumpu. Použijme sestavu tranzistorů uln2003 (viz schéma), z nichž každý dokáže spínat proud 0,5 A. Pokud se vstupy a výstupy spojí paralelně, pak se přípustný zatěžovací proud bude rovnat součtu, tzn. 0,5 * N. Pojďme na to.
Připojení řídicí jednotky Arduino
Schematické schéma zařízení pro automatické zavlažování rostlin
Řídicí jednotkou je jednodeskový mikroprocesorový řadič Arduino, který je určen pro takto jednoduché úlohy. Technika práce s ním je jednoduchá – odladí program v počítači a po připojení Arduina jej „přetransformují“ do procesoru. Pokud je potřeba něco změnit, program se v počítači předělá a znovu se nainstaluje do ovladače. A přitom se nemusí nic pájet ani předělávat. To je přesně to, co se nazývá „rekonfigurovatelnost“.
Dalším krokem připojení Arduina k zařízení, které přímo plní funkce automatického zavlažování rostlin, je připojení vodičů senzoru a napájecího vodiče čerpadla k samotnému ovladači. V tomto případě je nejlepší použít pro napájení baterii - zavlažování funguje velmi krátkou dobu - doslova několik sekund a konstantní „zátěž“ síťového napájení je nepraktická.
Senzory jsou „oči“ kulometu
Senzor vlhkosti nehtů
Čidlo vlhkosti je nejlepší vyrobit z materiálu, který nepodléhá oxidaci, např. grafitové tyčinky. Bez dalších okolků se pár hřebíků zatlučených do izolační desky během pár sekund promění v přesně takový senzor (viz obrázek), který o sobě dá vědět pomocí připojení Arduino automatickému zavlažovacímu systému rostlin a instalaci grafitových tyčí lze odložit na dobu "uvedení" našeho zavlažovače do trvalého provozu.
Plovákový snímač hladiny vody
Snímač hladiny vody lze snadno implementovat pomocí stejného typu „drápy“ jako výše, ale vyrobíme jiný – plovákový (viz obrázek). Je snadné sestavit z trubky 4, která je upevněna na plechovce, a tyč 3 se po ní snadno pohybuje. Na spodní straně tyče je připevněn plovák 2 a v horní části tyče je umístěna propojka 6 Na horním konci trubky je dielektrická deska se dvěma kontakty 5, z nichž jdou dráty k připojení Arduina. .
Princip senzoru je jednoduchý jako na světě: pokud je hodně vody, plovák 2 zvedne tyč 3, uzavírací deska se zvedne a kontakty 5 se otevřou. Když hladina vody klesne ke značce a níže, plovák se spustí a deska 6 sepne kontakty 5.
Algoritmus řídicího zařízení
Řídicí algoritmus
Nejdůležitější věcí při návrhu řídicích jednotek na mikroprocesorech je správná konstrukce provozního algoritmu. Ostatně podrobný popis provozu ve speciálním programovacím jazyce všech uzlů, které mají připojené Arduino, určuje pořadí dotazování a analýzy vstupních signálů. Kromě toho, aby bylo možné provést určité akce určené vývojářem (a to jsme jen vy a já), musí ovladač vzít v úvahu provozní doby pohonů. A to je to, co jsme dostali (viz obrázek). Pojďme se na to podívat krok za krokem.
Po připojení Arduina do práce se dotáže na stav snímače hladiny vody a odráží jej pomocí LED - to je pro nás alarm. Další senzor – vlhkost – může říct „ale půda je mokrá“ a pak by se měla řídicí jednotka vrátit na začátek – její pracovní cyklus je ukončen a tak dále – neúnavně celý cyklus. Jakmile půda vyschne, ovladač se o tom díky senzoru dozví a začne pracovat na svém přímém úkolu - zalévání.
Nejprve se čerpadlo zapne např. na 2 sekundy. Proč ne tři, čtyři nebo pět? Ano, protože jsme tyto 2 sekundy určili experimentálně (a klidně to mohlo být jiné číslo - vše závisí na čerpadle). Kritériem je množství čerpané vody. Na zálivku by to mělo vystačit po určitou dobu – hodinu nebo dvě, možná den. Po zavlažování je 30 sekund přiděleno na navlhčení půdy (podle vašeho vkusu). Teprve po uplynutí této doby bude regulátor pokračovat v další činnosti, tzn. začne nový cyklus.
Novým cyklem je opět dotazování senzoru přes připojení Arduino, analýza informací atd.
Algoritmus práce může být komplikovaný. Například budete muset zalévat nejen jeden hrnec, ale několik - nebudete muset instalovat ovladač na každý z nich. Chcete-li to provést, musíte použít jeho volné vstupy/výstupy, kde potřebujete připojit senzory a čerpadla z každého hrnce a poskytnout další bloky pro jejich dotazování v algoritmu.
Po sestavení algoritmu pro provoz zařízení je na jeho základě napsán program a provoz programu je simulován na počítači pomocí speciálních debuggerů, které jsou vždy k dispozici pro konkrétní ovladač - v našem případě je to Arduino . Odladěný program je zapsán do procesoru Arduino, k tomu již vše existuje, stačí zapnout odpovídající blok ladění z počítače.
Verze takového programu je uvedena níže (text programu si můžete stáhnout ve spodní části článku spolu s výkresy zařízení).
Programový kód:
// konstanty
const int dw = 12; // snímač hladiny vody 12 pin
const int dg = 11; //čidlo půdní vlhkosti 11 pin
const int pumps = 2; // ovládání čerpadla na 2 pinech
const int ledG = 3; // zelená LED 3 pin
const int ledR = 4; // červená LED 4 pin
// proměnné
int dwS = 0; // stav snímače hladiny vody
int dgS = 0; // stav snímače úrovně vlhkosti půdy
//nastavení void setup() (
// deklarujeme piny LED a pumpy jako výstupy: pinMode(nasos, OUTPUT); pinMode(ledG, OUTPUT); pinMode(ledR, OUTPUT);
// deklarujeme piny senzoru a pumpy jako vstupy: pinMode(dw, INPUT); pinMode(dg, INPUT);
}
// pracovní cyklus void 1ор())(
// přečtení stavů snímače hladiny kapaliny dwS = digitalRead(dw);
// pokud je hodně vody, zapněte zelenou, jinak červenou if (dwS == LOW) ( digitalWrite(ledG, HIGH); digitalWrite(ledR, LOW);
}
jiný(
digitalWrite(ledG, LOW); digitalWrite(ledR, HIGH);
}
// přečtení stavů čidla půdní vlhkosti dgS = digitalRead(dg);
// pokud je půda suchá, zapni zalévání if (dgS == LOW) ( digitalWrite(nasos, HIGH); delay(2000);
digitalWrite(nasos, NÍZKÁ); zpoždění(30000);
}
jiný(
digitalWrite(nasos, NÍZKÁ);
}
}
Konstrukce zavlažovacího stroje
Nyní začneme umisťovat uzly našeho stroje. Čidlo vlhkosti je umístěno v půdě květináče v prohlubni 2-5 cm (vybráno experimentálně). Trubka přívodu vody je umístěna vedle jedné z jejích elektrod. Nejjednodušší variantou nádoby je skleněná nádoba, na jejím plastovém víčku je namontován vodní senzor s pumpičkou a pumpu lze umístit dovnitř nádoby.
Elektroniku, která automaticky zavlažuje rostliny - ovladač, napájecí zdroj, klíčový čip uln2003 a rezistory - ukrýváme do standardního pouzdra, které lze nyní vybrat k prodeji - podle vkusu každého. Na přední panel instalujeme LED diody a konektor, přes který je Arduino připojeno k pumpě a senzorům.
Takhle se u nás doma může objevit další chytrý pomocník provádějící automatické zavlažování rostlin, který bude hlídat vlhkost půdy našich květin a neřekne „ano, víte, nějak jsem se dostal do rutiny, já zapomněl." A pokud se všechno stalo takhle, pak se skutečný „domácí chlap“ bude soustředěně rozhlížet kolem sebe, jako by se s otázkou: „Co jiného by se tak dalo udělat?
Na následujícím obrázku je blokové schéma komplexního řešení pro dálkové ovládání a monitorování závlahového systému.
Řadič řídicího systému sbírá data ze systémových senzorů a přenáší je na server pomocí GPRS modemu. V reakci na to přijímá ze serveru příkazy k ovládání aktuátorů systému (zavlažovací ventily, čerpadlo a blokovací ventil pro přidávání vody do nádrže).
Uživatel má přístup k serveru prostřednictvím webové aplikace z PC nebo mobilního zařízení.
Ovládací skříň systému
Následující obrázek ukazuje konstrukční a funkční schéma rozvaděče.
Centrem systému je ovladač Arduino Mega.
Řadič ovládá modem SIM900 pomocí AT příkazů odeslaných přes COM port.
Tímto způsobem dochází k výměně dat se serverem.
Existují případy, kdy se modem může dostat do „obtížné situace“. Někdy je pro obnovení normálního provozu vyžadován tvrdý restart. K tomu byl do systému přidán modul resetování modemu, což je elektromagnetické relé, přes které se spíná napájení modemu.
Signály ze snímačů hladiny vody v nádrži jsou přijímány modulem diskrétního signálu. Senzory mají výstup typu suchého kontaktu. Můžete si o nich přečíst více. Abychom do regulátoru přiváděli diskrétní signály ze snímačů, impregnujeme je napětím 24 V ze zdroje. Vstupní modul se skládá z opticky izolovaných diskrétních vstupů, které převádějí úroveň vstupního napětí 24 V na úroveň 5 V, která je pro regulátor srozumitelná.
Pro měření venkovní teploty je k regulátoru připojeno čidlo DS18B20. Ovladač se s ním vyměňuje přes rozhraní OneWire.
V tomto článku nebudeme poskytovat elektrické schéma rozvaděče, programový kód Arduino a podrobně hovořit o provozu webového serveru, protože Toto je téma na jinou diskusi. Pro ty, kteří se chtějí tomuto tématu věnovat hlouběji, jsme připravili.
WEB aplikace pro ovládání závlahy přes internet
Prostřednictvím webové aplikace uživatel:
- sleduje aktuální stav systému: hladinu vody v nádrži, venkovní teplotu, stav zavlažovacích vedení (probíhá zavlažování/zavlažování zastaveno).
- ovládá zavlažování (zapíná a vypíná potřebné linky) ručně
- automaticky vytvoří plán zavlažování
- přijímá upozornění na důležité události v systému (ztráta spojení, nízká hladina vody v nádrži atd.)
- analyzuje graf teplotních změn v ulici během provozu systému
- zobrazuje události vyskytující se v objektu pomocí protokolu událostí
Hlavní obrazovka pro správu a sledování stavu systému
Na hlavní obrazovce webové aplikace se zobrazují aktuální stavy všech uzlů systému: odečty z čidel hladiny vody v nádrži a čidla teploty (tabulka vlevo), dále stav elektromagnetických ventilů všech zavlažovacích okruhů ( tabulka vpravo).
Na stejné obrazovce může uživatel ručně zapnout nebo vypnout kteroukoli ze zavlažovacích linek.
Ve spodní části obrazovky jsou zobrazeny nejnovější události, ke kterým na stanici došlo.
Obrazovka automatického ovládání plánu zavlažování
Na této obrazovce může uživatel vytvořit plán pro provoz systému v automatickém režimu, takže server zapíná a vypíná zavlažování na stanici bez zásahu uživatele.
Protokol událostí
Do deníku se zapisují důležité události na stanici: zapnutí/vypnutí zavlažovacích vedení, ztráta komunikace se stanicí, obnovení komunikace se stanicí, venkovní teplota je pod stanovenou úrovní, nádrž je prázdná, nádrž je vypnutá. téměř prázdné.
Upozornění uživatele
V nastavení stanice může uživatel označit některé události jako „výstraha“ nebo „nouzový stav“. Když k těmto událostem dojde, server upozorní uživatele e-mailem a/nebo SMS. Mohou to být události, kdy dojde ke ztrátě komunikace se stanicí, nízká hladina vody v nádrži nebo nízké venkovní teploty.
V nastavení se nastavuje spodní teplotní limit a doba timeoutu, po které systém zaregistruje výpadek komunikace.
Graf venkovní teploty
Tato obrazovka zobrazuje graf teplotních změn za určité časové období (10 minut, 30 minut, hodina, 12 hodin, den, týden, měsíc).
Další vývoj systému
Do budoucna se plánuje zvýšení informačního obsahu systému doplněním vodoměrů. Odečty měřidel budou viditelné pro uživatele prostřednictvím webové aplikace. Na základě těchto dat bude možné sestavit grafy spotřeby vody za dlouhé časové období.
Dále se plánuje vybavení závlahových vedení čidly půdní vlhkosti a řízení závlahy na základě jejich odečtů. To vytvoří ještě pohodlnější podmínky pro růst rostlin a zvýší úsporu vody.
Závěr
Pro ty, kteří chtějí podrobněji studovat technologii výměny dat se vzdáleným serverem pomocí Arduina a modemu SIM900, jsme připravili sérii lekcí na toto téma. Zde .
To je prozatím vše! Doufáme, že to bylo zajímavé! Uvidíme se znovu v LAZY SMART! Abyste nezmeškali nový článek, přidejte se k nám
Tento článek popíše, jak sestavit malou jednotku pro automatické zavlažování rostlin na bázi Arduina s regulací vlhkosti. Samotnou potřebu zálivky určí čidlo půdní vlhkosti. V případě potřeby můžete zalévat několik rostlin najednou.
Materiály a nástroje:
- Arduino Uno
- Sázejte do květináče se suchou půdou
- Vodní čerpadlo
- Čidlo půdní vlhkosti s kabelem
- Vypínač (tři) s kabelem
- Zatlačte svorkovnici
- Vodič samec-samec × 1 kus
- Drát zásuvka-zástrčka × 1 ks.
- Napájení s USB konektorem
- USB kabel
Shromáždění:
Displej je připojen ke kolíku 3 trojstínění. Při zapojování všech vodičů tohoto typu je důležité dbát na to, aby byl černý vodič připojen ke kolíku GND.
Čerpadlo nemá žádné kontakty na koncích vodičů, proto je použita svorkovnice. Pokud máte dovednosti v pájení kontaktů, pak je správnější připájet „Pin konektory“ k vodičům.
Takto vypadá připojené napájení:
Pomocí Arduino IDE je Arduino Uno naprogramováno pomocí níže přiloženého souboru. Samotné čidlo vlhkosti je samozřejmě zapíchnuté do půdy. Konec trubky s vodou je spojen se zemí. Pokud květináč málo váží, pak autor doporučuje zajistit trubku samostatně, aby rostlina nebyla vzhůru nohama. Poté se čerpadlo spustí do vhodné nádoby s vodou a připojí se napájení.
Kalibrace:
Aby byly hodnoty snímače správné, je vyžadována jednoduchá kalibrační procedura. Protože přesnost odečtů přímo závisí na kyselosti půdy.
1. Po vložení senzoru do suché nádoby se zaznamenají údaje z displeje. Tato hodnota není nic jiného než minimální vlhkost.
2. Zalijte květinu vodou a počkejte, až se voda zcela vsákne do země a hodnoty čidla se zastaví na jedné hodnotě. Data jsou zaznamenána a označena jako maximální vlhkost.
3. V souboru firmware se změní hodnoty konstant HUMIDY_MIN, nastaví se minimální vlhkost a HUMIDY_MAX, resp. maximální vlhkost. Arduino Uno se znovu flashuje.
Škálování projektu
Tento článek popisuje způsob zalévání pouze jedné květiny. Často je však nutné zalévat několik rostlin najednou. Samozřejmě můžete k Arduinu připojit více čerpadel a senzorů vlhkosti, ale jak drahé to bude? V tomto případě autor nabízí levné a jednoduché řešení. V hadičce, která je připojena k pumpě, se šídlem udělají otvory, vzdálenost mezi nimi je asi 30 centimetrů a do těchto otvorů se zapíchnou tyčinky z použitého kuličkového pera.
Hrnce v domě zpravidla stojí v řadě, například na parapetu. Trubka se umístí na hrnce tak, aby každý otvor odpovídal hrnci. Teprve nyní bude zařízení rozhodovat o zalévání vždy pouze po jednom květináči. To bude fungovat nejlépe, pokud budou květináče stejně velké, což je často případ okenních parapetů. Sušení půdy v nich bude přibližně stejné. Pokud si přejete a máte doma velké množství rostlin, můžete připojit další čerpadla a rozdělit všechny květináče do stejně velkých skupin.
V tomto článku budeme hovořit o tom, jak sestavit zařízení pro automatické zavlažování s kontrolou vlhkosti půdy - irigátor. Potřeba zavlažování bude určena údaji z čidla půdní vlhkosti. Bude možné zalévat několik rostlin současně.
Co je k tomu potřeba?
Jak to sbírat?
Kalibrace
Hodnoty senzoru vlhkosti jsou vysoce závislé na kyselosti půdy. Proto, než začnete irigátor používat, musíte provést jednoduchý postup kalibrace.
Zaznamenejte hodnoty na displeji se senzorem vloženým do suchého hrnce. To je minimální vlhkost.
Zalijte květinu a počkejte, až se voda zcela vsákne do země a hodnoty senzoru budou na stejné úrovni. Napište je. To je maximální vlhkost.
V náčrtu opravte hodnoty konstanty HUMIDY_MIN na hodnotu minimální vlhkosti a HUMIDY_MAX na hodnotu maximální vlhkosti. Znovu flashujte Arduino Uno.
Měřítko řešení
Popsali jsme řešení pro jednu rostlinu. Obvykle je ale potřeba zalévat několik rostlin. Kromě samozřejmého řešení - připojení několika čerpadel a senzorů vlhkosti k Arduinu - existuje jedno jednodušší a levnější. Do hadičky, která je součástí pumpy, stačí udělat šídlem ve vzdálenosti cca 30 cm otvory a do těchto otvorů zapíchnout kousky tyčinek z obyčejných propisovacích tužek. Bude to vypadat takto:
Květináče doma často stojí v řadě na parapetu. Trubku stačí umístit na květináče tak, aby otvory v ní byly jeden na květináč. Nyní naše zařízení dokáže zalévat několik hrnců najednou. V tomto případě však můžete rozhodnout o nutnosti zalévat vždy pouze jeden květináč. Obvykle jsou však hrnce přibližně stejně velké, a proto suší přibližně stejnou rychlostí. Obě řešení můžete také zkombinovat a rozdělovat všechny květináče do skupin přibližně stejně velkých velikostí.
Zdrojový kód
Aby skica fungovala, budete si muset stáhnout a nainstalovat knihovnu pro práci s displejem QuadDisplay2
irigator.ino // Připojení knihovny pro práci s displejem#include "QuadDisplay2.h" // uveď, co je rozumné pro pin, ke kterému je čerpadlo připojeno#define POMP_PIN 4 // uveďte přiměřenou hodnotu pro kolík, ke kterému je připojeno čidlo půdní vlhkosti#define HUMIDITY_PIN A0 // minimální práh půdní vlhkosti#define HUMIDITY_MIN 200 // maximální práh půdní vlhkosti#define HUMIDITY_MAX 700 // interval mezi kontrolou zalévání rostliny#define INTERVAL 60000 * 3 // proměnná pro ukládání hodnot vlhkosti půdy unsigned int vlhkost = 0 ; // statická proměnná pro uložení času dlouhé čekání bez znaménka = 0 ; // vytvoří objekt třídy QuadDisplay a předá číslo PIN CS QuadDisplay qd(9 ) ; void setup (void) (// začněte pracovat s displejem qd.begin();// pumpa pin do výstupního režimu pinMode(POMP_PIN, OUTPUT) ;// zobrazí 0 qd.displayInt(0);) void loop (void ) ( // přečte aktuální hodnoty čidla půdní vlhkosti int vlhkostNow = analogRead(HUMIDITY_PIN) ;// pokud jsou aktuální hodnoty vlhkosti půdy // nerovná se předchozímu požadavku if (vlhkostNyní ! = vlhkost) ( // uložení aktuálních hodnot vlhkosti vlhkost=vlhkostNyní; // a zobrazí hodnoty vlhkosti na displeji qd.displayInt(vlhkostNow) ;)< HUMIDITY_MIN ) { // pokud zadaný časový interval uplynul digitalWrite(POMP_PIN, HIGH) ; // čekání 2 sekundy delay(2000 ) ;// vypněte čerpadlo digitalWrite(POMP_PIN, NÍZKÁ) ; // nastavit rovno proměnné waitTime// hodnota aktuálního času plus 3 minutywaitTime = millis() ;
))
Ukázka činnosti zařízení
co ještě můžeš dělat?
I přes pozlacení kontakty snímače vlhkosti časem korodují. Ke korozi dochází nejrychleji, když je připojeno napájení. Životnost senzoru lze výrazně zvýšit, pokud k němu připojíte napájení přes síťový vypínač. Když potřebujeme získat data, zapneme napájení senzoru, provedeme měření a okamžitě vypneme napájení.
Pokud je naše vodní dóza ponechána běžet delší dobu bez dozoru, může dojít k vytečení vody v nádržce. Při provozu bez vody čerpadlo rychle selhává. Řešením problému může být automatická detekce, kdy je nádrž prázdná. Snímač se vybírá na základě typu nádrže. Pokud není hluboká, poslouží jiné čidlo vlhkosti. Když výška nestačí, můžete ji použít, vyrobit plovák nebo jednoduše spustit dva dráty na dno.