Turinys:

„Arduino“lietaus matuoklio kalibravimas: 7 žingsniai
„Arduino“lietaus matuoklio kalibravimas: 7 žingsniai

Video: „Arduino“lietaus matuoklio kalibravimas: 7 žingsniai

Video: „Arduino“lietaus matuoklio kalibravimas: 7 žingsniai
Video: Please subscribe 🙏🥺 || Arduino Rain detection alarm 2024, Gruodis
Anonim
„Arduino“lietaus matuoklio kalibravimas
„Arduino“lietaus matuoklio kalibravimas

Įvadas:

Šiame „Instructable“mes „sukonstruosime“lietaus matuoklį su „Arduino“ir sukalibruosime, kad praneštų apie dienos ir valandos kritulius. Naudojamas lietaus surinkėjas yra iš naujo suprojektuotas lietaus matuoklis, skirtas kaušeliams. Jis atkeliavo iš sugadintos asmeninės orų stoties. Tačiau yra daug puikių instrukcijų, kaip tai padaryti nuo nulio.

Šis „Instructable“yra mano sukurtos orų stoties dalis ir yra mano mokymosi proceso dokumentas, užmaskuotas kaip pamoka:)

Lietaus matuoklio charakteristikos:

  • dienos ir valandos kritulių kiekis matuojamas coliais, kad būtų lengva įkelti į „Weather Underground“.
  • magnetinio jungiklio atjungimo kodas neįtrauktas, kad kodas būtų paprastas.
  • daugiau pamoka, o gatavas produktas yra daugiau prototipo prototipas.

1 žingsnis: tam tikra teorija

Kažkokia teorija
Kažkokia teorija

Apie kritulius pranešama/matuojama milimetrais arba coliais, kurių ilgis yra matmuo. Tai rodo, kaip aukštai, kiekvienoje lietaus zonoje buvo lietus, jei lietaus vanduo nebuvo išsisklaidęs ir nutekėjęs. Taigi, 1,63 mm kritulių kiekis reikštų, kad jei turėčiau plokščią, bet kokios formos rezervuarą, surinktas lietaus vanduo būtų 1,63 mm aukščio nuo rezervuaro dugno.

Visi lietaus matuokliai turi kritulių surinkimo zoną ir kritulių kiekio matavimą. Valgomojo zona yra regionas, kuriame renkamas lietus. Matavimo objektas būtų tam tikras skysčio tūrio matavimas.

Taigi kritulių kiekis milimetrais ar coliais būtų

kritulių kiekis = surinkto lietaus tūris / baseinas

Mano lietaus kolektoriuje ilgis ir plotis buvo atitinkamai 11 cm ir 5 cm, o tai pasiekė 55 kv. Cm plotą. Taigi 9 mililitrų lietaus surinkimas reikštų 9 cm3/55 kv. Cm = 0,16363… cm = 1,6363… mm = 0,064 colio.

Kritimo lietaus matuoklyje kaušas 4 kartus apsiverčia 9 ml (arba 0,064… colio lietaus), taigi vienas antgalis skirtas (9/4) ml = 2,25 ml (arba 0,0161.. colio). Jei imame valandinius rodmenis (24 rodmenys per dieną prieš iš naujo nustatant), išlaikyti trijų reikšmingų skaitmenų tikslumą yra pakankamai padoru.

Taigi prie kiekvieno kaušo patarimo/būgno kodas jį pasiekia kaip 1 įjungimo-išjungimo seką arba vieną paspaudimą. Taip, pranešėme apie 0,0161 colio lietaus. Pakartosiu, Arduino požiūriu

vienas paspaudimas = 0,0161 colio lietaus

1 pastaba. Man labiau patinka tarptautinė vienetų sistema, tačiau „Weather Underground“teikia pirmenybę imperiniams/JAV vienetams, todėl šis konvertavimas į colius.

2 pastaba: jei skaičiavimai nėra jūsų arbatos puodelis, pereikite prie kritulių kiekio, kuris puikiai padeda tokiais klausimais.

2 žingsnis: šio projekto dalys

Šio projekto dalys
Šio projekto dalys
Šio projekto dalys
Šio projekto dalys
Šio projekto dalys
Šio projekto dalys

Dauguma dalių gulėjo ir yra teisingas sąrašas (formalumui)

  1. „Arduino Uno“(arba bet kuris kitas suderinamas)
  2. Lietaus matuoklis iš senos sugadintos orų stoties.
  3. Bandomoji Lenta.
  4. RJ11, kad prijungtumėte „Rain Gauge“prie duonos lentos.
  5. 10K ar didesnis rezistorius, kuris veikia kaip traukiamasis rezistorius. Naudojau 15K.
  6. 2 vienetų jungiamųjų laidų iš vyrų ir moterų
  7. 2 jungiamasis laidas nuo vyrų iki vyrų.
  8. USB kabelis; Nuo patino iki B vyro

Įrankiai:

Švirkštas (buvo naudojamas 12 ml talpos)

3 žingsnis: lietaus surinkėjas

Lietaus surinkėjas
Lietaus surinkėjas
Lietaus surinkėjas
Lietaus surinkėjas

Mano lietaus surinkėjo nuotraukos daugeliui turėtų paaiškinti. Bet kokiu atveju, lietus, kuris patenka į jo baseiną, nukreipiamas į vieną iš dviejų jo viduje esančių arbatinių kibirų. Du kaušeliai yra sujungti kaip pjūklas, o lietaus vandens svoris (0,0161 colio lietaus mano atveju) išverčia vieną kibirą žemyn, jis ištuštinamas, o kiti kaušai pakyla aukštyn ir stovi surinkti kito lietaus vandens. Atverčiamas judesys perkelia magnetą per „magnetinį jungiklį“ir grandinė prijungiama elektra.

4 žingsnis: grandinė

Grandinė
Grandinė

Norėdami sukurti grandinę

  1. Prijunkite „Arduino“skaitmeninį kaištį Nr. 2 prie vieno rezistoriaus galo.
  2. Kitą rezistoriaus galą prijunkite prie įžeminimo kaiščio (GND).
  3. Prijunkite vieną RJ11 lizdo galą prie „Arduino“skaitmeninio kaiščio Nr.
  4. Kitą RJ11 lizdo galą prijunkite prie „Arduino“(5V) kištuko +5V.
  5. Prijunkite lietaus matuoklį prie RJ11.

Grandinė baigta. Sujungimo laidai ir duonos plokštė palengvina jungčių sujungimą.

Norėdami užbaigti projektą, prijunkite „Arduino“prie kompiuterio naudodami USB kabelį ir įkelkite žemiau pateiktą eskizą.

5 žingsnis: Kodas

Eskizas RainGauge.ino (įterptas šio žingsnio pabaigoje) yra gerai pakomentuotas, todėl nurodysiu tik tris skyrius.

Viena dalis skaičiuoja arbatinio kaušo antgalių skaičių.

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

… … }

Kita dalis tikrina laiką ir apskaičiuoja lietaus kiekį

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

hourlyRain = dailyRain - dailyRain_till_LastHour; …… ……

o kita dalis - lietaus dieną, vidurnaktį.

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

dieninis lietus = 0; …..

6 žingsnis: kalibravimas ir bandymas

Atjunkite „Rain Collector“nuo likusios grandinės ir atlikite šiuos veiksmus.

  1. Užpildykite švirkštą vandeniu. Aš užpildau savo 10 ml.
  2. Laikykite lietaus surinkėją ant lygaus paviršiaus ir po truputį išpilkite vandenį iš švirkšto.
  3. Aš skaičiuoju arbatpinigių kibirus. Man pakako keturių patarimų ir iš švirkšto nusausinau 9 ml. Remiantis skaičiavimais (žr. Teorijos skyrių), gavau 0,0161 colio lietaus vienam patarimui.
  4. Šią informaciją į savo kodą įtraukiu pradžioje.

const dvigubas kaušasAmount = 0,0161;

Tai viskas. Siekiant didesnio tikslumo, galima įtraukti daugiau skaitmenų, tokių kaip 0,01610595. Žinoma, jūsų apskaičiuoti skaičiai gali skirtis, jei jūsų lietaus surinkėjas nėra identiškas mano.

Bandymų tikslais

  1. Prijunkite lietaus surinkėją prie RJ11 lizdo.
  2. Prijunkite „Arduino“prie kompiuterio naudodami USB kabelį.
  3. Atidarykite serijinį monitorių.
  4. Supilkite anksčiau išmatuotus vandens kiekius ir stebėkite išėjimą, kai baigiasi valanda.
  5. Nepilkite vandens, bet palaukite, kol baigsis kita valanda. Šiuo atveju valandinis lietus turi būti lygus nuliui.
  6. Laikykite kompiuterį prijungtą grandinę įjungtą per naktį ir pažiūrėkite, ar kasdienis lietus ir valandinis lietus vidurnaktį atstatomi iki nulio. Šiam žingsniui taip pat galima pakeisti kompiuterio laikrodį į tinkamą vertę (tiesiogiai stebėti serijinio monitoriaus išėjimus).

7 žingsnis: paskui mintys ir padėkos

Kritulių rodmenų skiriamoji geba mano atveju yra 0,0161 colio ir negali būti tikslesnė. Praktinės aplinkybės gali dar labiau sumažinti tikslumą. Oro matavimai neturi kvantinės mechanikos tikslumo.

Dalis kodo buvo pasiskolinta iš „Lazy Old Geek“programos „Instructable“.

Rekomenduojamas: