====== @amperka/stepper ====== Библиотека для управления драйвером [[amp>product/troyka-stepper-motor-driver|шагового двигателя]]. Данная библиотека не предназначена для работы с Motor Shield. // подключим библиотеку var stepper = require('@amperka/stepper').connect({step:P4, direction:P6, enable:P5}, { pps: 330, // количество шагов в секунду holdPower: 1 // сила удержания вала по умолчанию }); // повернем двигатель на 180 шагов и по окончании... stepper.rotate(180, function() { // ..повернем его на 90 шагов в обратном направлении stepper.rotate(-90, function(){ // отключим удержание вала stepper.hold(0); // отключим удержание вала }); }); ===== Функции библиотеки ===== func:: connect(stepPin, directionPin, enablePin, opts) Возвращает новый объект ''Stepper'' для управления драйвером шагового двигателя, контакт ''S'' которого подключен к ''stepPin'', контакт ''D'' — к ''directionPin'', а ''enablePin'' — поддерживающий ''ШИМ'', который управляет подачей тока на обмотки — к контакту ''E''. Можно указать дополнительные опции ''opts'' в виде объекта со свойствами: * ''pps'' — Количество шагов в секунду. По умолчанию 20; * ''holdPower'' — Сила удержания вала от 0 до 1. По умолчанию 0; var stepper = require('@amperka/stepper').connect({step:P4, direction:P6, enable:P5}, { pps:330, // установим скорость вращения 330 шагов в секунду holdPower: 1 // сила удержания вала от 0 до 1 }); class:: Stepper Класс для работы с драйвером шагового двигателя. Для создания нового объекта, используйте функцию ''connect''. meth:: Stepper.rotate(steps, callback) Вращает двигатель на ''steps'' шагов. Для вращения в обратную сторону, необходимо указать отрицательное значение. После окончания вращения, вызывает функцию ''callback''. // повернем двигатель на 200 шагов и по окончании... stepper.rotate(200, function() { // ..повернем его на 200 шагов в обратном направлении stepper.rotate(-200); }); meth:: Stepper.hold([percent]) Метод устанавливает ''percent'' уровень подачи электричества на катушки и сбрасывает выполнение текущего задания на вращение. Если параметр не передан — используется параметр, указанный при создании объекта функцией ''connect''. // установим половину мощности удержания вала stepper.power(0.5); meth:: Stepper.pps([pps]) Метод устанавливает ''pps'' шагов в секунду. Если параметр не передан — используется параметр, указанный при создании объекта функцией ''connect'' или значение по умолчанию равное 20. // повернем на 200 шагов со скоростью 300 шагов в секунду stepper.pps(300).rotate(200, function() { // ..повернем его на 200 шагов в обратном направлении со скоростью 50 stepper.pps(50).rotate(-200, function(){ // отключим удержание вала stepper.hold(0); }); });