Меню

Поплавковый датчик уровня жидкости ардуино

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

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

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

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

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

Обзор аппаратного обеспечения

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

Эти дорожки чередуются так, что между каждыми двумя питающими дорожками есть одна чувствительная дорожка.

Обычно эти дорожки не соединены между собой, но при погружении они соединяются водой.

Рисунок 1 – Датчик уровня воды

На плате расположен индикатор питания, который загорается при подаче на плату напряжения питания.

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

Работа датчика уровня воды довольно проста.

Читайте также:  Датчик температуры hcx pt100

Ряд открытых параллельных проводников вместе действует как переменный резистор (потенциометр), сопротивление которого изменяется в зависимости от уровня воды.

Изменение сопротивления соответствует расстоянию от верхушки датчика до поверхности воды.

Рисунок 2 – Демонстрация работы датчика уровня воды

Сопротивление обратно пропорционально высоте воды:

  • чем больше воды, в которую погружен датчик, тем лучше проводимость, и тем ниже сопротивление;
  • чем меньше воды, в которую погружен датчик, тем хуже проводимость, и тем выше сопротивление.

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

Распиновка датчика уровня воды

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

Рисунок 3 – Распиновка датчика уровня воды

Вывод S (Signal) – это аналоговый выход, который будет подключен к одному из аналоговых входов вашей платы Arduino.

Вывод + (VCC) обеспечивает питание датчика. Датчик рекомендуется питать напряжением от 3,3 до 5 В. Обратите внимание, что напряжение на аналоговом выходе будет зависеть от того, какое напряжение питания подается на датчик.

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

Давайте подключим датчик уровня воды к Arduino.

Сначала вам нужно подать питание на датчик. Для этого вы можете подключить вывод +(VCC) на модуле к выводу 5V на Arduino, а вывод -(GND) модуля к выводу GND Arduino.

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

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

Самый простой способ сделать это – подключить вывод VCC к цифровому выводу Arduino и устанавливать на нем высокий или низкий логический уровень, когда это необходимо. Итак, давайте подключим вывод VCC модуля к цифровому выводу 7 Arduino.

Наконец, подключите вывод S (Signal) к выводу A0 аналого-цифрового преобразователя Arduino.

Схема соединений показана на следующем рисунке.

Рисунок 4 – Схема подключения датчика уровня воды к Arduino

Базовый пример определения уровня воды

После того, как схема будет собрана, загрузите в Arduino следующий скетч.

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

Рисунок 5 – Вывод показаний датчика уровня воды

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

Объяснение

Скетч начинается с объявления выводов Arduino, к которым подключены выводы датчика + (VCC) и S (сигнал) .

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

Теперь в функции setup() мы сначала настраиваем вывод для питания датчика как выход, а затем устанавливаем на нем низкий логический уровень, чтобы изначально питание на датчик не подавалось. А также настраиваем последовательную связь с компьютером.

Читайте также:  Где находится датчик давления масла фольксваген пассат б5 плюс

В функции loop() мы периодически вызываем функцию readSensor() с интервалом в одну секунду и выводим возвращаемое значение.

Функция readSensor() используется для получения текущего уровня воды. Она включает датчик, ждет 10 миллисекунд, считывает аналоговое значение с датчика, выключает датчик и затем возвращает аналоговое значение.

Калибровка

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

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

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

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

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

  • когда датчик сухой: 0;
  • когда он частично погружен в воду:

420;
когда он полностью погружен:

520.

Рисунок 6 – Калибровка датчика уровня воды

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

Проект определения уровня воды

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

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

Мы будем использовать схему из предыдущего примера. Но на этот раз нам нужно просто добавить несколько светодиодов.

Подключите три светодиода к цифровым выводам 2, 3 и 4 через токоограничивающие резисторы 220 Ом.

Соберите схему, как показано ниже:

Рисунок 7 – Индикация уровня воды с помощью светодиодов

Код Arduino

После того, как схема будет собрана, загрузите в Arduino следующий скетч.

В этом скетче объявлены две переменные, а именно lowerThreshold и upperThreshold . Эти переменные представляют наши пороговые уровни.

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

Источник

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

Рассмотрим на этом занятии аналоговый датчик протечки воды (уровня жидкости). Расскажем, как подключить датчик к аналоговому порту на 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. После того, как мы узнали показания датчика при его увлажнении, мы можем добавить в скетч функцию автоматического включения светодиода при превышении какого-либо значения.

Источник

Adblock
detector