Датчик уровня для ардуино своими руками

Содержание
  1. Ёмкостный датчик уровня жидкости: подключение, примеры работы
  2. Примеры работы
  3. Пример для Arduino
  4. Схема устройства
  5. Код программы
  6. Пример для Iskra JS
  7. Схема устройства
  8. Код программы
  9. Пример для Raspberry Pi
  10. Схема устройства
  11. Код программы
  12. Элементы платы
  13. Световой индикатор
  14. Регулировка чувствительности
  15. Разъём подключения
  16. Как сделать индикатор уровня воды с помощью Arduino
  17. Когда может пригодиться?
  18. Как работает индикатор уровня воды Arduino?
  19. Комплектующие
  20. Схема соединений
  21. Скетч для Ардуино
  22. Ультразвуковой датчик и водный резервуар
  23. Автоматический контроллер уровня воды без ультразвукового датчика
  24. Шаг 1: Требуемые комплектующие
  25. Шаг 2: Настраиваем соединения
  26. Шаг 3: Программируем наш Arduino
  27. Шаг 4: Установка датчиков
  28. Шаг 5: Промежуточный итог
  29. Шаг 6: Дополнение
  30. Датчик уровня воды в резервуаре своими руками: схема, компоненты, тесты, программирование на Arduino
  31. Шаг 1: Компоненты, тесты, программирование
  32. Шаг 2: Общественные работы
  33. Шаг 3: Соединяем и устанавливаем все компоненты
  34. Шаг 4: Калибровка

Ёмкостный датчик уровня жидкости: подключение, примеры работы

Бесконтактный сенсор уровня жидкости зафиксирует водные растворы сквозь преграды и стены.

Датчик не будет работать с металлическими препятствиями.

Примеры работы

Для теста сенсора воспользуйтесь стаканом или кружкой. Наполните ёмкость наполовину водой и перемещайте сенсор в области ватерлинии. Для питания и обработки результатов понадобится контроллер.

Пример для Arduino

Подключите датчик уровня воды к Arduino Uno через Troyka Shield к 4 цифровому пину.

Схема устройства

Код программы

После прошивки платы, откройте монитор Serial порта. Если уровень жидкости будет выше сенсора — вы увидите бегущие единицы, а как уровень воды снизится ниже датчика — единицы сменятся на нули.

Пример для Iskra JS

Скоммутируем датчик к Iskra JS через Troyka Shield к 4 цифровому пину.

Схема устройства

Код программы

Зафиксируем изменение уровня жидкости с помощью Espruino и языка JavaScript.

В результате вы увидите сообщение в консоле, при изменении уровня воды вблизи видимости датчика.

Пример для Raspberry Pi

Произведите мониторинг уровня воды микрокомпьютером Raspberry Pi. Подключите сенсор движения к 4 пину малины. Чтобы обойтись без макеток и проводов, используйте плату расширения Troyka HAT.

Схема устройства

Код программы

После запуска скрипта вы увидите текущие показатели сенсора. Пока уровень воды находится выше датчика — в консоле выводятся единицы, при опускании уровня ниже сенсора — нули.

Элементы платы

Световой индикатор

Информационный светодиод о детектировании жидкости: при наличии воды в зоне поиска сенсора — светодиод горит, при отсутствии — не горит. Светодиод дублирует выходной сигнал сенсора.

Регулировка чувствительности

Откройте заднюю крышку сенсора.

Под защитным колпачком находится многооборотный потенциометр регулировки чувствительности сенсора. При вращении винта по часовой стрелке чувствительность датчика уменьшается, а против часовой — увеличивается.

Для регулировки используйте маленькую плоскую отвёртку, которую можно найти в «Наборе отвёрток».

Разъём подключения

Сенсор подключается к управляющей плате через встроенный кабель. На конце провода расположен разъём в формфакторе Troyka-контактов:

Источник

Как сделать индикатор уровня воды с помощью Arduino

Используем плату Ардуино и ультразвуковой модуль для создания своими руками проекта по определению уровня воды в баке.

Когда может пригодиться?

Представим ситуацию, когда у вас на дачном участке есть душ, основу которого составляет бак с водой, который наполняется либо через насос либо дождевой водой.

Часто узнать количество воды в резервуаре может быть утомительной задачей. Обычно вы поднимаетесь по лестнице и проверяете уровень вручную или вы услышите что вода переполняется сверху.

В наши дни появилось много разных электронных индикаторов уровня воды, но они часто имеют высокую цену и обычно сложны в установке. Большинство доступных систем используют электроды или поплавковые переключатели, которые могут быть головной болью в долгосрочной перспективе.

Читайте также:  Выкройка для французского бульдога своими руками выкройки

Мы решим эту задачу с совершенно другим подходом к знанию уровня воды — с использованием ультразвукового модуля и Ардуино. Преимущество этого метода заключается в том, что он бесконтактный, поэтому такие проблемы, как коррозия электродов, не будут влиять на эту систему. Кроме того, этот индикатор уровня воды Arduino намного проще устанавливать, чем обычные системы.

Как работает индикатор уровня воды Arduino?

Этот индикатор уровня воды Ардуино использует ультразвуковой датчик или, по-другому, Ping датчик для определения уровня воды в баке. Датчик Ping измеряет расстояние, используя гидролокатор.

Из аппарата передается ультразвуковой импульс (значительно выше человеческого слуха), а расстояние до цели определяется путем измерения времени, необходимого для возврата эха. На выходе Ping датчика импульс переменной ширины, который соответствует расстоянию до цели. Затем он подается в микроконтроллер, который определяет уровень воды и отображает его через ряд светодиодов.

Этот проект может быть реализован на одной из плат Arduino, если микроконтроллером платы является непосредственно микроконтроллер ATmega 328.

Комплектующие

По традиции переходим к комплектующим, набор деталей довольно большой:

1 Микроконтроллер ATMega328P или плата Arduino
1 HC-SR04 ультразвуковой модуль (также известный как датчик PING)
1 10K резистор
1 Кристалл 16 МГц
2 22pf дисковые конденсаторы
Провода-перемычки
1 Регулятор LM7805 5V
1 9В батарея и разъем
1 Электролитический конденсатор 10uF
1 Макетная плата (или печатная плата)
1 Инструмент для зачистки проводов

Схема соединений

Все детали нужно собрать соответственно диаграмме выше. Сразу заметим, что в данной схеме на макетную плату размещается микроконтроллер ATmega328. Если вы используете плату Arduino, вы можете просто установить соединения для светодиодов и ультразвукового датчика.

Скетч для Ардуино

Скопируйте прилагаемый ниже скетч в Arduino IDE и найдите строку «int d = 18;» и измените «18» на глубину вашего резервуара в сантиметрах.

Загрузите код для индикатора уровня воды Arduino непосредственно на плату Arduino или в микроконтроллер ATMega328P.

Ультразвуковой датчик и водный резервуар

Закрепите датчик так, чтобы он непосредственно смотрел на воду в баке. Основная плата управления со светодиодами может быть закреплена внутри дома в любом удобном положении. Любые многожильные кабели (Ethernet-кабель) могут использоваться для соединения датчика и остальной части схемы.

Теперь просто подключите аккумулятор (питание) и ваш индикатор уровня воды Ардуино готов к использованию.

Источник

Автоматический контроллер уровня воды без ультразвукового датчика

В этом уроке мы покажем вам как сделать автоматический датчик уровня воды с Arduino Uno, который при этом будет стоить довольно дешево.

Контроллер обнаружит уровень воды и как только он достигнет низкого уровня, он включит моторный насос. Когда вода достигнет более высокого уровня, насос двигателя остановится.

Шаг 1: Требуемые комплектующие

