class Servo – driver de servo de modelo com 3 fios¶
Os objetos Servo controlam servomotores de modelo padrão com 3 fios (massa, alimentação, sinal).
Exemplo de utilização:
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
Os objetos Servo utilizam Timer(5) para produzir a saída PWM. Pode usar Timer(5) para controlo de Servo, ou para outros fins, mas não ambos ao mesmo tempo.
Construtores¶
- class pyb.Servo(id: int)¶
Cria um objeto servo.
idé o número do canal servo com base 1; cada canal está ligado a um pino fixo do conector e o número de canais depende da OpenMV Cam:Câmara
Servo(1)
Servo(2)
Servo(3)
OpenMV Cam M7 / H7
P7P8P9OpenMV Cam M4 / H7 Plus / Pure Thermal
P7P8–
pyb.Servonão está disponível na OpenMV Cam N6.Métodos¶
- angle(angle: int | None = None, time: int = 0) int | None¶
Se não forem dados argumentos, esta função devolve o ângulo atual.
Se forem dados argumentos, esta função define o ângulo do servo:
angleé o ângulo para o qual se mover, em graus.timeé o número de milissegundos para atingir o ângulo especificado. Se omitido, o servo move-se o mais rapidamente possível para a nova posição.
- speed(speed: int | None = None, time: int = 0) int | None¶
Se não forem dados argumentos, esta função devolve a velocidade atual.
Se forem dados argumentos, esta função define a velocidade do servo:
speedé a velocidade para alterar, entre -100 e 100.timeé o número de milissegundos para atingir a velocidade especificada. Se omitido, o servo acelera o mais rapidamente possível.
- pulse_width(value: int | None = None) int | None¶
Se não forem dados argumentos, esta função devolve o valor atual da largura de impulso direta.
Se for dado um argumento, esta função define o valor da largura de impulso direta.
- 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¶
Se não forem dados argumentos, esta função devolve os dados de calibração atuais, como uma tupla de 5 elementos.
Se forem dados argumentos, esta função define a calibração de temporização:
pulse_miné a largura de impulso mínima permitida.pulse_maxé a largura de impulso máxima permitida.pulse_centreé a largura de impulso correspondente à posição central/zero.pulse_angle_90é a largura de impulso correspondente a 90 graus.pulse_speed_100é a largura de impulso correspondente a uma velocidade de 100.