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)

Note

ออบเจกต์ Servo ใช้ Timer(5) เพื่อสร้างเอาต์พุต PWM คุณสามารถใช้ Timer(5) สำหรับการควบคุม Servo หรือวัตถุประสงค์ของคุณเอง แต่ไม่ใช่ทั้งสองพร้อมกัน

ตัวสร้าง

class pyb.Servo(id: int)

สร้างออบเจกต์ servo 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

หากไม่มีอาร์กิวเมนต์ ฟังก์ชันนี้คืนค่าข้อมูลการปรับเทียบปัจจุบัน เป็น 5-tuple

หากมีอาร์กิวเมนต์ ฟังก์ชันนี้ตั้งค่าการปรับเทียบเวลา:

  • pulse_min คือความกว้างพัลส์ขั้นต่ำที่อนุญาต

  • pulse_max คือความกว้างพัลส์สูงสุดที่อนุญาต

  • pulse_centre คือความกว้างพัลส์ที่สอดคล้องกับตำแหน่งกลาง/ศูนย์

  • pulse_angle_90 คือความกว้างพัลส์ที่สอดคล้องกับ 90 องศา

  • pulse_speed_100 คือความกว้างพัลส์ที่สอดคล้องกับความเร็ว 100