Vykonávame automatické zavlažovanie rastlín pomocou Arduina. Automatické zavlažovanie izbových rastlín na Arduine Čo ešte môžete urobiť


Zavlažovací systém ArdAutomatic automatizuje prácu pri starostlivosti o izbovú kvetinu. V tematických obchodoch predávajú takýto dizajn za šialenú cenu. Táto vec však stojí za to, pretože stroj nezávisle reguluje "porcie" vlhkosti pre rastlinu.

V tomto článku je čitateľ vyzvaný, aby si vytvoril svoje vlastné automatické zavlažovanie na arduino. Mikrokontrolér v tomto prípade funguje ako riadiaci systém pre periférne zariadenia.

Potrebné nástroje a periférie pre realizáciu projektu "Auto-watering" založeného na mikrokontroléri Arduino

Irigátor je zariadenie, ktoré kontroluje vlhkosť pôdy. Zariadenie prenáša údaje do snímača vlhkosti, ktorý na začiatku práce upozorní na navrhnutú automatickú závlahu. Na zostavenie programu sa používa programovací jazyk C++.

Stôl s požadovanými materiálmi:

Komponent Popis
Mikrokontrolér Arduino Uno Platforma spája periférne zariadenia a skladá sa z 2 častí: softvéru a hardvéru. Kód na vytváranie domácich spotrebičov je naprogramovaný v bezplatnom prostredí - Arduino IDE.

Na zostavenie a implementáciu programu na mikrokontroléri je potrebné zakúpiť kábel USB. Pre autonómnu prevádzku by ste si mali kúpiť 10 V napájací zdroj.

Na platforme je 12 pinov, ktorých úlohou je digitálny vstup a výstup. Používateľ si individuálne vyberá funkcie každého kolíka.

USB kábel Povinné pri navrhovaní systému „automatického zavlažovania pre arduino“ na prenášanie kódu.
Doska na pripojenie snímača - Troyka Shield Pomocou dosky sa pripájajú senzorové periférie pomocou bežných káblov. Na okrajoch sú 3-pinové kontakty - S + V + G.
Nasúvacia svorkovnica Slúži ako svorka pre zviazané vodiče. Konštrukcia je upevnená pružinovým gombíkom.
Napájací zdroj vybavený USB vstupom

Analyzátor pôdnej vlhkosti

Ideálne na spájanie plošín. V dizajne je k dispozícii baterka, ktorá označuje začiatok práce.

Zariadenie dáva signály, ak je pôda nadmerne alebo nedostatočne navlhčená. Pripojenie k doske sa vykonáva pomocou 3 vodičov.

● MAX hĺbka pre ponorenie do zeme - 4 cm;

● MAX spotreba energie - 50 mA;

● Napätie pre napájanie - do 4V.

Čerpadlo s ponornou trubicou Riadenie sa vykonáva pomocou prepínača. Dĺžka kábla je až 2 metre.
Vypínač Určené na otváranie a zatváranie elektrického obvodu. Ak pri navrhovaní automatickej závlahy Arduino použijete zariadenie, nebudete potrebovať ďalšie adhézie. Pripojenie k hlavnému panelu sa tiež vykonáva pomocou 3 vodičov.
Pripojovací kábel - "otec-otec" Niekoľko vodičov spája periférne zariadenia.
Pripojovací drôt - "matka-otec" Elektroinštalácia tiež spája periférne zariadenia.
Vnútorný kvet Systém je vhodný pre rôzne druhy izbových rastlín.

Schéma zapojenia a algoritmus práce v projekte "Avtopoliv" založenom na MK Arduino

Nižšie je uvedený algoritmus a schéma zapojenia projektu na platforme arduino. Automatické zavlažovanie je zostavené nasledovne:

  1. Dosku pre snímač umiestnime na mikrokontrolér.
  2. Analyzátor vlhkosti pripojíme pomocou dosky opísanej vyššie k podobnému kolíku - A0.
  3. Senzor pripojíme k mikrokontroléru:
    1. Kolík CS sa pripája na kolík číslo 9 na doske.
    2. Piny displeja SPI sú pripojené k príslušnému konektoru na tej istej doske.
  4. Zasuňte vypínač do kolíka č. 4.
  5. Vypínač pripájame k vypínaču v konektoroch označených písmenami p +, p-.
  6. Teraz pripojíme vodnú pumpu hadičkou pomocou svorkovnice ku kontaktom s písmenami l + a l-. Postupne sa pred projektantom postaví schéma.
  7. Do kvetináča nalepíme dotykový panel, ktorý analyzuje vlhkosť.
  8. Vložte koniec rúrky do pôdy s vodou. Ak hmotnosť rastliny spolu s črepníkom nepresahuje 2 kg, hadicu upevníme samostatne. V opačnom prípade môžu kvapky vody zraziť kvetinu.
  9. Vodné čerpadlo spustíme do fľaše naplnenej vodou.
  10. Konštrukciu pripájame k napájaniu.

Nižšie vám ponúkame dva alternatívne obvody pre naše zariadenie:

Senzor analyzuje stav vlhkosti stanovením kyslosti zeme. Pred vložením irigátora do systému je potrebné zariadenie otestovať a kalibrovať:

  1. Zapisujeme si informácie zobrazené na displeji. V tomto prípade je snímač zaseknutý v suchom hrnci. Udáva sa ako minimálna vlhkosť.
  2. Zem zalievame rastlinou. Čakáme, kým voda nasýti pôdu až do konca. Potom čítanie na dotykovej obrazovke ukáže jednu úroveň. Je potrebné zaznamenať prijaté informácie. To znamená maximálnu vlhkosť.
  3. V zápisníku fixujeme konštanty HUM_MIN a HUM_MAX hodnotou, ktorá bola získaná ako výsledok kalibrácie. V programe zaregistrujeme hodnoty, ktoré potom prenesieme do mikrokontroléra.

Vyššie uvedené popisuje návrh automatického zavlažovania pre jeden kvet. Avšak medzi milovníkmi izbových rastlín je dom vybavený kvetináčmi. Na jednej strane sa táto otázka zdá zložitá: je potrebné pripojiť niekoľko čerpadiel a analyzátorov pôdnej vlhkosti. Existuje ale lacnejšie a jednoduchšie riešenie pre návrh automatickej závlahy.

V hadici od pumpy sa pomocou šidla urobia 25 centimetrové otvory. Do vzniknutých otvorov sa zapichnú kúsky guľôčkových pier. Výsledkom je:

  • kvetináče sú usporiadané na parapete;
  • rúrka je inštalovaná na kvetináč tak, aby voda z každého otvoru prúdila do samostatného hrnca;
  • voila: vynález zalieva všetky rastliny súčasne.

Užívateľ si nezávisle zvolí čas zavlažovania, ale len pre jeden kvet. Kvety majú často rovnakú hmotnosť a veľkosť. V dôsledku toho pôda v črepníkoch vyschne za rovnaký čas. Na tento účel bola vynájdená kombinovaná metóda: počet hrncov je rozdelený do skupín rovnakej hmotnosti a veľkosti.

Vzorový kód pre Arduino pre projekt "Automatické zavlažovanie".

Prejdime k programovaniu kódu:

// Stiahnite si knižnicu pre displej a pripojte ju k programu #include "QuadDisplay2.h"; // Vytvorte konštantu predstavujúcu pin, ku ktorému je pripojené vodné čerpadlo // #define VODPOMPA_PIN 4; // Vytvorte konštantu označujúcu kontakt, ku ktorému sme pripojili // analyzátor pôdnej vlhkosti #define HUM_PIN A0; // Min podľa vlhkosti #define HUM_MIN 200; // Max podľa vlhkosti #define HUM_MAX 700; // Čas medzi kontrolami zavlažovania #define INTER 60000 * 3; // Deklaruje premennú, ktorá bude uchovávať hodnotu vlhkosti unsigned int hum = 0; // Do tejto premennej ulozime casovy interval unsigned long Time = 0; // Deklarujte objekt z triedy QuadDisplay, potom odovzdajte poznávaciu značku // kontaktného CS QuadDisplay displeja (9); // Vytvorte metódu zodpovednú za fungovanie nastavenia displeja void (void) (// Spustite metódu begin (); // Deklarujte funkciu, ktorá bude zodpovedná za výstup vodného čerpadla z // kontaktného pinMode ( VODPOMPA_PIN, OUTPUT); // Na displeji sa rozsvieti číslo - 0 display.displayInt (0);) // Vytvorte metódu, ktorá je zodpovedná za aktuálnu hodnotu vlhkosti void loop (void) (// Vypočítajte aktuálnu hodnotu vlhkosti int humNow = analogRead (HUM_PIN); // Ak sa indikátor hodnoty nerovná predchádzajúcemu, potom ... if (humNow! = bzučanie) (// Uložte teraz získanú hodnotu hum = humNow; // Zobrazte hodnotu na obrazovke sa zobrazíInt (humNow);) // Nastavte podmienky: ak uplynul určený čas používateľa a // stav vlhkosti v pôde je nižší, ako je potrebné, potom ... ak ((Čas == 0 || milis () - Čas> INTER) && bzučanie< HUM_MIN) { // Даем сигнал о начале работы водяной помпы digitalWrite(VODPOMPA_PIN, HIGH); //Объявляем потом, длящийся 2 секунды delay(2000); // Завершаем работу помпы digitalWrite(POMP_PIN, LOW); // Ставим в значение переменной Time текущее время и добавляем 3 минуты Time = millis(); } }

Okrem toho si môžete pozrieť pár zaujímavých videí od našich kolegov.

Dnes sa na uľahčenie starostlivosti o rastliny používajú rôzne zavlažovacie systémy, umožňujú kontrolovať množstvo vody pre každý druh rastlín, aplikovať kvapkovú závlahu alebo postrekovače. Voda sa šetrí, pre rastliny sa vytvárajú najpriaznivejšie podmienky pre rozvoj. Jedinou nevýhodou takýchto systémov je potreba neustáleho monitorovania, zapínanie / vypínanie sa vykonáva manuálne. Ide o dosť nepríjemnú činnosť, dĺžka zálievky v závislosti od druhu rastlín, klimatických podmienok a konkrétneho systému môže byť až dve hodiny. Na vyriešenie tohto problému by ste mali nainštalovať zavlažovací časovač pre gravitačné systémy.

Najprv si musíte vysvetliť pojem „gravitačné systémy“, inak v niektorých zdrojoch nájdete zábavné vysvetlenia princípov ich fungovania a úplné nepochopenie hydrodynamiky.

Automatické zavlažovacie systémy pre záhradu - schéma

Sú odborníci, ktorí tvrdia, že zavlažovacie časovače pre gravitačné systémy sú také dobré, že dokážu pracovať s tlakmi vody od 0 do 6 atmosfér. Pracovať budú pri nulovom tlaku, len sa nebude nič polievať. Gravitácia nie je fyzikálny pojem, ale čisto každodenný. A to neznamená absenciu tlaku, ale absenciu neustále pracujúcich vodných čerpadiel. V gravitačných systémoch čerpadlo dodáva vodu iba do akumulačnej nádrže, ktorá je umiestnená v určitej vzdialenosti od zeme. Vplyvom výškového rozdielu medzi hornou hladinou vody a miestom jej výstupu vzniká tlak, práve tento tlak rozhýbe prúd vody.

Prečo sa časovače vo väčšine prípadov používajú pre gravitačné systémy? Pretože nemôžu pracovať pri vysokých tlakoch, ich uzatváracie ventily sú príliš krehké a ich hnací mechanizmus je slabý. Pre väčšinu zariadení maximálny tlak vody nemôže prekročiť 0,5 atm., Pre takýto tlak by mala byť nádoba s vodou vo vzdialenosti päť metrov od zemského povrchu. Prevažná väčšina závlahových systémov má akumulačné nádrže umiestnené oveľa nižšie.

Typy časovačov

V súčasnosti sú k dispozícii tri typy časovačov:

  • mechanický. Najjednoduchšie sú poloautomatické riadiace systémy. Zapnutie sa vykonáva manuálne, po uplynutí stanoveného času (až 120 minút) sa automaticky vypne. Nevyžaduje napájanie, uzatvárací ventil je ovládaný pružinou. Výhodou je nízka cena a vysoká spoľahlivosť. Nevýhody - počas zapínania sa nezaobídete bez prítomnosti ľudí;

  • elektronický s mechanickým ovládaním. Režimy zavlažovania sú plne automatizované, plán zavlažovania je možné upraviť na sedem dní, dĺžka zavlažovania je až 120 minút. Výhody - relatívne nízke náklady, jednoduchosť programovania a správy. Nevýhody - nemožnosť pripojiť ďalšie zariadenia;

  • elektronický s naprogramovaným ovládaním. Najmodernejšie zariadenia majú možnosť nastavenia až 16 špeciálnych funkcií. Nevýhody - vysoké náklady. Okrem toho môže byť pre netrénovaných používateľov náročné inštalovať programy.

Mechanické časovače sa používajú zriedka, najčastejšie sú zavlažovacie systémy riadené jedným z typov elektronických zariadení. Prívod vody je regulovaný solenoidovým (elektromagnetickým) ventilom alebo guľovým ventilom.

Časovač zavlažovania na 2 riadkoch, mechanický "Expert Garden"

  1. Solenoidový ventil. V určitom čase sa do elektromagnetickej cievky privádza energia, pôsobením elektromagnetického poľa sa jadro vtiahne do solenoidu a blokuje tok vody. Ak dôjde k prerušeniu napájania, jadro je vytlačené pružinou nahor a otvor potrubia sa otvorí. V časovačoch môže byť princíp činnosti obrátený - bez napätia je ventil uzavretý pružinou a pri výskyte silného magnetického poľa sa otvorí. Vďaka tomuto princípu fungovania sa šetrí energia batérie. Činnosť solenoidového ventilu sa dá rozlíšiť charakteristickým cvaknutím počas otvárania / zatvárania.
  2. Guľový ventil. Otváranie / zatváranie zabezpečuje prevodovka poháňaná elektromotorom. Pre úsporu energie je tiež neustále v zatvorenej polohe, otvára sa len na obdobie, kedy je systém zapnutý na zavlažovanie. Počas činnosti časovača s guľovým ventilom je počuť krátky zvuk z činnosti elektromotora a prevodovky.

Dôležité. Akonáhle hrozí nebezpečenstvo mrazu, časovač sa musí vypnúť. prečo? Počas rozbehu sa vo vinutiach statora objavujú veľké prúdy, akonáhle sa rotor začne otáčať, prúd klesne do prevádzkových režimov. Pri mrazoch môže guľový ventil trochu zamrznúť, výkon elektromotora nestačí na jeho odlomenie. To znamená, že cez vinutia budú dlho pretekať štartovacie prúdy, čo nevyhnutne povedie k ich prehriatiu a skratu. A samotná prevodovka nie je navrhnutá na veľké úsilie, hnacie ozubené kolesá môžu zlyhať. Takéto poruchy vyžadujú zložité opravy alebo úplnú výmenu zariadenia.

Mechanické elektronické časovače (typ pohára)

Veľmi jednoduché ovládanie, spoľahlivé a odolné zariadenia. Ak chcete vybrať prevádzkové režimy zavlažovacieho systému, musíte vykonať nasledujúce kroky:

  • odskrutkujte vrchný priehľadný plastový kryt. Musíte pracovať opatrne, nestratiť tesniace tesnenie, môže vypadnúť;
  • pomocou ľavého prepínača nastavte frekvenciu zapínania systému, maximálna doba je 72 hodín;
  • pomocou pravého prepínača nastavte konkrétnu dobu zavlažovania, maximálne 120 minút.

Dôležité. Počiatočný čas odpočítavania elektronického zariadenia začína od okamihu zapnutia časovača. To znamená, že ak napríklad chcete, aby sa zavlažovanie pravidelne zapínalo o piatej hodine ráno, prvé nastavenie časovača sa musí vykonať v rovnakom čase. V budúcnosti sa čas zapnutia zavlažovacieho systému nezmení.

Výrobcovia spolu s časovačom implementujú kompletnú sadu tvaroviek na pripojenie plastových rúr alebo flexibilných hadíc rôznych priemerov. Časovač je napájaný dvomi AAA 1,5 V AA batériami.

Časovač zavlažovania - foto

Elektronické časovače so softvérovým ovládaním

