Библиотека для работы с датчиком потока воды. Функции библиотеки реализуют считывание сырых данных с датчика и представляют результаты в удобном виде. Использует метод скользящего среднего для повышения точности вычислений скорости потока.
var normalSpeed = 10; // создаем объект датчика потока жидкости var flowSensor = require('@amperka/water-flow').connect(P3, {measurePeriod: 5}); // каждые 150 миллисекунд проверяем скорость жидкости setInterval(function() { // если скорость потока меньше обычной if (flowSensor.speed('l/min') < normalSpeed) { // выключаем насос во избежание перегрева pump.turnOff(); } }, 150);
Создаёт новый объект WaterFlow для датчика на пине pin. Принимает необязательный объект opts с настройками поведения:
averageLength — длина массива скользящего среднего. Значение по умолчанию — 10.pulsesPerLitre — количество пульсов приходящихся на 1 литр прошедшей жидкости. Этот параметр зависти от типа датчика и по умолчанию принимает значение 450.minimumSpeed — минимальная скорость потока жидкости для данного типа датчика. Значение по умолчанию — 1.
Возвращает объем жидкости, прошедшее через датчик. Единицы измерения units могут принимать следующие значения:
'l' — литры'cm^3' — кубические сантиметры'm^3' — кубические метры
Значение по умолчанию — 'l'
var litres = flowSensor.volume('l');
Сбрасывает в 0 значение, получаемое в функции volume(units).
Возвращает скорость потока жидкости, проходящее через датчик. Параметр units может принимать следующие значения:
'l/min' — литры в минуту'cm^3/min' — кубические сантиметры в минуту'm^3/min' — кубические метры в минуту
Значение по умолчанию — 'l/min'.
var litresPerMinute = flowSensor.speed('l/min');
функция во втором аргументе будет вызвана каждый раз при обновлении объема жидкости, прошедшей через датчик. Чувствительность датчика позволяет обновить значение на 1/pulsesPerLitre литра.
flowSensor.on('pulse', function () { var litres = flowSensor.volume('l'); });