class Servo – pilote de servomoteur de loisir à 3 fils¶
Les objets Servo contrôlent des servomoteurs de loisir standard à 3 fils (masse, alimentation, signal).
Exemple d’utilisation
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)
Note
Les objets Servo utilisent Timer(5) pour produire la sortie PWM. Vous pouvez utiliser Timer(5) pour le contrôle des servos, ou pour vos propres besoins, mais pas les deux en même temps.
Constructeurs¶
- class pyb.Servo(id: int)¶
Crée un objet servo.
idest le numéro de canal de servo basé sur 1 ; chaque canal est câblé à une broche fixe du connecteur et le nombre de canaux dépend de l’OpenMV Cam :Caméra
Servo(1)
Servo(2)
Servo(3)
OpenMV Cam M7 / H7
P7P8P9OpenMV Cam M4 / H7 Plus / Pure Thermal
P7P8–
pyb.Servon’est pas disponible sur l’OpenMV Cam N6.Méthodes¶
- angle(angle: int | None = None, time: int = 0) int | None¶
Si aucun argument n’est fourni, cette fonction retourne l’angle actuel.
Si des arguments sont fournis, cette fonction définit l’angle du servo :
angleest l’angle vers lequel se déplacer, en degrés.timeest le nombre de millisecondes à prendre pour atteindre l’angle spécifié. S’il est omis, alors le servo se déplace aussi rapidement que possible vers sa nouvelle position.
- speed(speed: int | None = None, time: int = 0) int | None¶
Si aucun argument n’est fourni, cette fonction retourne la vitesse actuelle.
Si des arguments sont fournis, cette fonction définit la vitesse du servo :
speedest la vitesse vers laquelle changer, entre -100 et 100.timeest le nombre de millisecondes à prendre pour atteindre la vitesse spécifiée. S’il est omis, alors le servo accélère aussi rapidement que possible.
- pulse_width(value: int | None = None) int | None¶
Si aucun argument n’est fourni, cette fonction retourne la valeur brute actuelle de largeur d’impulsion.
Si un argument est fourni, cette fonction définit la valeur brute de largeur d’impulsion.
- 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 aucun argument n’est fourni, cette fonction retourne les données de calibration actuelles, sous forme de 5-uplet.
Si des arguments sont fournis, cette fonction définit la calibration de la temporisation :
pulse_minest la largeur d’impulsion minimale autorisée.pulse_maxest la largeur d’impulsion maximale autorisée.pulse_centreest la largeur d’impulsion correspondant à la position centre/zéro.pulse_angle_90est la largeur d’impulsion correspondant à 90 degrés.pulse_speed_100est la largeur d’impulsion correspondant à une vitesse de 100.