@amperka/water-level

Библиотека для работы с датчиками уровня жидкости Датчик уровня воды (прямой) и Датчик уровня воды (угловой).

Поплавки датчиков могут находиться только в двух состояниях: поднятыми вверх при наличии жидкости и опущенными вниз при ее отсутствии. Для этого используются значения up и down соответственно. Если поплавок находится ближе к основанию датчика, внутри срабатывает герконовое реле и на входе Iskra JS появляется логическая единица. Если поплавок находится ближе к кончику датчика, на входе Iskra JS появляется логический ноль.

// датчик уровня жидкости на дне бочки
// датчик "смотрит" вверх
var levelSensorOnBottom = require('@amperka/water-level').connect(P2, {debounce: 2});
 
// датчик уровня жидкости на крышке бочки
// датчик "смотрит" вниз на дно бочки
var levelSensorOnTop = require('@amperka/water-level').connect(P1, {mounted: 'onTop', debounce: 5});
 
//читаем положение поплавка датчика на крышке бочки
levelSensorOnTop.read();
 
levelSensorOnTop.on('up', function () {
  console.log('water level is high');
});
 
levelSensorOnBottom.on('down', function () {
  console.log('water level is low');
});

connect(pin[, opts])

Создаёт новый объект WaterLevel для датчика уровня на пине pin. Принимает необязательный объект opts с настройками поведения:

  • debounce — время в секундах, после которого вызываются события 'up' или 'down'. Задержка необходима для сглаживания эффектов от колебаний воды. По умолчанию — 3 секунды.
  • mounted — если ваш датчик расположен на крышке емкости, установите параметр mounted в состояние 'onTop'. В этом случае событие 'up' сработает при приближении поплавка к основанию датчика, а событие 'down' сработает при удалении поплавка от основания датчика. Если ваш датчик установлен на дне емкости, не указывайте этот параметр. В этом случае события 'up' и 'down' поменяются местами.

WaterLevel

Класс для работы с датчиком уровня жидкости. Для создания экземпляра используйте функцию connect модуля.

WaterLevel.read()

Возвращает 'up', если поплавок находится ближе к основанию датчика и 'down', если поплавок находится ближе к кончику датчика. Если параметр mounted установлен в состояние 'onTop', события 'up' и 'down' меняются местами.

События, инициируемые модулем

WaterLevel.on('up', function() { … })

Событие, срабатывающее, если поплавок находится ближе к основанию датчика

WaterLevel.on('down', function() { … })

Событие, срабатывающее, если поплавок находится ближе к кончику датчика