Spisu treści:

Kalibracja miernika deszczu Arduino: 7 kroków
Kalibracja miernika deszczu Arduino: 7 kroków

Wideo: Kalibracja miernika deszczu Arduino: 7 kroków

Wideo: Kalibracja miernika deszczu Arduino: 7 kroków
Wideo: kurs Arduino programowanie - Klasy - #7 2024, Listopad
Anonim
Kalibracja deszczomierza Arduino
Kalibracja deszczomierza Arduino

Wstęp:

W tym Instructable „konstruujemy” miernik deszczu za pomocą Arduino i kalibrujemy go, aby zgłaszać dzienne i godzinowe opady deszczu. Zbieracz deszczu, którego używam, to przerobiony deszczomierz typu łyżka przechylna. Pochodził z uszkodzonej osobistej stacji meteorologicznej. Istnieje jednak wiele świetnych instrukcji, jak zrobić je od zera.

Ta instrukcja jest częścią tworzonej przeze mnie stacji pogodowej i jest dokumentacją mojego procesu uczenia się zamaskowaną jako samouczek:)

Charakterystyka miernika deszczu:

  • pomiary dziennej i godzinowej opadów są podane w calach, co ułatwia przesyłanie do Weather Underground.
  • Kod odbicia dla przełącznika magnetycznego nie jest dołączony, aby kod był prosty.
  • będąc bardziej samouczkiem, gotowy produkt jest bardziej prototypem prototypu.

Krok 1: Trochę teorii

Trochę teorii
Trochę teorii

Opady deszczu są podawane/mierzone w milimetrach lub calach, które mają wymiar długości. Wskazuje, jak wysoko, każda część obszaru deszczowego dostała deszcz, gdyby woda deszczowa nie rozproszyła się i nie odpłynęła. Tak więc opad 1,63 mm oznaczałby, że gdybym miał płaski wypoziomowany zbiornik o dowolnym kształcie, zbierana woda deszczowa miałaby wysokość 1,63 mm od dna zbiornika.

Wszystkie deszczomierze posiadają obszar zlewni i pomiar ilości opadów. Obszar zlewni to region, nad którym zbiera się deszcz. Mierzony obiekt byłby jakimś rodzajem pomiaru objętości cieczy.

Więc opady w mm lub calach byłyby

wysokość opadów = ilość zebranego deszczu / powierzchnia zlewni

W moim kolektorze deszczowym długość i szerokość wynosiły odpowiednio 11 cm na 5 cm, co daje powierzchnię zlewni 55 cm2. Tak więc zbiór 9 mililitrów deszczu oznaczałby 9 cm3/55 cm2 = 0,16363… cm = 1,6363… mm = 0,064 cala.

W deszczomierzu wiadra przechylającego wiadro przechyla się 4 razy na 9 ml (lub 0,064… cala deszczu), a więc pojedyncza końcówka odpowiada (9/4) ml = 2,25 ml (lub 0,0161… cala). Jeśli wykonujemy odczyty godzinowe (24 odczyty dziennie przed resetami), zachowanie dokładności trzech cyfr znaczących jest wystarczająco przyzwoite.

W ten sposób przy każdej końcówce/opadu łyżki kod uzyskuje dostęp jako 1 sekwencję włącz-wyłącz-włącz lub jedno kliknięcie. Tak, zgłosiliśmy 0,0161 cala deszczu. Powtarzam, z punktu widzenia Arduino

jedno kliknięcie = 0,0161 cala deszczu

Uwaga 1: Wolę międzynarodowy system jednostek, ale Weather Underground preferuje jednostki imperialne/amerykańskie, a więc tę konwersję na cale.

Uwaga 2: Jeśli obliczenia nie są twoją filiżanką herbaty, przejdź do Objętości opadów deszczu, która zapewnia doskonałą pomoc w takich sprawach.

Krok 2: Części do tego projektu

Części do tego projektu
Części do tego projektu
Części do tego projektu
Części do tego projektu
Części do tego projektu
Części do tego projektu

Większość części leżała w pobliżu, a uczciwy wykaz (dla formalności) jest?

  1. Arduino Uno (lub dowolny inny kompatybilny)
  2. Deszczomierz ze starej uszkodzonej stacji pogodowej.
  3. Deska do krojenia chleba.
  4. RJ11 do podłączenia miernika deszczu do płytki stykowej.
  5. Rezystor 10K lub wyższy działający jako rezystor podciągający. Użyłem 15K.
  6. 2 sztuki przewodów połączeniowych męski-żeński
  7. 2 przewody połączeniowe męsko-męskie.
  8. Kabel USB; A męski na B męski

Narzędzia:

Użyto strzykawki (pojemność 12 ml)

Krok 3: Zbieracz deszczu

Kolekcjoner deszczu
Kolekcjoner deszczu
Kolekcjoner deszczu
Kolekcjoner deszczu

Zdjęcia mojego kolekcjonera deszczu powinny wielu wyjaśnić. W każdym razie deszcz, który pada na jego zlewnię, jest kierowany do jednego z dwóch znajdujących się w nim wiader. Dwa wiadra są połączone jak huśtawka, a gdy ciężar wody deszczowej (dla mojego deszczu 0,0161 cala) przechyla się o jedno wiadro, opróżnia się, a drugie wiadra podnosi się i ustawia się, aby zebrać następną wodę deszczową. Ruch przechylania przesuwa magnes nad „przełącznikiem magnetycznym”, a obwód zostaje połączony elektrycznie.

Krok 4: Obwód

Okrążenie
Okrążenie

Aby zrobić obwód

  1. Podłącz cyfrowy pin #2 Arduino do jednego końca rezystora.
  2. Podłącz drugi koniec rezystora do styku uziemienia (GND).
  3. Podłącz jeden koniec gniazda RJ11 do cyfrowego styku nr 2 Arduino.
  4. Podłącz drugi koniec gniazda RJ11 do pinu +5V Arduino (5V).
  5. Podłącz miernik deszczu do RJ11.

Obwód jest kompletny. Przewody połączeniowe i płytka stykowa ułatwiają wykonanie połączeń.

Aby zakończyć projekt, podłącz Arduino do komputera za pomocą kabla USB i wczytaj poniższy szkic.

Krok 5: Kodeks

Szkic RainGauge.ino (zamieszczony na końcu tego kroku) jest dobrze skomentowany, dlatego wskażę tylko trzy sekcje.

Jedna część liczy końcówki wiadra przechylającego.

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

… … }

Kolejna część sprawdza czas i oblicza ilość deszczu

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

hourlyRain = dailyRain - dailyRain_till_LastHour; …… ……

a inna część oczyszcza deszcz na dzień, o północy.

if(teraz.godzina() == 0){

dzienny deszcz = 0; …..

Krok 6: Kalibracja i testowanie

Odłącz kolektor deszczu od reszty obwodu i wykonaj następujące czynności.

  1. Napełnij strzykawkę wodą. Ja napełniam 10 ml.
  2. Ustaw kolektor deszczu na równej powierzchni i stopniowo wylewaj wodę ze strzykawki.
  3. Liczę wywrotki wiader. Wystarczały mi cztery końcówki, a ze strzykawki spłynęło 9 ml. Zgodnie z obliczeniami (patrz sekcja teoretyczna) uzyskałem ilość 0,0161 cala deszczu na końcówkę.
  4. Na początku umieszczam te informacje w swoim kodzie.

const double bucketAmount = 0,0161;

To wszystko. Aby uzyskać większą dokładność, można dodać więcej cyfr, takich jak 0,01610595. Oczywiście oczekuje się, że Twoje obliczone liczby będą się różnić, jeśli Twój kolektor deszczu nie jest identyczny z moim.

Do celów testowych

  1. Podłącz kolektor deszczu do gniazda RJ11.
  2. Podłącz Arduino do komputera za pomocą kabla USB.
  3. Otwórz monitor szeregowy.
  4. Wlej wcześniej odmierzoną ilość wody i obserwuj wydajność po upływie godziny.
  5. Nie nalewaj wody, ale poczekaj na następną godzinę. W tym przypadku godzinowy deszcz musi wynosić zero.
  6. Utrzymuj komputer z podłączonym obwodem zasilanym przez noc i sprawdź, czy dzienny deszcz i cogodzinny deszcz zostaną zresetowane do zera o północy. W tym kroku można również zmienić zegar komputera na odpowiednią wartość (aby oglądać na żywo wyjścia na monitorze szeregowym).

Krok 7: Refleksje i podziękowania

Rozdzielczość odczytów opadów w moim przypadku wynosi 0,0161 cala i nie może być dokładniejsza. Praktyczne okoliczności mogą jeszcze bardziej zmniejszyć dokładność. Pomiary pogody nie mają dokładności mechaniki kwantowej.

Część kodu została zapożyczona z Instructable firmy Lazy Old Geek.

Zalecana: