@amperka/servo
JS-модуль для работы с сервоприводами. Библиотека управляет сервомоторами, которые удерживают угол, и сервоприводами постоянного вращения, которые удерживают скорость.
var myServo = require('@amperka/servo').connect(P13); myServo.write(120); myServo.write(900, 'us'); myServo.write(1.15, 'ms');
Возвращает новый объект Servo
для работы с сервомотором подключённому к пину pin
.
Параметр opts
задаёт характеристики сервопривода. Ожидается объект с полями:
pulseMin
— минимальная поддерживаемая приводом длина импульса в миллисекундах.pulseMax
— максимальная поддерживаемая приводом длина импульса в миллисекундах.valueMin
— значение для методаwrite
, соответствующее минимальной длине импульса.valueMax
— значение для методаwrite
, соответствующее максимальной длине импульса.
Если какие-либо поля не определены или объект opts
вовсе не передан, используются значения по умолчанию. Будьте аккуратны с заданием длин импульсов. Выход за пределы длин, поддерживаемых сервоприводом может привести к его сгоранию.
Для сервоприводов, которые удерживают угол, используйте valueMin
и valueMax
для определения граничных значений поворота вала в градусах.
А для сервомоторов постоянного вращения в valueMin
и valueMax
удобно задавать условные величины -1
и 1
или известную из характеристик привода угловую скорость.
Класс для работы с сервоприводом. Чтобы создать экземпляр класса, используйте функцию connect
.
Устанавливает угол сервопривода в значение value
, заданное в единицах units
. В качестве units
принимаются значения:
"ms"
— длина пульса в миллисекундах."us"
— длина пульса в микросекундах.- не задано — значение в условных единицах в диапазоне [
valueMin
;valueMax
].