class Servo – 3 telli hobi servo sürücüsü¶
Servo nesneleri, 3 telli (toprak, güç, sinyal) standart hobi servo motorlarını denetler.
Örnek kullanım:
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
Servo nesneleri, PWM çıkışını üretmek için Timer(5) kullanır. Timer(5)’i Servo denetimi için ya da kendi amaçlarınız için kullanabilirsiniz, ancak ikisini aynı anda kullanamazsınız.
Yapıcılar¶
- class pyb.Servo(id: int)¶
Bir servo nesnesi oluşturur.
id, 1 tabanlı servo kanal numarasıdır; her kanal sabit bir başlık pinine bağlıdır ve kanal sayısı OpenMV Cam’e bağlıdır:Kamera
Servo(1)
Servo(2)
Servo(3)
OpenMV Cam M7 / H7
P7P8P9OpenMV Cam M4 / H7 Plus / Pure Thermal
P7P8–
pyb.Servo, OpenMV Cam N6 üzerinde kullanılamaz.Yöntemler¶
- angle(angle: int | None = None, time: int = 0) int | None¶
Argüman verilmezse, bu işlev geçerli açıyı döndürür.
Argümanlar verilirse, bu işlev servonun açısını ayarlar:
angle, derece cinsinden hareket edilecek açıdır.time, belirtilen açıya ulaşmak için harcanacak milisaniye sayısıdır. Atlanırsa servo, yeni konumuna olabildiğince hızlı hareket eder.
- speed(speed: int | None = None, time: int = 0) int | None¶
Argüman verilmezse, bu işlev geçerli hızı döndürür.
Argümanlar verilirse, bu işlev servonun hızını ayarlar:
speed, -100 ile 100 arasında değiştirilecek hızdır.time, belirtilen hıza ulaşmak için harcanacak milisaniye sayısıdır. Atlanırsa servo, olabildiğince hızlı ivmelenir.
- pulse_width(value: int | None = None) int | None¶
Argüman verilmezse, bu işlev geçerli ham darbe genişliği değerini döndürür.
Bir argüman verilirse, bu işlev ham darbe genişliği değerini ayarlar.
- 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¶
Argüman verilmezse, bu işlev geçerli kalibrasyon verilerini 5 öğeli bir demet olarak döndürür.
Argümanlar verilirse, bu işlev zamanlama kalibrasyonunu ayarlar:
pulse_min, izin verilen minimum darbe genişliğidir.pulse_max, izin verilen maksimum darbe genişliğidir.pulse_centre, merkez/sıfır konumuna karşılık gelen darbe genişliğidir.pulse_angle_90, 90 dereceye karşılık gelen darbe genişliğidir.pulse_speed_100, 100 hızına karşılık gelen darbe genişliğidir.