#Servo
Driver for the servo-pca9685 Tessel servo module, capable of driving up to 16 servos at once. Can also be used to drive other devices which accept a 3.3 V PWM signal (most motor controllers, LEDs, gate drivers, etc.). The hardware documentation for this module can be found here.
If you run into any issues you can ask for support on the Servo Module Forums.
###Installation
npm install servo-pca9685
###Example
var tessel = require('tessel');
var servolib = require('servo-pca9685');
var servo = servolib.use(tessel.port['A']);
var servo1 = 1;
servo.on('ready', function () {
var position = 0;
servo.configure(servo1, 0.05, 0.12, function () {
setInterval(function () {
console.log('Position (in range 0-1):', position);
servo.move(servo1, position);
position += 0.1;
if (position > 1) {
position = 0;
}
}, 500);
});
});
###Methods
# servo.configure( whichServo, minPWM, maxPWM, callback(err) ) Sets the PWM max and min for the specified servo.
# servo.move( whichServo, positionOrSpeed, callback(err) ) positionOrSpeed is a value between 0 and 1. On a normal servo, this value is the position to move to as a percent of the total available rotational range. On a continuous rotation servo, this value represents the rotation speed: 0 is fast in one direction, 1 is fast in the other direction, and 0.5 is stopped.
# servo.read( whichServo, callback(err, reading) ) Reads the current approximate position target for the specified servo.
# servo.setDutyCycle( whichServo, on, callback(err) ) Sets the duty cycle for the specified servo. on is duty cycle uptime, range from 0-1.
# servo.setModuleFrequency( Hertz, callback(err) ) Sets the PWM frequency in Hz for the PCA9685 chip.
###Events
# servo.on( 'error', callback(err) ) Emitted upon error.
# servo.on( 'ready', callback() ) Emitted upon first successful communication between the Tessel and the module.
###Hardware/Advanced usage
- The servos used in conjunction with this module should be powered through the 5.5 mm barrel jack.
- The physical module is marked with "S", "+", and "-". These correspond to signal, power, and GND. On most servos, the GND wire will be black/brown and the signal wire will be yellow/white. Red typically denotes 5 V power.
- This module can be used to drive most speed controllers, which in turn can control a wide variety of actuators. It can also be used to drive small LEDs with current limiting resistors in series.
- The bare square pads by the barrel jack allow the addition of a capacitor to the input power rail if desired. The pad closest to the board edge is connected to GND, the other to the barrel jack's positive pin. This addition is not required for proper module functionality.
###License
MIT or Apache 2.0, at your option