Innholdsfortegnelse:

Arduino Rain Gauge Kalibrering: 7 trinn
Arduino Rain Gauge Kalibrering: 7 trinn

Video: Arduino Rain Gauge Kalibrering: 7 trinn

Video: Arduino Rain Gauge Kalibrering: 7 trinn
Video: Arduino Water Level Sensor | Best Arduino Sensor | Best Arduino Sensor For Beginners | #shorts 2024, November
Anonim
Arduino regnmåler kalibrering
Arduino regnmåler kalibrering

Introduksjon:

I denne instruksen 'konstruerer' vi en regnmåler med Arduino og kalibrerer den for å rapportere nedbør daglig og hver time. Regnoppsamleren jeg bruker er en omformet regnemåler av typen tippeskuff. Den kom fra en skadet personlig værstasjon. Imidlertid er det mange flotte instrukser om hvordan du lager en fra bunnen av.

Denne instruksen er en del av en værstasjon jeg lager, og er en dokumentasjon av læringsprosessen min forkledd som en opplæring:)

Kjennetegn ved regnmåler:

  • målinger av nedbør daglig og time er i tommer for enkel opplasting til Weather Underground.
  • debouncing -kode for magnetbryteren er ikke inkludert for å holde koden enkel.
  • å være mer av en opplæring det ferdige produktet er mer av en prototype av en prototype.

Trinn 1: Noen teorier

Noen teorier
Noen teorier

Nedbør rapporteres/måles i millimeter eller tommer som har dimensjonen lengde. Det er en indikasjon på hvor høyt, hver del av regnområdet fikk regnet, hvis regnvannet ikke hadde forsvunnet og drenert bort. Så, 1,63 mm nedbør ville bety at hvis jeg hadde en flat jevnet tank i hvilken som helst form, ville regnvannet som var samlet 1,63 mm høyde fra tankens bunn.

Alle regnmålere har et nedbørsområde og en nedbørsmåling. Nedbørfeltet er regionen som regnet samles over. Måleobjektet ville være en slags volummåling for en væske.

Så nedbøren i mm eller tommer ville være

nedbørshøyde = volum av innsamlet regn / nedslagsfelt

I min regnsamler var lengden og bredden henholdsvis 11 cm x 5 cm, noe som ga et nedslagsfelt på 55 kvm. Så en samling på 9 milliliter regn ville bety 9 cm3/55 kvm = 0,16363… cm = 1,6363… mm = 0,064 tommer.

I tippbøttens regnmåler tipser bøtten 4 ganger for 9 ml (eller 0,064… tommer regn), og derfor er et enkelt tips for (9/4) ml = 2,25 ml (eller 0,0161.. tommer). Hvis vi tar timevis avlesninger (24 avlesninger per dag før tilbakestillinger) er det anstendig nok å holde tre signifikante siffernøyaktigheter.

Dermed får koden tilgang til hver sekvens som en på-av-på-sekvens eller ett klikk ved hver spiss/tommel. Ja, vi har rapportert 0,0161 tommer regn. For å gjenta, fra Arduino -synspunktet

ett klikk = 0,0161 tommer regn

Merknad 1: Jeg foretrekker det internasjonale enhetssystemet, men Weather Underground foretrekker de keiserlige/amerikanske enhetene, og denne konverteringen til tommer.

Merknad 2: Hvis beregninger ikke er din kopp te, går du over til Volume of Rainfall som gir perfekt hjelp for slike saker.

Trinn 2: Deler til dette prosjektet

Deler til dette prosjektet
Deler til dette prosjektet
Deler til dette prosjektet
Deler til dette prosjektet
Deler til dette prosjektet
Deler til dette prosjektet

De fleste delene lå og en rettferdig oppføring (for formalitet) er

  1. Arduino Uno (eller annen kompatibel)
  2. Regnmåler fra gammel skadet værstasjon.
  3. Brødbrett.
  4. RJ11 for å koble Rain Gauge til brødbrettet.
  5. 10K eller høyere motstand for å fungere som en trekkmotstand. Jeg har brukt 15K.
  6. 2 stykker hode-til-hun-ledninger
  7. 2 stikkontakt fra mann til mann.
  8. USB-kabel; En hann til B hann

Verktøy:

Sprøyte (12 ml kapasitet ble brukt)

Trinn 3: Rain Collector

The Rain Collector
The Rain Collector
The Rain Collector
The Rain Collector

Bildene av regnsamleren min burde gjøre ting klart for mange. Uansett, regnet som faller på nedslagsfeltet blir kanalisert til en av de to tippeskopene inne i det. De to tippeskuffene er koblet til som en seesag, og ettersom regnvannets vekt (0,0161 tommer regn for min) tipper en bøtte ned, blir den tømt og de andre bøttene går opp og posisjonerer seg for å samle det neste regnvannet. Vippebevegelsen beveger en magnet over en 'magnetisk bryter', og kretsen blir elektrisk tilkoblet.

Trinn 4: Krets

Krets
Krets

For å lage kretsen

  1. Koble digital pin #2 av Arduino til den ene enden av motstanden.
  2. Koble den andre enden av motstanden til jordpinnen (GND).
  3. Koble den ene enden av RJ11 -kontakten til den digitale pinnen #2 på Arduino.
  4. Koble den andre enden av RJ11 -kontakten til +5V -pinnen på Arduino (5V).
  5. Plugg regnmåleren til RJ11.

Kretsen er fullført. Jumperkabler og brødbrett gjør tilkoblingene enklere å lage.

For å fullføre prosjektet, koble Arduino til PC -en ved hjelp av USB -kabelen og last skissen nedenfor.

Trinn 5: Koden

Skissen RainGauge.ino (innebygd på slutten av dette trinnet) er godt kommentert, og derfor skal jeg bare trekke frem tre seksjoner.

En del teller antall tips for tipping-bucket.

if (bucketPositionA == false && digitalRead (RainPin) == HIGH) {

… … }

En annen del sjekker tiden og beregner regnmengden

if (now.minute () == 0 && first == true) {

hourlyRain = dailyRain - dailyRain_till_LastHour; …… ……

og en annen del fjerner regnet for dagen, ved midnatt.

hvis (nå. time () == 0) {

dailyRain = 0; …..

Trinn 6: Kalibrering og testing

Koble Rain Collector fra resten av kretsen og utfør følgende trinn.

  1. Fyll sprøyten med vann. Jeg fyller min med 10 ml.
  2. Hold Rain Collector på et plant underlag og hell ut vannet fra sprøyten bit for bit.
  3. Jeg holder oversikt over vippebøttene. Fire tips var nok for meg, og tappet 9 ml fra sprøyten. I følge beregninger (se teoridelen) fikk jeg mengden 0,0161 tommer regn per tips.
  4. Jeg inkluderer denne informasjonen i koden min i begynnelsen.

const double bucketAmount = 0,0161;

Det er alt. For mer nøyaktighet kan man inkludere flere sifre som 0,01610595. Selvfølgelig forventes de beregnede tallene å variere hvis Rain Collector ikke er identisk med min.

For testformål

  1. Koble Rain Collector til RJ11 -kontakten.
  2. Koble Arduino til PC -en ved hjelp av USB -kabelen.
  3. Åpne den serielle skjermen.
  4. Hell tidligere målte mengder vann og observer effekten når timen er fullført.
  5. Ikke hell på vann, men vent til den neste timen er fullført. Timeregnet må være null i dette tilfellet.
  6. Hold PC -en med den tilkoblede kretsen drevet over natten, og se om daglig regn og timeregn blir nullstilt ved midnatt. For dette trinnet kan man også endre PC -klokken til en passende verdi (for å se utgangene på den serielle skjermen live).

Trinn 7: Ettertanke og anerkjennelse

Oppløsningen på nedbørsmålingene i mitt tilfelle er 0,0161 tommer og kan ikke gjøres mer nøyaktig. Praktiske omstendigheter kan redusere nøyaktigheten ytterligere. Værmålinger har ikke nøyaktigheten til kvantemekanikken.

En del av koden ble lånt fra Lazy Old Geek's Instructable.

Anbefalt: