Kedy idete niekam ďaleko na určitý čas? Nemá kto zalievať vaše izbové kvety, takže musíte požiadať o pomoc svojich susedov, ktorí to môžu zanedbávať. Výsledkom je, že do vášho príchodu sa rastliny budú cítiť zle. Aby ste tomu zabránili, môžete vytvoriť automatický zavlažovací systém. Na tento účel potrebujeme Arduino a snímač vlhkosti pôdy. V článku zvážime príklad pripojenia a práce so snímačom FC-28. Osvedčil sa na pozitívnej strane, s pomocou tisícok projektov boli vytvorené.
O FC-28
Existuje veľké množstvo senzorov na určovanie vlhkosti zeme, ale najobľúbenejší je model FC-28. Má nízku cenu, vďaka čomu ho vo svojich projektoch hojne využívajú všetci rádioamatéri. Používa sa snímač pôdnej vlhkosti s Arduino. Má dve sondy, ktoré vedú elektrický prúd cez zem. Ukazuje sa, že ak je pôda mokrá, potom je odpor medzi sondami menší. Pri suchom teréne je odpor väčší. Arduino tieto hodnoty akceptuje, porovná a v prípade potreby zapne napríklad pumpu. Snímač je schopný pracovať s digitálnym aj analógovým režimom, zvážime obe možnosti pripojenia. FC-28 sa používa hlavne v malých projektoch, napríklad pri automatickom zalievaní jednej konkrétnej rastliny, pretože je nepohodlné ho používať vo veľkom meradle kvôli jeho veľkosti a nevýhodám, ktoré tiež zvážime.
Kde kúpiť
Faktom je, že v ruských obchodoch sú senzory na prácu s Arduinom pomerne drahé. Priemerná cena tohto senzora v Rusku sa pohybuje od 200 do 300 rubľov, zatiaľ čo v Aliexpress stojí rovnaký senzor iba 30-50. Značenie je obrovské. Samozrejme, stále si môžete vyrobiť senzor na meranie vlhkosti pôdy vlastnými rukami, ale o tom nižšie.
O pripojení
Pripojenie snímača vlhkosti k Arduinu je veľmi jednoduché. Dodáva sa s komparátorom a potenciometrom pre nastavenie citlivosti snímača, ako aj pre nastavenie hraničnej hodnoty pri pripojení pomocou digitálneho výstupu. Výstupný signál, ako je uvedené vyššie, môže byť digitálny a analógový.
Pripojenie s digitálnym výstupom
Pripojené takmer rovnakým spôsobom ako analógové:
- VCC – 5V na Arduino.
- D0 – D8 na doske Arduino.
- GND -zem.
Ako je uvedené vyššie, komparátor a potenciometer sú umiestnené na module snímača. Všetko funguje nasledovne: pomocou potenciometra nastavíme hraničnú hodnotu nášho snímača. FC-28 porovná hodnotu s limitom a následne odošle hodnotu do Arduina. Povedzme, že hodnoty snímača sú nad prahovou hodnotou, v takom prípade snímač vlhkosti pôdy na Arduine prenáša 5V, ak je menej - 0V. Všetko je veľmi jednoduché, ale analógový režim má presnejšie hodnoty, preto sa odporúča použiť ho.
Schéma zapojenia vyzerá ako na obrázku vyššie. spôsob
Programovací kód pre Arduino pri používaní digitálneho režimu je zobrazený nižšie.
int led_pin=13; int senzor_pin=8; void setup() { pinMode(led_pin, OUTPUT); pinMode(sensor_pin, INPUT); } void loop() { if(digitalRead(sensor_pin)==HIGH){ digitalWrite(led_pin, HIGH); } else { digitalWrite(led_pin, LOW); oneskorenie(1000); }
Na čo slúži náš kód? Najprv boli identifikované dve premenné. Prvá premenná - led_pin - slúži na označenie LED a druhá - na označenie snímača zemnej vlhkosti. Ďalej deklarujeme kolík LED ako výstup a kolík snímača ako vstup. Je to potrebné, aby sme mohli získať hodnoty a v prípade potreby zapnúť LED, aby sme vizuálne videli, že hodnoty snímača sú nad prahovou hodnotou. V slučke čítame hodnoty zo snímača. Ak je hodnota vyššia ako limit, zapnite LED, ak je nižšia, vypnite ju. Namiesto LEDmožno pumpa, všetko je na tebe.
Analógový režim
Na pripojenie pomocou analógového výstupu musíte pracovať s A0. Kapacitný senzor pôdnej vlhkosti v Arduine naberá hodnoty od 0 do 1023. Senzor pripojte nasledovne:
- VCC pripojte 5V k Arduinu.
- GND na senzore je prepojené s GND na doske Arduino.
- A0 pripojte k A0 na Arduine.
Ďalej napíšte kód nižšie v Arduine.
int sensor_pin=A0; int vystupna_hodnota; void setup() { Serial.begin(9600); Serial.println("Čítanie senzora"); oneskorenie (2000); } void loop() { output_value=analogRead(sensor_pin); vystupna_hodnota=mapa(vystupna_hodnota, 550, 0, 0, 100); Serial.print("Vlhkosť"); Serial.print(vystupna_hodnota); Serial.println("%"); oneskorenie(1000);
Čo teda robí tento kód? Prvým krokom bolo nastavenie premenných. Prvá premenná je potrebná na určenie kontaktu snímača a druhá bude uchovávať výsledky, ktoré získame pomocou snímača. Ďalej čítame údaje. V slučke zapíšeme hodnoty zo senzora do premennej output_value, ktorú sme vytvorili. Potom sa vypočíta percento vlhkosti pôdy, po ktorej ich zobrazíme na monitore portu. Schéma zapojenia je uvedená nižšie.
DIY
Vyššie bolo diskutované o tom, ako pripojiť snímač vlhkosti pôdy k Arduinu. Problém s týmito senzormi je, že majú krátku životnosť. Faktom je, že sú veľmi náchylníkorózia. Niektoré firmy vyrábajú snímače so špeciálnym povlakom na zvýšenie životnosti, no stále to nie je ono. Do úvahy prichádza aj možnosť použitia senzora nie často, ale len v prípade potreby. Napríklad existuje programový kód, kde snímač každú sekundu načíta hodnoty vlhkosti pôdy. Životnosť predĺžite, ak ho zapnete napríklad raz denne. Ak vám to však nevyhovuje, môžete si urobiť snímač vlhkosti pôdy vlastnými rukami. Arduino nepocíti rozdiel. V zásade je systém rovnaký. Jednoducho, namiesto dvoch senzorov môžete dať svoje vlastné a použiť materiál, ktorý je menej náchylný na koróziu. Ideálne je samozrejme použiť zlato, no vzhľadom na jeho cenu to vyjde veľmi draho. Vo všeobecnosti je nákup lacnejšie vzhľadom na cenu FC-28.
Pre a proti
Článok diskutoval o možnostiach pripojenia snímača pôdnej vlhkosti k Arduinu a boli predstavené aj príklady programového kódu. FC-28 je naozaj dobrý senzor pôdnej vlhkosti, ale aké sú konkrétne výhody a nevýhody tohto senzora?
Výhody:
- Cena. Tento senzor má veľmi nízku cenu, takže každý rádioamatér si bude môcť kúpiť a postaviť vlastný automatický zavlažovací systém pre rastliny. Samozrejme, pri práci s veľkými mierkami tento snímač nie je vhodný, ale nie je na to určený. Ak potrebujete výkonnejší snímač - SM2802B, budete zaň musieť zaplatiť pomerne veľkú sumu.
- Jednoduchosť. Zvládnutie práce s týmto snímačom pôdnej vlhkosti v Arduine môžekaždý. Len pár drôtov, pár riadkov kódu – a je to. Kontrola pôdnej vlhkosti hotová.
Nevýhody: