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
P7P8P9OpenMV Cam M4 / H7 Plus / Pure Thermal
P7P8–
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.