Cuprins:

Calibrarea pluviometrului Arduino: 7 pași
Calibrarea pluviometrului Arduino: 7 pași

Video: Calibrarea pluviometrului Arduino: 7 pași

Video: Calibrarea pluviometrului Arduino: 7 pași
Video: Cantar Apicol - Conexiuni placa v1.0 2024, Noiembrie
Anonim
Calibrare Arduino Rain Gauge
Calibrare Arduino Rain Gauge

Introducere:

În acest Instructable „construim” un pluviometru cu Arduino și îl calibrăm pentru a raporta precipitațiile zilnice și orare. Colectorul de ploaie pe care îl folosesc este un pluviometru refăcut de tipul cupei basculante. Venea dintr-o stație meteorologică personală deteriorată. Cu toate acestea, există o mulțime de instrumente minunate despre cum să faceți unul de la zero.

Acest instructabil face parte dintr-o stație meteo pe care o realizez și este o documentare a procesului meu de învățare deghizat în tutorial:)

Caracteristicile pluviometrului:

  • măsurătorile precipitațiilor zilnice și orare sunt în centimetri pentru încărcare ușoară în Weather Underground.
  • codul de debouncing pentru comutatorul magnetic nu este inclus pentru a menține codul simplu.
  • fiind mai mult un tutorial, produsul finit este mai mult un prototip de prototip.

Pasul 1: Teorie

Oarecare teorie
Oarecare teorie

Precipitațiile sunt raportate / măsurate în milimetri sau inci, care au dimensiunea lungimii. Este indicativ pentru cât de mare, fiecare porțiune din zona de ploaie a primit ploaia, dacă apa de ploaie nu s-ar fi risipit și s-a scurs. Deci, o precipitație de 1,63 mm ar însemna că, dacă aș avea un rezervor planat de orice formă, apa de ploaie colectată ar avea o înălțime de 1,63 mm de la fundul rezervoarelor.

Toate aparatele de măsurare a ploii au un bazin de ploaie și o măsurare a cantității de precipitații. Bazinul hidrografic este regiunea peste care se colectează ploaia. Obiectul de măsurare ar fi un fel de măsurare a volumului pentru un lichid.

Deci, precipitațiile în mm sau inci ar fi

înălțimea precipitațiilor = volumul de ploaie colectat / zona de captare

În colectorul meu de ploaie, lungimea și lățimea erau de 11 cm, respectiv 5 cm, dând o suprafață de 55 cm2. Deci, o colecție de 9 mililitri de ploaie ar însemna 9 cc / 55 sq.cm = 0.16363… cm = 1.6363… mm = 0.064 inch.

În gabaritul de ploaie cu găleată, vârful găleată se întoarce de 4 ori pentru 9 ml (sau 0,064 … inci de ploaie) și astfel un singur vârf este pentru (9/4) ml = 2,25 ml (sau 0,0161.. inci). Dacă luăm lecturi orare (24 de lecturi pe zi înainte de resetări) păstrarea preciziei a trei cifre semnificative este suficient de decentă.

Astfel, la fiecare vârf / cădere a cupei, codul îl accesează sub forma unei secvențe on-off-on sau one click. Da, am raportat 0,0161 centimetri de ploaie. Pentru a repeta, din punctul de vedere Arduino

un clic = 0,0161 centimetri de ploaie

Notă 1: Prefer Sistemul Internațional de Unități, dar Weather Underground preferă unitățile Imperial / SUA și deci această conversie în inci.

Notă 2: Dacă calculele nu sunt ceașca dvs. de ceai, mergeți la Volumul de precipitații, care oferă ajutor perfect pentru astfel de probleme.

Pasul 2: Părți pentru acest proiect

Piese pentru acest proiect
Piese pentru acest proiect
Piese pentru acest proiect
Piese pentru acest proiect
Piese pentru acest proiect
Piese pentru acest proiect

Majoritatea părților erau situate în jur și o listă corectă (pentru formalitate) este

  1. Arduino Uno (sau orice alt compatibil)
  2. Pluviometru din vechea stație meteo deteriorată.
  3. Breadboard.
  4. RJ11 pentru a conecta Rain Gauge la panou.
  5. Rezistor de 10K sau mai mare pentru a acționa ca un rezistor de tragere. Am folosit 15K.
  6. 2 bucăți de fire jumper de la bărbat la femeie
  7. 2 fire jumper de la bărbat la bărbat.
  8. Cablu USB; De la un bărbat la un bărbat

