Cuprins:
- Pasul 1: Teorie
- Pasul 2: Părți pentru acest proiect
- Pasul 3: Colectorul de ploaie
- Pasul 4: Circuit
- Pasul 5: Codul
- Pasul 6: Calibrare și testare
- Pasul 7: Gânduri și mulțumiri
Video: Calibrarea pluviometrului Arduino: 7 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
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
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
Majoritatea părților erau situate în jur și o listă corectă (pentru formalitate) este
- Arduino Uno (sau orice alt compatibil)
- Pluviometru din vechea stație meteo deteriorată.
- Breadboard.
- RJ11 pentru a conecta Rain Gauge la panou.
- Rezistor de 10K sau mai mare pentru a acționa ca un rezistor de tragere. Am folosit 15K.
- 2 bucăți de fire jumper de la bărbat la femeie
- 2 fire jumper de la bărbat la bărbat.
- 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
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
Pentru a face circuitul
- Conectați pinul digital # 2 al Arduino la un capăt al rezistorului.
- Conectați celălalt capăt al rezistorului la pinul de masă (GND).
- Conectați un capăt al mufei RJ11 la pinul digital # 2 al Arduino.
- Conectați celălalt capăt al mufei RJ11 la pinul + 5V al Arduino (5V).
- 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.
- Umpleți seringa cu apă. O umplu pe a mea cu 10 ml.
- Păstrați colectorul de ploaie pe o suprafață plană și turnați puțin câte puțin apa din seringă.
- Ț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.
- 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
- Conectați Rain Collector la mufa RJ11.
- Conectați Arduino la computer utilizând cablul USB.
- Deschideți monitorul serial.
- Se toarnă cantitățile de apă măsurate anterior și se observă ieșirea la finalizarea orei.
- Nu turnați apă, ci așteptați să se termine următoarea oră. Ploaia orară trebuie să fie zero în acest caz.
- 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:
CALIBRAREA SENZORULUI PH ARDUINO: 7 pași
CALIBRAREA SENZORULUI PH ARDUINO: În acest tutorial, vom calibra senzorul de pH EZO al Atlas Scientific folosind Arduino Uno. TEORIA CALIBRĂRII Cea mai importantă parte a calibrării este urmărirea citirilor în timpul procesului de calibrare. Cel mai simplu este să calibrați dispozitivul în
CALIBRAREA SENZORULUI ORP ARDUINO: 3 pași
CALIBRARE ARDUINO ORP SENSOR: În acest tutorial, vom calibra senzorul EZO ORP (potențial de reducere a oxidării) al Atlas Scientific folosind Arduino Uno. Este mai ușor
CALIBRAREA SENZORULUI DE OXIGEN DIZOLVAT ARDUINO: 4 pași
CALIBRAREA SENZORULUI DE OXIGEN DIZOLVAT ARDUINO: În acest tutorial, vom calibra senzorul de oxigen dizolvat (D.O) EZO al lui Atlas Scientific folosind Arduino Uno. Este cel mai ușor de calibrat
CALIBRAREA SENZORULUI DE SALINITATE ARDUINO: 9 pași
CALIBRARE A SENZORULUI DE SALINITATE ARDUINO: În acest tutorial, vom calibra senzorul EZO de salinitate / conductivitate K1.0 al lui Atlas Scientific folosind Arduino Uno. Este cel mai ușor să
Cum se face aparatul pentru greutatea bebelușului folosind Arduino Nano, celula de încărcare HX-711 și OLED 128X64 -- Calibrarea HX-711: 5 pași
Cum se face aparatul pentru greutatea bebelușului folosind Arduino Nano, celula de încărcare HX-711 și OLED 128X64 || Calibrarea HX-711: Hello Instructables, Acum câteva zile am devenit tatăl unui bebeluș drăguț?. Când eram în spital, am constatat că greutatea bebelușului este atât de importantă pentru a monitoriza creșterea bebelușului. Deci am o idee? să-mi fac o mașină pentru greutatea bebelușului meu. în acest instructabil eu