Kailan ka pupunta sa malayong lugar para sa isang tiyak na tagal ng panahon? Walang magdidilig sa iyong mga panloob na bulaklak, kaya kailangan mong humingi ng tulong sa iyong mga kapitbahay, na, sa turn, ay maaaring pabaya tungkol dito. Bilang resulta, sa iyong pagdating, masama ang pakiramdam ng mga halaman. Upang maiwasang mangyari ito, maaari kang gumawa ng isang awtomatikong sistema ng patubig. Para sa layuning ito, kailangan namin ng Arduino at isang sensor ng kahalumigmigan ng lupa. Sa artikulo, isasaalang-alang namin ang isang halimbawa ng pagkonekta at pagtatrabaho sa sensor ng FC-28. Napatunayan niya ang kanyang sarili sa positibong panig, sa tulong ng libu-libong proyekto ang nagawa.
Tungkol sa FC-28
Maraming iba't ibang sensor para sa pagtukoy ng halumigmig ng lupa, ngunit ang pinakasikat ay ang modelong FC-28. Ito ay may mababang presyo, dahil sa kung saan ito ay malawakang ginagamit ng lahat ng radio amateurs sa kanilang mga proyekto. Ginagamit ang soil moisture sensor na may Arduino. Mayroon siyang dalawang probe na nagsasagawa ng electrical current sa lupa. Ito ay lumalabas na kung ang lupa ay basa, kung gayon ang paglaban sa pagitan ng mga probes ay mas mababa. Sa tuyong lupa, ayon sa pagkakabanggit, ang paglaban ay mas malaki. Tinatanggap ng Arduino ang mga halagang ito, naghahambing at, kung kinakailangan, i-on, halimbawa, ang isang bomba. Ang sensor ay maaaring gumana sa parehong mga digital at analog na mode, isasaalang-alang namin ang parehong mga pagpipilian sa koneksyon. Ang FC-28 ay pangunahing ginagamit sa maliliit na proyekto, halimbawa, kapag awtomatikong nagdidilig sa isang partikular na halaman, dahil hindi ito maginhawang gamitin ito sa malaking sukat dahil sa laki at kawalan nito, na isasaalang-alang din namin.
Saan bibili
Ang katotohanan ay sa mga tindahan ng Russia, ang mga sensor para sa pagtatrabaho sa Arduino ay medyo mahal. Ang average na presyo para sa sensor na ito sa Russia ay nag-iiba mula 200 hanggang 300 rubles, habang sa Aliexpress ang parehong sensor ay nagkakahalaga lamang ng 30-50. Malaki ang markup. Siyempre, maaari ka pa ring gumawa ng sensor para sa pagsukat ng kahalumigmigan ng lupa gamit ang iyong sariling mga kamay, ngunit higit pa sa ibaba.
Tungkol sa koneksyon
Napakadali ang pagkonekta ng humidity sensor sa Arduino. Ito ay may kasamang comparator at isang potentiometer para sa pagsasaayos ng sensitivity ng sensor, pati na rin para sa pagtatakda ng limitasyong halaga kapag nakakonekta gamit ang isang digital na output. Ang output signal, tulad ng nabanggit sa itaas, ay maaaring digital at analog.
Kumokonekta sa digital output
Nakakonekta sa halos parehong paraan tulad ng analog:
- VCC - 5V sa Arduino.
- D0 - D8 sa Arduino board.
- GND -lupa.
Tulad ng nabanggit sa itaas, ang isang comparator at isang potentiometer ay matatagpuan sa sensor module. Gumagana ang lahat tulad ng sumusunod: gamit ang isang potentiometer, itinakda namin ang limitasyon ng halaga ng aming sensor. Inihahambing ng FC-28 ang halaga sa limitasyon at pagkatapos ay ipinapadala ang halaga sa Arduino. Sabihin nating ang mga halaga ng sensor ay nasa itaas ng threshold, kung saan ang sensor ng kahalumigmigan ng lupa sa Arduino ay nagpapadala ng 5V, kung mas mababa - 0V. Napakasimple ng lahat, ngunit ang analog mode ay may mas tumpak na mga halaga, kaya inirerekomendang gamitin ito.
Ang wiring diagram ay kamukha ng larawan sa itaas. paraan
Ang programming code para sa Arduino kapag gumagamit ng digital mode ay ipinapakita sa ibaba.
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); pagkaantala(1000); } }
Ano ang ginagawa ng ating code? Una, dalawang variable ang natukoy. Ang unang variable - led_pin - ay nagsisilbing italaga ang LED, at ang pangalawa - upang italaga ang ground moisture sensor. Susunod, ipinapahayag namin ang LED pin bilang isang output, at ang sensor pin bilang isang input. Ito ay kinakailangan upang makuha natin ang mga halaga, at kung kinakailangan, i-on ang LED upang makitang biswal na ang mga halaga ng sensor ay nasa itaas ng threshold. Sa loop, binabasa namin ang mga halaga mula sa sensor. Kung ang halaga ay mas mataas kaysa sa limitasyon, i-on ang LED, kung ito ay mas mababa, i-off ito. Sa halip na isang LEDbaka bomba, nasa iyo ang lahat.
Analog mode
Para kumonekta gamit ang analog na output, kailangan mong gamitin ang A0. Ang capacitive soil moisture sensor sa Arduino ay tumatagal ng mga halaga mula 0 hanggang 1023. Ikonekta ang sensor bilang sumusunod:
- VCC ikinonekta ang 5V sa Arduino.
- Ang GND sa sensor ay konektado sa GND sa Arduino board.
- A0 kumonekta sa A0 sa Arduino.
Susunod, isulat ang code sa ibaba sa Arduino.
int sensor_pin=A0; int output_value; void setup() { Serial.begin(9600); Serial.println("Binabasa ang sensor"); pagkaantala(2000); } void loop() { output_value=analogRead(sensor_pin); output_value=mapa(output_value, 550, 0, 0, 100); Serial.print("Moisture"); Serial.print(output_value); Serial.println("%"); pagkaantala(1000); }
Kaya ano ang ginagawa ng code na ito? Ang unang hakbang ay upang itakda ang mga variable. Ang unang variable ay kinakailangan upang matukoy ang contact ng sensor, at ang isa ay mag-iimbak ng mga resulta na matatanggap namin gamit ang sensor. Susunod, binabasa namin ang data. Sa loop, isinusulat namin ang mga halaga mula sa sensor hanggang sa output_value variable na aming nilikha. Pagkatapos ay kinakalkula ang porsyento ng kahalumigmigan ng lupa, pagkatapos ay ipinapakita namin ang mga ito sa monitor ng port. Ang wiring diagram ay ipinapakita sa ibaba.
DIY
Tinalakay sa itaas kung paano ikonekta ang soil moisture sensor sa Arduino. Ang problema sa mga sensor na ito ay ang mga ito ay maikli ang buhay. Ang katotohanan ay ang mga ito ay napakahilig sakaagnasan. Gumagawa ang ilang kumpanya ng mga sensor na may espesyal na coating upang mapataas ang buhay ng serbisyo, ngunit hindi pa rin ito pareho. Isinasaalang-alang din ang opsyon ng paggamit ng sensor hindi madalas, ngunit kapag kinakailangan lamang. Halimbawa, mayroong isang program code kung saan bawat segundo ay binabasa ng sensor ang mga halaga ng kahalumigmigan ng lupa. Maaari mong pahabain ang buhay ng serbisyo kung i-on mo ito, halimbawa, isang beses sa isang araw. Ngunit kung hindi ito angkop sa iyo, maaari kang gumawa ng sensor ng kahalumigmigan ng lupa gamit ang iyong sariling mga kamay. Hindi mararamdaman ng Arduino ang pagkakaiba. Talaga, ang sistema ay pareho. Simple lang, sa halip na dalawang sensor, maaari mong ilagay ang iyong sarili at gumamit ng materyal na hindi gaanong madaling kapitan ng kaagnasan. Sa isip, siyempre, gumamit ng ginto, ngunit dahil sa presyo nito, lalabas ito nang napakamahal. Sa pangkalahatan, mas mura ang bilhin, dahil sa presyong FC-28.
Mga kalamangan at kahinaan
Tinalakay ng artikulo ang mga opsyon para sa pagkonekta ng soil moisture sensor sa Arduino, at ipinakita rin ang mga halimbawa ng program code. Ang FC-28 ay isang mahusay na sensor ng kahalumigmigan ng lupa, ngunit ano ang mga partikular na kalamangan at kahinaan ng sensor na ito?
Pros:
- Presyo. Ang sensor na ito ay may napakababang presyo, kaya ang bawat radio amateur ay makakabili at makakagawa ng sarili nitong awtomatikong sistema ng pagtutubig para sa mga halaman. Siyempre, kapag nagtatrabaho sa malalaking kaliskis, ang sensor na ito ay hindi angkop, ngunit hindi ito inilaan para dito. Kung kailangan mo ng mas malakas na sensor - SM2802B, kakailanganin mong magbayad ng medyo malaking halaga para dito.
- Simplicity. Ang pag-master ng trabaho gamit ang soil moisture sensor na ito sa Arduino ay maaaringbawat isa. Ilang wire lang, ilang linya ng code - at iyon na. Tapos na ang pagkontrol sa kahalumigmigan ng lupa.
Cons: