มอเตอร์ Victor 883#
การแนะนำ#
คลาส motor_victor ใช้สำหรับควบคุมตัวควบคุมมอเตอร์ Victor 883 ที่เชื่อมต่อกับพอร์ต 3 สาย ตัวควบคุมมอเตอร์ Victor 883 ส่งสัญญาณ PWM จาก EXP 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();
พารามิเตอร์#
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
พอร์ต 3 สายที่มอเตอร์ Victor 883 เชื่อมต่ออยู่ เขียนเป็น |
|
|
ตั้งค่าว่าจะกลับทิศทางการหมุนของมอเตอร์หรือไม่:
|
ตัวอย่าง#
// 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 Functions1 — หมุนมอเตอร์โดยใช้ความเร็วของมอเตอร์ที่ตั้งค่าไว้ในปัจจุบัน
void spin( directionType dir );
Parameters2 — หมุนมอเตอร์ด้วยความเร็วที่กำหนด
void spin( directionType dir, double velocity, velocityUnits units );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ทิศทางการหมุนของมอเตอร์: |
|
|
ความเร็วในการหมุนตั้งแต่ 0% ถึง 100% เมื่อใช้ |
|
|
หน่วยความเร็ว:
|
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesมอเตอร์จะหมุนต่อไปจนกว่าจะมีการเรียก
stopหรือมีการเรียกใช้ฟังก์ชันการเคลื่อนไหวอื่น
// 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 Functionsvoid stop();
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
Return Valuesฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesการกดปุ่ม
stopจะหยุดการเคลื่อนไหวของมอเตอร์ทั้งหมดทันที
// Spin and then stop
victor.spin(forward);
wait(1, seconds);
victor.stop();
setVelocity#
ตั้งค่านี้เพื่อกำหนดความเร็วในการหมุนของมอเตอร์ ค่าเปอร์เซ็นต์ที่สูงขึ้นจะทำให้มอเตอร์หมุนเร็วขึ้น และค่าเปอร์เซ็นต์ที่ต่ำลงจะทำให้มอเตอร์หมุนช้าลง
ทุกโปรเจกต์เริ่มต้นด้วยมอเตอร์ที่เชื่อมต่อแต่ละตัวหมุนด้วยความเร็ว 50% เป็นค่าเริ่มต้น
Available Functionsvoid setVelocity(
double velocity,
percentUnits units );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ความเร็วในการหมุนตั้งแต่ 0% ถึง 100% เมื่อใช้ |
|
|
หน่วยความเร็ว: |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesฟังก์ชันการเคลื่อนที่ของมอเตอร์ Victor 883 ใดๆ ในภายหลัง (เช่น
spin) ที่ไม่ได้ระบุความเร็วอย่างชัดเจนจะใช้ค่านี้
// Set velocity to 50%, then spin
victor.setVelocity(50, percent);
victor.spin(forward);
setReversed#
ตั้งค่าทิศทางการหมุนของมอเตอร์ว่าจะหมุนกลับทิศทางหรือไม่
Available Functionsvoid setReversed( bool value );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ทิศทางการหมุนของมอเตอร์กลับทิศทางหรือไม่:
|
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesนี่เหมือนกับการเปลี่ยนพารามิเตอร์
reverseใน constructor
// Reverse the motor direction
victor.setReversed(true);
victor.spin(forward); // Will actually spin in reverse