Modernejšie zariadenia majú výrazne pokročilé funkcie. Súčasťou dodávky sú adaptéry na pripojenie potrubí a flexibilných hadíc rôznych priemerov. Konfigurácia ovládania softvéru beží takto:

  • odstráňte plastový kryt. Vo výrobnom závode je dosť pevne skrútený, bude potrebné vyvinúť značné úsilie;
  • stlačte tlačidlo Čas, na elektronickom displeji sa zobrazia parametre inštalácie programu. Nastavte aktuálny čas a deň v týždni, akciu je potrebné potvrdiť stlačením tlačidla Nastaviť;
  • prejdite postupne na každý deň v týždni, vyberte čas a trvanie elektronického časovača. Tieto parametre budú uložené po celú dobu používania;
  • na želanie je možné na zariadení nakonfigurovať až 16 rôznych programov. Za týmto účelom stlačte tlačidlo Prog a potom nastavte požadovaný počet programov. Všetky zadané údaje je potrebné potvrdiť stlačením tlačidla Nastaviť.

Vo vnútri zariadenia je nainštalovaný pomerne veľký kondenzátor. Je navrhnutý tak, aby signalizoval kritické vybitie batérie a prepol časovač do režimu autonómneho napájania. Keď je batéria takmer vybitá, na displeji sa zobrazí varovný signál. Od okamihu, keď sa objavia, batérie môžu ešte pracovať 2-3 dni v závislosti od frekvencie a trvania zavlažovacieho systému.

V plne autonómnom režime môže kondenzátor poskytnúť časovač na 3-4 dni. Ak batérie počas tejto doby nevymeníte, časovač sa zruší. Potom sa všetky predtým nastavené režimy zavlažovania vymažú z pamäte, budete musieť zopakovať kroky inštalácie od úplného začiatku.

V pohotovostnom režime časovač spotrebuje nie viac ako 1,2 mA, počas prevádzky sa spotreba prúdu zvýši na 350 mA. Sú to veľmi malé hodnoty, vďaka ktorým môže zariadenie fungovať len na batérie minimálne jednu sezónu. Výrobcovia tento čas zámerne ponechali, v období ročnej rutinnej kontroly závlahového systému pred spustením sa odporúča inštalovať nové batérie.

Existujú modely časovačov určených na prácu na veľkých a zložitých zavlažovacích systémoch. Majú niekoľko ventilov, čo umožňuje ovládať režimy zavlažovania niekoľkých samostatných zón, pre každú z nich sú nastavené vlastné parametre. Viacventilové zariadenia je možné pripojiť na napätie 220 V alebo mať až osem AAA 1,5 V batérií.

Aké údaje by sa mali brať do úvahy pri konfigurácii snímačov

Podmienky pre pestovanie rastlín vo veľkej miere závisia od správneho nastavenia programu časovača. Čo treba zvážiť?

Rozdelenie zavlažovanej plochy do samostatných zón s prihliadnutím na druhy plodín. Každý z nich má svoje požiadavky, v niektorých prípadoch si budete musieť dokúpiť viacventilové časovače.

Hydraulický výpočet na základe maximálnej spotreby vody. Časovače by mali zohľadňovať celkovú kapacitu úložiska. Ak nie je automatické čerpanie, musíte nezávisle kontrolovať prítomnosť vody av prípade potreby naplniť nádoby.

Analýza trasovania pokládky závlahových systémov. Veľké rozdiely vo výške jednotlivých závlahových vedení môžu mať výrazný vplyv na ich produktivitu. Pri zakladaní by ste mali pamätať nielen na čas zálievky, ale aj na množstvo vody, ktoré sa rastlinám počas tejto doby dodáva.

Po dokončení inštalácie časovača sa odporúča skontrolovať funkčnosť systému. Na tento účel sa nastavia minimálne spínacie periódy, kontroluje sa správna činnosť pohonov ventilov. Ak je časovač v normálnom režime, môžete spustiť špecifické programovanie a uviesť systém do automatického režimu prevádzky.

Proces inštalácie programu časovača bude oveľa jednoduchší, ak si spolu s ním zakúpite ďalšie senzory.

Ďalšie funkcie časovača

Elektronické časovače pre zavlažovanie pomocou senzorov môžu vykonávať niekoľko dodatočných funkcií, vďaka čomu je pestovanie plodín v skleníkoch alebo vonku ešte jednoduchšie.

  1. Dažďový senzor. Takéto zariadenie sa používa pri inštalácii zavlažovania na otvorených priestranstvách. Dažďový senzor vysiela signál do elektronického zariadenia, že sú prítomné prirodzené zrážky. Časovač reaguje na tieto signály a vynechá jedno zavlažovanie, ktoré sa zhoduje s obdobím dažďa. Senzor je nastaviteľný v rozsahu zrážok od 3 mm do 25 mm. Tento široký rozsah vám umožňuje presnejšie nastaviť rýchlosť zavlažovania na základe poveternostných podmienok. Prítomnosť funkcie zrýchleného odvolania umožňuje zastaviť zavlažovanie v čo najkratšom čase po začiatku dažďa, zariadenia nevyžadujú dodatočnú údržbu. V závislosti od nastavenia ventilačného krúžku sa nastaví oneskorenie návratu chaty do pohotovostného režimu. Doba návratu do pôvodnej polohy je priamo závislá od vlhkosti a okolitej teploty. To umožňuje dosiahnuť značné úspory vody.
  2. Membránové čerpadlo. Môže byť namontovaný v kĺbe s časovačom alebo v samostatnom puzdre, monitoruje hladinu vody v zásobných nádržiach. Keď množstvo vody klesne pod kritickú úroveň, čerpadlo sa automaticky zapne, aby doplnilo zásoby. Po naplnení nádrží sa čerpadlo vypne.
  3. Rádiový kanálový snímač pôdnej vlhkosti. Najmodernejšie zariadenie, výrazne uľahčuje starostlivosť o rastliny. Inštalovaný na niekoľkých miestach záhonov blokuje príkaz časovača pre zavlažovanie v prípade vysokej vlhkosti pôdy. Najmodernejšie zariadenia zvyšujú úrodu poľnohospodárskych plodín minimálne o 10 %.
  4. Filter na čistenie vody. Vykonáva vysokokvalitné čistenie vody, výrazne zvyšuje čas prevádzky časovača.

Ďalšie monitorovacie a ovládacie zariadenia je možné zakúpiť spolu so zavlažovacím časovačom alebo samostatne.

Video - Časovače zavlažovania pre gravitačné systémy

Pred časom som si povedal, že by bolo fajn zautomatizovať polievanie v krajine. Dôležitú úlohu pri tomto rozhodovaní zohrali aj recenzie niektorých užívateľov muska. Ale keďže elektronika nie je môj profil, rozhodlo sa, že hardvérovú časť projektu čo najviac zjednoduším a ak je to možné, zaobídete sa bez LUT, leptania dosiek a iných ťažkostí. Skrátka, chcel som svoj systém implementovať ako akýsi konštruktér poskladaný zo štandardných komponentov, ale či to vyšlo alebo nie, je na vás.

UPD: pridaná skica pre Arduino.

1. Pochopenie prianí a usporiadanie myšlienok projektu
Projekt bol pôvodne koncipovaný asi takto: 4 výkonné postrekovače (v budúcnosti 8), rovnaký počet solenoidových ventilov, reléový modul pre ne, obrazovka 16x2, hodiny reálneho času a Arduino ako mozog.
Čakal som, že na ovládanie ventilov bude stačiť nejaké jednoduché menu, cez ktoré sa dá nastaviť aktuálny čas, čas začiatku polievania a trvanie práce.
Potom som si myslel, že dať 8 vstupov arduinov do klávesnice je príliš veľa. A vo všeobecnosti nie všetky klávesnice sú rovnako užitočné všade, kde je opodstatnené používať iba digitálny blok; Koniec koncov, musíte nielen zadávať čísla, ale aj implementovať navigáciu v ponuke.
A ak áno, je lepšie použiť joystick - to je všestrannejšie riešenie ako numerická klávesnica a ovládanie sa stáva "intuitívne" ... samozrejme, ak sa to dá urobiť týmto spôsobom ... a obrazovka, a vo februári-marci som začal ladiť náčrt pre postrekovač.
Počas vývoja softvérovej časti sa v úvodnom projekte urobilo ešte niekoľko zmien. Predovšetkým som pridal niekoľko snímačov teploty a vlhkosti a manuálnu riadiacu jednotku ventilov. Okrem toho, na ochranu pred chodom motora na voľnobeh som sa rozhodol umiestniť na vstup snímač prietoku vody, aby som v prípade dlhšieho nedostatku prietoku núdzovo odstavil motor.
Prečo je tam toľko senzorov? Áno, len nie sú veľmi drahé, na doske zostali prázdne vstupy a poznať teplotu a vlhkosť v rôznych častiach lokality je užitočné. Snímače som plánoval nainštalovať do skleníka, na ulicu a do jamy pre čerpaciu stanicu, ako aj umiestniť snímač pôdnej vlhkosti a snímač teploty pôdy niekde v záhrade.
Vo všeobecnosti vám lepšie ukážem tabuľku senzorov a pinov arduinu

