====== @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() { … })
Событие, срабатывающее, если поплавок находится ближе к кончику датчика