Нам потребуется несколько комплектующих.

  • Плата Arduino (в нашем случае UNO)
  • Светодиодный индикатор
  • Реле (если требуется)
  • Провода перемычки
  • Стеклянный сосуд

Шаг 2: Настраиваем соединения

Вам нужно будет подключить провода перемычки к плате. В нашем уроке белый провод подключается к выводу 4 на Ардуино, зеленый провод к выводу 3 и коричневый провод к Vin.

Подключите светодиод к Arduino, в нашем случае он подключен к контакту 13 Ардуино. Следующий шаг — подключите USB-кабель для загрузки программы.

Шаг 3: Программируем наш Arduino

Мы использовали самый простой код:

Шаг 4: Установка датчиков

Загрузите программу в Arduino. Коричневый провод передает напряжение 5В. Он всегда должен быть в наименьшей позиции.

Читайте также:  Домовята своими руками описание

Теперь зеленый провод должен находиться на участке низкого уровня, а белый провод должен находиться в положении высокого уровня.

В качестве датчиков действуют зеленый провод и клемма белого провода в кружке. Поэтому он должен работать в соответствии с нашим кодом.

Шаг 5: Промежуточный итог

Включите Arduino с питанием 5 В. После установки проводных клемм в кружке. Влейте в него немного воды. Светодиод будет светиться до тех пор, пока вода не достигнет более высокой клеммы провода, когда вода достигнет более высокого уровня, который он отключит.

Светодиод снова включается, когда вода удаляется из кружки, только если вода достигает зеленого провода. На видео более понятно как это работает.

Шаг 6: Дополнение

Если вы хотите интегрироваться с водяным насосом — вы должны добавить Электрическое реле. Для правильного подключения смотрите схему:

Источник

Датчик уровня воды в резервуаре своими руками: схема, компоненты, тесты, программирование на Arduino

Нужно измерить уровень жидкости в больших резервуарах — колодце, баке или открытом контейнере? Это руководство поможет вам собрать, с использованием дешевой электроники, сонарный датчик уровня воды в резервуаре.

Приложенный набросок отображает общий вид того, как будет выглядеть проект. Недалеко от нашего летнего домика находится большой колодец, из которого мы берём воду для питья и домашних нужд. Однажды мы с братом говорили о том, как наш дед в течение всего лета вручную измеряет уровень воды, чтобы отслеживать потребление и её приток, чтобы избежать переполнения колодца.

Мы подумали, что с использованием современной электроники можно изменить эту традицию и сделать её более автоматизированной. При помощи нескольких программистских уловок, мы смогли использовать Ардуино и ультразвуковой модуль для измерения расстояния до водной поверхности (I) с достаточной надежностью и точностью до +/- нескольких миллиметров. Это значит, что мы смогли рассчитать объем (V), используя диаметр колодца (D) и его глубину (L) с точностью до +/- 1 литра.

Поскольку колодец располагается примерно в 25 метрах от дома, а мы хотели поместить дисплей датчика дома, мы решили использовать два Ардуино и передавать данные от одного из них к другому. Если вам захочется, то проект можно переделать под использование всего одного Ардуино. Почему мы не использовали беспроводной интерфейс? Во-первых, из за простоты использования — провод меньше подвержен порче влагой. Также потому, что мы хотели избежать использования аккумуляторов в той части, в которой располагался датчик. С помощью провода мы можем передавать как данные, так и питание по одному кабелю.

  1. Модуль Ардуино в доме — это основной модуль Ардуино. Он отправляет сигнал на Arduino в колодце, получает замеры расстояния и отображает рассчитанный объём оставшейся воды на дисплее.
  2. Модуль Ардуино в колодце и ультразвуковой модуль просто получают сигнал из дома, запускают процесс измерения и отправляют обратно информацию о расстоянии от датчика до воды. Схема встроена в непроницаемую коробку с пластиковой трубкой, прикреплённой к той стороне, где находится ультразвуковой модуль. Трубка нужна для того, чтобы снизить уровень помех, сократив поле зрения датчика таким образом, чтобы ему была видна только вода.

Шаг 1: Компоненты, тесты, программирование

В этом проекте используются следующие компоненты:

  • 2 модуля Ардуино (один для измерения уровня жидкости, второй для отображения результатов на дисплее)
  • Обычная 12V батарейка
  • Ультразвуковой модуль HC-SR04
  • Модуль LED дисплея MAX7219
  • Телефонный кабель — 25 метров, 4 жилы: питание, заземление и 2 провода для данных
  • Коробка для установки электроники
  • Горячий клей
  • Паяльник
Читайте также:  Алютех гаражные ворота установка своими руками

Для того, чтобы убедиться, что все работает как надо, мы все спаяли, соединили и проверили «на коленке». В интернете есть много программ, работающих с ультразвуковыми датчиками и дисплеями, так что мы просто использовали то, что нашли в интернете, чтобы проверить, что замеренное расстояние верно (картинка 1) и что мы можем поймать ультразвуковое отражение с поверхности воды (картинка 2). Также мы проверили, что ультразвуковой датчик уровня воды передаёт данные на длинные расстояния, чтобы у нас не было проблем при установке.

Не пренебрегайте временем, проведенным за тестированием системы, так как жизненно необходимо проверить, что всё работает, перед тем, как вы запаяете всё железо в корпуса и зароете кабель.

Во время тестов мы также обнаружили, что ультразвуковой датчик иногда ловит сигналы от других частей колодца, например от стен, или трубы, через которую поступает вода. При этом измеренное расстояние было слишком маленьким по сравнению с тем, каким должно быть расстояние до воды. В силу того, что мы не смогли до конца устранить эти помехи своими руками, мы решили отбрасывать все новые замеры, которые сильно отличаются от текущего показателя. Это не было критично, так как уровень воды в колодце изменялся достаточно плавно. В начале работы, модуль делает серию замеров и выбирает наибольший полученный показатель (то есть, наименьший уровень воды) в качестве отправной точки. После этого, в дополнение к решениям о принятии и отклонении показаний, используется частичное обновление показателя, с которым сравниваются новые данные. Также важно, чтобы все эхо утихли перед тем, как начнутся первые замеры. В случае бетонного колодца это очень критично.

Финальную версию рабочего кода для обеих плат Ардуино можно найти здесь: ссылка

Шаг 2: Общественные работы

В силу того, что наш колодец располагается на расстоянии от дома, нам пришлось выкопать в газоне небольшую борозду для кабеля.

Шаг 3: Соединяем и устанавливаем все компоненты

Соедините всё также, как при тестировании — всё должно заработать. Помните о том, что пин TX на одном Ардуино соединяется с пином RX на втором модуле, и наоборот. Как видно на картинке 1, для питания модуля Ардуино в колодце, мы использовали обычный телефонный кабель.

На второй и третьей картинке видна пластиковая труба с передатчиком, помещенным за пределы трубки и ресивером, помещенным внутри неё.

Шаг 4: Калибровка

Удостоверьтесь в том, что дистанция между датчиком и поверхностью воды измерена корректно. Калибровка состоит лишь в том, чтобы замерить диаметр колодца и его полную глубину — эти данные нужны для измерения объема жидкости. Чтобы получить точные данные, мы также настроили другие параметры программы (время между замерами, параметры частичного обновления, количество изначальных замеров).

Теперь мы можем следить за тем, какой уровень воды в нашем колодце и даже отслеживать, как колодец постепенно наполняется в ночное время — и всё это отображается на экране.

Заметка: В настоящее время преобразование времени-расстояния не корректируется при изменении скорости звука из-за колебаний температуры. Это будет хорошим дополнением в будущих доработках, так как температура в колодце заметно меняется.

Рассказываю как сделать какую-либо вещь с пошаговыми фото и видео инструкциями.

Источник

Оцените статью