2. Nákup potrebných komponentov
Tu je zoznam komponentov systému zakúpených v Číne (väčšinu som kúpil na aliexpress, ale pár kusov som zobral na Ebay - tam to bolo lacnejšie). Dve šarže už boli vyradené z predaja, takže namiesto odkazov na ne budú momentky - aby záujemcovia vedeli, čo majú hľadať.
1, cena 6,36 $ (množstvo od iného predajcu, pretože môj predajca tento senzor odstránil z predaja)
1, cena 0,74 USD
1, cena 0,63 USD
1, cena 1,16 USD
1, cena 0,56 $
1, cena 1,79 USD
1, cena 1,1 USD
1, cena 0,66 USD
1, cena 0,5€
1, cena 1,35 USD
1, cena 3,56 dolárov
1, cena 0,84 USD
3, cena 0,99 $ za kus, len 2,97 $
4, cena 5,59 $ za kus, len 22,36 $
4, cena 3,62 $ za kus, len 14,48 $. Analógy sa ľahko hľadajú
4, cena 0,95 USD za pár, len 1,9 USD
Celkové náklady na internet – 60,96 USD

Nasledujúce položky boli zakúpené v miestnom železiarstve:
2 cievky zavlažovacej hadice 5/8 (každá 30 m) - 540 000 bieloruských rubľov alebo asi 28 dolárov
8 spojok 1/2 – 112 000 BYN alebo približne 5,8 $
3 odpaliská 1/2 - 60 000 bieloruských rubľov alebo asi 3 doláre
8 armatúr 15 * 16 - 92 000 bieloruských rubľov alebo asi 4,8 USD
Celkové offline náklady - 804 000 bieloruských rubľov alebo 41,2 USD

Za zmienku stojí aj to, čo sa v tomto zozname nenachádzalo - niektoré veci z tohto zoznamu sa ku mne dostali shareware (starý odpad), pri niektorých som len zabudol ceny. to:
40 metrov 4-žilového signálneho kábla na pripojenie snímačov teploty;
40 metrov najlacnejšieho 2-žilového medeného kábla na prenos 12 voltov do solenoidových ventilov;
2 rozbočovače RJ-11, ktoré slúžili ako výstupy pre pripojenie snímačov teploty a vlhkosti a 4 konektory pre káble so snímačmi;
2 rozbočovače RJ-45 na prepojenie riadiacej jednotky umiestnenej v dome s jednotkou relé a pôdneho senzora umiestnenou vonku vedľa čerpadla a 4 konektory pre káble;
starý kábel (krútený pár) - 30-40 metrov, na pripojenie arduiny s relyushki;
konektor na pripojenie disketovej jednotky, spájkovaný zo starej základnej dosky, a plochý kábel z disketovej jednotky;
starý 24 voltový napájací zdroj;
orezávacia nábytková doska s hrúbkou 12-16 mm na výrobu boxov pre systém.

Pred použitím som nerobil obrázky rozdeľovačov, vyzerajú asi takto:

3. Výroba niečoho, čo nebolo kúpené
Niektoré veci sa z jedného alebo druhého dôvodu museli robiť nezávisle od odpadových materiálov. Pokúsim sa tu popísať čo a ako sa to robilo a prečo sa to robilo tak a nie inak.

3.1 Senzor pôdnej vlhkosti(dúfam, že dlho žije)
Ako vidíte, v nákupnom zozname nie je žiadny snímač pôdnej vlhkosti, hoci je to avizované v projekte. Faktom je, že samotná myšlienka zakopať kus PCB tenkými pásikmi kovu do zeme sa mi zdala dosť klamná, a tak som sa rozhodol nájsť lepší spôsob. Keď som sa prehrabal na internete, našiel som na tematickom fóre, sú tam dobré rady a príklady. Vo všeobecnosti som sa rozhodol urobiť to isté, čo sa tam píše: 2 vodiče, odpory a 3-vodičový drôt. Ako katóda a anóda bol použitý jeden lúč bicykla, ktorý bol nemilosrdne rozhryzený na kusy. Tu pre porovnanie prehovorili kúsky darcu a celok


Spájkujeme drôty, odpory a kusy lúčov - vo všeobecnosti robíme všetko tak, ako je napísané na fóre


Potom anódu a katódu dočasne pripevníme na plastelínu, aby sme našu výšivku utesnili tavným lepidlom


Ďalej sa vzal malý pohárik detského jogurtu ako forma, urobil som do neho otvor na drôt, opatrne som nainštaloval konštrukciu dovnútra a naplnil ho kotviacou hmotou Ceresit CX-5






Členovia fóra odporúčajú sadru, ale nebola po ruke, myslím, že rýchlotuhnúci cement nebude o nič horší.
Sušené - otvorené






Na hotovom senzore som pre každý prípad prešiel olejovou farbou v niekoľkých vrstvách tak, aby senzor meral vlhkosť pôdy a nie vlhkosť kusu betónu.

Na používanie tohto megazariadenia je potrebná predbežná kalibrácia. Robí sa to elementárnym spôsobom: vezmeme suchú pôdu, strčíme do nej domáci senzor, skontrolujeme a zapíšeme získanú hodnotu vlhkosti. Potom tam nalejeme toľko vody, aby sme vytvorili malý močiar, a opäť odstránime hodnotu zo snímača.
Rýchlo kalibrované pomocou tohto náčrtu z fóra:
#define PIN_SOIL_LEFT 6 #define PIN_SOIL_RIGHT 7 #define PIN_SOIL_HUMIDITY 0 nastavenie void () (Serial.begin (9600); pinMode (PIN_SOIL_LEFT, OUTPUT); pinMode (PIN_SOIL_RIGHT, OUTPUtT)) (pin_ifMode fILIPritT) (pin_ifMode fILWlipT) , HIGH); digitalWrite (PIN_SOIL_RIGHT, LOW);) else (digitalWrite (PIN_SOIL_LEFT, LOW); digitalWrite (PIN_SOIL_RIGHT, HIGH);)) void loop () (setSensorPolarity (true) ; delay (1000); (int val1 = analogRead PIN_SOIL_HUMIDITY); delay (1000); setSensorPolarity (false); delay (1000); // invertovať čítanie int val2 = 1023 - analogRead (PIN_SOIL_HUMIDITY); reportLevels (val1, val2) ;) void reportLevels (int val1, int val2) (int avg = (val1 + val2) / 2; String msg = "avg:"; msg + = avg; Serial.println (msg);)
V mojom prípade bola hodnota na snímači tesne nad 200 v suchej pôde a o niečo menej ako 840 v mokrej pôde.
Teraz máme minimálnu a maximálnu úroveň vlhkosti pre konkrétnu pôdu, bude potrebné ich zadať do zodpovedajúcich konštánt v hlavnom náčrte. To je všetko!

3.2 Napájanie ventilov
V Číne sa, samozrejme, dalo kúpiť obyčajný 12 voltový zdroj, ktorý produkuje aspoň 1 ampér, ale v odpadkových košoch vlasti sa v nabíjačke z mŕtveho skrutkovača našla kopa starého haraburdia. ampér pri napätí 24 voltov. Preto bol zakúpený konvertor LM2596 a potom úspešne integrovaný do starého bloku. Nefotil som samostatne, ale toto nie je o tejto recenzii ... Tu je upravený blok spolu s ventilom, prejde ako príklad


