class Servo – driver per servo hobby a 3 fili¶
Gli oggetti Servo controllano i normali servomotori hobby a 3 fili (massa, alimentazione, segnale).
Esempio di utilizzo:
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
Gli oggetti Servo usano Timer(5) per produrre l’uscita PWM. È possibile usare Timer(5) per il controllo dei Servo, oppure per i propri scopi, ma non entrambe le cose contemporaneamente.
Costruttori¶
- class pyb.Servo(id: int)¶
Crea un oggetto servo.
idè il numero del canale del servo a base 1; ogni canale è cablato a un pin fisso del connettore e il numero di canali dipende dalla OpenMV Cam:Camera
Servo(1)
Servo(2)
Servo(3)
OpenMV Cam M7 / H7
P7P8P9OpenMV Cam M4 / H7 Plus / Pure Thermal
P7P8–
pyb.Servonon è disponibile sulla OpenMV Cam N6.Metodi¶
- angle(angle: int | None = None, time: int = 0) int | None¶
Se non vengono forniti argomenti, questa funzione restituisce l’angolo corrente.
Se vengono forniti argomenti, questa funzione imposta l’angolo del servo:
angleè l’angolo verso cui spostarsi, in gradi.timeè il numero di millisecondi da impiegare per raggiungere l’angolo specificato. Se omesso, il servo si sposta il più rapidamente possibile verso la sua nuova posizione.
- speed(speed: int | None = None, time: int = 0) int | None¶
Se non vengono forniti argomenti, questa funzione restituisce la velocità corrente.
Se vengono forniti argomenti, questa funzione imposta la velocità del servo:
speedè la velocità a cui passare, compresa tra -100 e 100.timeè il numero di millisecondi da impiegare per raggiungere la velocità specificata. Se omesso, il servo accelera il più rapidamente possibile.
- pulse_width(value: int | None = None) int | None¶
Se non vengono forniti argomenti, questa funzione restituisce il valore grezzo corrente della larghezza dell’impulso.
Se viene fornito un argomento, questa funzione imposta il valore grezzo della larghezza dell’impulso.
- 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 non vengono forniti argomenti, questa funzione restituisce i dati di calibrazione correnti, come una tupla di 5 elementi.
Se vengono forniti argomenti, questa funzione imposta la calibrazione delle temporizzazioni:
pulse_minè la larghezza minima consentita dell’impulso.pulse_maxè la larghezza massima consentita dell’impulso.pulse_centreè la larghezza dell’impulso corrispondente alla posizione centrale/zero.pulse_angle_90è la larghezza dell’impulso corrispondente a 90 gradi.pulse_speed_100è la larghezza dell’impulso corrispondente a una velocità di 100.