Kada išvykstate kažkur toli tam tikram laikui? Kambarinių gėlių nėra kam laistyti, todėl turite kreiptis pagalbos į kaimynus, kurie, savo ruožtu, gali būti aplaidūs. Dėl to jums atvykus augalai jausis blogai. Kad taip neatsitiktų, galite sukurti automatinę laistymo sistemą. Tam mums reikia Arduino ir dirvožemio drėgmės jutiklio. Straipsnyje apžvelgsime FC-28 jutiklio prijungimo ir darbo su juo pavyzdį. Jis įrodė save iš teigiamos pusės, padedant buvo sukurta tūkstančiai projektų.
Apie FC-28
Žemės drėgmei nustatyti yra labai daug įvairių jutiklių, tačiau populiariausias yra FC-28 modelis. Jis turi mažą kainą, dėl kurio jį plačiai naudoja visi radijo mėgėjai savo projektuose. Naudojamas dirvožemio drėgmės jutiklis su Arduino. Jis turi du zondus, kurie praleidžia elektros srovę per žemę. Pasirodo, jei dirva drėgna, tai pasipriešinimas tarp zondų yra mažesnis. Su sausa žeme, atitinkamai, atsparumas yra didesnis. Arduino priima šias reikšmes, lygina ir, jei reikia, įjungia, pavyzdžiui, siurblį. Jutiklis gali dirbti tiek skaitmeniniu, tiek analoginiu režimu, apsvarstysime abu prijungimo variantus. FC-28 daugiausia naudojamas nedideliuose projektuose, pavyzdžiui, automatiškai laistant vieną konkretų augalą, nes nepatogu jį naudoti dideliu mastu dėl jo dydžio ir trūkumų, į kuriuos taip pat atsižvelgsime.
Kur įsigyti
Faktas tas, kad Rusijos parduotuvėse jutikliai, skirti darbui su Arduino, yra gana brangūs. Vidutinė šio jutiklio kaina Rusijoje svyruoja nuo 200 iki 300 rublių, o Aliexpress tas pats jutiklis kainuoja tik apie 30-50. Antkainis didžiulis. Žinoma, vis tiek galite pasigaminti jutiklį, skirtą dirvožemio drėgmei matuoti savo rankomis, bet daugiau apie tai žemiau.
Apie ryšį
Prijungti drėgmės jutiklį prie Arduino labai paprasta. Jame yra lygintuvas ir potenciometras jutiklio jautrumui reguliuoti, taip pat ribinei vertei nustatyti, kai prijungiama naudojant skaitmeninį išvestį. Išvesties signalas, kaip minėta aukščiau, gali būti skaitmeninis ir analoginis.
Prisijungimas su skaitmenine išvestimi
Prijungtas beveik taip pat kaip analoginis:
- VCC – 5 V „Arduino“.
- D0 – D8 Arduino plokštėje.
- GND –žemė.
Kaip minėta pirmiau, ant jutiklio modulio yra lygintuvas ir potenciometras. Viskas veikia taip: potenciometru nustatome savo jutiklio ribinę vertę. FC-28 lygina vertę su riba ir tada siunčia vertę į Arduino. Tarkime, jutiklio reikšmės viršija slenkstį, tokiu atveju Arduino dirvožemio drėgmės jutiklis perduoda 5 V, jei mažiau - 0 V. Viskas labai paprasta, tačiau analoginis režimas turi tikslesnes reikšmes, todėl rekomenduojama jį naudoti.
Sujungimo schema atrodo kaip aukščiau esančioje nuotraukoje. būdas
Arduino programavimo kodas naudojant skaitmeninį režimą parodytas žemiau.
int led_pin=13; int sensor_pin=8; void setup() { pinMode(led_pin, OUTPUT); pinMode(jutiklio_pin, INPUT); } void loop() { if(digitalRead(sensor_pin)==HIGH){ skaitmeninisWrite(led_pin, HIGH); } else { skaitmeninisWrite(led_pin, LOW); delsimas (1000); } }
Ką daro mūsų kodas? Pirmiausia buvo nustatyti du kintamieji. Pirmasis kintamasis - led_pin - skirtas nurodyti šviesos diodą, o antrasis - žemės drėgmės jutiklį. Tada mes deklaruojame LED kaištį kaip išvestį, o jutiklio kaištį - kaip įvestį. Tai būtina, kad galėtume gauti reikšmes ir, jei reikia, įjungti šviesos diodą, kad vizualiai pamatytume, jog jutiklio reikšmės viršija slenkstį. Ciklėje mes skaitome jutiklio reikšmes. Jei reikšmė didesnė už ribą, įjunkite šviesos diodą, jei mažesnė – išjunkite. Vietoj LEDgalbūt siurblys, viskas priklauso nuo jūsų.
Analoginis režimas
Norėdami prisijungti naudodami analoginį išvestį, turite dirbti su A0. „Arduino“talpinis dirvožemio drėgmės jutiklis ima reikšmes nuo 0 iki 1023. Jutiklį prijunkite taip:
- VCC prijunkite 5 V prie „Arduino“.
- GND ant jutiklio yra prijungtas prie GND Arduino plokštėje.
- A0 prisijunkite prie A0 naudodami „Arduino“.
Toliau parašykite kodą toliau „Arduino“.
int sensor_pin=A0; int išvesties_vertė; void setup() { Serial.begin(9600); Serial.println("Jutiklio nuskaitymas"); delsimas (2000); } void loop() { output_value=analogRead(sensor_pin); išvesties_vertė=žemėlapis(išvesties_vertė, 550, 0, 0, 100); Serial.print("Drėgmė"); Serial.print(išvesties_vertė); Serial.println("%"); delsimas (1000); }
Taigi, ką daro šis kodas? Pirmas žingsnis buvo nustatyti kintamuosius. Pirmasis kintamasis reikalingas jutiklio kontaktui nustatyti, o kitas išsaugos rezultatus, kuriuos gausime naudodami jutiklį. Toliau skaitome duomenis. Ciklėje mes įrašome reikšmes iš jutiklio į mūsų sukurtą kintamąjį output_value. Tada apskaičiuojamas dirvožemio drėgmės procentas, po kurio mes juos rodome uosto monitoriuje. Sujungimo schema parodyta žemiau.
Pasidaryk pats
Aukščiau buvo aptarta, kaip prijungti dirvožemio drėgmės jutiklį prie „Arduino“. Šių jutiklių problema yra ta, kad jie yra trumpalaikiai. Faktas yra tas, kad jie yra labai linkękorozija. Kai kurios įmonės gamina jutiklius su specialia danga, kad prailgintų tarnavimo laiką, tačiau tai vis tiek nėra tokia pati. Taip pat svarstoma galimybė jutiklį naudoti ne dažnai, o tik tada, kai to reikia. Pavyzdžiui, yra programos kodas, kur kas sekundę jutiklis nuskaito dirvožemio drėgmės reikšmes. Galite pailginti tarnavimo laiką, jei jį įjungsite, pavyzdžiui, kartą per dieną. Bet jei tai jums netinka, galite savo rankomis pasidaryti dirvožemio drėgmės jutiklį. Arduino nepajus skirtumo. Iš esmės sistema ta pati. Tiesiog vietoj dviejų jutiklių galite įdėti savo ir naudoti medžiagą, kuri yra mažiau jautri korozijai. Idealiu atveju, žinoma, naudokite auksą, tačiau atsižvelgiant į jo kainą, jis bus labai brangus. Apskritai pirkti pigiau, atsižvelgiant į FC-28 kainą.
Pliusai ir trūkumai
Straipsnyje buvo aptartos dirvožemio drėgmės jutiklio prijungimo prie Arduino galimybės, taip pat buvo pateikti programos kodo pavyzdžiai. FC-28 yra tikrai geras dirvožemio drėgmės jutiklis, bet kokie yra šio jutiklio privalumai ir trūkumai?
Privalumai:
- Kaina. Šis jutiklis turi labai mažą kainą, todėl kiekvienas radijo mėgėjas galės įsigyti ir pasistatyti savo automatinę augalų laistymo sistemą. Žinoma, dirbant su didelėmis svarstyklėmis šis jutiklis netinka, tačiau jis tam nėra skirtas. Jei jums reikia galingesnio jutiklio - SM2802B, už jį turėsite sumokėti gana didelę sumą.
- Paprastumas. Įvaldę darbą su šiuo dirvožemio drėgmės jutikliu Arduino galitekiekviena. Tik keli laidai, pora kodo eilučių – ir viskas. Dirvožemio drėgmės kontrolė atlikta.
Trūkumai: