class Servo – controlador de servo de aficionado de 3 hilos¶
Los objetos Servo controlan servomotores estándar de aficionado con 3 hilos (tierra, alimentación, señal).
Ejemplo de uso:
import pyb
s1 = pyb.Servo(1) # create a servo object on position P7
s2 = pyb.Servo(2) # create a servo object on position P8
s1.angle(45) # move servo 1 to 45 degrees
s2.angle(0) # move servo 2 to 0 degrees
# move servo1 and servo2 synchronously, taking 1500ms
s1.angle(-60, 1500)
s2.angle(30, 1500)
Nota
Los objetos Servo usan Timer(5) para producir la salida PWM. Puede usar Timer(5) para el control de servos, o para sus propios fines, pero no para ambos al mismo tiempo.
Constructores¶
- class pyb.Servo(id: int)¶
Crea un objeto servo.
ides el número de canal de servo basado en 1; cada canal está conectado a un pin fijo del conector y el número de canales depende de la OpenMV Cam:Cámara
Servo(1)
Servo(2)
Servo(3)
OpenMV Cam M7 / H7
P7P8P9OpenMV Cam M4 / H7 Plus / Pure Thermal
P7P8–
pyb.Servono está disponible en la OpenMV Cam N6.Métodos¶
- angle(angle: int | None = None, time: int = 0) int | None¶
Si no se proporcionan argumentos, esta función devuelve el ángulo actual.
Si se proporcionan argumentos, esta función establece el ángulo del servo:
anglees el ángulo al que moverse, en grados.timees el número de milisegundos que se tarda en llegar al ángulo especificado. Si se omite, el servo se mueve lo más rápido posible a su nueva posición.
- speed(speed: int | None = None, time: int = 0) int | None¶
Si no se proporcionan argumentos, esta función devuelve la velocidad actual.
Si se proporcionan argumentos, esta función establece la velocidad del servo:
speedes la velocidad a la que cambiar, entre -100 y 100.timees el número de milisegundos que se tarda en llegar a la velocidad especificada. Si se omite, el servo acelera lo más rápido posible.
- pulse_width(value: int | None = None) int | None¶
Si no se proporcionan argumentos, esta función devuelve el valor actual del ancho de pulso en bruto.
Si se proporciona un argumento, esta función establece el valor del ancho de pulso en bruto.
- calibration(pulse_min: int | None = None, pulse_max: int | None = None, pulse_centre: int | None = None, pulse_angle_90: int | None = None, pulse_speed_100: int | None = None) Tuple[int, int, int, int, int] | None¶
Si no se proporcionan argumentos, esta función devuelve los datos de calibración actuales, como una tupla de 5 elementos.
Si se proporcionan argumentos, esta función establece la calibración de temporización:
pulse_mines el ancho de pulso mínimo permitido.pulse_maxes el ancho de pulso máximo permitido.pulse_centrees el ancho de pulso correspondiente a la posición central/cero.pulse_angle_90es el ancho de pulso correspondiente a 90 grados.pulse_speed_100es el ancho de pulso correspondiente a una velocidad de 100.