Kako priključiti senzor vlage na Arduino?

Kdaj se boste nekaj časa odpravili daleč stran? Vaši sobni cvetovi se nikogar ne zalivajo, zato morate prositi za pomoč od vaših sosedov, ki pa jih ne morejo obvladati. Zato se bodo rastline pred prihodom počutile slabo. Da bi se temu izognili, lahko naredite avtomatski sistem za zalivanje. V ta namen potrebujemo senzor Arduino in senzor vlage. V članku si poglejmo primer povezovanja in dela s senzorjem FC-28. Dokazal se je na pozitivni strani, s pomočjo njega je bilo ustvarjenih na tisoče projektov.

O senzorju FC-28

Senzorji za določanje vlažnosti zemlje so obilni, najbolj priljubljen pa je model FC-28. Ima nizko ceno, zato jo v svojih projektih pogosto uporabljajo vsi radioamaterji. Uporablja se senzor vlage v tleh Arduino. Ima dve sondi, ki vodita električni tok skozi zemljo. Izkazalo se je, da če je zemlja vlažna, potem je upor med sondami manjši. V suhem kopnem je upor večji. Arduino sprejema te vrednosti, primerja in po potrebi vključuje črpalko. Senzor lahko deluje tako z digitalnim načinom kot z analognim, obe možnosti povezave pa bomo upoštevali. FC-28 se uporablja predvsem v majhnih projektih, na primer pri avtomatskem zalivanju posamezne naprave, saj je zaradi velikosti in pomanjkljivosti, ki jih bomo upoštevali, neprimerno uporabljati v velikem obsegu.


Kje kupiti

Dejstvo je, da v ruskih trgovinahsenzorji za delo z Arduinom so relativno dragi. Povprečna cena tega senzorja v Rusiji se spreminja od 200 do 300 rubljev, medtem ko pri Aliexpress isti senzor stane le 30-50. Oznaka je ogromna. Seveda lahko še vedno naredite senzor za merjenje vlažnosti tal z lastnimi rokami, vendar o tem spodaj.

O priključku

Senzor za vlažnost je zelo enostavno priključen na Arduino. Vključeni so tudi primerjalnik in potenciometer za nadzor občutljivosti senzorja, kot tudi za nastavitev mejne vrednosti pri priključitvi preko digitalnega izhoda. Izhodni signal, kot je že omenjeno zgoraj, je lahko digitalni in analogni.

Priključitev preko digitalnega izhoda

Priključi se skoraj na enak način kot analogni:
  • VCC-5V na Arduino.
  • D0 - D8 na plošči Arduino.
  • GND je zemljišče.
  • Kot smo že omenili, sta na senzorskem modulu nameščena primerjalnik in potenciometer. Deluje vse naslednje: z uporabo potenciometra nastavimo mejno vrednost našega senzorja. FC-28 primerja vrednost z mejo in nato pošlje vrednost Arduino. Na primer, vrednost senzorja je višja od praga, v tem primeru senzor vlage na Arduinu oddaja 5V, če je manj - 0V. Vse je zelo preprosto, vendar so natančnejše vrednosti v analognem načinu, zato je priporočljivo, da jih uporabite.


    Shema električnega priključka izgleda, kot je prikazana zgoraj. Programska koda Arduino za uporabo digitalnega načina je prikazana spodaj.

    int led_pin = 13;
    int sensor_pin = 8;
    void setup () {
    PinMode (led_pin, IZHOD);
    pinMode (sensor_pin, INPUT);
    }
    void loop () {
    if (digitalRead (sensor_pin) == HIGH) {
    digitalWrite (led_pin, HIGH);
    } else {
    digitalWrite (led_pin, LOW);
    zamuda (1000);
    }
    }

    Kaj naredi naša koda? Prvo dejanje so zaznamovale dve spremenljivki. Prva spremenljivka - led_pin - služi za označevanje LED, druga pa za tipalo vlažnosti zemlje. Nato napovemo stik LED kot izhod in kontakt v senzorju kot vhod. To je potrebno, da dobimo vrednost in po potrebi vklopimo LED, da vidno vidimo, da je vrednost senzorja nad pragom. V zanki preberemo vrednost iz senzorja. Če je vrednost nad mejo - vklopite LED, če je spodaj - ugasnite. Namesto svetleče diode lahko obstaja črpalka, vse je odvisno od vas.


    & lt; skript type = "text /javascript" & gt;
    lahko blockSettings2 = {blockId: "R-A-271049-5", renderTo: "yandex_rtb_R-A-70350-39", async:! 0};
    if (document.cookie.indexOf ("abmatch =") & gt; = 0) blockSettings2.statId = 70350;
    Funkcija (a, b, c, d, e) {a [c] = a [c] || [], a [c] .push (funkcija () {Ya.Context.AdvManager.render (blockSettings2)}), e = b.getElementsByTagName ("script") , d = b.createElement ("script"), d.type = "text /javascript", d.src = "//an.yandex .ru /system /context.js ", d.async =! 0e.parentNode.insertBefore (d, e)} (ta, ta.dokument," yandexContextAsyncCallbacks ");

    Analogni način

    Za povezavo preko analognega izhoda morate delati z A0. Senzor vlage v tleh v Arduinu sprejme vrednosti od 0 do 1023. Senzor priključite na naslednji način:

    • VCC se poveže s 5V v Arduino.
    • Priključite GND na tipalo na GND na Arduino plošči.
    • ​​
    • A0 se poveže z A0 na Arduinu.

    Naslednje v Arduinu bomo predpisali spodnjo kodo.

    int sensor_pin = A0;
    int output_value;

    void setup () {
    Serijska vrednost (9600);
    Serial.println ("Branjeizhod
    senzorja
    (2000);
    }


    Serial.print (output_value),
    Serial.println ("%");
    zamuda (1000);
    }

    )
    Torej, kaj počne ta programska koda? Prva stvar, ki je dobila spremenljivke: prva spremenljivka je potrebna za določitev stika senzorja, druga pa bo shranila rezultate, ki jih bomo prejeli s senzorjem, nato bomo podatke prebrali. vnesemo spremenljivko output_value, ki smo jo ustvarili s senzorja, nato izračunamo odstotek vlage v tleh, po katerem jih izpeljemo. spremlja pristanišče. Vtičnica diagramu je prikazano spodaj.

    Z rokami

    Zgoraj je bilo preučeno, kako povezati senzor vlage z Arduinom. Problem s temi senzorji je, da so kratkotrajni. Dejstvo je, da so zelo nagnjeni k koroziji. Nekatera podjetja izdelajo senzorje s posebno prevleko za povečanje življenjske dobe, vendar to še vedno ni tako. Tudi uporaba senzorja se ne uporablja pogosto, ampak samo, kadar je to potrebno. Na primer, obstaja programska koda, kjer senzor vsako sekundo bere vrednost vlažnosti tal. Življenjsko dobo lahko podaljšate, če jo vključite, na primer enkrat dnevno. Ampak, če vam to ne ustreza, lahko naredite z lastnimi rokami senzor vlage tal. Arduino ne bo občutil razlike. Načeloma je sistem enak. Namesto dveh senzorjev lahko postavite svoje in uporabite manj korozijsko odpornega materiala. V idealnem primeru, seveda, uporabite zlato, vendar glede na njegovo ceno, bo zelo drago.Na splošno je ceneje kupiti, ob upoštevanju cene FC-28.

    Prednosti in slabosti

    V članku so bile obravnavane možnosti za povezavo senzorja vlažnosti z Arduinom in predstavljeni primeri programske kode. FC-28 je res dober senzor za ugotavljanje vlage v tleh, vendar kakšne so prednosti in slabosti tega senzorja?

    Pros:
  • Cena. Ta senzor ima zelo nizko ceno, tako da lahko vsak radioamater kupi in zgradi svoj sistem avtomatskega zalivanja za rastline. Seveda, pri delu v velikem merilu ta senzor ne bo ustrezal, vendar za to ni namenjen. Če potrebujete močnejši senzor - SM2802B, potem za njega in vam pošteno znesek.
  • Preprostost. Vsakdo lahko obvlada delo s tem senzorjem vlage v Arduinu. Samo nekaj žic, nekaj vrstic kode - in vse. Nadzor vlage tal je opravljen.
  • Proti:
  • Nagnjenost k koroziji. To je edina napaka teh senzorjev. Ampak glede na ceno, lahko zaprete to oko. Prvič, ti senzorji so bili namenjeni za usposabljanje in ne za praktično uporabo v velikih projektih.
  • Sorodne publikacije