Как подключить поплавковый датчик воды Arduino

Сегодня поговорим о простом, но незаменимом устройстве — поплавковом датчике уровня воды. Это классика жанра: механика плюс электричество. С его помощью можно автоматизировать долив воды, защитить насос от «сухого хода» или просто узнавать, когда пора добавить воды в аквариум. Ещё датчик может пригодится при создании автополива растений, контроля уровня воды в баке и в дренажных системах.

Поплавковый датчик воды характеристики, распиновка

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

Конструкция поплавка может отличаться, но принцип работы один — внутри поплавка находится геркон и магнит. Когда уровень воды меняется, поплавок всплывает или опускается — контакты замыкаются или размыкаются. Поплавковые датчики бывают двух типов: нормально разомкнутые (NO — электрические цепь замыкается при всплытии) и нормально замкнутые (NC — цепь размыкается при всплытии).

Характеристики поплавкового датчика воды (datasheet)

  • Напряжение питания: 5V DC
  • Напряжение коммутации: до 100 В DC / 220 В AC
  • Ток коммутации: до 0.5 А
  • Мощность: до 10 Вт
  • Тип контактов: NO / NC (зависит от модели)
  • Материал корпуса: ABS-пластик / полипропилен
  • Рабочая температура: 0–80 °C
  • Герметичность: IP68

Подключение поплавкового датчика воды к Arduino

Для этого занятия потребуется:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • поплавковый датчик уровня воды
  • светодиод
  • резистор 220 Ом
  • макетная плата
  • провода «папа-мама», «папа-папа»
Подключение поплавкового сенсора к Arduino
Подключение поплавкового сенсора воды к Arduino

Схема подключения поплавкового датчика:

  • Один контакт датчика → GND Arduino
  • Второй контакт датчика → любой цифровой пин Arduino

Принцип работы этого сенсора ничем не отличается от простой тактовой кнопки, поэтому подключение к плате Ардуино произведем по схеме кнопки без резистора. В этом случае цифровой пин сконфигурируем при помощи INPUT_PULLUP — в этом режиме к пину подключается 5V с подтягивающим резистором. Таким образом на пине будет сигнал HIGH, а при поднятии поплавка, сигнал изменится на LOW.

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

#define SENSOR 7
#define LED 13

void setup() {
   Serial.begin(9600);

   // сконфигурируем pin7 как вход
   pinMode(SENSOR, INPUT_PULLUP);
   // сконфигурируем pin13 как выход
   pinMode(LED, OUTPUT);
}

void loop() {
   // если на входе уровень логического «0»
   if(!digitalRead(SENSOR)) {

      // выводим сообщение, что датчик погрузился в воду
      Serial.println("ВЫСОКИЙ УРОВЕНЬ ВОДЫ");
      // включаем светодиод (реле)
      digitalWrite(LED, HIGH);
   }

   // приостанавливаем выполнение скетча
   delay(1000);
   // выключаем светодиод (реле)
   digitalWrite(LED, LOW);
}

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

  1. Опустите датчик в пустой стакан — проверьте значение в мониторе порта;
  2. Налейте воду в стакан — поплавок всплывает, состояние меняется;
  3. Если логика программы не совпадает с нужной вам, то нужно поменять местами digitalWrite(LED, HIGH); и digitalWrite(LED, LOW);

Настройка и решение проблем

  1. Датчик не реагирует
    Проверьте контакты датчика мультиметром в режиме прозвона. При всплытии поплавка контакты должны замыкаться/размыкаться.
  2. Насос включается и выключается слишком часто
    Причина в дребезге или в том, что насос быстро откачивает воду. Добавьте гистерезис (разные пороги включения и выключения насоса). Например, включение насоса происходит при LOW (низкий уровень), а выключается не сразу при значении HIGH, а когда уровень воды поднимется выше поплавка на пару секунд.

Заключение. Со временем механизм датчика может залипнуть или покрыться слизью. Периодически чистите его и проверяйте работоспособность. Но в целом это одно из самых надёжных и дешёвых решений для контроля жидкости. Если захотите автоматизировать аквариум по полной — добавляйте датчики температуры, освещения и кормушку. А пока тренируйтесь на поплавке — это база, с которой стоит начать!



Добавить комментарий

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.