Động cơ Victor 883#

Giới thiệu#

Lớp motor_victor được sử dụng để điều khiển Bộ điều khiển động cơ Victor 883 được kết nối với Cổng 3 dây. Bộ điều khiển động cơ Victor 883 gửi tín hiệu PWM từ EXP Brain để điều khiển các động cơ DC VEXpro hoặc VEX EDR tương thích mà không thể kết nối trực tiếp với Cổng thông minh.

Bộ điều khiển động cơ Victor 883 không thể được cấu hình trong VEXcode và phải được xây dựng thủ công trong mã lập trình để có thể sử dụng được.

Hàm tạo lớp#

1 — Tạo một đối tượng motor_victor cho Bộ điều khiển động cơ Victor 883 được kết nối với Cổng 3 dây được chỉ định.

motor_victor( triport::port& port );

2 — Tạo một đối tượng motor_victor trên Cổng 3 dây được chỉ định và tùy chọn đảo chiều của nó.

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

Lớp Destructor#

Hủy đối tượng motor_victor và giải phóng các tài nguyên liên quan.

~motor_victor();

Thông số#

Tham số

Kiểu

Sự miêu tả

port

triport::port&

Cổng 3 dây mà động cơ Victor 883 được kết nối, được viết là Brain.ThreeWirePort.X hoặc ExpanderName.X, trong đó X là ký tự của cổng (ví dụ: Brain.ThreeWirePort.A hoặc Expander1.A).

reverse

bool

Thiết lập xem hướng quay của động cơ có bị đảo ngược hay không:

  • false (mặc định) — Không đảo ngược hướng quay của động cơ.
  • true — Đảo ngược hướng quay của động cơ.

Ví dụ#

// 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);

Chức năng thành viên#

Lớp motor_victor bao gồm các hàm thành viên sau:

  • spin — Quay động cơ theo hướng được chỉ định.

  • stop — Dừng động cơ.

  • setVelocity — Cho động cơ biết tốc độ quay.

  • setReversed — Đặt hướng quay của động cơ có bị đảo ngược hay không.

Trước khi gọi bất kỳ hàm thành viên nào của motor_victor , cần phải tạo một thể hiện motor_victor , như được hiển thị bên dưới:

/* 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#

Làm cho động cơ quay theo hướng đã chỉ định mãi mãi.

Available Functions

1 — Quay động cơ bằng tốc độ động cơ hiện đang được cấu hình.

void spin(
 directionType dir );

2 — Quay động cơ với vận tốc đã chỉ định.

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

Parameters

Tham số

Kiểu

Sự miêu tả

dir

directionType

Hướng quay của động cơ: forward hoặc reverse.

velocity

double

Tốc độ quay từ 0% đến 100% khi sử dụng percent.

units

velocityUnits

Đơn vị vận tốc:

  • percent phần trăm pct
  • vòng/phútrpm vòng/phút
  • dps — độ/giây

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Động cơ sẽ tiếp tục quay cho đến khi stop được gọi hoặc một chức năng chuyển động khác được thực thi.

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#

Ngăn động cơ quay.

Available Functions
void stop();

Parameters

Hàm này không chấp nhận bất kỳ tham số nào.

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Gọi lệnh stop sẽ ngay lập tức dừng mọi chuyển động hiện tại của động cơ.

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

setVelocity#

Thông số này cho biết tốc độ quay của động cơ. Tỷ lệ phần trăm càng cao thì động cơ càng quay nhanh, tỷ lệ phần trăm càng thấp thì động cơ càng quay chậm.

Mỗi dự án đều bắt đầu với việc mỗi động cơ được kết nối quay ở tốc độ 50% theo mặc định.

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

Parameters

Tham số

Kiểu

Sự miêu tả

velocity

double

Tốc độ quay từ 0% đến 100% khi sử dụng percent.

units

percentUnits

Đơn vị vận tốc:percent phần pct phần trăm

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Bất kỳ chức năng chuyển động nào của Động cơ Victor 883 sau đó (chẳng hạn như spin) mà không chỉ định rõ vận tốc sẽ sử dụng giá trị này.

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

setReversed#

Thiết lập hướng quay của động cơ, có thể đảo chiều hoặc không.

Available Functions
void setReversed( bool value );

Parameters

Tham số

Kiểu

Sự miêu tả

value

bool

Liệu hướng quay của động cơ có bị đảo ngược hay không:

  • true — Đảo ngược hướng quay của động cơ.
  • false — Khôi phục hướng quay của động cơ về mặc định.

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Điều này tương đương với việc thay đổi tham số reverse trong hàm tạo.

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