Содержание

@amperka/water-flow

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

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);

connect(pin [, opts])

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

WaterFlow

Функции и объекты модуля

volume([units])

Возвращает объем жидкости, прошедшее через датчик. Единицы измерения units могут принимать следующие значения:

Значение по умолчанию — 'l'

var litres = flowSensor.volume('l');

reset();

Сбрасывает в 0 значение, получаемое в функции volume(units).

speed([units])

Возвращает скорость потока жидкости, проходящее через датчик. Параметр units может принимать следующие значения:

Значение по умолчанию — 'l/min'.

var litresPerMinute = flowSensor.speed('l/min');

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

on('pulse', function () {...})

функция во втором аргументе будет вызвана каждый раз при обновлении объема жидкости, прошедшей через датчик. Чувствительность датчика позволяет обновить значение на 1/pulsesPerLitre литра.

flowSensor.on('pulse', function () {
  var litres = flowSensor.volume('l');
});