Instrumente:

Seringă (a fost utilizată capacitatea de 12 ml)

Pasul 3: Colectorul de ploaie

Colectorul de ploaie
Colectorul de ploaie
Colectorul de ploaie
Colectorul de ploaie

Fotografiile colecționarului meu de ploaie ar trebui să clarifice lucrurile pentru mulți. Oricum, ploaia care cade pe bazinul său este canalizată către una dintre cele două găleți din interior. Cele două găleți de basculare sunt conectate ca un ferăstrău și, pe măsură ce greutatea apei de ploaie (0,0161 inci de ploaie pentru a mea) înclină o găleată în jos, se golește, iar celelalte găleți se ridică și se poziționează pentru a colecta următoarea apă de ploaie. Mișcarea de basculare deplasează un magnet peste un „comutator magnetic” și circuitul se conectează electric.

Pasul 4: Circuit

Circuit
Circuit

Pentru a face circuitul

  1. Conectați pinul digital # 2 al Arduino la un capăt al rezistorului.
  2. Conectați celălalt capăt al rezistorului la pinul de masă (GND).
  3. Conectați un capăt al mufei RJ11 la pinul digital # 2 al Arduino.
  4. Conectați celălalt capăt al mufei RJ11 la pinul + 5V al Arduino (5V).
  5. Conectați manometrul la RJ11.

Circuitul este complet. Sârmele jumper și panoul de control facilitează realizarea conexiunilor.

Pentru a finaliza proiectul, conectați Arduino la computer utilizând cablul USB și încărcați schița furnizată mai jos.

Pasul 5: Codul

Schița RainGauge.ino (încorporată la sfârșitul acestui pas) este bine comentată și așa că voi arăta doar trei secțiuni.

O parte contează numărul de sfaturi de basculare.

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

… … }

O altă parte verifică timpul și calculează cantitatea de ploaie

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

hourlyRain = dailyRain - dailyRain_till_LastHour; …… ……

iar o altă parte curăță ploaia pentru ziua respectivă, la miezul nopții.

if (now.hour () == 0) {

dailyRain = 0; …..

Pasul 6: Calibrare și testare

Deconectați Rain Collector de restul circuitului și efectuați pașii următori.

  1. Umpleți seringa cu apă. O umplu pe a mea cu 10 ml.
  2. Păstrați colectorul de ploaie pe o suprafață plană și turnați puțin câte puțin apa din seringă.
  3. Țin un număr de găleți de basculare. Patru sfaturi au fost suficiente pentru mine și au scurs 9 ml din seringă. Conform calculelor (a se vedea secțiunea teoretică) am obținut cantitatea de 0,0161 inci de ploaie pe vârf.
  4. Includ aceste informații în codul meu la început.

const double bucketAmount = 0,0161;

Asta este tot. Pentru mai multă precizie, puteți include mai multe cifre, cum ar fi 0,01610595. Desigur, numărul dvs. calculat este de așteptat să varieze dacă Rain Collector nu este identic cu al meu.

În scopuri de testare

  1. Conectați Rain Collector la mufa RJ11.
  2. Conectați Arduino la computer utilizând cablul USB.
  3. Deschideți monitorul serial.
  4. Se toarnă cantitățile de apă măsurate anterior și se observă ieșirea la finalizarea orei.
  5. Nu turnați apă, ci așteptați să se termine următoarea oră. Ploaia orară trebuie să fie zero în acest caz.
  6. Păstrați computerul cu circuitul conectat alimentat peste noapte și vedeți dacă ploaia zilnică și ploaia orară sunt resetate la zero la miezul nopții. Pentru acest pas, se poate schimba și ceasul computerului la o valoare adecvată (pentru a viziona ieșirile de pe monitorul serial în direct).

Pasul 7: Gânduri și mulțumiri

Rezoluția citirilor de precipitații în cazul meu este de 0,0161 inci și nu poate fi făcută mai precisă. Circumstanțele practice pot reduce și mai mult acuratețea. Măsurătorile meteo nu au precizia mecanicii cuantice.

O parte din cod a fost împrumutată de la Lazy Old Geek's Instructable.

Recomandat: