@amperka/servo

JS-модуль для работы с сервоприводами. Библиотека управляет сервомоторами, которые удерживают угол, и сервоприводами постоянного вращения, которые удерживают скорость.

var myServo = require('@amperka/servo').connect(P13);
 
myServo.write(120);
myServo.write(900, 'us');
myServo.write(1.15, 'ms');

connect(pin[, opts])

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

Параметр opts задаёт характеристики сервопривода. Ожидается объект с полями:

  • pulseMin — минимальная поддерживаемая приводом длина импульса в миллисекундах.
  • pulseMax — максимальная поддерживаемая приводом длина импульса в миллисекундах.
  • valueMin — значение для метода write, соответствующее минимальной длине импульса.
  • valueMax — значение для метода write, соответствующее максимальной длине импульса.

Если какие-либо поля не определены или объект opts вовсе не передан, используются значения по умолчанию. Будьте аккуратны с заданием длин импульсов. Выход за пределы длин, поддерживаемых сервоприводом может привести к его сгоранию.

Для сервоприводов, которые удерживают угол, используйте valueMin и valueMax для определения граничных значений поворота вала в градусах.

А для сервомоторов постоянного вращения в valueMin и valueMax удобно задавать условные величины -1 и 1 или известную из характеристик привода угловую скорость.

Servo

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

Servo.write(value[, units])

Устанавливает угол сервопривода в значение value, заданное в единицах units. В качестве units принимаются значения:

  • "ms" — длина пульса в миллисекундах.
  • "us" — длина пульса в микросекундах.
  • не задано — значение в условных единицах в диапазоне [valueMin; valueMax].