Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Uvod:
U ovom Instructableu 'konstruiramo' mjerač za kišu s Arduinom i kalibriramo ga za izvještavanje o dnevnim i satima oborina. Sakupljač kiše koji koristim je namjenski mjerač kiše tipa kašike za kišnicu. Došao je s oštećene osobne meteorološke postaje. Međutim, postoji mnogo sjajnih instrukcija o tome kako napraviti jedan od nule.
Ovaj Instructable dio je meteorološke postaje koju izrađujem i dokumentacija je mog procesa učenja prerušenog u vodič:)
Karakteristike mjerača kiše:
- mjerenja dnevnih i satnih količina oborina izražena su u inčima radi lakšeg prijenosa u Weather Underground.
- kod za uklanjanje magnetske sklopke nije uključen kako bi kôd bio jednostavan.
- budući da je više vodič, gotov proizvod je više prototip prototipa.
Korak 1: Neka teorija
Padavine se prijavljuju/mjere u milimetrima ili inčima koje imaju dimenziju duljine. Indikativno je koliko je svaki dio kišnog područja dobio kišu, ako se kišnica nije raspršila i odvela. Dakle, 1,63 mm oborina značilo bi da ako imam ravno izravnani spremnik bilo kojeg oblika, skupljena kišnica bi bila visine 1,63 mm od dna spremnika.
Svi mjerači kiše imaju područje sakupljanja oborina i mjerenje količine oborina. Slivno područje je regija preko koje se skuplja kiša. Mjerni objekt bio bi neka vrsta mjerenja volumena za tekućinu.
Dakle, oborine u mm ili inčima bile bi
visina oborina = volumen skupljene kiše / slivno područje
U mom sakupljaču kiše duljina i širina bile su 11 cm x 5 cm, što je davalo slivno područje od 55 kvadratnih metara. Dakle, zbirka od 9 mililitara kiše značila bi 9 cc/55 sq.cm = 0,16363 … cm = 1,6363 … mm = 0,064 inča.
U mjeraču za kišu u kanti za prevrtanje, kanta se 4 puta napuni za 9 ml (ili 0,064… inča kiše), pa je jedan vrh za (9/4) ml = 2,25 ml (ili 0,0161.. inča). Uzmemo li očitanja po satu (24 očitanja dnevno prije resetiranja), održavanje tri značajne točnosti je dovoljno pristojno.
Dakle, kod svakog vrha/prevrtanja korpe kôd mu pristupa kao 1 sekvenca on-off-on ili jednim klikom. Da, prijavili smo 0,0161 inča kiše. Da ponovim, sa stajališta Arduina
jedan klik = 0,0161 inča kiše
Napomena 1: Ja preferiram Međunarodni sustav jedinica, ali Weather Underground preferira Imperial/US jedinice, pa se ovo pretvaranje u inče.
Napomena 2: Ako izračuni nisu vaša šalica čaja, prijeđite na Volume of Rainfall koji vam savršeno pomaže u takvim stvarima.
Korak 2: Dijelovi za ovaj projekt
Većina je dijelova ležala uokolo, a fer popis (radi formalnosti) jest
- Arduino Uno (ili bilo koja druga kompatibilna)
- Mjerač kiše sa stare oštećene meteorološke postaje.
- Oglasna ploča.
- RJ11 za spajanje mjerila za mjerenje kiše na ploču.
- 10K ili veći otpornik koji djeluje kao pull up otpornik. Koristio sam 15K.
- 2 komada muških žica kratkospojnika
- 2 kratkospojna žica muško-muško.
- USB kabl; Muški do B muški
Alati:
Štrcaljka (upotrijebljeno je kapacitet od 12 ml)
Korak 3: Sakupljač kiše
Fotografije mog sakupljača kiše mnogima bi trebale biti jasne. U svakom slučaju, kiša koja padne na njezino slivno područje kanalizira se u jednu od dvije kante za prevrtanje unutar nje. Dvije kante za prevrtanje povezane su poput klackalice, a kako se kišnica (0,0161 inča kiše za moju) spušta jednu kantu dolje, ona se prazni, a druge kante idu gore i postavljaju se da sakupe sljedeću kišnicu. Pokretno prevrtanje pomiče magnet preko "magnetskog prekidača" i krug se električno povezuje.
Korak 4: Krug
Za izradu kruga
- Spojite digitalni pin #2 Arduina na jedan kraj otpornika.
- Drugi kraj otpornika spojite na uzemljenje (GND).
- Spojite jedan kraj priključnice RJ11 na digitalni pin #2 Arduina.
- Drugi kraj priključnice RJ11 spojite na +5V pin Arduina (5V).
- Uključite mjerač kiše na RJ11.
Krug je dovršen. Žice i matična ploča olakšavaju povezivanje.
Da biste dovršili projekt, povežite Arduino s računalom pomoću USB kabela i učitajte dolje prikazanu skicu.
Korak 5: Kôd
Skica RainGauge.ino (ugrađena na kraju ovog koraka) dobro je komentirana pa ću istaknuti samo tri odjeljka.
Jedan dio broji broj savjeta za prevrtanje.
if (bucketPositionA == false && digitalRead (RainPin) == HIGH) {
… … }
Drugi dio provjerava vrijeme i izračunava količinu kiše
if (now.minute () == 0 && first == true) {
hourlyRain = dailyRain - dailyRain_till_LastHour; …… ……
a drugi dio čisti kišu za taj dan, u ponoć.
if (now.hour () == 0) {
dnevna kiša = 0; …..
Korak 6: Kalibracija i testiranje
Odvojite kišni kolektor od ostatka kruga i izvedite sljedeće korake.
- Napunite špricu vodom. Ja svoju punim sa 10 ml.
- Držite sakupljač kiše na ravnoj površini i izlijevajte vodu iz štrcaljke malo po malo.
- Prebrojavam kante za prevrtanje. Četiri savjeta su mi bila dovoljna, a iz štrcaljke sam iscijedila 9 ml. Prema izračunima (vidi odjeljak teorije) dobio sam količinu kiše od 0,0161 inča po vršku.
- Uključujem ove podatke u svoj kôd na početku.
const double bucketAmount = 0,0161;
To je sve. Za veću točnost možete unijeti više znamenki poput 0,01610595. Naravno da se očekuje da će vaši izračunati brojevi varirati ako vaš sakupljač kiše nije identičan mom.
Za potrebe testiranja
- Spojite sakupljač kiše na utičnicu RJ11.
- Spojite Arduino na računalo pomoću USB kabela.
- Otvorite serijski monitor.
- Ulijte prethodno izmjerene količine vode i promatrajte izlaz kada sat završi.
- Ne ulijevajte vodu, već pričekajte sljedeći sat da završi. U ovom slučaju kiša po satu mora biti nula.
- Ostavite računalo s priključenim krugom na napajanje preko noći i provjerite hoće li se dnevna kiša i kiša po satu vratiti na nulu u ponoć. Za ovaj korak također možete promijeniti sat računala na odgovarajuću vrijednost (za gledanje izlaza na serijskom monitoru uživo).
7. korak: naknadna razmišljanja i priznanja
Razlučivost očitanja padalina u mom slučaju je 0,0161 inča i ne može se učiniti točnijom. Praktične okolnosti mogu dodatno smanjiti točnost. Mjerenje vremena nema točnost kvantne mehanike.
Dio koda posuđen je iz Lazy Old Geek's Instructable.