V tele bloku bol vytvorený otvor pre pohodlnú reguláciu napätia. Teraz pomocou skrutkovača a multimetra môžete nastaviť ľubovoľné napätie od 5 do 24 voltov. Dopadlo to celkom dobre, myslím. Žiaľ, klikol som na Aloha_ o konvertoroch ... Ale v mojom prípade sa zdá byť všetko v poriadku, nebolo zaznamenané žiadne prehrievanie.

3.3 Držiaky postrekovačov
Túto vec v obchode určite nekúpite! Pretože to bolo vyrobené v množstve 4 ks na špeciálnu objednávku :) Aj keď je tu všetko jednoduché: polpalcová rúrka vysoká jeden meter, zospodu sa urobí 90-stupňový ohyb a zvarí sa 30-40 cm dlhý roh, takže že držiak možno zapichnúť do zeme v požadovanej časti miesta. V hornej časti by mal byť závit vnútorný o pol palca (v mojom prípade je tam len zváraná spojka), v spodnej časti - ako je to pre každého pohodlnejšie. V mojom prípade je vonkajší polpalcový závit, ale ako prax ukázala, bolo by lepšie mať vnútorný závit, potom by som nemusel najskôr skrutkovať spojku, potom armatúru alebo ventil ... Vo všeobecnosti som to dopredu nepremyslel, takže mi vznikli ďalšie náklady na spojky :(
Ilustračné fotografie držiteľa - tu:




A o kúsok ďalej bude fotka používaného držiaka.

3.4 Skrinky pre riadiacu jednotku a relé
Najprv som plánoval umiestniť všetky časti polivátora do jednej skrinky a vybaviť ju výstupmi na ventily (12 voltov), ​​čerpadlo (220 voltov) a samotné senzory. Potom som sa však rozhodol rozbiť silovú a slaboprúdovú časť polivátora a cvakanie relé skoro ráno by bolo veľmi pochybné potešenie. Doska s arduinom, joystickom, tlačidlami, obrazovkou a hodinami reálneho času teda zostane v „domovskej“ krabici a relé budú umiestnené v krabici vonku, bližšie k motoru a ventilom.
Na zostavenie riadiacej jednotky som potreboval kus nábytkovej dosky, perové vrtáky na otvory pre tlačidlá a pre joystick a skladačku na otvory pre obrazovku.

Vyvŕtajte, napílite a namontujte krabicu pod spojler













Ďalej otvoríme rozdeľovače (telefón a krútený pár), prispájkujeme k nim drôty a nanesieme na tavné lepidlo. Pozri tu podrobnejšie






Obrazovka a hodiny reálneho času sa týmto spôsobom spojili do jedného celku


A potom bola táto konštrukcia slávnostne upevnená samoreznými skrutkami v krabici. Joystick bol tiež naskrutkovaný. Teraz navonok riadiaca jednotka vyzerá takto:


Zostáva hodiť mozgy do krabice - a riadiaca jednotka je pripravená.
Teraz pozornosť. Estétom, deťom a tehotným ženám dôrazne odporúčame, aby neotvárali ďalší spoiler... Pretože neuvidíte nádherné dosky, ktoré dokážu vyrobiť Yurok, ksiman a ďalšie známe osobnosti. Ale uvidíte inštaláciu dosky v najlepších tradíciách China BasementProm: kabeláž namiesto koľajníc a horúcu taveninu, aby sa nerozpadla. Preto ešte raz upozorňujem: neotvárajte spojler! Dajte mi za slovo, táto tabuľa funguje, ale radšej ju nevidieť :)

Spoiler, neotvárajte to, je tam uzhos a kyshmar!

Preto si to otvoril, však? No dobre, obdivuj... Nehádž paradajky!









Riadiaca jednotka je spojená s reléovou jednotkou pomocou dvoch krútených párov. Pre súhru "mozgov" s ventilmi a motorom stačí 5 ovládacích vedení a ďalšie 2 vedenia na napájanie relé (5 voltov a zem), ale je tu aj prietokomer (už je napájanie, takže len Je potrebný 1 riadok), snímač pôdnej vlhkosti (3 riadky) a 4 LED diódy zobrazujúce aktuálny stav ventilov. Celkovo je použitých 15 liniek zo 16 dostupných.
V reléovom bloku sú okrem samotných relé zabudované zásuvky pre motor a pre napájanie ventilu, ako aj konvenčný spínač pre nútený štart motora. Samotná jednotka je vyrobená z rovnakých zvyškov nábytkovej dosky ako riadiaca jednotka, ale vyzerá ako obyčajná drevená krabica. Na vstupe sú na doske zapojené dva krútené páry cez konektory pre relé motora, relé ventilu, LED diódy, snímač vlhkosti a snímač prietoku vody. V stene boli prezieravo urobené otvory pre vodiče k ventilom, k vypínaču a do zásuvky ovládanej cez motorové relé.


Na svorkovnici sú vodiče vyvedené k solenoidovým ventilom


Vonku som naskrutkoval zásuvku na motor ovládaný arduinom a vypínač na manuálne zapnutie motora


Všetky vodiče sú vedené a vyvedené tam, kde je to potrebné ... zdá sa


Na vnútornej stene sa objavila zásuvka pre 12-voltový zdroj, tu je tiež vidieť


V hotovej podobe to všetko vyzerá asi takto:


Trochu vysvetlím čo a ako. Napájanie je privádzané do krabice a vo vnútri je skrytý blok pre 12-voltové ventily, relé motora a relé ventilov. Vypadne prúd do motora (zásuvky) a vytiahne sa aj spínač na ručné ovládanie motora (je paralelný s relé). Okrem toho je možné pripojiť snímače pôdnej vlhkosti a prietoku vody, tie sú však prázdne. Prečo - to vám poviem trochu ďalej.
4. Popis funkčnosti
V skutočnosti je tu neúplná sada elektronických komponentov na montáž


Najprv sa niečo ako táto "chobotnica" poskladala z arduiny a malej sady periférií, práve tento zázrak som použil na odladenie náčrtu


Minimum, ako som už povedal, bolo rozhodnuté urobiť ovládanie joystickom a vznikla nasledujúca minimálna potrebná sada položiek ponuky:
1. Nastavenia dátumu a času
2. Nastavenia plánu zavlažovania
3. Informácie zo senzorov
4. Možnosť núteného reštartu

Podarilo sa mi to implementovať a vystačil som si aj s anglickým displejom 1602 - pomohla knižnica LCD_1602_RUS, ktorá umožnila "vyrobiť" 8 znakov azbuky. Potom, zmiešané s anglickými písmenami, bolo možné zostaviť ruské názvy položiek menu, ktoré sú celkom zrozumiteľné pre starších ľudí (mojich rodičov). Konečná veľkosť náčrtu je tesne pod 1 400 riadkami, vtesnanými do 45 kilobajtov.
Výsledok kompilácie:
Náčrt využíva 19 626 bajtov (63 %) pamäte zariadenia. Celkovo je k dispozícii 30 720 bajtov.
Globálne premenné využívajú 1 316 bajtov (64 %) z haldy, pričom zostáva 732 bajtov pre lokálne premenné. Maximum: 2 048 bajtov.

