มอเตอร์ 393 (ตัวควบคุมมอเตอร์ 29)#

การแนะนำ#

คลาส motor29 ใช้สำหรับควบคุมตัวควบคุมมอเตอร์ 29 ที่เชื่อมต่อกับ พอร์ต 3 สาย ตัวควบคุมมอเตอร์ 29 ส่งสัญญาณ PWM จาก EXP Brain เพื่อใช้งานมอเตอร์ VEX 393

ตัวควบคุมมอเตอร์ VEX 29.

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

1 — สร้างอ็อบเจ็กต์ motor29 บนพอร์ต 3 สายที่ระบุ

motor29(
    triport::port &port );

2 — สร้างวัตถุ motor29 บนพอร์ต 3 สายที่ระบุ และเปลี่ยนทิศทางการหมุนบวก

motor29(
    triport::port &port,
    bool           reverse );

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

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

~motor29();

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

พารามิเตอร์

พิมพ์

คำอธิบาย

port

triport::port&

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

reverse

bool

ตั้งค่าว่าจะกลับทิศทางการหมุนของมอเตอร์หรือไม่:

  • false (ค่าเริ่มต้น) — ไม่กลับทิศทางการหมุนของมอเตอร์
  • true — กลับทิศทางการหมุนของมอเตอร์

ตัวอย่าง#

// Create a Motor Controller 29 instance in 3-Wire Port A
motor29 Motor393_A = motor29(
    Brain.ThreeWirePort.A );

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

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

  • สปิน — หมุนมอเตอร์ไปในทิศทางที่กำหนด

  • stop — หยุดมอเตอร์

  • setVelocity — สั่งให้มอเตอร์ 393 หมุนด้วยความเร็วเท่าใด

  • setReversed — ตั้งค่าว่าจะกลับทิศทางการหมุนของมอเตอร์หรือไม่

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

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

// Create a Motor Controller 29 instance in 3-Wire Port A
motor29 Motor393_A = motor29(
    Brain.ThreeWirePort.A );

spin#

หมุนมอเตอร์ 393 ไปในทิศทางที่กำหนดอย่างต่อเนื่อง

ฟังก์ชันที่ใช้งานได้

1 — หมุนโดยใช้ ความเร็วที่กำหนดค่าไว้ในปัจจุบัน

void spin(
 directionType dir );

2 — หมุนด้วยความเร็วที่กำหนด

void spin(
 directionType dir,
 double        velocity,
 velocityUnits units );

พารามิเตอร์

พารามิเตอร์

พิมพ์

คำอธิบาย

dir

directionType

ทิศทางการหมุนของมอเตอร์: forward หรือ reverse

velocity

double

ความเร็วในการหมุนตั้งแต่ 0% ถึง 100% เมื่อใช้ percent

units

velocityUnits

หน่วยความเร็ว:

  • percent pct เปอร์เซ็นต์
  • rpm รอบต่อนาที
  • dps องศาต่อวินาที

ค่าที่ส่งคืน

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

หมายเหตุ

  • ฟังก์ชันนี้ไม่ต้องรอ และโปรเจ็กต์จะดำเนินการต่อทันทีหลังจากเรียกใช้ฟังก์ชันเสร็จสิ้น

  • มอเตอร์ 393 จะหมุนต่อไปจนกว่าจะมีการเรียก stop หรือใช้การหมุน spin อีกครั้ง

stop#

หยุดการทำงานของมอเตอร์

ฟังก์ชันที่ใช้งานได้

void stop();

พารามิเตอร์

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

ค่าที่ส่งคืน

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

setVelocity#

คำสั่งนี้จะบอกมอเตอร์ 393 ว่าควรหมุนเร็วแค่ไหน ค่าเปอร์เซ็นต์ที่สูงขึ้นจะทำให้มอเตอร์ 393 หมุนเร็วขึ้น และค่าเปอร์เซ็นต์ที่ต่ำลงจะทำให้มอเตอร์ 393 หมุนช้าลง

ทุกโปรเจกต์เริ่มต้นด้วยมอเตอร์ 393 แต่ละตัวหมุนด้วยความเร็ว 50% เป็นค่าเริ่มต้น

ฟังก์ชันที่ใช้งานได้

void setVelocity(
    double velocity,
    percentUnits units );

พารามิเตอร์

พารามิเตอร์

พิมพ์

คำอธิบาย

velocity

double

ความเร็วในการหมุนตั้งแต่ 0% ถึง 100% เมื่อใช้ percent

units

percentUnits

หน่วยความเร็ว:percent pct เปอร์เซ็นต์

ค่าที่ส่งคืน

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

setReversed#

ตั้งค่าว่าจะกลับทิศทางการหมุนของมอเตอร์หรือไม่

ฟังก์ชันที่ใช้งานได้

void setReversed(
    bool value );

พารามิเตอร์

พารามิเตอร์

พิมพ์

คำอธิบาย

value

bool

ทิศทางการหมุนของมอเตอร์ 393 กลับทิศทางหรือไม่:

  • true — กลับทิศทางการหมุนของมอเตอร์ 393
  • false — คืนทิศทางการหมุนของมอเตอร์ 393 กลับสู่ค่าเริ่มต้น

ค่าที่ส่งคืน

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

หมายเหตุ

  • การเรียก setReversed เหมือนกับการเปลี่ยนพารามิเตอร์ reverse ใน constructor