Cảm biến xoay#

Giới thiệu#

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.

Cảm biến xoay VEX EXP.

Trang này sử dụng rotation_sensor làm ví dụ về tên Cảm biến xoay. Hãy thay thế nó bằng tên đã cấu hình của riêng bạn nếu cần.

Dưới đây là danh sách các phương pháp có sẵn:

  • set_position — Đặ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.

  • reset_position — Đặt lại vị trí hiện tại của Cảm biến xoay về 0.

  • set_reversed — Đặt xem đầu ra của Cảm biến xoay có bị đảo ngược hay không.

  • changed — Đăng ký một hàm để chạy bất cứ khi nào giá trị của Cảm biến xoay thay đổi.

Hàm khởi tạo — Khởi tạo thủ công cảm biến xoay.

đặt vị trí#

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

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.

Usage:
rotation_sensor.set_position(position, units)

Thông số

Sự miêu tả

position

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

Tùy chọn. Đơn vị vị trí: DEGREES (mặc định) hoặc TURNS.

# Set the Rotation Sensor to 2.5 Turns
rotation_sensor.set_position(2.5, TURNS)

góc#

Góc angle trả về góc hiện tại của trục dưới dạng giá trị nổi.

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.

Usage:
rotation_sensor.angle(units)

Thông số

Sự miêu tả

units

Tùy chọn. Đơn vị góc: DEGREES (mặc định) hoặc TURNS.

chức vụ#

Vị trí 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.

Usage:
rotation_sensor.position(units)

Thông số

Sự miêu tả

units

Tùy chọn. Đơn vị vị trí: DEGREES (mặc định) hoặc TURNS.

vận tốc#

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

Usage:
rotation_sensor.velocity(units)

Thông số

Sự miêu tả

units

Đơn vị vận tốc: VelocityUnits.RPM (vòng/phút) hoặc VelocityUnits.DPS (độ/giây).

đặt lại vị trí#

reset_position đặt lại vị trí hiện tại của Cảm biến xoay về 0.

Usage:
rotation_sensor.reset_position()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

đặt_đảo ngược#

set_reversed thiết lập xem tín hiệu đầu ra của Cảm biến xoay có bị đảo ngược hay không.

Khi đảo ngược, các giá trị dương trở thành âm và các giá trị âm trở thành dương. Phương pháp này hoạt động giống như việc đặt tham số reverse thành True khi sử dụng Rotation hàm tạo.

Usage:
rotation_sensor.set_reversed(value)

Thông số

Sự miêu tả

value

Liệu có đảo ngược tín hiệu đầu ra của Cảm biến xoay hay không: True hoặc False.

đã thay đổi#

changed đăng ký một hàm sẽ được gọi bất cứ khi nào giá trị của Cảm biến Xoay thay đổi.

Usage:
rotation_sensor.changed(callback, arg)

Thông số

Sự miêu tả

callback

Một hàm đã được định nghĩa trước đó chạy khi giá trị của Cảm biến xoay thay đổi.

arg

Tùy chọn. Một bộ chứa các đối số để truyền cho hàm gọi lại. Xem Sử dụng hàm có tham số để biết thêm thông tin.

def my_function():
  brain.screen.print("Rotated!")

# Call my_function whenever rotation_sensor's value changes
rotation_sensor.changed(my_function)

Người xây dựng#

Các hàm tạo được sử dụng để tạo thủ công các đối tượng Rotation , chẳng hạn như khi cấu hình Cảm biến xoay bên ngoài VEXcode.

Rotation#

Rotation tạo ra một đối tượng Cảm biến xoay.

Usage:
Rotation(smartport)

Tham số

Sự miêu tả

smartport

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

reverse

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 hoặc False (mặc định).

# Create an inverted Rotation Sensor in Port 10
rotation_sensor = Rotation(Ports.PORT10, True)