Našťastie neexistujú žiadne upozornenia na nedostatok pamäte.
Samotný náčrt tu ešte nie je, časom ho zverejním. Chcem trochu oprášiť kód :)
Čo fungovalo a čo sa nepodarilo? No, na chobotnici všetko fungovalo :) Žiaľ, život robí svoje vlastné úpravy a po oddelení mozgov, relé a senzorov niečo prestalo fungovať... Po prvé, analógové senzory. Žiaľ, teraz mi kvôli dĺžke káblov nefungujú - podľa toho položka menu "PÔDA" ukazuje nulovú teplotu a vlhkosť. Existujú určité myšlienky, ako to napraviť, ale zatiaľ nie je čas. Rodičov na daču nenavštevujem veľmi často a robím nielen závlahu, ale aj ďalšiu služobnú cestu... V každom prípade budem rád, ak od čitateľov dostanem praktické rady.
Po druhé, nebolo možné okamžite pripojiť prietokomer - tentoraz vôbec nie kvôli dĺžke káblov. Unáhlene som to dal na vstup do motora, hneď za spätný ventil, ako sa ukázalo - nemá tam miesto. Snímač zjavne nie je úplne utesnený a keď voda stúpa, vzduch uniká cez mikroštrbiny v kryte, v dôsledku čoho čerpadlo nečerpá vodu. Kým som to odstránil, skúsim to dať na výstup čerpadla - malo by to fungovať, ale možno to bude trochu vytekať.
Teraz k pracovnej funkcii. Harmonogram je jasný – presne na to sa projekt začal. Niekedy však stačí na chvíľu zapnúť zavlažovač, a preto som urobil dva nútené režimy zavlažovania: obmedzený a nekonečný. Obmedzený režim sa aktivuje krátkym stlačením tlačidla, trvanie takéhoto zavlažovania je možné určiť v nastaveniach. Ak stlačíte tlačidlo znova, zavlažovanie sa predčasne ukončí. Dlhým stlačením zapnete nekonečné zalievanie – stlačením tlačidla ho opäť vypnete.
No a pekný doplnok - sledovanie teploty v jame s čerpacou stanicou, v skleníku a na ulici.
Raz denne je naplánovaný nútený reštart arduiny.

5. Zostavenie leštičky
Tu urobím malú odbočku a uvediem technické charakteristiky komponentov tlaku vody.
Pumpa JY1000 poľskej spoločnosti Omnigena má podľa výrobcu tieto vlastnosti:
Produktivita: 60 l / min;
Maximálna výška zdvihu: 50 m;
Príkon: 1100 W;
Maximálna hĺbka samonasávania: 8 m.

Okrem toho bol objavený takýto užitočný graf.

tu


A samozrejme, nezabudnite, že produktivita je veľmi závislá od hĺbky studne a upchatia filtrov.

Solenoidový ventil nepomenovaný, ale na mnohých stránkach som našiel (napríklad) niečo takéto:
Napätie: DC 12V;
Prúd: 0,5A;
tlak: 0,02-0,8MPa;
Produktivita je 3-25 l / min.
Okrem toho existuje optimistické vyhlásenie: Tlak vody: hydrostatický tlak 1,2 MPa, ktorý trval 5 min, žiadne prasknutie, deformácia, netesnosť.... Tie. do 5 minút ventil odolá aj výrazne vyššiemu tlaku ako je štandard „nie viac ako 0,8 MPa“.
Tu môžete vidieť ventil z rôznych uhlov


Ešte môžem poznamenať, že ventil som testoval na slabšom zdroji a pri 9 voltoch sa otváral bez problémov.
A aby ventily bez problémov fungovali vo vlhku záhrady, musel som zapnúť vynaliezavosť a nájsť využitie pre staré plastové fľaše.
Ahoj Bonaqua!


Tu je jeden ventil v takom oblečení, možno ho tu lepšie vidíte

Výkon postrekovač, podľa údajov je 700 - 1140 l / h, alebo približne 11,7 - 19 l / min pri tlaku kvapaliny 0,21 - 0,35 MPa.
Ako vidíte, za ideálnych podmienok čerpadlo dodáva príliš veľký prietok, ktorý je jednoducho fyzicky nemožné „premôcť“ ani ventil, nieto postrekovač. Pri pohľade do budúcnosti poviem, že studňa v mojom prípade nie je ani zďaleka ideálna a nedosiahla 60 l / min. Potom som si myslel, že tlak klesne aj kvôli dĺžke hadice od motora po najvzdialenejší postrekovač (takmer 30 metrov), tak som sa rozhodol, že sa tým nebudem príliš zaoberať. Potom som v rámci „výrobných skúšok“ pripojil k motoru tri zavlažovače súčasne. Ukázalo sa, že lejú veľmi slabo a ani tlak nestačí na zmenu smeru otáčania. Vyzeralo to takto: zavlažovač sa otáča, kým nenarazí na obmedzovač sektora, a otáčanie sa zastaví. Ak odstránite sektorový obmedzovač, potom v kruhu je rotácia viac-menej žiadny problém, ale polomer zavlažovania je 2-3 metre. Jeden zavlažovač som vyhodil-trochu sa to zlepšilo a skúšali aj otáčať,ale rádius bol stále max 4 metre.Ale jeden zavlažovač funguje super-trafi veľmi ďaleko (merané metrom, posype len 9 metrov na ceste) a žiadne problémy s rotáciou ...
Samotné postrekovače je možné nastaviť tak, aby vyhovovali vašim potrebám:
- prerušte prúd odskrutkovaním skrutky oproti tryske;
- zmeniť uhol a podľa toho aj vzdialenosť prúdu zdvihnutím alebo spustením dosky oproti tryske;
- zmeňte zavlažovací sektor pomocou obmedzovačov alebo úplne odstráňte zámok obmedzovača.
Tu sú fotografie „ovládacích prvkov“ zblízka








Rozprašovač na držiaku a s dodanou hadicou / drôtom vyzerá takto:

6. Práca
Riadiaca jednotka okrem aktuálneho času dokáže zobraziť akékoľvek užitočné informácie ako je teplota a vlhkosť. Tam môžete tiež nastaviť začiatok a trvanie zavlažovania podľa plánu a trvanie zavlažovania pri aktivácii tlačidlom.
Krátkym stlačením jedného zo 4 tlačidiel môžete zapnúť polievanie na určitý čas (nastavené v nastaveniach), dlhým stlačením sa zapne „nekonečný“ režim, t.j. bude možné vypnúť polievanie na danej linke len tým istým tlačidlom, prípadne sa vypne, ak treba linku vypnúť podľa rozpisu. Aj keď prečo sa opakujem? Dajte mi diapozitívy!
Tu môžete vidieť nastavenia:











Tu - pozeráme sa na teplotu a vlhkosť






Informácie získavame odtiaľto

Takto vlastne vyzerá kolektívna farma senzorov v podmienkach krajiny. Veranda


Pit


skleník


Tieto senzory zatiaľ nič nehovoria, prečo - vysvetlené vyššie



A nakoniec... Sedem problémov – jeden reset:

A teraz – video, kam sa bez neho dostaneme.
1. Miniexkurzia - čo je v ponuke zavlažovača. Snímače neboli pripojené, takže všetko je zobrazené nulami.


2. Nastavenie polivátora na zapnutie 2. a 3. riadku s trvaním jednej minúty


3. Ako vyzerá polievanie podľa harmonogramu, ktorý bol stanovený na skúšku


4. Ako vyzerá plánované zavlažovanie na obrazovke irigátora


5. Skúšobné polievanie z tlačidla - zapínanie a vypínanie. Neukazujem prácu zavlažovača, ale úprimne - všetko funguje


6. Zavlažovač a jeho nastavenie: čo sa kde otáča, otáča a upevňuje


7. Práca postrekovača v malom sektore na blízko

7. Porovnanie s ponukami na trhu
Dostupnou možnosťou na ruskom trhu je systém Gardena, predávaný v OBI. Môžete si vziať riadiacu jednotku za 13 590 rubľov a ďalších 3990 rubľov, konečná cena bude len 29550. Je to samozrejme skvelé a vyzerá to krásne. Ale dať takmer 500 amerických peňazí ... A pokiaľ som pochopil - nie sú tu zahrnuté žiadne postrekovače, konektory a hadice! Dobre, pozrime sa ďalej.
Gardena je opäť v tom istom obchode, ale už existuje 6-riadkový systém. Skladá sa z časovača dodávky vody za 11190 rubľov a za 6990 rubľov - spolu 18180, alebo takmer 300 Baku ... Hadice a postrekovače, ako v predchádzajúcom prípade, je potrebné zakúpiť samostatne.
Ebay okamžite ponúkol riadiacu jednotku spolu s ventilmi za približne 60 dolárov plus náklady na dopravu ~ 35 dolárov - v konečnom dôsledku takmer sto. Voliteľne sú k dispozícii ovládače Rain Bird ESP-RZX Series 4 a Hunter XC 400i (bez ventilov) za ceny nie nižšie ako 75 USD, bez dopravy. Ventily sú oddelené; napríklad pre poľovníka idú od 22 dolárov za kus, veľkoobchod je lacnejší.

