Innehållsförteckning:

Arduino Rain Gauge Kalibrering: 7 steg
Arduino Rain Gauge Kalibrering: 7 steg

Video: Arduino Rain Gauge Kalibrering: 7 steg

Video: Arduino Rain Gauge Kalibrering: 7 steg
Video: Arduino Water Level Sensor | Best Arduino Sensor | Best Arduino Sensor For Beginners | #shorts 2024, Juli
Anonim
Arduino regnmätare kalibrering
Arduino regnmätare kalibrering

Introduktion:

I denna instruktör "konstruerar" vi en regnmätare med Arduino och kalibrerar den för att rapportera nederbörd dagligen och varje timme. Regnuppsamlaren jag använder är en återanpassad regnmätare av typen tipphink. Den kom från en skadad personlig väderstation. Men det finns många bra instruktioner om hur man gör en från grunden.

Denna instruerbara är en del av en väderstation jag gör och är en dokumentation av min inlärningsprocess förklädd till en handledning:)

Egenskaper för regnmätaren:

  • mätningar av dagliga och timmars nederbörd är i tum för enkel uppladdning till Weather Underground.
  • avstängningskod för magnetbrytaren ingår inte för att hålla koden enkel.
  • att vara mer av en handledning den färdiga produkten är mer av en prototyp av en prototyp.

Steg 1: Lite teori

Några teorier
Några teorier

Nederbörd rapporteras/mäts i millimeter eller tum som har dimensionen längd. Det är en indikation på hur högt varje del av regnområdet fick regnet, om regnvattnet inte hade försvunnit och tappat bort. Så, en 1,63 mm nederbörd skulle innebära att om jag hade en platt jämn tank av någon form skulle det samlade regnvattnet ha en höjd av 1,63 mm från tankens botten.

Alla regnmätare har ett nedbördsområde och en mätning av nederbördsmängder. Avrinningsområdet är den region som regnet samlas över. Mätobjektet skulle vara någon form av volymmätning för en vätska.

Så nederbörden i mm eller tum skulle vara

nederbördshöjd = volymen insamlat regn / upptagningsområde

I min regnsamlare var längden och bredden 11 cm x 5 cm respektive vilket gav ett upptagningsområde på 55 kvm. Så en samling av 9 milliliter regn skulle innebära 9 cm3/55 kvm = 0,16363… cm = 1,6363… mm = 0,064 tum.

I tipphinkens regnmätare tippar skopan 4 gånger för 9 ml (eller 0,064… tum regn) och så är en enda spets för (9/4) ml = 2,25 ml (eller 0,0161.. tum). Om vi tar timavläsningar (24 avläsningar per dag före återställningar) är det tillräckligt bra att hålla tre signifikanta siffror noggranna.

Således får koden åtkomst till koden som en på-av-på-sekvens eller ett klick vid varje hinkspets/tumbling. Ja, vi har rapporterat 0,0161 tum regn. För att upprepa, ur Arduino synvinkel

ett klick = 0,0161 tum regn

Not 1: Jag föredrar det internationella systemet för enheter, men Weather Underground föredrar de kejserliga/amerikanska enheterna och denna omvandling till tum.

Not 2: Om beräkningar inte är din kopp te, gå vidare till Volume of Rainfall som ger perfekt hjälp för sådana frågor.

Steg 2: Delar till detta projekt

Delar till detta projekt
Delar till detta projekt
Delar till detta projekt
Delar till detta projekt
Delar till detta projekt
Delar till detta projekt

De flesta delarna låg och en rättvis notering (för formalitet) är det

  1. Arduino Uno (eller någon annan kompatibel)
  2. Regnmätare från gammal skadad väderstation.
  3. Bakbord.
  4. RJ11 för att ansluta min Rain Gauge till brödbrädan.
  5. 10K eller högre motstånd för att fungera som ett uppdragningsmotstånd. Jag har använt 15K.
  6. 2 stycken man-till-hona bygelkablar
  7. 2 bygelkabel från man till han.
  8. USB-kabel; En hane till B hane

