มอเตอร์ Victor 883#

การแนะนำ#

คลาส motor_victor ใช้สำหรับควบคุมตัวควบคุมมอเตอร์ Victor 883 ที่เชื่อมต่อกับพอร์ต 3 สาย ตัวควบคุมมอเตอร์ Victor 883 ส่งสัญญาณ PWM จาก V5 Brain เพื่อควบคุมมอเตอร์ DC ที่ใช้งานร่วมกันได้กับ VEXpro หรือ VEX EDR ซึ่งไม่สามารถเชื่อมต่อโดยตรงกับ Smart Ports ได้

ตัวควบคุมมอเตอร์ Victor 883 ไม่สามารถตั้งค่าใน VEXcode ได้ และต้องสร้างขึ้นด้วยตนเองในโค้ดเพื่อใช้งาน

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

1 — สร้างอ็อบเจ็กต์ motor_victor motor_victor มอเตอร์ Victor 883 ที่เชื่อมต่อกับพอร์ต 3 สายที่ระบุ

motor_victor( triport::port& port );

2 — สร้างอ็อบเจ็กต์ motor_victor จำนวน ตัวบนพอร์ต 3 สายที่ระบุ และสามารถกลับทิศทางการหมุนได้ตามต้องการ

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

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

ทำลายอ็อบเจ็กต์ motor_victor และปล่อยทรัพยากรที่เกี่ยวข้อง

~motor_victor();

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

พารามิเตอร์

พิมพ์

คำอธิบาย

port

triport::port&

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

reverse

bool

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

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

ตัวอย่าง#

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

// Create the motor_victor instance with reversed direction
motor_victor victor2 = motor_victor(Brain.ThreeWirePort.B, true);

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

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

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

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

  • setVelocity — บอกมอเตอร์ให้หมุนเร็วแค่ไหน

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

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

/* This constructor is required to use a
Victor 883 Motor. Replace the values
as needed. */

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

spin#

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

Available Functions

1 — หมุนมอเตอร์โดยใช้ความเร็วของมอเตอร์ที่ตั้งค่าไว้ในปัจจุบัน

void spin(
 directionType dir );

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

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

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

dir

directionType

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

velocity

double

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

units

velocityUnits

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

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

Return Values

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

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

Examples
// Spin forward, then stop
victor.spin(forward);
wait(1, seconds);
victor.stop();

// Spin forward at 100 rpm
victor.spin(forward, 100, rpm);
wait(1, seconds);
victor.stop();

stop#

หยุดมอเตอร์ไม่ให้หมุน

Available Functions
void stop();

Parameters

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

Return Values

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

Notes
  • การกดปุ่ม stop จะหยุดการเคลื่อนไหวของมอเตอร์ทั้งหมดทันที

Examples
// Spin and then stop
victor.spin(forward);
wait(1, seconds);
victor.stop();

setVelocity#

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

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

Available Functions
void setVelocity(
    double       velocity,
    percentUnits units );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

velocity

double

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

units

percentUnits

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

Return Values

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

Notes
  • ฟังก์ชันการเคลื่อนที่ของมอเตอร์ Victor 883 ใดๆ ในภายหลัง (เช่น spin) ที่ไม่ได้ระบุความเร็วอย่างชัดเจนจะใช้ค่านี้

Examples
// Set velocity to 50%, then spin
victor.setVelocity(50, percent);
victor.spin(forward);

setReversed#

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

Available Functions
void setReversed( bool value );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

value

bool

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

  • true — กลับทิศทางการหมุนของมอเตอร์
  • false — กลับไปใช้ทิศทางการหมุนปกติ

Return Values

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

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

Examples
// Reverse the motor direction
victor.setReversed(true);
victor.spin(forward); // Will actually spin in reverse