kelas Servo -- driver servo hobi 3-kabel¶
Objek Servo mengontrol motor servo hobi standar dengan 3 kabel (ground, daya, sinyal).
Contoh penggunaan:
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)
Catatan
Objek Servo menggunakan Timer(5) untuk menghasilkan output PWM. Anda dapat menggunakan Timer(5) untuk kontrol Servo, atau keperluan sendiri, tetapi tidak keduanya sekaligus.
Konstruktor¶
- class pyb.Servo(id: int)¶
Membuat objek servo.
idadalah nomor saluran servo berbasis 1; setiap saluran terhubung ke pin header yang tetap dan jumlah saluran bergantung pada OpenMV Cam:Kamera
Servo(1)
Servo(2)
Servo(3)
OpenMV Cam M7 / H7
P7P8P9OpenMV Cam M4 / H7 Plus / Pure Thermal
P7P8--
pyb.Servotidak tersedia pada OpenMV Cam N6.Metode¶
- angle(angle: int | None = None, time: int = 0) int | None¶
Jika tidak ada argumen yang diberikan, fungsi ini mengembalikan sudut saat ini.
Jika argumen diberikan, fungsi ini menetapkan sudut servo:
angleadalah sudut yang akan dituju dalam derajat.timeadalah jumlah milidetik yang diperlukan untuk mencapai sudut yang ditentukan. Jika dihilangkan, servo bergerak secepat mungkin ke posisi barunya.
- speed(speed: int | None = None, time: int = 0) int | None¶
Jika tidak ada argumen yang diberikan, fungsi ini mengembalikan kecepatan saat ini.
Jika argumen diberikan, fungsi ini menetapkan kecepatan servo:
speedadalah kecepatan yang akan diubah, antara -100 dan 100.timeadalah jumlah milidetik yang diperlukan untuk mencapai kecepatan yang ditentukan. Jika dihilangkan, servo mempercepat secepat mungkin.
- pulse_width(value: int | None = None) int | None¶
Jika tidak ada argumen yang diberikan, fungsi ini mengembalikan nilai lebar pulsa mentah saat ini.
Jika argumen diberikan, fungsi ini menetapkan nilai lebar pulsa mentah.
- 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¶
Jika tidak ada argumen yang diberikan, fungsi ini mengembalikan data kalibrasi saat ini, sebagai tuple 5 elemen.
Jika argumen diberikan, fungsi ini menetapkan kalibrasi timing:
pulse_minadalah lebar pulsa minimum yang diizinkan.pulse_maxadalah lebar pulsa maksimum yang diizinkan.pulse_centreadalah lebar pulsa yang sesuai dengan posisi tengah/nol.pulse_angle_90adalah lebar pulsa yang sesuai dengan 90 derajat.pulse_speed_100adalah lebar pulsa yang sesuai dengan kecepatan 100.