Рассмотрим аналоговый датчик уровня воды. Здесь вы узнаете, как подключить датчик к 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 так же можно подключить и зуммер, и многое другое.
Теги: #модули