====== @amperka/analog-line-sensor ====== Библиотека для чтения [[amp>product/analog-line-sensor|аналогового датчика линии]]. При изменении внешних условий освещённости и при изменении расстояния между сенсором и поверхностью значение сигнала для одного и того же рисунка меняется. Если вы делаете, например, робота, следующего по линии и настроили его в яркий день, поведение при искусственном освещении вечером будет сильно отличаться. Эту проблему помогает решить библиотека. Перед началом использования, вы можете указать датчику какую освещённость считать белым цветом (сигнал — единица), а какую — чёрным (сигнал — ноль). Для этого есть метод ''[[#calibrate|calibrate]]''. Все промежуточные оттенки между настроенными границами проецируются в диапазон от 0 до 1. Такой подход позволяет получать одни и те же значения с поверхности вне зависимости от условий внешней освещённости. var mySensor = require('@amperka/analog-line-sensor').connect(A0); mySensor.calibrate({ black: 0.2, white: 0.8 }); console.log(mySensor.read()); ===== Функции модуля ===== func:: connect(pin) Возвращает новый объект ''AnalogLineSensor'' для чтения сенсора подключённого к пину ''pin''. class:: AnalogLineSensor Класс для чтения сенсора. Чтобы создать новый объект, используйте функцию ''connect''. meth:: AnalogLineSensor.read([units]) Возвращает значение с датчика в единицах, заданных параметром ''units''. В качестве единиц принимаются: * ''%%'%%mV%%'%%'' — значение как есть, в милливольтах; * ''%%'%%V%%'%%'' — значение как есть, в вольтах; * ''%%'%%u%%'%%'' — значение как есть в условных единицах из диапазона [0.0, 1.0]; * не задан — калиброванное значение серого в диапазоне [0.0, 1.0]. При использовании калиброванной шкалы, значения сенсора, которые принимаются за крайний чёрный и крайний белый необходимо задать с помощью метода ''calibrate''. meth:: AnalogLineSensor.calibrate(opts) Устанавливает крайние значения белого и чёрного для работы с калиброванной шкалой. В качестве ''opts'' принимается объект с полями: * ''black'' — значение чёрного по шкале ''%%'%%u%%'%%''; * ''white'' — значение белого по шкале ''%%'%%u%%'%%''. В объекте может отсутствовать одно из полей. В этом случае соответствующая граница не будет изменена. Вместо конкретного значения поля можно передать ''true''. В этом случае в качестве значения будет использовано текущее значение сигнала модуля.