clasa Servo – driver pentru servo hobby cu 3 fire¶
Obiectele Servo controlează servomotoare standard de tip hobby cu 3 fire (masă, alimentare, semnal).
Exemplu de utilizare:
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)
Notă
Obiectele Servo folosesc Timer(5) pentru a produce ieșirea PWM. Puteți folosi Timer(5) pentru controlul Servo, sau pentru propriile scopuri, dar nu ambele în același timp.
Constructori¶
- class pyb.Servo(id: int)¶
Creează un obiect servo.
ideste numărul canalului servo, cu numărare de la 1; fiecare canal este conectat la un pin fix de pe header, iar numărul de canale depinde de camera OpenMV Cam:Cameră
Servo(1)
Servo(2)
Servo(3)
OpenMV Cam M7 / H7
P7P8P9OpenMV Cam M4 / H7 Plus / Pure Thermal
P7P8–
pyb.Servonu este disponibil pe OpenMV Cam N6.Metode¶
- angle(angle: int | None = None, time: int = 0) int | None¶
Dacă nu sunt furnizate argumente, această funcție returnează unghiul curent.
Dacă sunt furnizate argumente, această funcție setează unghiul servomotorului:
angleeste unghiul la care se deplasează, în grade.timeeste numărul de milisecunde necesar pentru a ajunge la unghiul specificat. Dacă este omis, atunci servomotorul se deplasează cât mai rapid posibil către noua poziție.
- speed(speed: int | None = None, time: int = 0) int | None¶
Dacă nu sunt furnizate argumente, această funcție returnează viteza curentă.
Dacă sunt furnizate argumente, această funcție setează viteza servomotorului:
speedeste viteza la care se schimbă, între -100 și 100.timeeste numărul de milisecunde necesar pentru a ajunge la viteza specificată. Dacă este omis, atunci servomotorul accelerează cât mai rapid posibil.
- pulse_width(value: int | None = None) int | None¶
Dacă nu sunt furnizate argumente, această funcție returnează valoarea brută curentă a lățimii impulsului.
Dacă este furnizat un argument, această funcție setează valoarea brută a lățimii impulsului.
- 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¶
Dacă nu sunt furnizate argumente, această funcție returnează datele de calibrare curente, sub forma unui tuplu cu 5 elemente.
Dacă sunt furnizate argumente, această funcție setează calibrarea temporizării:
pulse_mineste lățimea minimă permisă a impulsului.pulse_maxeste lățimea maximă permisă a impulsului.pulse_centreeste lățimea impulsului corespunzătoare poziției centrale/zero.pulse_angle_90este lățimea impulsului corespunzătoare a 90 de grade.pulse_speed_100este lățimea impulsului corespunzătoare unei viteze de 100.