A namiesto doslovu. Má zmysel, aby som sa trápil s vymýšľaním bicykla, ak je už na trhu? Myslím, že áno. Čo som z toho mal ja osobne? Po prvé, výrazná úspora, po druhé možnosť implementovať systém tak, ako potrebujem a po tretie, bol pre mňa jednoducho zaujímavý. Realizujte svoje projekty a nebojte sa robiť chyby. Nemýli sa len ten, kto nič nerobí!

Teraz sľúbený kód pre arduinu. Môžete si ho stiahnuť, v texte som podľa možnosti doplnil komentáre, ale konkrétne v tomto kóde nemusí fungovať (alebo nefunguje správne) prietokomer.

Plánujem kúpiť +101 Pridať do obľúbených Recenzia sa mi páčila +128 +247

Chceli by ste, aby vaše rastliny komunikovali, keď ich treba zaliať? Alebo vás len informujete o úrovni pôdnej vlhkosti?

V tomto článku sa pozrieme na projekt automatizovaného zavlažovania pomocou snímača úrovne vlhkosti pôdy:

Prehľad snímača pôdnej vlhkosti

Tieto snímače sa ľahko pripájajú. Dva z troch konektorov sú napájací (VCC) a zemný (GND). Pri používaní snímača je vhodné ho pravidelne odpájať od zdroja energie, aby ste predišli možnej oxidácii. Tretím výstupom je signál (sig), z ktorého budeme čítať. Dva kontakty snímača fungujú na princípe premenlivého odporu - čím viac vlhkosti v pôde, tým lepšie kontakty vedú elektrický prúd, klesá odpor, signál na kontakte SIG sa zvyšuje. Analógové hodnoty sa môžu líšiť v závislosti od napájacieho napätia a rozlíšenia analógových pinov vášho mikrokontroléra.

Na pripojenie snímača je možné použiť niekoľko možností. Konektor zobrazený na obrázku nižšie:

Druhá možnosť je flexibilnejšia:

A samozrejme, kontakty môžete priamo prispájkovať k senzoru.

Ak plánujete senzor používať mimo bytu, mali by ste dodatočne myslieť na ochranu kontaktov pred nečistotami a priamym slnečným žiarením. Možno by stálo za zváženie umiestnenie alebo aplikácia ochranného náteru priamo na kontakty a vodiče snímača vlhkosti (pozri obrázok nižšie).

Snímač úrovne vlhkosti pôdy s ochranným povlakom na kontaktoch a izolovaných vodičoch na pripojenie:

Problém krehkosti snímača úrovne pôdnej vlhkosti

Jednou z nevýhod snímačov tohto typu je krehkosť ich citlivých prvkov. Napríklad Sparkfun rieši tento problém použitím dodatočného náteru (Electroless Nickel Immersion Gold). Druhou možnosťou predĺženia životnosti snímača je napájanie priamo pri meraní. Pri použití Arduina je všetko obmedzené na privedenie HIGH signálu na pin, ku ktorému je pripojený senzor. Ak chcete napájať senzor väčším napätím, ako poskytuje Arduino, vždy môžete použiť ďalší tranzistor.

Kontrola pôdnej vlhkosti – príklad projektu

V nižšie uvedenom projekte je použitý snímač úrovne vlhkosti, analóg dosky Arduino - RedBoard a LCD displej, ktorý zobrazuje údaje o úrovni vlhkosti pôdy.

Senzor pôdnej vlhkosti SparkFun:

Červený vodič (VCC) sa pripája k 5V na Arduine, čierny vodič k zemi (GND) a zelený vodič k signálu k analógovému kolíku 0 (A0). Ak na Arduine používate iný analógový kolík, nezabudnite vykonať príslušné zmeny v náčrte mikrokontroléra nižšie.

LCD displej je pripojený na 5V, zem a digitálny pin 2 (môžete tiež meniť a vykonávať zmeny v kóde), aby komunikoval s mikrokontrolérom pomocou sériového komunikačného protokolu.

Stojí za zmienku, že ak chcete predĺžiť životnosť vášho snímača, môžete jeho napájanie pripojiť k digitálnemu kolíku a napájať ho iba pri čítaní údajov a potom ho vypnúť. Ak je snímač nepretržite napájaný, jeho snímacie prvky čoskoro začnú hrdzavieť. Čím viac vlhkosti v pôde, tým rýchlejšie bude prebiehať korózia. Ďalšou možnosťou je naniesť na prevodník omietku Paris. Výsledkom je, že vlhkosť vstúpi, ale korózia sa výrazne spomalí.

Program Arduino

Náčrt je celkom jednoduchý. Ak chcete preniesť údaje na displej LCD, musíte zahrnúť knižnicu sériových softvérov. Ak ho nemáte, môžete si ho stiahnuť tu: Arduino GitHub

Ďalšie vysvetlenia sú uvedené v komentároch ku kódu:

// Príklad použitia snímača úrovne vlhkosti pôdy s LCD displejom.

SoftwareSerial mySerial (3,2); // kolík 2 = TX, kolík 3 = RX (nepoužíva sa)

int prahUp = 400;

int prahDown = 250;

int senzorPin = A0;

String DisplayWords;

int sensorValue;

mySerial.write (254);

mySerial.write (128);

// vymazať displej:

mySerial.write ("");

mySerial.write ("");

// presuňte kurzor na začiatok prvého riadku LCD displeja:

mySerial.write (254);

mySerial.write (128);

// "Sušiť, zalievať!"

mySerial.write (254);

mySerial.write (192);

