Kdaj greste nekam daleč stran za določen čas? Ni nikogar, ki bi zalival vaše sobne rože, zato morate za pomoč prositi sosede, ki pa so lahko glede tega malomarni. Posledično se bodo ob vašem prihodu rastline slabo počutile. Da se to ne bi zgodilo, lahko naredite avtomatski namakalni sistem. Za ta namen potrebujemo Arduino in senzor vlage v tleh. V članku bomo obravnavali primer povezovanja in dela s senzorjem FC-28. Dokazal se je s pozitivne strani, s pomočjo na tisoče projektov je bilo ustvarjenih.
O FC-28
Obstaja veliko različnih senzorjev za določanje vlažnosti zemlje, vendar je najbolj priljubljen model FC-28. Ima nizko ceno, zaradi česar ga v svojih projektih pogosto uporabljajo vsi radioamaterji. Uporabljen je senzor vlažnosti tal z Arduinom. Ima dve sondi, ki vodita električni tok skozi tla. Izkazalo se je, da če je zemlja mokra, je upor med sondami manjši. Pri suhih tleh je upor večji. Arduino te vrednosti sprejme, primerja in po potrebi vklopi na primer črpalko. Senzor lahko deluje tako z digitalnim kot analognim načinom, upoštevali bomo obe možnosti povezave. FC-28 se uporablja predvsem v majhnih projektih, na primer pri avtomatskem zalivanju ene posamezne rastline, saj ga je zaradi velikosti in pomanjkljivosti neprijetno uporabljati v velikem obsegu, kar bomo tudi upoštevali.
Kje kupiti
Dejstvo je, da so v ruskih trgovinah senzorji za delo z Arduinom relativno dragi. Povprečna cena za ta senzor v Rusiji se giblje od 200 do 300 rubljev, medtem ko na Aliexpressu isti senzor stane le kakšnih 30-50. Pribitek je velik. Seveda lahko še vedno naredite senzor za merjenje vlažnosti tal z lastnimi rokami, vendar več o tem spodaj.
O povezavi
Priključitev senzorja vlažnosti na Arduino je zelo enostavna. Priložen je primerjalnik in potenciometer za nastavitev občutljivosti senzorja, kot tudi za nastavitev mejne vrednosti pri povezavi z digitalnim izhodom. Izhodni signal, kot je navedeno zgoraj, je lahko digitalni in analogni.
Povezava z digitalnim izhodom
Povezan na skoraj enak način kot analogni:
- VCC - 5V na Arduinu.
- D0 - D8 na Arduino plošči.
- GND -zemlja.
Kot že omenjeno, se na senzorskem modulu nahajata primerjalnik in potenciometer. Vse deluje takole: s potenciometrom nastavimo mejno vrednost našega senzorja. FC-28 primerja vrednost z mejo in nato pošlje vrednost v Arduino. Recimo, da so vrednosti senzorja nad pragom, v tem primeru senzor vlažnosti tal na Arduinu oddaja 5V, če je manj - 0V. Vse je zelo preprosto, vendar ima analogni način natančnejše vrednosti, zato ga priporočamo.
Priključni načrt je videti kot na zgornji fotografiji. način
Programska koda za Arduino pri uporabi digitalnega načina je prikazana spodaj.
int led_pin=13; int senzor_pin=8; void setup() { pinMode(led_pin, OUTPUT); pinMode(senzor_pin, INPUT); } void loop() { if(digitalRead(sensor_pin)==HIGH){ digitalWrite(led_pin, HIGH); } else { digitalWrite(led_pin, LOW); zamuda (1000); } }
Kaj dela naša koda? Najprej sta bili identificirani dve spremenljivki. Prva spremenljivka - led_pin - služi za označevanje LED, druga pa za označevanje senzorja vlage v tleh. Nato označimo zatič LED kot izhod in zatič senzorja kot vhod. To je potrebno, da lahko dobimo vrednosti in po potrebi prižgemo LED, da vizualno vidimo, da so vrednosti senzorja nad pragom. V zanki odčitamo vrednosti s senzorja. Če je vrednost višja od mejne vrednosti, vklopite LED, če je nižja, jo ugasnite. Namesto LEDmorda črpalka, vse je odvisno od vas.
Analogni način
Za povezavo z analognim izhodom morate delati z A0. Kapacitivni senzor vlažnosti tal v Arduinu ima vrednosti od 0 do 1023. Senzor priključite na naslednji način:
- VCC povežite 5V z Arduinom.
- GND na senzorju je povezan z GND na Arduino plošči.
- A0 povežite se z A0 na Arduinu.
Naprej napišite spodnjo kodo v Arduinu.
int senzor_pin=A0; int izhodna_vrednost; void setup() { Serial.begin(9600); Serial.println("Branje senzorja"); zamuda (2000); } void loop() { output_value=analogRead(sensor_pin); izhodna_vrednost=zemljevid(izhodna_vrednost, 550, 0, 0, 100); Serial.print("Vlaga"); Serial.print(izhodna_vrednost); Serial.println("%"); zamuda (1000); }
Kaj torej naredi ta koda? Prvi korak je bil nastavitev spremenljivk. Prva spremenljivka je potrebna za določitev stika senzorja, druga pa bo shranila rezultate, ki jih bomo prejeli s senzorjem. Nato preberemo podatke. V zanki zapišemo vrednosti iz senzorja v spremenljivko output_value, ki smo jo ustvarili. Nato se izračuna odstotek vlage v tleh, nato pa jih prikažemo na monitorju pristanišča. Shema ožičenja je prikazana spodaj.
DIY
Zgoraj je bilo obravnavano, kako povezati senzor vlažnosti tal na Arduino. Težava teh senzorjev je, da so kratkotrajni. Dejstvo je, da so zelo nagnjeni kkorozija. Nekatera podjetja izdelujejo senzorje s posebnim premazom za podaljšanje življenjske dobe, vendar še vedno ni enako. Upoštevana je tudi možnost uporabe senzorja ne pogosto, ampak le po potrebi. Na primer, obstaja programska koda, kjer senzor vsako sekundo prebere vrednosti vlažnosti tal. Življenjsko dobo lahko podaljšate, če ga na primer vklopite enkrat na dan. Če pa vam to ne ustreza, lahko naredite senzor vlažnosti tal z lastnimi rokami. Arduino ne bo občutil razlike. V bistvu je sistem enak. Preprosto, namesto dveh senzorjev lahko postavite svojega in uporabite material, ki je manj občutljiv na korozijo. V idealnem primeru seveda uporabite zlato, a glede na njegovo ceno bo izšlo zelo drago. Na splošno je ceneje kupiti glede na ceno FC-28.
Prednosti in slabosti
V članku so bile obravnavane možnosti za priključitev senzorja vlažnosti tal na Arduino, predstavljeni pa so bili tudi primeri programske kode. FC-28 je res dober senzor vlage v tleh, toda kakšne so posebne prednosti in slabosti tega senzorja?
Prednosti:
- Cena. Ta senzor ima zelo nizko ceno, zato bo lahko vsak radioamater kupil in zgradil svoj avtomatski sistem za zalivanje rastlin. Seveda pri delu z velikimi skalami ta senzor ni primeren, vendar temu ni namenjen. Če potrebujete močnejši senzor - SM2802B, boste morali zanj plačati precej velik znesek.
- Preprostost. Obvladovanje dela s tem senzorjem vlažnosti tal v pločevinki Arduinovsak. Samo nekaj žic, nekaj vrstic kode - in to je to. Nadzor vlažnosti tal opravljen.
Proti: