Оглавление:
- Шаг 1. Немного теории
- Шаг 2: Детали для этого проекта
- Шаг 3: сборщик дождя
- Шаг 4: Схема
- Шаг 5: Код
- Шаг 6: Калибровка и тестирование
- Шаг 7: запоздалые мысли и благодарности
Видео: Калибровка датчика дождя Arduino: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Вступление:
В этом руководстве мы «конструируем» датчик дождя с помощью Arduino и калибруем его, чтобы сообщать о ежедневных и ежечасных осадках. Дождевик, который я использую, представляет собой измененный датчик дождя типа опрокидывающегося ведра. Это исходило от поврежденной личной метеостанции. Однако есть много отличных инструкций о том, как сделать его с нуля.
Это руководство является частью создаваемой мной метеостанции и представляет собой документацию моего учебного процесса, замаскированную под учебник:)
Характеристики дождемера:
- Ежедневное и ежечасное количество осадков измеряется в дюймах для удобной загрузки в Weather Underground.
- код устранения неполадок для магнитного переключателя не включен, чтобы упростить код.
- Готовый продукт больше похож на учебное пособие, а на прототип прототипа.
Шаг 1. Немного теории
Количество осадков измеряется в миллиметрах или дюймах, размер которых равен длине. Это указывает на то, насколько высоко в каждой части области дождя выпал дождь, если бы дождевая вода не рассеивалась и не стекала. Таким образом, выпадение осадков 1,63 мм означало бы, что если бы у меня был плоский выровненный резервуар любой формы, собранная дождевая вода была бы высотой 1,63 мм от дна резервуара.
Все дождемеры имеют площадь водосбора и измерение количества осадков. Площадь водосбора - это регион, над которым собирается дождь. Объектом измерения может быть какой-то измеритель объема жидкости.
Таким образом, количество осадков в миллиметрах или дюймах будет
высота осадков = объем собранного дождя / площадь водосбора
В моем коллекторе дождя длина и ширина составляли 11 см на 5 см соответственно, поэтому площадь водосбора составляла 55 см2. Таким образом, 9 миллилитров дождя будут означать 9 куб. См / 55 кв. См = 0,16363… см = 1,6363… мм = 0,064 дюйма.
В датчике дождя с опрокидывающимся ведром ведро опрокидывается 4 раза для 9 мл (или 0,064… дюйма дождя), поэтому один наконечник рассчитан на (9/4) мл = 2,25 мл (или 0,0161… дюйма). Если мы будем снимать почасовые показания (24 показания в день до сброса), сохранение трех значащих цифр будет достаточно приличным.
Таким образом, при каждом опрокидывании / опрокидывании ковша код обращается к нему как к 1 последовательности включения-выключения или одному щелчку. Да, мы сообщили о 0,0161 дюйма дождя. Повторюсь, с точки зрения Arduino
один щелчок = 0,0161 дюйма дождя
Примечание 1: я предпочитаю международную систему единиц, но Weather Underground предпочитает имперские / американские единицы и, следовательно, это преобразование в дюймы.
Примечание 2: Если расчеты - не ваша чашка чая, перейдите к разделу «Объем осадков», который отлично поможет в таких вопросах.
Шаг 2: Детали для этого проекта
Большинство деталей валялись, и честный список (для формальности)
- Arduino Uno (или любой другой совместимый)
- Датчик дождя от старой поврежденной метеостанции.
- Макетная плата.
- RJ11 для подключения моего датчика дождя к макетной плате.
- Резистор 10 кОм или выше в качестве подтягивающего резистора. Я использовал 15К.
- 2 перемычки между мужчинами и женщинами
- 2 перемычки «папа-папа».
- USB-кабель; От мужчины к мужчине B
Инструменты:
Шприц (использовался объем 12 мл)
Шаг 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.
Рекомендуемые:
КАЛИБРОВКА ДАТЧИКА PH ARDUINO: 7 шагов
КАЛИБРОВКА ДАТЧИКА PH ARDUINO: в этом руководстве мы будем калибровать датчик pH Atlas Scientific EZO с помощью Arduino Uno. ТЕОРИЯ КАЛИБРОВКИ Самая важная часть калибровки - это наблюдение за показаниями во время процесса калибровки. Калибровать прибор проще всего в
Калибровка датчика влажности почвы: 5 шагов
Калибровка датчика влажности почвы: на рынке имеется множество измерителей влажности почвы, которые помогут садовнику решить, когда поливать свои растения. К сожалению, взять горсть почвы и проверить ее цвет и текстуру так же надежно, как и многие из этих устройств! Некоторые зонды даже регистрируются
КАЛИБРОВКА ДАТЧИКА СОЛИЧНОСТИ ARDUINO: 9 шагов
КАЛИБРОВКА ДАТЧИКА СОЛИЧНОСТИ ARDUINO: в этом руководстве мы будем калибровать датчик солености / проводимости K1.0 Atlas Scientific EZO с помощью Arduino Uno. ТЕОРИЯ КАЛИБРОВКИ Самая важная часть калибровки - это наблюдение за показаниями во время процесса калибровки. Проще всего
Детектор дождя с использованием Arduino и датчика дождя: 8 шагов
Детектор дождя с использованием Arduino и датчика дождя: в этом уроке мы узнаем, как обнаруживать дождь с помощью датчика дождя и издавать звук с помощью модуля зуммера, OLED-дисплея и Visuino. Посмотрите видео
Калибровка датчика влажности: 7 шагов
Калибровка датчика влажности: у меня есть 3 датчика, которые могут измерять относительную влажность воздуха: BME280, SHT21, DHT22. Они заявили о возможности измерения с точностью +/- 3% в диапазоне от 20 до 80%. Однако при тестировании в одинаковых условиях для 3 датчиков я получил 3 разных результата. Может быть