====== @amperka/water-level ====== Библиотека для работы с датчиками уровня жидкости [[amp>product/water-level-sensor-straight|Датчик уровня воды (прямой)]] и [[amp>product/water-level-sensor-angle|Датчик уровня воды (угловой)]]. Поплавки датчиков могут находиться только в двух состояниях: поднятыми вверх при наличии жидкости и опущенными вниз при ее отсутствии. Для этого используются значения ''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'); }); func:: connect(pin[, opts]) Создаёт новый объект WaterLevel для датчика уровня на пине pin. Принимает необязательный объект opts с настройками поведения: * ''debounce'' — время в секундах, после которого вызываются события ''%%'%%up%%'%%'' или ''%%'%%down%%'%%''. Задержка необходима для сглаживания эффектов от колебаний воды. По умолчанию — 3 секунды. * ''mounted'' — если ваш датчик расположен на крышке емкости, установите параметр ''mounted '' в состояние ''%%'%%onTop%%'%%''. В этом случае событие ''%%'%%up%%'%%'' сработает при приближении поплавка к основанию датчика, а событие ''%%'%%down%%'%%'' сработает при удалении поплавка от основания датчика. Если ваш датчик установлен на дне емкости, не указывайте этот параметр. В этом случае события ''%%'%%up%%'%%'' и ''%%'%%down%%'%%'' поменяются местами. class:: WaterLevel Класс для работы с датчиком уровня жидкости. Для создания экземпляра используйте функцию ''connect'' модуля. func:: WaterLevel.read() Возвращает ''%%'%%up%%'%%'', если поплавок находится ближе к основанию датчика и ''%%'%%down%%'%%'', если поплавок находится ближе к кончику датчика. Если параметр ''mounted'' установлен в состояние ''%%'%%onTop%%'%%'', события ''%%'%%up%%'%%'' и ''%%'%%down%%'%%'' меняются местами. === События, инициируемые модулем === event:: WaterLevel.on('up', function() { … }) Событие, срабатывающее, если поплавок находится ближе к основанию датчика event:: WaterLevel.on('down', function() { … }) Событие, срабатывающее, если поплавок находится ближе к кончику датчика