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

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

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

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

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

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

Подключение к Ардуино датчика воды (Water Sensor)
Подключение к Ардуино датчика воды (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)

int water; // присваиваем имя для значений с аналогового входа A0

void setup() {
   pinMode(A0, INPUT);  // к входу A0 подключим датчик (англ. «intput»)
   Serial.begin(9600);  // подключаем монитор порта
}

void loop() {
   water = analogRead(A0); // переменная "water" находится в интервале от 0 до 1023

   Serial.println(water); // выводим значение датчика на монитор
   delay(1000);           // задержка в одну секунду
}

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

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

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

Скетч для датчика воды и светодиода Ардуино

int water; // присваиваем имя для значений с аналогового входа A0

void setup() // процедура setup
{
  pinMode(12, OUTPUT); // пин 12 со светодиодом будет выходом (англ. «output»)
  pinMode(A0, INPUT);  // к входу A0 подключим датчик (англ. «intput»)
  Serial.begin(9600);  // подключаем монитор порта
}

void loop() // процедура loop
{
  water = analogRead(A0); // переменная "water" находится в интервале от 0 до 1023

    if (water > 100) { digitalWrite(12, HIGH); } // включаем светодиод
    if (water < 100) { digitalWrite(12, LOW); }  // выключаем светодиод

  Serial.println(water); // выводим значение датчика на монитор
  delay(1000);           // задержка в одну секунду
}

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

  1. условный оператор if позволяет определить действие при истинном условии;
  2. в процедуре void loop с помощью оператора if включаем светодиод при значении water > 100 и выключаем светодиод при значении water < 100.
1 Star2 Stars3 Stars4 Stars5 Stars (74 votes, average: 4,81 out of 5)
Загрузка...

Примеры похожие на Подключение датчика воды к Ардуино:

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

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

    1. Я конечно не мастер, но по идее все примерно также только вместо светодиода через транзистор будет мотор. Датчик воды довольно чувствительный, реагирует даже на дыхание, так что значение лучше поставить под 200.

    1. Это не значит, что датчик воды сломан, просто это его максимальные значения. Часть тока еще теряется за счет сопротивления в датчике. Максимальное значение (1023) не выдаст не один датчик. Это возможно, если только напрямую 5V подключить к аналоговому входу.

  2. Какую обвязку имеет сам датчик? В плане того, чтобы заменить его на систему электродов для измерения уровня жидкости в емкости. Но в простом варианте между электродами нам нужно измерять сопротивление, здесь же датчик выдает в ответ ток…

Добавить комментарий для Михаил Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *