periph-servo-pca9685 is a Viam modular component that uses the periph.io library to control servos connected to pca9685 channels.
The periph-servo-pca9685 resource provides the following methods from Viam's built-in rdk:component:servo API:
The following attributes may be configured as periph-servo-pca9685 config attributes. For example: the following configuration set up a servo on I2C bus 0, PCA9685 channel 15:
{
"i2c_bus" : "0",
"channel" : 15
}
string (default: "0")
The name or number of the I2C bus to which the PCA9685 is connected.
int (default: 0)
The channel (0-15) to which the servo to control is connected.
int (default: 50)
The frequency in hz of the servo to control. See the datasheet for the servo to control.
int (default 0)
The minimum angle in degrees to which the servo will be allowed to move.
int (default 180)
The maximum angle to in degrees which the servo will be allowed to move.
int (default 0)
When the servo is initiated, it will move to this position (in degrees).
int (default 500)
The minimum duty cycle width in microseconds. See the datasheet for the servo to control.
int (default 2500)
The maximum duty cycle width in microseconds. See the datasheet for the servo to control.