الصنف Servo -- مشغّل سيرفو هواية ثلاثي الأسلاك

تتحكم كائنات Servo في محركات سيرفو الهواية القياسية ذات الأسلاك الثلاثة (الأرضي، الطاقة، الإشارة).

مثال على الاستخدام:

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)

ملاحظة

تستخدم كائنات Servo المؤقت Timer(5) لإنتاج خرج PWM. يمكنك استخدام Timer(5) للتحكم في السيرفو، أو لأغراضك الخاصة، لكن ليس كليهما في الوقت نفسه.

المُنشئات

class pyb.Servo(id: int)

إنشاء كائن سيرفو. إن id هو رقم قناة السيرفو المعتمد على الأساس 1؛ تكون كل قناة موصولة بدبوس ترويسة ثابت ويعتمد عدد القنوات على كاميرا OpenMV Cam:

الكاميرا

Servo(1)

Servo(2)

Servo(3)

OpenMV Cam M7 / H7

P7

P8

P9

OpenMV Cam M4 / H7 Plus / Pure Thermal

P7

P8

--

إن pyb.Servo غير متاح على OpenMV Cam N6.

الطرق

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

إذا لم تُقدّم أي وسائط، تُرجع هذه الدالة الزاوية الحالية.

إذا قُدمت وسائط، تضبط هذه الدالة زاوية السيرفو:

  • إن angle هي الزاوية المراد التحرك إليها بالدرجات.

  • إن time هي عدد الميلي ثوانٍ المستغرقة للوصول إلى الزاوية المحددة. إذا حُذفت، يتحرك السيرفو بأسرع ما يمكن إلى موضعه الجديد.

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

إذا لم تُقدّم أي وسائط، تُرجع هذه الدالة السرعة الحالية.

إذا قُدمت وسائط، تضبط هذه الدالة سرعة السيرفو:

  • إن speed هي السرعة المراد التغيير إليها، بين -100 و 100.

  • إن time هي عدد الميلي ثوانٍ المستغرقة للوصول إلى السرعة المحددة. إذا حُذفت، يتسارع السيرفو بأسرع ما يمكن.

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

إذا لم تُقدّم أي وسائط، تُرجع هذه الدالة قيمة عرض النبضة الخام الحالية.

إذا قُدمت وسيطة، تضبط هذه الدالة قيمة عرض النبضة الخام.

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

إذا لم تُقدّم أي وسائط، تُرجع هذه الدالة بيانات المعايرة الحالية، على هيئة صف (tuple) من 5 عناصر.

إذا قُدمت وسائط، تضبط هذه الدالة معايرة التوقيت:

  • إن pulse_min هو الحد الأدنى المسموح به لعرض النبضة.

  • إن pulse_max هو الحد الأقصى المسموح به لعرض النبضة.

  • إن pulse_centre هو عرض النبضة المقابل لموضع المركز/الصفر.

  • إن pulse_angle_90 هو عرض النبضة المقابل لـ 90 درجة.

  • إن pulse_speed_100 هو عرض النبضة المقابل لسرعة 100.