klasa Servo – upravljački program za 3-žični hobi servo

Servo objekti upravljaju standardnim hobi servo motorima s 3 žice (masa, napajanje, signal).

Primjer korištenja:

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)

Napomena

Servo objekti koriste Timer(5) za stvaranje PWM izlaza. Možete koristiti Timer(5) za upravljanje servom ili za vlastite svrhe, ali ne oboje istovremeno.

Konstruktori

class pyb.Servo(id: int)

Stvara servo objekt. id je broj servo kanala koji počinje od 1; svaki je kanal spojen na fiksni pin zaglavlja, a broj kanala ovisi o OpenMV Cam kameri:

Kamera

Servo(1)

Servo(2)

Servo(3)

OpenMV Cam M7 / H7

P7

P8

P9

OpenMV Cam M4 / H7 Plus / Pure Thermal

P7

P8

pyb.Servo nije dostupan na OpenMV Cam N6.

Metode

angle(angle: int | None = None, time: int = 0) int | None

Ako nisu zadani argumenti, ova funkcija vraća trenutni kut.

Ako su zadani argumenti, ova funkcija postavlja kut serva:

  • angle je kut na koji se treba pomaknuti u stupnjevima.

  • time je broj milisekundi za dolazak do zadanog kuta. Ako je izostavljen, tada se servo pomiče što je brže moguće na svoj novi položaj.

speed(speed: int | None = None, time: int = 0) int | None

Ako nisu zadani argumenti, ova funkcija vraća trenutnu brzinu.

Ako su zadani argumenti, ova funkcija postavlja brzinu serva:

  • speed je brzina na koju se treba promijeniti, između -100 i 100.

  • time je broj milisekundi za dolazak do zadane brzine. Ako je izostavljen, tada servo ubrzava što je brže moguće.

pulse_width(value: int | None = None) int | None

Ako nisu zadani argumenti, ova funkcija vraća trenutnu neobrađenu vrijednost širine impulsa.

Ako je zadan argument, ova funkcija postavlja neobrađenu vrijednost širine impulsa.

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

Ako nisu zadani argumenti, ova funkcija vraća trenutne podatke kalibracije kao 5-torku.

Ako su zadani argumenti, ova funkcija postavlja kalibraciju vremena:

  • pulse_min je minimalna dopuštena širina impulsa.

  • pulse_max je maksimalna dopuštena širina impulsa.

  • pulse_centre je širina impulsa koja odgovara središnjem/nultom položaju.

  • pulse_angle_90 je širina impulsa koja odgovara 90 stupnjeva.

  • pulse_speed_100 je širina impulsa koja odgovara brzini od 100.