- Mga Materyal na Kinakailangan
- Sensor ng ulan
- Paggawa ng Rain Sensor
- Diagram ng Circuit
- Paliwanag sa Code
- Paggawa ng sistema ng Pagtuklas ng Ulan batay sa Arduino
Ang isang simpleng Sistema ng Pagtuklas ng Ulan ay maaaring madaling maitayo sa pamamagitan ng pag-interfacing ng isang Arduino sa Rain Sensor. Madiskubre ng sensor ang anumang pagbagsak ng ulan dito at mararamdaman ito ng Arduino board at maaaring magsagawa ng kinakailangang mga pagkilos. Ang isang sistemang tulad nito ay maaaring magamit sa maraming iba`t ibang larangan, tulad ng larangan ng agrikultura at sasakyan. Maaaring magamit ang pagtuklas ng ulan upang awtomatikong makontrol ang proseso ng Irigasyon. Gayundin, tuluy-tuloy na data ng pag-ulanmaaaring matulungan ang mga magsasaka na gamitin ang matalinong sistema na ito upang awtomatikong iinumin ang ani lamang kung talagang kinakailangan. Katulad nito, sa sektor ng mga automobiles na salamin ng salamin ng sasakyan ay maaaring ganap na awtomatiko sa pamamagitan ng paggamit ng sistema ng pagtuklas ng ulan. At ang Home Automation Systems ay maaari ring gumamit ng pagtuklas ng ulan upang awtomatikong isara ang mga bintana at ayusin ang temperatura ng kuwarto. Sa tutorial na ito, magtatayo kami ng isang pangunahing sensor ng ulan gamit ang Arduino gamit ang isang buzzer. Maaari mo nang magamit ang set-up na ito upang bumuo ng anumang nais mo sa itaas nito. Gayundin, tandaan na ang ulan sensor module ay din tinutukoy bilang isang patak ng ulan sensor o rain gauge sensor o rainwater sensor batay sa paggamit, ngunit lahat sila ay tumutukoy sa iisang sensor na ginagamit sa proyektong ito at lahat sila ay trabaho sa parehong prinsipyo.
Nakagawa rin kami ng isang simpleng Rain Alarm at isang awtomatikong wiper ng kotse sa pamamagitan lamang ng paggamit ng 555 Timer, baka gusto mong suriin din ito kung hindi mo nais na gumamit ng Arduino. Sinabi na, bumalik tayo sa proyektong ito at simulan ang pagbuo ng aming Arduino Rain Gauge.
Mga Materyal na Kinakailangan
- Arduino UNO
- Sensor ng ulan
- Buzzer
- Breadboard
- Mga kumokonekta na mga wire
Sensor ng ulan
Ang module ng Raindrops ay binubuo ng dalawang board, katulad ng Rain Board at Control Board.
Ang module ng Rain board ay binubuo ng dalawang tanso na tanso, na idinisenyo sa paraang sa ilalim ng dry na kondisyon ay nagbibigay sila ng mataas na paglaban sa boltahe ng suplay, at ang boltahe ng output ng modyul na ito ay magiging 5V. Ang paglaban ng modyul na ito ay unti-unting bumabawas na may paggalang sa isang pagtaas sa basa sa board. Habang bumababa ang resistensya, bumababa din ang output voltage na patungkol sa basa sa modyul. Ang module ng Rain board ay binubuo ng dalawang mga pin na ginamit upang kumonekta sa control board tulad ng ipinakita sa ibaba.
Kinokontrol ng module ng Control Board ang pagiging sensitibo at binabago ang output ng analog sa digital output. Kung ang halaga ng analog ay nasa ibaba ng halaga ng threshold ng control board, ang output ay digital na mababa, at Kung ang halaga ng analog ay mas mataas kaysa sa halaga ng threshold, ang output ay digital na mataas. Para sa paghahambing at conversion na ito, ginagamit ang isang LM393 OP-Amp Comparator. Ang isang kumpara sa Op-Amp ay isang kagiliw-giliw na circuit na maaaring magamit upang ihambing ang dalawang magkakaibang halaga ng boltahe, nagamit na namin sa circuit na ito sa maraming mga proyekto tulad ng Smart Electronic Candle, Laser Security Alarm, Line Follower Robot at marami pa.
Ang module ng pagkontrol ng ulan na ipinakita sa ibaba ay binubuo ng 4 na mga pin upang ikonekta ang Arduino katulad ng VCC, GND, D0, A0 at dalawa pang mga pin upang ikonekta ang module ng rain board. Bilang buod, nakita ng module ng rain board ang tubig-ulan, at ginagamit ang module ng control board upang makontrol ang pagkasensitibo at ihambing at i-convert ang mga halagang analog sa mga digital na halaga.
Paggawa ng Rain Sensor
Ang pagtatrabaho ng module ng sensor ng ulan ay simpleng mauunawaan. Sa isang maaraw na araw, dahil sa pagkatuyo sa module ng rain board, nag-aalok ito ng mataas na paglaban sa boltahe ng suplay. Lumilitaw ang boltahe na ito sa output pin ng module ng rain board bilang 5V. Ang 5V na ito ay binabasa bilang 1023 kung nabasa ng isang analog pin ng Arduino. Sa panahon ng pag-ulan, ang tubig-ulan ay nagdudulot ng pagtaas ng basa sa board ng ulan, na kung saan ay nagreresulta sa pagbawas ng paglaban na inaalok para sa suplay. Habang ang pagtutol ay unti-unting bumababa, ang boltahe ng output ay nagsisimulang bawasan.
Kapag ang board ng ulan ay basa na, at ang paglaban na inaalok nito ay minimum, ang boltahe ng output ay magiging kasing mababa hangga't maaari (tinatayang 0). Ang 0V na ito ay binabasa bilang 0 na halaga kung nabasa ng isang analog pin ng Arduino. Kung ang module ng rain board ay bahagyang basa, ang output ng module ng rain board na ito ay magiging patungkol sa paglaban na inaalok nito. Kung ang paglaban na inaalok ng module ng rain board ay nasa paraang ang output ay 3V ang basahin na halagang analog ay magiging 613. Ang pormula upang makahanap ng ADC ay maaaring ibigay ng, ADC = (halaga ng analog boltahe X 1023) / 5. Sa pamamagitan ng paggamit ng formula na ito maaari mong baguhin ang anumang analog boltahe sa t Arduino analog na basahin ang halaga.
Diagram ng Circuit
Ipinapakita sa iyo ng diagram ng circuit sa ibaba ang mga koneksyon sa circuit para sa Rain Drop Sensor na may Arduino. Ang disenyo ay ginagawa gamit ang proteus, ang mga pisikal na modyul ay katulad ng mga module na ipinapakita sa circuit diagram.
Ang module ng pagsukat ng ulan, na ipinakita sa circuit diagram ay konektado sa control board. Ang VCC pin ng control board ay konektado sa 5V supply. Ang ground pin ay konektado sa lupa. Kung kinakailangan, ang D0 pin ay konektado sa anumang digital pin ng Arduino, at ang pin na iyon ay dapat ideklara bilang isang output pin sa programa. Ang problemang kinakaharap natin sa D0 pin ay hindi namin makuha ang eksaktong halaga ng boltahe ng output. Kung ang output ay tumatawid sa boltahe ng threshold, pagkatapos ay maunawaan ng control module ang pagbabago sa output. Kailangan nating patakbuhin ang buzzer, kahit na may isang malaking pagbabago sa boltahe ng output sa module ng rain board. Dahil sa mga kadahilanang ito, ang A0 pin ay konektado sa analog pin ng Arduino, na ginagawang madali ang pagsubaybay sa pagbabago sa output. Ang buzzer, na ginagamit bilang isang senyas sa gumagamit,ay maaaring konektado sa anumang digital pin ng Arduino. Kung ang buzzer ay nangangailangan ng higit sa 5V, pagkatapos ay subukang ikonekta ang isang relay circuit o isang transistor at pagkatapos ay ikonekta ang pagkarga dito.
Paliwanag sa Code
Ang Arduino code para sa sensor ng ulan ay nakasulat gamit ang Arduino IDE. Ang kumpletong code para sa proyektong ito ay ibinibigay sa dulo ng pahina.
#tukoy ang ulan A0 # tukuyin ang buzzer 5 int halaga; int set = 10;
Ang pagtukoy sa pin A0 bilang ulan, at pin 5 bilang isang buzzer at pagdedeklara ng variable na "halaga" at "set" bilang mga integer at pagtatakda ng variable set na halaga sa 10. Ang halagang ito ay maaaring mabago ayon sa kinakailangang antas ng pagpapatakbo. Kung nais mong buhayin ang buzzer, kahit na may kaunting ulan itakda ito sa isang minimum na halaga
void setup () {Serial.begin (9600); pinMode (buzzer, OUTPUT); pinMode (ulan, INPUT); }
Pinasimulan ang serial komunikasyon, at pagtatakda ng buzzer. Ang pagtatakda ng pin ng ulan bilang isang output pin at input pin.
void loop () {halaga = analogRead (ulan); Serial.println (halaga); halaga = mapa (halaga, 0,1023,225,0);
binabasa ng pagpapaandar na analogRead ang halaga ng sensor ng ulan. Inilalagay ng mapa ng pagpapaandar ang halaga ng sensor ng ulan mula sa output pin, at nagtatalaga ng isang halaga sa variable, mula 0 hanggang 225.
kung (halaga> = itakda) {Serial.println ("nakita ang ulan"); digitalWrite (buzzer, TAAS);
Kung ang binasa na halaga ng sensor ay mas malaki kaysa sa itinakdang halaga, pagkatapos ay pumapasok ang programa sa loop, na-print ang mensahe sa serial monitor at binago ang buzzer
iba pa {digitalWrite (buzzer, LOW);
Ang programa ay pumapasok sa ibang pagpapaandar lamang kapag ang halaga ay mas mababa kaysa sa itinakdang halaga. Ang function na ito ay papatayin ang buzzer kapag ang itinakdang halaga ay mas mataas kaysa sa halaga ng sensor, na nagsasabi na walang ulan.
Paggawa ng sistema ng Pagtuklas ng Ulan batay sa Arduino
Gumagana ang sistemang ito sa isang paraan na, kapag may ulan, ang tubig-ulan ay gumaganap bilang isang gatilyo, na lumilipat sa buzzer. Sa Rain Drop Sensor Arduino Code, tinukoy namin na ang mga pin na 5, at A0 ay buzzer at ulan. Sa pamamagitan nito, mababago natin ang mga pin sa tinukoy na bahagi ng pagpapaandar, at ang natitirang bahagi ng code ay hindi magalaw. Gagawin nitong madali ang programmer sa pag-edit ng mga pin.
Sa void loop, binabasa ng utos ng analogRead ang halaga mula sa sensor. Sa susunod na linya, ang utos na Serial.println (halaga), ay naglilimbag ng halaga sa serial monitor. Makakatulong ito habang nagde-debug. Inilalagay ng pagpapaandar ng mapa ang papasok na halaga sa pagitan ng 0 -225. Ang format ng pag-andar para sa mapa ay isang mapa (halaga, halagang min, maximum na halaga, na maida-map para sa pinakamaliit na halaga, na maida-map na halagang maximum na halaga). Ang buzzer ay bubuksan ON o OFF, depende sa itinakdang halaga at ang output ng sensor. Ang halagang ito ay inihambing sa pag-andar kung, na may itinakdang halaga. Kung ang halaga ay mas malaki kaysa sa itinakdang halaga, lilipat ito sa buzzer. Kung ang halaga ay mas mababa sa itinakdang halaga, ang buzzer ay papatayin.
Ang kumpletong pagtatrabaho ay matatagpuan sa video na naka- link sa ibaba. Ito ay isang aplikasyon sa gitna ng marami, ang parehong prinsipyo ay makikita sa mga wiper ng salamin, iba pang automation sa bahay, mga sektor ng agrikultura, atbp. Inaasahan mong naiintindihan mo ang proyekto at nasiyahan sa pagbuo ng isang bagay na kapaki-pakinabang. Kung mayroon kang anumang mga katanungan, gamitin ang seksyon ng komento sa ibaba o gamitin ang aming mga forum para sa iba pang mga teknikal na katanungan.