Съдържание:
- Стъпка 1: Някои теории
- Стъпка 2: Части за този проект
- Стъпка 3: Събирачът на дъжд
- Стъпка 4: Схема
- Стъпка 5: Кодът
- Стъпка 6: Калибриране и тестване
- Стъпка 7: Замисли и признания
Видео: Калибриране на дъждомера на Arduino: 7 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Въведение:
В тази инструкция „конструираме“дъгомер с Arduino и го калибрираме, за да отчитаме дневни и почасови валежи. Колекторът за дъжд, който използвам, е преназначен дъждомер от типа на ковшовата кофа. Идва от повредена лична метеорологична станция. Има обаче много страхотни инструкции как да направите такъв от нулата.
Този Instructable е част от метеорологична станция, която правя и е документация на моя процес на обучение, прикрит като урок:)
Характеристики на дъждомера:
- измерванията на дневните и почасовите валежи са в инчове за лесно качване в Weather Underground.
- кодът за отстраняване на магнитния превключвател не е включен, за да поддържа кода прост.
- като по -скоро урок, крайният продукт е по -скоро прототип на прототип.
Стъпка 1: Някои теории
Валежите се отчитат/измерват в милиметри или инчове, които имат размера на дължината. Показателно е колко високо, всяка част от дъждовната област е валяла, ако дъждовната вода не се е разсеяла и не се е оттичала. И така, 1,63 мм валежи би означавало, че ако имах плосък изравнен резервоар с каквато и да е форма, събраната дъждовна вода би била на височина 1,63 мм от дъното на резервоарите.
Всички дъгомери имат зона за улавяне на валежите и измерване на количеството на валежите. Водосборният район е районът, върху който се събира дъждът. Измервателният обект би бил някакъв вид измерване на обема за течност.
Така валежите в мм или инчове биха били
височина на валежите = обем на събраните дъждове / водосборна площ
В моя колектор за дъжд дължината и ширината бяха съответно 11 см на 5 см, което даваше водосборна площ от 55 кв.см. Така че събирането на 9 милилитра дъжд би означавало 9 cc/55 кв.см = 0,16363 … см = 1,6363 … мм = 0,064 инча.
В дъждомера с преобръщаща кофа, кофата се връхва 4 пъти за 9 ml (или 0,064… инча дъжд) и така единичният връх е за (9/4) ml = 2,25 ml (или 0,0161.. инча). Ако вземем почасови показания (24 показания на ден преди нулиране), поддържането на три значими цифри е достатъчно прилично.
По този начин при всеки връх/кофа на кофата кодът има достъп до него като 1 последователност включване-изключване или едно щракване. Да, съобщихме за 0,0161 инча дъжд. Да повторя, от гледна точка на Arduino
едно щракване = 0,0161 инча дъжд
Забележка 1: Предпочитам Международната система от единици, но Weather Underground предпочита имперските/американските единици и затова това преобразуване в инчове.
Забележка 2: Ако изчисленията не са вашата чаша чай, преминете към Volume of Rainfall, който осигурява перфектна помощ за такива въпроси.
Стъпка 2: Части за този проект
Повечето от частите лежаха наоколо и честен списък (за формалност) е такъв
- Arduino Uno (или всяка друга съвместима)
- Rain Gauge от стара повредена метеорологична станция.
- Платка.
- RJ11 за свързване на Rain Gauge към дъската.
- 10K или по -висок резистор, който да действа като издърпващ резистор. Използвал съм 15K.
- 2 броя джъмперни проводници от мъжки към женски
- 2 джъмпер проводник от мъжки към мъжки.
- USB кабел; Мъж до В мъж
Инструменти:
Спринцовка (използван е капацитет от 12 ml)
Стъпка 3: Събирачът на дъжд
Снимките на моя колекционер на дъжд трябва да изяснят нещата на мнозина. Както и да е, дъждът, който пада върху водосбора му, се насочва към една от двете кофи за преобръщане вътре в него. Двете кофи за преобръщане са свързани като трион и като теглото на дъждовната вода (0,0161 инча дъжд за моята) се накланя една кофа надолу, тя се изпразва, а другите кофи се издигат нагоре и се позиционират, за да събират следващата дъждовна вода. Преместващото движение премества магнит върху „магнитен превключвател“и веригата се свързва електрически.
Стъпка 4: Схема
За да направите веригата
- Свържете цифров щифт #2 на Arduino към единия край на резистора.
- Свържете другия край на резистора към заземяващия щифт (GND).
- Свържете единия край на жака RJ11 към цифровия щифт #2 на Arduino.
- Свържете другия край на жака RJ11 към +5V щифта на Arduino (5V).
- Включете манометъра към RJ11.
Веригата е завършена. Джъмперните проводници и платката улесняват осъществяването на връзките.
За да завършите проекта, свържете Arduino към компютъра с помощта на USB кабел и заредете скицата, предоставена по -долу.
Стъпка 5: Кодът
Скицата RainGauge.ino (вградена в края на тази стъпка) е добре коментирана и затова ще посоча само три раздела.
Едната част отчита броя на върховете на кофата за преобръщане.
if (bucketPositionA == false && digitalRead (RainPin) == HIGH) {
… … }
Друга част проверява времето и изчислява количеството на дъжда
if (now.minute () == 0 && first == true) {
hourlyRain = dailyRain - dailyRain_till_LastHour; …………
и друга част изчиства дъжда за деня, в полунощ.
if (now.hour () == 0) {
dailyRain = 0; …..
Стъпка 6: Калибриране и тестване
Изключете дъждосборника от останалата част на веригата и изпълнете следните стъпки.
- Напълнете спринцовката с вода. Моята пълня с 10 мл.
- Дръжте колектора за дъжд на равна повърхност и излейте водата от спринцовката малко по малко.
- Аз преброявам кофите за преобръщане. Четири накрайника ми бяха достатъчни и източих 9 мл от спринцовката. Според изчисленията (вижте раздела за теория) получих сумата от 0,0161 инча дъжд на връх.
- Включвам тази информация в кода си в началото.
const double bucketAmount = 0.0161;
Това е всичко. За по -голяма точност можете да включите повече цифри като 0.01610595. Разбира се, вашите изчислени числа се очаква да варират, ако вашият колектор за дъжд не е идентичен с моя.
За целите на тестването
- Свържете Rain Collector към гнездото RJ11.
- Свържете Arduino към компютъра с помощта на USB кабел.
- Отворете серийния монитор.
- Изсипете предварително измерени количества вода и наблюдавайте изхода, когато часът приключи.
- Не наливайте вода, но изчакайте следващия час да приключи. В този случай почасовият дъжд трябва да е нула.
- Дръжте компютъра със свързаната верига захранван през нощта и вижте дали дневният дъжд и часовият дъжд се нулират в полунощ. За тази стъпка можете също да промените часовника на компютъра на подходяща стойност (за да гледате изходите на серийния монитор на живо).
Стъпка 7: Замисли и признания
Разделителната способност на показанията на валежите в моя случай е 0,0161 инча и не може да бъде направена по -точна. Практическите обстоятелства могат допълнително да намалят точността. Измерванията на времето нямат точността на квантовата механика.
Част от кода е заимстван от Instructable на Lazy Old Geek.
Препоръчано:
КАЛИБРИРАНЕ НА СЕНЗОРА НА ARDUINO: 7 стъпки
ARDUINO PH SENSOR CALIBRATION: В този урок ще калибрираме сензора за pH EZO на Atlas Scientific, използвайки Arduino Uno.ТЕОРИЯ НА КАЛИБРОВКА Най -важната част от калибрирането е наблюдението на показанията по време на процеса на калибриране. Най -лесно е да калибрирате устройството в
КАЛИБРИРАНЕ НА СЕНЗОРА НА ARDUINO ORP: 3 стъпки
ARDUINO ORP SENSOR CALIBRATION: В този урок ще калибрираме EZO ORP (потенциал за намаляване на окисляването) на Atlas Scientific, използвайки Arduino Uno.ТЕОРИЯ НА КАЛИБРОВКА Най-важната част от калибрирането е наблюдението на показанията по време на процеса на калибриране. Лесно е
Калибриране на сензора за кислород на ARDUINO: 4 стъпки
КАЛИБРИРАНЕ НА СЕНЗОР НА КИСЛОРОД НА ARDUINO: В този урок ще калибрираме EZO сензора за разтворен кислород (D.O) на Atlas Scientific, използвайки Arduino Uno.ТЕОРИЯ НА КАЛИБРОВКА Най -важната част от калибрирането е наблюдението на показанията по време на процеса на калибриране. Най -лесно е да се калибрира
КАЛИБРИРАНЕ НА СЕНЗОРА НА СЕНЗОРА НА ARDUINO: 9 стъпки
КАЛИБРИРАНЕ НА СЕНЗОРА НА СЕНЗОРА НА ARDUINO: В този урок ще калибрираме EZO сензора за соленост/проводимост K1.0 на Atlas Scientific, използвайки Arduino Uno.ТЕОРИЯ НА КАЛИБРОВКА Най -важната част от калибрирането е наблюдението на показанията по време на процеса на калибриране. Най -лесно е да
Как да си направим машина за бебешки тежести, използвайки Arduino Nano, HX-711 Load Cell и OLED 128X64 -- Калибриране на HX-711: 5 стъпки
Как да си направим машина за бебешки тежести, използвайки Arduino Nano, HX-711 Load Cell и OLED 128X64 || Калибриране на HX-711: Здравейте Instructables, Преди няколко дни станах баща на сладко бебе?. Когато бях в болница, установих, че теглото на бебето е толкова важно, за да се следи растежа на бебето. Значи имам идея? да си направя машина за бебешки тежести. в тази инструкция аз