Verktyg:

Spruta (12 ml kapacitet användes)

Steg 3: Rain Collector

Regnsamlaren
Regnsamlaren
Regnsamlaren
Regnsamlaren

Bilderna på min regnsamlare borde göra saken tydlig för många. Hur som helst, regnet som faller på dess upptagningsområde kanaliseras till en av de två tippskoporna inuti den. De två tippskoporna är anslutna som en såg och när regnvattens vikt (0,0161 tum regn för min) tippar en hink ner töms den och de andra skoporna går upp och positionerar sig för att samla nästa regnvatten. Tipprörelsen förflyttar en magnet över en 'magnetisk omkopplare' och kretsen ansluts elektriskt.

Steg 4: Krets

Krets
Krets

För att göra kretsen

  1. Anslut den digitala stift nr 2 på Arduino till ena änden av motståndet.
  2. Anslut den andra änden av motståndet till jordstiftet (GND).
  3. Anslut ena änden av RJ11 -uttaget till den digitala stift nr 2 på Arduino.
  4. Anslut den andra änden av RJ11 -uttaget till +5V -stiftet på Arduino (5V).
  5. Anslut regnmätaren till RJ11.

Kretsen är klar. Bygeltrådar och brödbräda gör anslutningarna enklare att göra.

För att slutföra projektet, anslut Arduino till datorn med USB -kabeln och ladda skissen nedan.

Steg 5: Koden

Skissen RainGauge.ino (inbäddad i slutet av detta steg) är välkommenterad och därför ska jag bara påpeka tre avsnitt.

En del räknar antalet tippskopspetsar.

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

… … }

En annan del kontrollerar tiden och beräknar regnmängden

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

hourlyRain = dailyRain - dailyRain_till_LastHour; …… ……

och en annan del rensar regnet för dagen, vid midnatt.

om (nu. timme () == 0) {

dailyRain = 0; …..

Steg 6: Kalibrering och testning

Koppla bort Rain Collector från resten av kretsen och utför följande steg.

  1. Fyll sprutan med vatten. Jag fyller min med 10 ml.
  2. Håll Rain Collector på en plan yta och häll ut vattnet från sprutan bit för bit.
  3. Jag räknar med tipphinkarna. Fyra tips var tillräckligt för mig och tappade 9 ml från sprutan. Enligt beräkningar (se teoridelen) fick jag mängden 0,0161 tum regn per spets.
  4. Jag inkluderar denna information i min kod i början.

const double bucketAmount = 0,0161;

Det är allt. För mer noggrannhet kan man inkludera fler siffror som 0,01610595. Naturligtvis förväntas dina beräknade antal variera om din Rain Collector inte är identisk med min.

För teständamål

  1. Anslut Rain Collector till RJ11 -uttaget.
  2. Anslut Arduino till datorn med USB -kabeln.
  3. Öppna seriell bildskärm.
  4. Häll tidigare uppmätta mängder vatten och observera utgången när timmen är klar.
  5. Häll inte på vatten utan vänta tills nästa timme är klar. Regnet i timmen måste vara noll i detta fall.
  6. Håll datorn med den anslutna kretsen spänd över natten och se om dagregnet och timregnet återställs till noll vid midnatt. För detta steg kan man också ändra datorns klocka till ett lämpligt värde (för att titta på utgångarna på den seriella bildskärmen live).

Steg 7: Eftertanke och erkännanden

Upplösningen av nederbördsmätningarna i mitt fall är 0,0161 tum och kan inte göras mer exakt. Praktiska omständigheter kan minska noggrannheten ytterligare. Vädermätningar har inte kvantmekanikens noggrannhet.

En del av koden lånades från Lazy Old Geek's Instructable.

Rekommenderad: