В этом руководстве рассмотрим аналоговый датчик воды (water sensor). Мы объясним, как подключить датчик к аналоговому порту Arduino. Составим программу для передачи показаний с датчика утечки воды на последовательный порт. И будем использовать очень полезные команды Serial.begin и Serial.print в языке программирования C++ для вывода информации с микроконтроллера Arduino на последовательный монитор.
СОДЕРЖАНИЕ
Необходимые компоненты:
- Arduino Uno / Arduino Nano / Arduino Mega
- датчик воды (water sensor)
- светодиод и резистор
- макетная плата
- коннекторы
Дополнительные материалы на эту тему:
В этом обзоре мы соберем схему и напишем скетч для water sensor с автоматическим включением светодиода, когда вода коснется нашего датчика. Во-первых, нам нужно определить значение, которое мы получим на аналоговом входе, когда датчик находится в воде или намочен. Затем в программе мы добавим условие, чтобы светодиод включался при достижении максимального порога и автоматически выключался.
Water sensor Arduino принцип работы, распиновка

Датчик воды Arduino характеристики (datasheet)
- Напряжение питания: 3.3 — 5 В
- Ток потребления 20 мА
- Выход: аналоговый
- Рабочая температура: 10 – 30 °С
Рабочее напряжение аналогового датчика составляет 5 Вольт. Выходное напряжение (показания датчика) зависит от степени погружения датчика в жидкость и параметров, влияющих на коэффициент передачи напряжения, таких как проводимость жидкости. Это простой в использовании, недорогой датчик уровня жидкости, который широко используется в системах автоматизации и при разработке «умных домов».
Как вы заметили по картинке, датчик уровня жидкости имеет три контакта. Правый (-) контакт подключается к GND, средний контакт — к питанию 5 В, а левый контакт — к аналоговому входу, например, A1. Когда датчик полностью сухой, выходное напряжение и показания на аналоговом входе Ардуино будут равны нулю, чем больше датчик погружен в воду, тем выше будут его показания (максимальное значение равно 1023).
Как подключить датчик воды к Ардуино

Если сенсор подключен правильно, на датчике загорается красный светодиод — индикатор питания. Прежде чем подключить датчик воды к микроконтроллеру Arduino, необходимо загрузить в плату программу. Следующий код позволяет получить информацию от датчика уровня воды и вывести данные на последовательный монитор Arduino IDE. Скопируйте следующий небольшой пример скетча и загрузите его в микроконтроллер.
Скетч для датчика воды Ардуино и светодиодом
#define LED 13
#define WTR A1
int water;
void setup() {
pinMode(LED, OUTPUT);
pinMode(WTR, INPUT);
Serial.begin(9600);
}
void loop() {
water = analogRead(WTR);
Serial.print("Water sensor - ");
Serial.println(water);
if (water > 100) { digitalWrite(LED, HIGH); }
if (water < 100) { digitalWrite(LED, LOW); }
delay(1000);
}
После загрузки кода вы можете получить данные датчика на последовательном мониторе. Для этого перейдите в Arduino IDE в строку меню — Инструменты — Монитор порта. Или используйте комбинацию клавиш Ctrl + Shift + M для открытия окна утилиты. Узнав показания датчика во время увлажнения, мы можем добавить в программу функцию автоматического включения светодиода при превышении определенного значения.
Заключение. В этом обзоре мы собрали схему и написали программу для автоматического включения светодиода, когда влага замыкает контакты сенсора воды. Сначала мы определили значение, которое мы получаем на аналоговом входе A1 платы Arduino Uno, когда датчик находится в воде. Затем мы добавили в программу условие if для включения светодиода при достижении максимального порога и его автоматического выключения.
