Kaluma library to control servo motors. It uses PWM internally, so the servo should be wired to a PWM-capable pin.
Here is a wiring example with SG90.
Raspberry Pi Pico | SG90 |
---|---|
VBUS | + |
GND | - |
GP15 | IN |
npm install https://github.com/niklauslee/servo
Here is an example:
const {Servo} = require('servo');
const servo = new Servo();
// attach to GP15
servo.attach(15);
// Turn from 0 to 180 by 10 degrees
for (let i = 0; i <= 180; i = i+10) {
servo.write(i);
delay(500);
}
Create an instance of Servo class.
pin
<number>
A pin for control.min
<number>
Pulse width in microseconds for the minimum degree (e.g. 0 angle). Default:544
.max
<number>
Pulse width in microseconds for the maximum degree (e.g. 180 angle). Default:2400
.period
<number>
Period in microseconds. Default:20000
.
Attach the instance to a PWM pin.
If you want to use multiple servo motors, you need to check PWM slices and channels.
Detach the instance from the PWM pin;
angle
<number>
Move the servo as the angle (0 ~ 180).
- Return
<number>
Returns the current angle of the servo (0 ~ 180).