@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());
Функции модуля
Возвращает новый объект AnalogLineSensor для чтения сенсора подключённого к пину pin.
Класс для чтения сенсора. Чтобы создать новый объект, используйте функцию connect.
Возвращает значение с датчика в единицах, заданных параметром units. В качестве единиц принимаются:
'mV'— значение как есть, в милливольтах;'V'— значение как есть, в вольтах;'u'— значение как есть в условных единицах из диапазона [0.0, 1.0];- не задан — калиброванное значение серого в диапазоне [0.0, 1.0].
При использовании калиброванной шкалы, значения сенсора, которые принимаются за крайний чёрный и крайний белый необходимо задать с помощью метода calibrate.
Устанавливает крайние значения белого и чёрного для работы с калиброванной шкалой.
В качестве opts принимается объект с полями:
black— значение чёрного по шкале'u';white— значение белого по шкале'u'.
В объекте может отсутствовать одно из полей. В этом случае соответствующая граница не будет изменена.
Вместо конкретного значения поля можно передать true. В этом случае в качестве значения будет использовано текущее значение сигнала модуля.