มอเตอร์เซอร์โว#

การแนะนำ#

คลาส servo ใช้สำหรับควบคุมและกำหนดค่ามอเตอร์เซอร์โว EXP 3-Wire มอเตอร์เซอร์โว EXP 3-Wire ให้การควบคุมตามตำแหน่งภายในช่วงการเคลื่อนที่ที่กำหนดไว้

มอเตอร์เซอร์โว EDR VEX

ตัวสร้างคลาส#

servo( triport::port& port );

ตัวทำลายคลาส#

ทำลายวัตถุ servo และปล่อยทรัพยากรที่เกี่ยวข้อง

~servo();

พารามิเตอร์#

พารามิเตอร์

พิมพ์

คำอธิบาย

port

triport::port&

พอร์ต 3 สายที่เชื่อมต่อกับมอเตอร์เซอร์โว เขียนเป็น Brain.ThreeWirePort.X หรือ ExpanderName.Xโดยที่ X คือตัวอักษรของพอร์ต (ตัวอย่างเช่น Brain.ThreeWirePort.A หรือ Expander1.A)

ตัวอย่าง#

// Create the servo instance on 3-Wire Port A
servo myServo = servo(Brain.ThreeWirePort.A);

ฟังก์ชันสมาชิก#

คลาส servo ประกอบด้วยฟังก์ชันสมาชิกต่อไปนี้:

  • setPosition — ย้ายมอเตอร์เซอร์โวไปยังตำแหน่งที่กำหนด

ก่อนเรียกใช้ฟังก์ชันสมาชิก servo ใดๆ จะต้องสร้างอินสแตนซ์ servo ก่อน ดังแสดงด้านล่าง:

/* This constructor is required when using VS Code.
Servo configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create the servo instance on 3-Wire Port A
servo myServo = servo(Brain.ThreeWirePort.A);

setPosition#

เคลื่อนมอเตอร์เซอร์โวไปยังตำแหน่งที่กำหนด

แผนภาพมอเตอร์เซอร์โวแสดงองศาการหมุนได้ตั้งแต่ 100 ถึง 0 องศา

Available Functions

1 — กำหนดตำแหน่งเซอร์โวโดยใช้ค่าเปอร์เซ็นต์

void setPosition(
 int32_t value,
 percentUnits units );

2 — กำหนดตำแหน่งของเซอร์โวโดยใช้หน่วยการหมุน

void setPosition(
 double value,
 rotationUnits units );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

value

int32_t

ค่าตำแหน่งเซอร์โวเมื่อใช้หน่วยเป็นเปอร์เซ็นต์

value

double

ค่าตำแหน่งเซอร์โวเมื่อใช้หน่วยการหมุน

units

percentUnits

หน่วยตำแหน่ง: percent pct เปอร์เซ็นต์

units

rotationUnits

The position unit:

  • deg / degrees — degrees
  • turns / rev — revolutions

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • เมื่อใช้หน่วยเป็นเปอร์เซ็นต์ ช่วงค่าที่ถูกต้องคือ 0 – 100%

  • มอเตอร์เซอร์โวจะเริ่มต้นแต่ละโปรเจกต์ด้วยการปรับตำแหน่งตัวเองให้อยู่ตรงกลางที่ 50 องศาโดยอัตโนมัติก่อนที่จะทำการเคลื่อนไหวใดๆ

  • เมื่อใช้หน่วยการหมุน เซอร์โวจะเคลื่อนที่ไปยังตำแหน่งสัมบูรณ์ที่ระบุไว้

Examples
// Set the servo position to 10 percent
myServo.setPosition(10, percent);

// Set the servo position to 45.5 degrees
myServo.setPosition(45.5, degrees);

// Set the servo position to 90 degrees
myServo.setPosition(90, degrees);