Millal sa lähed teatud ajaks kuhugi kaugele? Teie toalilli kastmas pole kedagi, seega tuleb abi paluda naabritelt, kes omakorda võivad sellesse suhtuda hooletult. Selle tulemusena tunnevad taimed teie saabudes end halvasti. Selle vältimiseks võite teha automaatse niisutussüsteemi. Selleks vajame Arduinot ja mulla niiskusandurit. Artiklis käsitleme anduri FC-28 ühendamise ja sellega töötamise näidet. Ta on ennast tõestanud positiivselt, tuhandete projektide abil on loodud.
Teave FC-28 kohta
Maa niiskuse määramiseks on väga erinevaid andureid, kuid kõige populaarsem on mudel FC-28. Sellel on madal hind, mille tõttu kasutavad seda oma projektides laialdaselt kõik raadioamatöörid. Kasutatakse Arduinoga pinnase niiskuse andurit. Tal on kaks sondi, mis juhivad elektrivoolu läbi maa. Selgub, et kui muld on märg, siis on sondide vaheline takistus väiksem. Kuiva maapinna korral on takistus suurem. Arduino aktsepteerib neid väärtusi, võrdleb ja vajadusel lülitab sisse näiteks pumba. Andur on võimeline töötama nii digitaalse kui ka analoogrežiimiga, kaalume mõlemat ühendusvõimalust. FC-28 kasutatakse peamiselt väikestes projektides, näiteks ühe konkreetse taime automaatsel kastmisel, kuna selle suur kasutamine on ebamugav selle suuruse ja puuduste tõttu, mida me ka kaalume.
Kust osta
Fakt on see, et Venemaa poodides on Arduinoga töötamiseks mõeldud andurid suhteliselt kallid. Selle anduri keskmine hind varieerub Venemaal 200-300 rubla, Aliexpressis maksab sama andur vaid 30-50 rubla. Juurdehind on tohutu. Muidugi saab anduri mullaniiskuse mõõtmiseks ka oma kätega teha, aga sellest lähem alt allpool.
Ühenduse kohta
Niiskusanduri ühendamine Arduinoga on väga lihtne. Kaasas on komparaator ja potentsiomeeter anduri tundlikkuse reguleerimiseks, samuti piirväärtuse seadmiseks, kui ühendatakse digitaalväljundi abil. Väljundsignaal, nagu eespool mainitud, võib olla digitaalne ja analoogne.
Ühendamine digitaalväljundiga
Ühendatud peaaegu samamoodi nagu analoog:
- VCC – 5 V Arduino puhul.
- D0 – D8 Arduino plaadil.
- GND –maa.
Nagu eespool mainitud, asuvad andurimoodulil komparaator ja potentsiomeeter. Kõik toimib järgmiselt: potentsiomeetri abil määrame oma anduri piirväärtuse. FC-28 võrdleb väärtust limiidiga ja saadab seejärel väärtuse Arduinosse. Oletame, et anduri väärtused on üle läve, sel juhul edastab Arduino pinnase niiskuse andur 5 V, kui vähem - 0 V. Kõik on väga lihtne, kuid analoogrežiimil on täpsemad väärtused, seega on soovitatav seda kasutada.
Elektriskeem näeb välja nagu ül altoodud fotol. viis
Arduino programmeerimiskood digitaalrežiimi kasutamisel on näidatud allpool.
int led_pin=13; int sensor_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); viivitus(1000); } }
Mida meie kood teeb? Esiteks tuvastati kaks muutujat. Esimene muutuja - led_pin - tähistab LED-i ja teine - maapinna niiskusandurit. Järgmisena deklareerime LED-viigu väljundiks ja anduri viigu sisendiks. See on vajalik selleks, et saaksime väärtused kätte saada ja vajadusel LED-i sisse lülitada, et visuaalselt näha, et anduri väärtused on üle läve. Silmuses loeme andurilt väärtused. Kui väärtus on piirmäärast suurem, lülitage LED sisse, kui see on madalam, lülitage see välja. LED-i asemelvõib-olla pump, kõik sõltub sinust.
Analoogrežiim
Analoogväljundi abil ühendamiseks peate töötama A0-ga. Arduino mahtuvuslik pinnase niiskuse andur võtab väärtused vahemikus 0 kuni 1023. Ühendage andur järgmiselt:
- VCC ühendage 5 V Arduinoga.
- Anduril olev GND on ühendatud Arduino plaadi GND-ga.
- A0 ühendage Arduino A0-ga.
Järgmisena kirjutage Arduinosse allolev kood.
int sensor_pin=A0; int väljundi_väärtus; void setup() { Serial.begin(9600); Serial.println("Anduri lugemine"); viivitus (2000); } void loop() { väljundi_väärtus=analoogRead(sensor_pin); väljundi_väärtus=kaart(väljundi_väärtus, 550, 0, 0, 100); Serial.print("Moisture"); Serial.print(väljundi_väärtus); Serial.println("%"); viivitus(1000); }
Mida see kood siis teeb? Esimene samm oli muutujate määramine. Esimest muutujat on vaja anduri kontakti määramiseks ja teine salvestab anduri abil saadud tulemused. Järgmiseks loeme andmeid. Silmuses kirjutame anduri väärtused meie loodud muutujasse output_value. Seejärel arvutatakse mulla niiskuse protsent, misjärel kuvame need sadama monitoril. Ühendusskeem on näidatud allpool.
DIY
Eespool oli juttu, kuidas ühendada mulla niiskusandur Arduinoga. Nende andurite probleem on see, et need on lühiajalised. Fakt on see, et nad on väga altidkorrosioon. Mõned ettevõtted toodavad kasutusea pikendamiseks spetsiaalse kattega andureid, kuid see pole ikkagi sama. Kaalutakse ka võimalust kasutada andurit mitte sageli, vaid ainult vajaduse korral. Näiteks on olemas programmikood, kus iga sekund loeb andur mulla niiskuse väärtused. Kasutusaega saate pikendada, kui lülitate selle sisse näiteks kord päevas. Aga kui see teile ei sobi, saate mulla niiskusanduri oma kätega teha. Arduino ei tunne erinevust. Põhimõtteliselt on süsteem sama. Lihts alt võite kahe anduri asemel panna oma ja kasutada materjali, mis on vähem korrosioonile vastuvõtlik. Ideaalis kasutage muidugi kulda, kuid selle hinda arvestades tuleb see väga kallis. Üldiselt on FC-28 hinda arvestades odavam osta.
Pussid ja miinused
Artiklis käsitleti mulla niiskusanduri Arduinoga ühendamise võimalusi ning toodi ka programmikoodi näiteid. FC-28 on tõesti hea pinnase niiskuse andur, kuid millised on selle anduri konkreetsed plussid ja miinused?
Pussid:
- Hind. Sellel anduril on väga madal hind, nii et iga raadioamatöör saab osta ja ehitada oma taimede automaatse kastmissüsteemi. Muidugi ei sobi see andur suurte kaaludega töötamisel, kuid see pole selleks mõeldud. Kui vajate võimsamat andurit - SM2802B, siis peate selle eest maksma üsna suure summa.
- Lihtsus. Selle Arduino mulla niiskusanduriga töö valdamine võibiga. Vaid paar juhet, paar rida koodi – ja ongi kõik. Pinnase niiskuse kontroll tehtud.
Miinused: