Как сделать индикатор уровня воды с помощью 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-кабель) могут использоваться для соединения датчика и остальной части схемы.

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


Источник: arduinoplus.ru