- Tarvittavat materiaalit
- Sadetunnistin
- Sadetunnistimen toiminta
- Piirikaavio
- Koodin selitys
- Arduino-pohjaisen sateentunnistusjärjestelmän toiminta
Yksinkertainen sateentunnistusjärjestelmä voidaan helposti rakentaa liittämällä Arduino sadetunnistimeen. Anturi havaitsee sateen sateen, ja Arduino-kortti tunnistaa sen ja voi suorittaa tarvittavat toimet. Tällaista järjestelmää voidaan käyttää monilla eri aloilla, kuten maataloudessa ja autoteollisuudessa. Sateentunnistusta voidaan käyttää kasteluprosessin automaattiseen säätämiseen. Myös jatkuvat sadetiedotvoi auttaa maanviljelijöitä käyttämään tätä älykästä järjestelmää sadon automaattiseen kasteluun vain ehdottomasti tarpeen mukaan. Vastaavasti autoteollisuudessa tuulilasinpyyhkimet voidaan tehdä täysin automaattisiksi sateentunnistusjärjestelmällä. Kotiautomaatiojärjestelmät voivat myös käyttää sateentunnistusta ikkunoiden automaattiseen sulkemiseen ja huoneen lämpötilan säätämiseen. Tässä opetusohjelmassa rakennamme perussade-anturin käyttämällä Arduinoa summerilla. Voit sitten käyttää tätä kokoonpanoa rakentaaksesi mitä tahansa haluamasi sen päälle. Huomaa myös, että sadetunnistinmoduuliin viitataan myös käytön perusteella sadepisarana tai sade-anturina tai sadevesianturina, mutta ne kaikki viittaavat samaan anturiin, jota käytetään tässä projektissa, ja ne kaikki toimivat samalla periaatteella.
Olemme myös rakentaneet yksinkertaisen sateen hälytyksen ja automaattisen pyyhkijän käyttämällä vain 555-ajastinta. Voit myös tarkistaa sen, jos et halua käyttää Arduinoa. Siitä huolimatta palataan takaisin tähän projektiin ja aloitetaan Arduino-sademittarimme rakentaminen.
Tarvittavat materiaalit
- Arduino UNO
- Sadetunnistin
- Summeri
- Leipälauta
- Johtojen liittäminen
Sadetunnistin
Sadepisarat moduuli koostuu kahdesta levyt, nimittäin sadetta hallituksen ja Control Board.
Rain hallitus moduuli koostuu kahdesta kuparia raitoja, on suunniteltu siten, että alle kuivassa ne tarjoavat suuren vastuksen syöttöjännitteeseen, ja tämä lähtöjännite tämä moduuli on 5V. Tämän moduulin vastus vähenee vähitellen levyn kosteuden lisääntyessä. Kuten vastus vähenee, sen lähtöjännite laskee myös suhteen kosteus moduulin. Rain hallitus moduuli koostuu kahdesta nastat käytetään yhteyden ohjauskortin, kuten on esitetty alla.
Ohjauskorttimoduuli ohjaa herkkyyttä ja muuntaa analogisen lähdön digitaaliseksi. Jos analoginen arvo on ohjauskortin kynnysarvon alapuolella, lähtö on digitaalisesti matala ja jos analoginen arvo on korkeampi kuin kynnysarvo, lähtö on digitaalisesti korkea. Tätä vertailua ja muunnosta varten käytetään LM393 OP-Amp Comparator -laitetta. Op-Amp-vertailija on mielenkiintoinen piiri, jolla voidaan verrata kahta erilaista jännitearvoa. Olemme jo käyttäneet tätä virtapiiriä monissa projekteissa, kuten Älykäs elektroninen kynttilä, Laser-turvahälytys, Linjaseurainrobotti ja paljon muuta.
Rain ohjausmoduuli, joka on esitetty alla koostuu 4 nastaa Arduino eli VCC, GND, D0, A0 ja kaksi nastaa sateen aluksella moduuli. Yhteenvetona voidaan todeta, että sadelaudan moduuli havaitsee sadeveden, ja ohjauskorttimoduulia käytetään herkkyyden säätämiseen sekä analogisten arvojen vertaamiseen ja muuntamiseen digitaalisiksi arvoiksi.
Sadetunnistimen toiminta
Työskentely on sadetunnistin moduuli on helppo ymmärtää. Aurinkoisena päivänä se tarjoaa sadelaudan moduulin kuivuuden vuoksi korkean vastuksen syöttöjännitteelle. Tämä jännite näkyy sadelaudan moduulin lähtöliittimessä arvona 5 V. Tämä 5 V lukee 1023, jos se luetaan Arduinon analogisella nastalla. Sateen aikana sadevesi lisää sadelaudan kosteutta, mikä puolestaan johtaa syöttöön tarjotun vastuksen vähenemiseen. Kun vastus pienenee vähitellen, lähtöjännite alkaa laskea.
Kun sadelauta on täysin märkä ja sen tarjoama vastus on minimaalinen, lähtöjännite on mahdollisimman alhainen (noin 0). Tämä 0V luetaan 0-arvona, jos Arduinon analoginen nasta lukee sen. Jos sadelaudan moduuli on osittain märkä, tämän sadelaudan moduulin lähtö on suhteessa sen tarjoamaan vastukseen. Jos sadelaudan moduulin tarjoama vastus on sellainen, että lähtö on 3 V, luettu analoginen arvo on 613. Kaava ADC: n löytämiseksi voidaan antaa, ADC = (analogisen jännitteen arvo X 1023) / 5. Tämän kaavan avulla voit muuntaa minkä tahansa analogisen jännitteen t Arduinon analogiseksi lukearvoksi.
Piirikaavio
Alla oleva piirikaavio näyttää sade-anturin ja Arduinon piiriliitännät. Suunnittelu tehdään proteusta käyttäen, fyysiset moduulit ovat samanlaisia kuin piirikaaviossa esitetyt moduulit.
Kytkentäkaaviossa esitetty sademittarimoduuli on kytketty ohjauskorttiin. Ohjauskortin VCC-tappi on kytketty 5 V: n syöttöön. Maadoitustappi on kytketty maahan. Tarvittaessa D0-nasta on kytketty mihin tahansa Arduinon digitaaliseen nastaan, ja tappi on ilmoitettava ohjelmassa lähtönastana. D0-nastan kohtaama ongelma on se, että emme voi saada lähtöjännitteen tarkkaa arvoa. Jos lähtö ylittää kynnysjännitteen, ohjausmoduuli voi havaita muutoksen lähdössä. Meidän on käytettävä summeria, vaikka sadelaudan moduulin lähtöjännite muuttuisi huomattavasti. Näistä syistä A0-nasta on kytketty Arduinon analogiseen nastaan, mikä tekee lähdön muutoksen valvonnasta helppoa. Äänimerkki, jota käytetään signaalina käyttäjälle,voidaan liittää mihin tahansa Arduinon digitaaliseen nastaan. Jos summeri tarvitsee yli 5 V, yritä sitten kytkeä relepiiri tai transistori ja kytkeä sitten kuorma siihen.
Koodin selitys
Arduino koodi sadetunnistin on kirjoitettu käyttäen Arduino IDE. Tämän projektin täydellinen koodi annetaan sivun lopussa.
#define sademäärä A0 #define summeri 5 int arvo; int asetettu = 10;
Määritetään tappi A0 sademääräksi ja tappi 5 summeriksi ja ilmoitetaan muuttujat "arvo" ja "asetettu" kokonaislukuiksi ja asetetaan sen muuttujan asetettu arvo arvoksi 10. Tätä arvoa voidaan muuttaa vaaditun toimintatason mukaan. Jos haluat summerin aktivoituvan, säädä se minimiarvoon, vaikka sateita olisi vähän
void setup () {Sarja.alku (9600); pinMode (summeri, OUTPUT); pinMode (sademäärä, INPUT); }
Alustetaan sarjaliikenne ja asetetaan summeri. Sadetapin asettaminen lähtö- ja syöttötapiksi.
void loop () {arvo = analoginenLuku (sademäärä); Serial.println (arvo); arvo = kartta (arvo, 0,1023,225,0);
toiminto analogRead lukee sadetunnistimen arvon. Toimintokartta kartoittaa sadetunnistimen arvon lähtötapilta ja määrittää muuttujalle arvon, joka vaihtelee 0: sta 225: een.
if (arvo> = asetettu) {Serial.println ("sade havaittu"); digitalWrite (summeri, HIGH);
Jos lukuanturin arvo on suurempi kuin asetettu arvo, ohjelma syöttää silmukan, tulostaa viestin sarjamonitorissa ja kytkee summerin päälle
else {digitalWrite (summeri, LOW);
Ohjelma siirtyy muu-toimintoon vain, kun arvo on pienempi kuin asetettu arvo. Tämä toiminto kytkee summerin pois päältä, kun asetettu arvo on korkeampi kuin anturin arvo, mikä kertoo, ettei sateita ole.
Arduino-pohjaisen sateentunnistusjärjestelmän toiminta
Tämä järjestelmä toimii siten, että sateen aikana sadevesi toimii liipaisimena, joka kytkee summerin päälle. Vuonna Rain putoamistunnistin Arduino koodi määrittelimme, että nastat 5 ja A0 on summeri ja sademäärä. Tällöin voimme vaihtaa funktion määritetyn osan nastat, ja koodin jäljellä oleva osa on koskematon. Tämä tekee ohjelmoijasta nastojen muokkaamisen helposti.
VoID- silmukassa analogRead- komento lukee arvon anturista. Seuraavalla rivillä komento Serial.println (arvo) tulostaa arvon sarjavalvontaan. Tästä on hyötyä virheenkorjauksessa. Karttatoiminto kartoittaa saapuvan arvon välillä 0 -225. Toiminto muoto kartta on kartta (arvo, min arvo, maksimi arvo, arvo kartoitetaan pienin arvo, arvo kartoitetaan enimmäisarvo). Summeri kytketään päälle tai pois päältä asetetun arvon ja anturin lähdön mukaan. Tätä arvoa verrataan if-funktiossa asetettuun arvoon. Jos arvo on suurempi kuin asetettu arvo, se kytkee summerin päälle. Jos arvo on pienempi kuin asetettu arvo, summeri kytketään pois päältä.
Koko työ löytyy alla olevasta videosta. Tämä on yksi sovellus monien joukossa, sama periaate näkyy tuulilasinpyyhkimissä, muussa kodin automaatiossa, maataloudessa jne. Toivottavasti ymmärrät projektin ja nautit rakentamaan jotain hyödyllistä. Jos sinulla on kysyttävää, käytä alla olevaa kommenttiosaa tai käytä foorumeitamme muihin teknisiin kysymyksiin.