class Servo – נהג סרוו תחביבי בעל 3 חוטים

אובייקטי Servo שולטים במנועי סרוו תחביביים סטנדרטיים בעלי 3 חוטים (הארקה, מתח, אות).

דוגמת שימוש:

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.