Контроллер уровня воды на arduino автоматический

Контроллер уровня воды на Arduino

В данной статье описывается полнофункциональный контроллер уровня воды на базе Arduino. На дисплее схемы отображается уровень воды в резервуаре. При этом, если уровень воды падает ниже предварительно определенного уровня, тогда включается двигатель. Схема автоматически отключает двигатель, когда резервуар полностью заполнен. Уровень воды и другие важные данные отображаются на дисплее 16×2 LCD. Схема также позволяет проконтролировать уровень воды в отстойном резервуаре (первичный резервуар). Если уровень воды в отстойном резервуаре понижается, тогда двигатель не включится, что позволит защитить его от сухого запуска. Звуковой сигнал генерируется, когда уровень воды в отстойном резервуаре низкий или в случае неисправности датчиков.

Электрическая схема

Электрическая схема контроллера уровня воды на базе Arduino показана на рисунке выше. Для измерения уровня жидкости используется токопроводящий метод. Датчик в сборе состоит из четырех алюминиевых проводников, устанавливаемых на уровне 1/4, 1/2, 3/4 и метки полного уровня в резервуаре. Вторые (сухие) концы проводников подключены к аналоговым входам A1, A2, A3 и A4 микроконтроллера Arduino соответственно. Пятый проводник размещается в нижней части резервуара. Резисторы с R6 по R9 являются подтягивающими. Вторые выводы данных резисторов подключаются к источнику напряжения +5В DC. Когда вода контактирует с определенным датчиком, то устанавливается электрическое соединение между данным датчиком и источником напряжения питания датчика +5В, поскольку вода является проводником электричества. В результате этого ток протекает через датчик и далее преобразуется в пропорциональное напряжение на подтягивающем резисторе. Arduino считывает падение напряжения на каждом резисторе, определяя уровень воды в резервуаре. Аналогичный метод используется для измерения уровня воды в отстойном резервуаре.
Цифровой вывод 7 микроконтроллера Arduino управляет устройством звуковой сигнализации (пищалкой), а цифровой вывод 8 управляет двигателем. Транзистор Q1 управляет пищалкой, и резистор R5 ограничивает ток базы Q1. Транзистор Q2 управляет реле. Резистор R3 ограничивает ток базы Q2. D2 представляет собой обратный диод. Потенциометр R2 используется для регулировки контрастности ЖК-дисплея. Резистор R1 ограничивает ток светодиода фоновой подсветки. Резистор R4 ограничивает ток светодиода включения питания power ON LED. Полный программный код для контроллера уровня воды на базе Arduino представлен ниже.

Программный код

Описание программы
Arduino считывает выходные показания датчика через аналоговый вход, используя функцию analogRead. Например, q=analogRead(qut); преобразует напряжение (в диапазоне от 0 до 5В) на одном из четырех уровней датчика в числовые значения (в диапазоне от 0 до 1023) и сохраняет их в переменную “q”. Таким образом, напряжение на каждом датчике сканируется с соответствующими переменными. Эти переменные далее сравниваются с фиксированными значениями (здесь 100) для идентификации текущего состояния. Фактически, значение 100 соответствует напряжению 0.48 вольт и если напряжение на текущем датчике выше данной величины, то это считается как непрерывная цепь. Это означает, что вода контактирует с датчиком. Набор фиксированных значений (по сравнению с переменой ”v”) должен быть отрегулирован, поскольку удельное электрическое сопротивление воды изменяется от слоя воды к слою и расстояние между датчиками будет различным для разных резервуаров.

Важные примечания
• Схема питается от источника внешнего напряжения 9В через силовой разъем на плате Arduino.
• Напряжение 5В, необходимое в различных точках схемы, можно снимать с выхода 5В на плате Arduino.
• Для изготовления датчиков используйте только качественные алюминиевые проводники. Не используйте медные проводники.

Подключение датчика воды к Ардуино

Датчик протечки воды (уровня жидкости) Ардуино ► рассмотрим, как правильно подключить датчик воды water sensor к аналоговому порту на плате Arduino.

Рассмотрим на этом занятии аналоговый датчик протечки воды (уровня жидкости). Расскажем, как подключить датчик к аналоговому порту на Arduino. Самостоятельно напишем скетч для вывода показаний датчика протечки воды на серийный порт. Рассмотрим команды Serial.begin и Serial.print в языке программирования C++ для вывода информации с микроконтроллера Arduino на серийный монитор порта.

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

Датчик уровня жидкости (Water Sensor Arduino)

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

Подключение к Ардуино датчика воды (Water Sensor)

