lớp Servo -- trình điều khiển servo hobby 3 dây¶
Các đối tượng Servo điều khiển các động cơ servo hobby tiêu chuẩn với 3 dây (đất, nguồn, tín hiệu).
Ví dụ sử dụng:
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)
Ghi chú
Các đối tượng Servo sử dụng Timer(5) để tạo ra đầu ra PWM. Bạn có thể dùng Timer(5) cho điều khiển Servo hoặc cho mục đích của riêng bạn, nhưng không phải cả hai cùng một lúc.
Hàm khởi tạo¶
- class pyb.Servo(id: int)¶
Tạo một đối tượng servo.
idlà số kênh servo bắt đầu từ 1; mỗi kênh được kết nối với một chân header cố định và số kênh phụ thuộc vào OpenMV Cam:Camera
Servo(1)
Servo(2)
Servo(3)
OpenMV Cam M7 / H7
P7P8P9OpenMV Cam M4 / H7 Plus / Pure Thermal
P7P8--
pyb.Servokhông có sẵn trên OpenMV Cam N6.Phương thức¶
- angle(angle: int | None = None, time: int = 0) int | None¶
Nếu không có đối số nào được cho, hàm này trả về góc hiện tại.
Nếu có đối số được cho, hàm này đặt góc của servo:
anglelà góc cần di chuyển đến tính bằng độ.timelà số mili giây cần thiết để đạt đến góc được chỉ định. Nếu bỏ qua, servo di chuyển đến vị trí mới càng nhanh càng tốt.
- speed(speed: int | None = None, time: int = 0) int | None¶
Nếu không có đối số nào được cho, hàm này trả về tốc độ hiện tại.
Nếu có đối số được cho, hàm này đặt tốc độ của servo:
speedlà tốc độ cần thay đổi đến, trong khoảng từ -100 đến 100.timelà số mili giây cần thiết để đạt đến tốc độ được chỉ định. Nếu bỏ qua, servo tăng tốc càng nhanh càng tốt.
- pulse_width(value: int | None = None) int | None¶
Nếu không có đối số nào được cho, hàm này trả về giá trị độ rộng xung thô hiện tại.
Nếu có một đối số được cho, hàm này đặt giá trị độ rộng xung thô.
- 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¶
Nếu không có đối số nào được cho, hàm này trả về dữ liệu hiệu chỉnh hiện tại, dưới dạng tuple 5 phần tử.
Nếu có đối số được cho, hàm này đặt việc hiệu chỉnh thời gian:
pulse_minlà độ rộng xung tối thiểu được phép.pulse_maxlà độ rộng xung tối đa được phép.pulse_centrelà độ rộng xung tương ứng với vị trí trung tâm/không.pulse_angle_90là độ rộng xung tương ứng với 90 độ.pulse_speed_100là độ rộng xung tương ứng với tốc độ 100.