Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
servo-pca9685
Advanced tools
#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
/*********************************************
This servo module demo turns the servo around
1/10 of its full rotation every 500ms, then
resets it after 10 turns, reading out position
to the console at each movement.
*********************************************/
var tessel = require('tessel');
var servolib = require('servo-pca9685');
var servo = servolib.use(tessel.port['A']);
var servo1 = 1; // We have a servo plugged in at position 1
servo.on('ready', function () {
var position = 0; // Target position of the servo between 0 (min) and 1 (max).
// Set the minimum and maximum duty cycle for servo 1.
// If the servo doesn't move to its full extent or stalls out
// and gets hot, try tuning these values (0.05 and 0.12).
// Moving them towards each other = less movement range
// Moving them apart = more range, more likely to stall and burn out
servo.configure(servo1, 0.05, 0.12, function () {
setInterval(function () {
console.log('Position (in range 0-1):', position);
// Set servo #1 to position pos.
servo.move(servo1, position);
// Increment by 10% (~18 deg for a normal servo)
position += 0.1;
if (position > 1) {
position = 0; // Reset servo position
}
}, 500); // Every 500 milliseconds
});
});
###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
###License MIT or Apache 2.0, at your option
FAQs
Library to run the PCA9685 PWM driver.
The npm package servo-pca9685 receives a total of 0 weekly downloads. As such, servo-pca9685 popularity was classified as not popular.
We found that servo-pca9685 demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.