Как вы уже заметили на фото к этому занятию, датчик уровня жидкости имеет три контакта. Правый контакт (-) подключается к Земле (GND), средний к питанию 5v, а левый к аналоговому входу, например, A0. При полностью сухом датчике выходное напряжение и показания на аналоговом входе будут равны нулю, чем больше датчик будет погружен в воду, тем больше будут его показания (от 0 до 1023).

Как подключить датчик воды к Ардуино

Для занятия нам понадобятся следующие детали:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • макетная плата;
  • датчик воды;
  • 1 светодиод и резистор 220 Ом;
  • провода «папа-папа» и «папа-мама».

Схема подключения датчика воды к Ардуино

Перед тем как, подключить датчик протечки воды к плате Ардуино, следует написать скетч. Откройте программу Arduino IDE и вы увидите скетч, где уже прописаны процедуры void setup() и void loop() . Для начала зададим переменную water с помощью оператора int . Переменную мы будем использовать для хранения данных в памяти и присваивания ей значения, получаемого с датчика воды.

Перейдите в Панель меню — Инструменты — Монитор порта

В процедуре void setup() мы прописываем режим работы аналогового порта, как вход — команда pinMode(AO,INPUT) и подключаем монитор порта с помощью Serial.begin(9600) . Далее в процедуре void loop() получаем значение с аналогового порта с помощью команды water = analogRead(A0); и передаем значение на монитор порта Arduino IDE Serial.println(water); и ставим паузу для нашего удобства.

Скетч для датчика воды (water sensor)

Пояснения к коду:

  1. в первой строчке мы присвоили переменной int имя water для хранения значений c входа A0, значения water могут принимать только целое число.

После загрузки скетча вы сможете получить данные с датчика на мониторе порта. Для этого перейдите в Arduino IDE в Панель меню — Инструменты — Монитор порта. Или используйте для открытия сочетание клавиш Ctrl + Shift + M. После того, как мы узнали показания датчика при его увлажнении, мы можем добавить в скетч функцию автоматического включения светодиода при превышении какого-либо значения.

Датчик уровня воды

Товары

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

Содержание:

Обзор датчика уровня воды

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

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

  • + – питание датчика;
  • – – земля;
  • S – аналоговое значение.

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

Технические характеристики модуля

  • Напряжение питания: 3.3-5 В;
  • Ток потребления 20 мА;
  • Выход: аналоговый;
  • Зона обнаружения: 16×30 мм;
  • Размеры: 62×20×8 мм;
  • Рабочая температура: 10 – 30 °С.

Пример использования

Рассмотрим подключение датчика уровня воды к Arduino. Создадим проект звуковой сигнализации затопления помещения. При погружении датчика в воду, сигнализация издает три вида звуковых сигналов (небольшое затопление, средний уровень, критический уровень), соответствуюший трем уровням воды. Для воспроизведения звуковых можно к цифровому выводу подключить пьезоизлучатель – электроакустическое устройства воспроизведения звука. Но при этом звук получается очень тихий. Чтобы получить громкость более приличного уровня, к цифровому выводу Arduino динамик, но не напрямую, а через транзистор. Для проекта нам понадобятся следующие детали:

  • Плата Arduino Uno
  • Датчик уровня воды
  • Динамик 8 Ом
  • Резистор 500 Ом
  • Транзистор КТ503е
  • Соединительные провода

Соберем схему, показанную на рисунке.

Запустим Arduino IDE. Создадим новый скетч и внесем в него следующие строчки Аналоговый вывод датчика подключен к аналоговому входу Arduino, который представляет собой аналого-цифровой преобразователь (АЦП) с разрешением 10 бит, что позволяет на выходе получать значения от 0 до 1023. Значение аналоговых сигналов на аналоговом входе Arduino для трех уровней погружения были определены экспериментальным путем: > 400 – минимальное погружение; > 500 – средний уровень погружения; > 600 – большое погружение. Соответственно для каждого уровня погружения на динамике воспроизводится звуковой сигнал разной частоты: минимальное погружение – 293 Гц (нота ре 1 октавы); средний уровень погружения – 466 Гц (нота си-бимоль 1 октавы); большое погружение – 587 Гц (нота ре 2 октавы). При отсутствии погружения звуковой сигнал на динамике не воспроизводится.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источники:

http://xn--18-6kcdusowgbt1a4b.xn--p1ai/%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA-%D0%B2%D0%BE%D0%B4%D1%8B-%D0%B0%D1%80%D0%B4%D1%83%D0%B8%D0%BD%D0%BE/

http://3d-diy.ru/wiki/arduino-datchiki/arduino-datchik-urovnya-vody/

http://arduinoplus.ru/kontroller-urovnya-vody-arduino/

http://arduinoplus.ru/mikrokontrolleri-arduino-dlya-chainikov/

Ссылка на основную публикацию