Cảm biến xoay#

Giới thiệu#

Lớp rotation được sử dụng để điều khiển và truy cập dữ liệu từ Cảm biến xoay EXP.

Cảm biến quay (Rotation Sensor) đo độ quay của trục. Nó có thể được sử dụng ở bất kỳ vị trí nào trên robot mà trục đang quay, ngay cả khi trục đó không được kết nối trực tiếp với động cơ.

Động cơ có bộ mã hóa tích hợp có thể theo dõi chuyển động quay của chính nó. Cảm biến quay hoạt động như một bộ mã hóa bên ngoài có thể theo dõi chuyển động quay của một trục riêng biệt.

Cảm biến quay có thể trả về góc quay, vị trí và vận tốc của trục. Góc quay là vị trí tuyệt đối của trục từ 0 đến 359,99 độ. Nó không được đặt lại khi bắt đầu một dự án hoặc khi robot tắt nguồn. Vị trí theo dõi số độ hoặc số vòng quay mà trục đã quay về phía trước hoặc phía sau trong suốt một dự án, và nó có thể được đặt lại khi cần thiết.

Cảm biến xoay tương thích với trục VEX tiêu chuẩn 1/8 inch và 1/4 inch.

Hàm tạo lớp#

rotation(
    int32_t index,
    bool    reverse = false );

Lớp Destructor#

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

virtual ~rotation();

Thông số#

Tham số

Kiểu

Sự miêu tả

index

int32_t

Cổng thông minh mà Cảm biến xoay được kết nối, được viết dưới dạng PORTx, trong đó x là số cổng (ví dụ: PORT1).

reverse

bool

Tùy chọn. Có đảo ngược tín hiệu đầu ra của Cảm biến xoay hay không:

  • true — Đảo ngược hướng của các giá trị góc và vị trí được báo cáo.
  • false (mặc định) — Báo cáo các giá trị góc và vị trí theo hướng chuẩn.

Ví dụ#

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

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

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

  • setPosition — Đặt vị trí hiện tại của Cảm biến xoay thành một giá trị cụ thể.

  • angle — Trả về góc hiện tại của trục từ 0 đến 359,99 độ.

  • position — Trả về mức độ quay của trục tính bằng độ hoặc vòng.

  • velocity — Trả về tốc độ quay của trục.

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

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

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

setPosition#

Thiết lập vị trí hiện tại của cảm biến xoay thành một giá trị cụ thể.

Vị trí thể hiện mức độ quay của trục trong suốt quá trình thực hiện dự án. Việc thiết lập vị trí sẽ thay đổi giá trị vị trí hiện tại mà không cần di chuyển trục.

Available Functions
void setPosition(
    double        value,
    rotationUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

value

double

Giá trị vị trí cần gán cho cảm biến xoay. Giá trị này có thể là số nguyên hoặc số thập phân.

units

rotationUnits

The position unit:

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

Return Values

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

angle#

Trả về góc hiện tại của trục.

Biến Angle hiển thị vị trí tuyệt đối của trục trong một vòng quay, từ 0 đến 359,99 độ. Biến này không được đặt lại khi bắt đầu một dự án hoặc khi robot tắt nguồn.

Available Functions
double angle( rotationUnits units = degrees );

Parameters

Tham số

Kiểu

Sự miêu tả

units

rotationUnits

Optional. The angle unit:

  • deg / degrees (default) — degrees
  • turns / rev — turns

Return Values

Trả về giá trị double , biểu thị góc quay hiện tại của trục theo đơn vị đã chỉ định.

Examples
// Get the current angle of the shaft
  double angle = Rotation1.angle(degrees);

  // Print the current angle of the shaft to the
  // Brain's screen.
  Brain.Screen.print(angle);

position#

Trả về số vòng quay của trục.

Khác với góc, vị trí có thể tăng quá 359,99 độ hoặc giảm xuống dưới 0 độ. Vị trí theo dõi mức độ quay của trục về phía trước hoặc phía sau trong suốt quá trình thực hiện dự án và có thể được thiết lập lại khi cần thiết.

Available Functions
double position( rotationUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

units

rotationUnits

The position unit:

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

Return Values

Hàm trả về giá trị double , biểu thị mức độ quay của trục tính bằng đơn vị đã chỉ định.

velocity#

Trả về tốc độ quay của trục.

Available Functions
double velocity( velocityUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

units

velocityUnits

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

  • rpm — vòng/phút
  • dps — độ/giây

Return Values

Trả về giá trị double , biểu thị tốc độ quay của trục theo đơn vị đã chỉ định.