Содержание

Датчик уровня жидкости прямой

Описание

Датчик уровня жидкости поможет проконтролировать наличие воды в резервуаре. Сам датчик представляет собой геркон, размещенный в полой трубке с двумя загерметизированными выводами. В поплавке располагается небольшой магнит. При поднятии поплавка магнит приводит к срабатыванию геркона, в результате чего цепь оказывается замкнута. Как только уровень воды падает - поплавок опускается, цепь размыкается.

Датчик незаменим в системах автоматического полива с промежуточной емкостью. Позволит избежать полного опустошения емкости с водой и работы насоса «всухую». Датчик позволит отключить систему полива до наполнения емкости с водой.

Подключается к контроллеру с помощью двух проводов, причем их полярность значения не имеет. Один вывод соединяется с выводом GND, второй с сигнальным выводом. Результатом работы датчика является логический 0 (поплавок опущен, цепь разомкнута) и 1 (поплавок поднят, цепь замкнута).

Датчик выполнен в пластиковом корпусе, а потому не рекомендуется использовать его в агрессивных жидкостях.

Крепление датчика предусмотрено через отверстие в дне или крышке емкости. Для этих целей с одной стороны датчика предусмотрена резьба. Фиксация осуществляется с помощью ответной гайки. Силиконовая прокладка, входящая в комплект сделает соединение герметичным.

Технические характеристики

Физические размеры

Плюсы использования

Минусы использования

Принцип работы датчика схематично показан на рисунке ниже:

Пример работы с датчиком

Пример: в примере демонстрируется подключение датчика к контроллеру Smart UNO, снятие показаний датчика и вывод результата в монитор Serial порта.

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

Примечание: При подключении датчика к контроллеру, при разомкнутой цепи состояние вывода будет принимать случайные значения, поэтому следует при подключении установить подтягивающий резистор физически или использовать встроенный резистор в контроллере.

Пример кода:

const int sensor = 8; //пин подключения датчика

void setup() {
  pinMode(sensor, INPUT_PULLUP); //установка пина на вход (подтягивая через внутренний резистор к 1)
  Serial.begin(9600); //инициализация монитора Serial-порта

}

void loop() {

  bool value = digitalRead(sensor); //чтение значения с датчика
  if (value == false) { //датчик погружен в воду
    Serial.println("FULL"); //сообщение в монитор порта
  }
  else {
    Serial.println("EMPTY"); //иначе датчик сообщает что резервуар пустой
  }

  delay(1000); //задержка на 1 секунду

}