
Рассмотрим аналоговый датчик уровня воды. Здесь вы узнаете, как подключить датчик к Arduino. Напишем скетч для вывода показаний датчика воды на серийный монитор порта. Рассмотрим команды для вывода информации с микроконтроллера Arduino на серийный монитор порта. А так же наглядно продемонстрируем схему и скетч для автоматического включения светодиода при попадании воды на датчик. Сперва необходимо узнать, какое значение мы будем получать на аналоговом порту, когда датчик будет в воде. Далее в скетче мы добавим условие включения светодиода при достижении максимального порога и его автоматического отключения.
level Sensor Arduino
Рабочее напряжение аналогового сенсора — 5v. Выходное напряжение (показания датчика) зависит от степени погружения датчика в жидкость и от параметров, влияющих на коэффициент передачи напряжения, например, проводимость жидкости. Это простой в использование и недорогой датчик уровня жидкости, который широко применяется в системах автоматизации и при разработке Умного дома.
Как вы уже заметили на фото к этому занятию, датчик уровня жидкости имеет три контакта. Правый контакт (-) подключается к Земле (GND), средний к питанию 5v, а левый к аналоговому входу, например, A1. При полностью сухом датчике выходное напряжение и показания на аналоговом входе будут равны нулю, чем больше датчик будет погружен в воду, тем больше будут его показания (от 0 до 1023).
Как подключить датчик воды к Ардуино
На потребуется

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

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

В процедуре void setup() мы прописываем режим работы аналогового порта, как вход — команда pinMode(A1,INPUT) и подключаем монитор порта с помощью Serial.begin(9600). Далее в процедуре void loop() получаем значение с аналогового порта с помощью команды level = analogRead(A1); и передаем значение на монитор порта Arduino IDE Serial.println(level); и ставим паузу для нашего удобства.
int level; // присваиваем имя переменной для показаний с аналогового входа A1 void setup() { pinMode(A1, INPUT); // к входу A1 подключим пин («S») датчика Serial.begin(9600); // монитор порта } void loop() { level = analogRead(A1); // переменная "level" находится в интервале от 0 до 1023 Serial.println(level); // выводим значение датчика на монитор порта delay(500); // задержка в полсекунды }
После загрузки скетча вы сможете получить данные с датчика на мониторе порта. Для этого перейдите в Arduino IDE в Панель меню — Инструменты — Монитор порта. Или используйте для открытия сочетание клавиш Ctrl + Shift + M. После того, как мы узнали показания датчика при его увлажнении, мы можем добавить в скетч функцию автоматического включения светодиода при превышении какого-либо значения.
Скетч для датчика воды и светодиода Ардуино
int level_2; // присваиваем имя для значений с аналогового входа A1 void setup() // процедура setup { pinMode(12, OUTPUT); // пин 12 со светодиодом будет выходом pinMode(A1, INPUT); // к входу A1 подключим датчик Serial.begin(9600); // подключаем монитор порта } void loop() { level_2 = analogRead(A1); // переменная "level_2" находится в интервале от 0 до 1023 if (level_2 > 100) { digitalWrite(12, HIGH); } // включаем светодиод if (level_2 < 100) { digitalWrite(12, LOW); } // выключаем светодиод Serial.println(level_2); // выводим значение датчика на монитор delay(500); // задержка в полсекунды }
В процедуре void loop с помощью оператора if включаем светодиод при значении level_2 > 100 и выключаем светодиод при значении level_2 < 100.
Таким образом при использовании оператора if так же можно подключить и зуммер, и многое другое.
Теги: #модули