Содержание

@amperka/analog-line-sensor

Библиотека для чтения аналогового датчика линии.

При изменении внешних условий освещённости и при изменении расстояния между сенсором и поверхностью значение сигнала для одного и того же рисунка меняется. Если вы делаете, например, робота, следующего по линии и настроили его в яркий день, поведение при искусственном освещении вечером будет сильно отличаться.

Эту проблему помогает решить библиотека. Перед началом использования, вы можете указать датчику какую освещённость считать белым цветом (сигнал — единица), а какую — чёрным (сигнал — ноль). Для этого есть метод calibrate.

Все промежуточные оттенки между настроенными границами проецируются в диапазон от 0 до 1.

Такой подход позволяет получать одни и те же значения с поверхности вне зависимости от условий внешней освещённости.

var mySensor = require('@amperka/analog-line-sensor').connect(A0);
 
mySensor.calibrate({
  black: 0.2,
  white: 0.8
});
 
console.log(mySensor.read());

Функции модуля

connect(pin)

Возвращает новый объект AnalogLineSensor для чтения сенсора подключённого к пину pin.

AnalogLineSensor

Класс для чтения сенсора. Чтобы создать новый объект, используйте функцию connect.

AnalogLineSensor.read([units])

Возвращает значение с датчика в единицах, заданных параметром units. В качестве единиц принимаются:

При использовании калиброванной шкалы, значения сенсора, которые принимаются за крайний чёрный и крайний белый необходимо задать с помощью метода calibrate.

AnalogLineSensor.calibrate(opts)

Устанавливает крайние значения белого и чёрного для работы с калиброванной шкалой.

В качестве opts принимается объект с полями:

В объекте может отсутствовать одно из полей. В этом случае соответствующая граница не будет изменена.

Вместо конкретного значения поля можно передать true. В этом случае в качестве значения будет использовано текущее значение сигнала модуля.