mySerial.print (zobrazené slová);

) else if (sensorValue> = prahová hodnota) (

// presuňte kurzor na začiatok druhého riadku displeja:

mySerial.write (254);

mySerial.write (192);

mySerial.print (zobrazené slová);

// presuňte kurzor na začiatok druhého riadku displeja:

mySerial.write (254);

mySerial.write (192);

mySerial.print (zobrazené slová);

Program používa rôzne minimálne a maximálne hodnoty. V dôsledku toho môže priemerná hodnota charakterizovať vlhkosť v závislosti od toho, či je pôda zamokrená alebo vysušená. Ak nechcete použiť tento priemer, možno predpokladať, že maximálne a minimálne hodnoty sú rovnaké. Experimenty však ukazujú, že navrhovaný prístup umožňuje presnejšie charakterizovať procesy, ktoré sa vyskytujú v pôde. V skutočnom svete neexistuje žiadna presná priemerná hodnota. Môžete sa teda pohrať so vzorkovaním rozsahu. Ak vás zaujímajú procesy, ktoré sa vyskytujú v pôde pri interakcii s vodou, prečítajte si napríklad tu: Wiki. Procesy sú pomerne zložité a zaujímavé.

V každom prípade musíte upraviť premenné tak, aby vyhovovali vašim vlastným podmienkam: typ pôdy, požadovaná úroveň vlhkosti. Takže testujte, experimentujte, kým nenájdete správne hodnoty.

Po organizovaní odčítania údajov zo snímača úrovne vlhkosti a ich zobrazení je možné projekt ďalej rozvíjať zorganizovaním automatického zavlažovacieho systému.

Senzor úrovne vlhkosti ako súčasť automatického zavlažovacieho systému založeného na Arduino:

Na automatizáciu zavlažovania potrebujeme ďalšie diely: prípadne remenice, ozubené kolesá, motor, spojku, tranzistory, odpory. Zoznam závisí od vášho projektu. No všetko, čo môže prísť pod ruku v bežnom živote. Jeden príklad je uvedený podrobnejšie nižšie:

Toto je jedna z mnohých možností inštalácie motora pre automatický zavlažovací systém. Koleso je možné nainštalovať priamo do vody. V tomto prípade, s jeho rýchlym otáčaním, bude voda dodávaná do závodu. Vo všeobecnosti môžete ukázať svoju predstavivosť.

Schéma zapojenia jednosmerného motora () na príklade kópie Arduina od SparkFun je uvedená nižšie:

Nižšie je náčrt pre Arduino (v skutočnosti je rovnaký ako ten vyššie s malým doplnkom na ovládanie motora):

// Náčrt načíta údaje zo snímača a zobrazí úroveň vlhkosti pôdy

// ak je pôda suchá, motor sa spustí

// Na prácu s displejom sa používa softvérová sériová knižnica

#include & ltSoftwareSerial.h & gt

// Pripojte kolík na komunikáciu pomocou LCD displeja pomocou sériového protokolu RX k digitálnemu kolíku 2 Arduina

SoftwareSerial mySerial (3,2); // kolík 2 = TX, kolík 3 = RX (nepoužitý)

// Motor ovládame pomocou pinu 9.

// Tento pin musí určite podporovať PWM moduláciu.

const int motorPin = 9;

// Tu nastavíme nejaké konštanty.

// Nastavenie konštánt závisí od podmienok vonkajšieho prostredia, v ktorom sa snímač používa

int prahUp = 400;

int prahDown = 250;

// Nastavte kolík A0 na Arduine, aby pracoval so senzorom:

int senzorPin = A0;

pinMode (motorPin, OUTPUT); // nastavíme pin, na ktorý je motor pripojený ako výstup

mySerial.begin (9600); // nastavte prenosovú rýchlosť na 9600 baudov

oneskorenie (500); // počkajte, kým sa načíta displej

// Tu deklarujeme reťazec, ktorý ukladá dáta na zobrazenie

// na displeji z tekutých kryštálov. Hodnoty sa zmenia

// v závislosti od úrovne vlhkosti pôdy

String DisplayWords;

// Premenná sensorValue ukladá analógovú hodnotu snímača z kolíka A0

int sensorValue;

sensorValue = analogRead (sensorPin);

mySerial.write (128);

// vymazať displej:

mySerial.write ("");

mySerial.write ("");

// presunieme kurzor na začiatok prvého riadku LCD displeja: mySerial.write (254);

mySerial.write (128);

// zapíšte potrebné informácie na displej:

mySerial.write ("Hladina vody:");

mySerial.print (sensorValue); // Pre hodnoty použite .print namiesto .write

// Teraz skontrolujeme úroveň vlhkosti oproti predtým nastaveným číselným konštantám.

// Ak je hodnota menšia ako prahDown, zobrazte slová:

// "Sušiť, zalievať!"

// presuňte kurzor na začiatok druhého riadku displeja:

mySerial.write (254);

mySerial.write (192);

DisplayWords = "Sušiť, zalievať!";

mySerial.print (zobrazené slová);

// naštartujte motor pri nízkych otáčkach (0 - stop, 255 - maximálne otáčky):

analogWrite (motorPin, 75);

// Ak hodnota nie je nižšia ako thresholdDown, treba vykonať kontrolu, nebude tam žiadna

// je väčšia ako náš prahUp a ak je väčšia,

// zobrazí nápis "Wet, Leave it!":

) else if (sensorValue> = prahová hodnota) (

// presuňte kurzor na začiatok druhého riadku displeja:

mySerial.write (254);

mySerial.write (192);

DisplayWords = "Wet, Leave it!";

mySerial.print (zobrazené slová);

// vypnutie motora (0 - stop, 255 - maximálna rýchlosť):

analogWrite (motorPin, 0);

// Ak je prijatá hodnota v rozsahu medzi minimom a maximom

// a pôda bola predtým mokrá, ale teraz vysychá,

// zobrazí nápis "Dry, Water it!" (teda keď my

// blíži sa k prahuDole). Ak bola pôda suchá a teraz

// rýchlo hydratuje, zobrazí sa slová "Wet, Leave it!" (teda keď my

// blíži sa prahUp):

// presuňte kurzor na začiatok druhého riadku displeja:

mySerial.write (254);

mySerial.write (192);

mySerial.print (zobrazené slová);

oneskorenie (500); // Polsekundové oneskorenie medzi odčítaniami

Veľa šťastia s automatickým zavlažovaním pre vaše rastliny!

Po uschnutí ďalšej kvetiny som si uvedomil, že by bolo pekné nejakým spôsobom automatizovať proces zavlažovania. Pretože som si istý, že zomrela kvôli nedostatku vody.
Rozhodol som sa zostaviť konštrukciu, ktorá by kvetinu zaliala za mňa. V dôsledku toho som dostal také zariadenie, ktoré sa celkom dobre vyrovná so svojimi povinnosťami:

Pomocou dvoch regulátorov môžete upraviť množstvo zavlažovanej vody naraz, ako aj interval medzi závlahami. Koho to zaujíma - ďalšie podrobné pokyny, ako vyrobiť takéto zariadenie. Použil som Arduino Mega na základňu mozgu.
Na zostavenie zavlažovača budete potrebovať množstvo komponentov a nie viac ako 30 minút voľného času.

Použité komponenty:

  • Arduino Mega (bolo to len po ruke, ale každý iný by to urobil)
  • Pumpa a silikónová hadička (postačí pumpa do ostrekovača auta - môžete si ju kúpiť z akýchkoľvek autodielov alebo si môžete kúpiť malé ponorné čerpadlo na eBay)
  • Zdroj
  • Dva variabilné rezistory na nastavenie (akékoľvek)
  • Bipolárny tranzistor IRL3705N
  • Dva odpory (100 ohmov a 100 kohmov)
  • Dióda (akákoľvek)
  • Nádrž na vodu (v mojom prípade plastová krabica z Ikea)
  • Rozloženie

Zhromažďujeme všetko podľa nasledujúcej schémy:

Alebo jasnejšie:

Tu je to, čo som dostal:

Najprv otestujme čerpadlo. Dajme tomu 5V. Ak bzučal, všetko je v poriadku, choďte ďalej.

Teraz pripojíme pumpu k Arduinu. Urobme si na doštičku malý postroj na ovládanie pumpy pomocou arduina.

Skúsme ovládať pumpu pomocou Arduina. Vyplňme takýto kód

int pumpPin = 5; nastavenie void () (pinMode (pumpPin, OUTPUT); digitalWrite (pumpPin, LOW);) void loop () (digitalWrite (pumpPin, HIGH); delay (1000); digitalWrite (pumpPin, LOW); delay (1000);)

Ak to pravidelne bzučí, potom je všetko opäť v poriadku.

Teraz musíme pridať dva ovládacie prvky. Pripojme premenné odpory k nášmu zariadeniu a skontrolujme ich výkon.

Vyplňme takýto kód na Arduine

int objemPin = A0; nastavenie void () (pinMode (volumePin, INPUT); Serial.begin (9600);) void loop () (Serial.println (analogRead (volumePin)); delay (100);)

Poďme k sériovému monitoru a uistite sa, že existuje reakcia na otáčanie gombíka. Mala by sa zmeniť z približne 0 na 1024

Teraz zostáva, aby to všetko fungovalo spolu.

Tu je samotný kód postrekovača:

// Prvý regulátor riadi čas, počas ktorého bude voda tiecť (od 4 do 15 sekúnd) #define MAX_FLOWTIME 15 // sekúnd #define MIN_FLOWTIME 4 // sekundy // Druhý regulátor riadi frekvenciu zavlažovania od 1x za deň po 1x týždenne#define MAX_PERIOD 7 // dní #define MIN_PERIOD 1 // dní #define MAX 1015 #define MIN 0 int objemPin = A0; // Pin, na ktorý je pripojený regulátor, ktorý zodpovedá za objem zavlažovanej vody int periodPin = A1; // Pin, na ktorý je pripojený regulátor, ktorý je zodpovedný za obdobie medzi zavlažovaním int pumpPin = 5; // Pin, ku ktorému je pripojené ovládanie čerpadla int objem; int obdobie; // Postup, ktorý zapne čerpadlo na čas určený v objeme prázdna voda () (digitalWrite (pumpPin, HIGH); // zapnite čerpadlo oneskorenie (objem); digitalWrite (pumpPin, LOW); // vypnite čerpadlo oneskorenie (obdobie); ) nastavenie void () (pinMode (pumpPin, OUTPUT); digitalWrite (pumpPin, LOW);) void loop () ( // Prečítajte si hodnoty regulátorov (variabilných odporov) a priveďte ich na určené limity objem = mapa (analogRead (volumePin), MIN, MAX, MIN_FLOWTIME, MAX_FLOWTIME) * 1000; obdobie = mapa (analogRead (periodPin), MIN, MAX, MIN_PERIOD, MAX_PERIOD) * 1000 * 60 * 60 * 24; voda (); )

Všetko je pripravené. Užívame si oddych. a vždy budete vedieť, že vaše rastliny dostávajú vodu.

Zdieľajte to