Con quay hồi chuyển#

Giới thiệu#

Cảm biến con quay hồi chuyển là một cảm biến chuyển động phát hiện sự quay quanh một trục duy nhất. Nó có thể đo được mức độ quay của robot, cho phép robot theo dõi hướng và phương hướng di chuyển.

Trang này sử dụng drivetrain_gyro làm ví dụ về tên cảm biến con quay hồi chuyển. Hãy thay thế nó bằng tên do bạn cấu hình nếu cần.

Dưới đây là danh sách tất cả các phương pháp hiện có:

Thao tác — Hiệu chỉnh hoặc điều chỉnh hướng và độ xoay của cảm biến con quay hồi chuyển.

  • calibrate — Hiệu chỉnh Cảm biến Con quay hồi chuyển để theo dõi hướng ổn định.

  • set_heading — Đặt hướng của Cảm biến Con quay hồi chuyển thành một giá trị được chỉ định.

  • set_rotation — Đặt giá trị xoay của Cảm biến Con quay hồi chuyển.

  • reset_heading — Đặt hướng của Cảm biến Con quay hồi chuyển về 0.

  • reset_rotation — Đặt độ xoay của Cảm biến Con quay hồi chuyển về 0.

Bộ đọc dữ liệu — Đọc hướng, góc quay và trạng thái của cảm biến con quay hồi chuyển.

  • heading — Trả về tiêu đề hiện tại.

  • rotation — Trả về phép xoay tích lũy.

  • rate — Trả về vận tốc góc quanh trục x, y hoặc z.

  • is_calibrating — Trả về trạng thái có đang hiệu chuẩn của Cảm biến Con quay hồi chuyển hay không.

  • installed — Trả về trạng thái có kết nối Cảm biến Con quay hồi chuyển với Bộ não hay không.

Hàm gọi lại — Chạy đoạn mã khi cảm biến con quay hồi chuyển phát hiện chuyển động hoặc thay đổi.

  • changed — Đăng ký một hàm để gọi khi Cảm biến Con quay hồi chuyển phát hiện sự thay đổi.

Hàm khởi tạo — Tự tay khởi tạo và cấu hình cảm biến con quay hồi chuyển.

  • Gyro — Tạo cảm biến con quay hồi chuyển.

Hành động#

calibrate#

calibrate hiệu chuẩn cảm biến con quay hồi chuyển. Tất cả các dòng tiếp theo sẽ chờ quá trình hiệu chuẩn hoàn tất trước khi thực thi. Hiệu chuẩn là một quy trình nội bộ đo lường và bù trừ nhiễu và độ trôi của cảm biến trong một khoảng thời gian xác định. Trong thời gian này, cảm biến con quay hồi chuyển phải hoàn toàn đứng yên (tức là trên một bề mặt ổn định mà không có bất kỳ chuyển động bên ngoài nào). Chuyển động trong quá trình hiệu chuẩn sẽ tạo ra kết quả không chính xác.

Usage:
calibrate()

Tham số

Sự miêu tả

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

# Start Gyro Sensor calibration
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
    wait(0.1, SECONDS)
brain.screen.print("Done!")

set_heading#

set_heading thiết lập hướng của cảm biến con quay hồi chuyển đến một giá trị cụ thể.

Usage:
set_heading(value, units)

Thông số

Sự miêu tả

giá trị

Giá trị tiêu đề cần thiết lập.

đơn vị

Tùy chọn. Đơn vị được sử dụng để biểu thị hướng mới:

  • DEGREES (mặc định)
  • TURNS
# Turn the robot around
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)

set_rotation#

set_rotation thiết lập góc xoay của cảm biến con quay hồi chuyển đến một giá trị cụ thể.

Usage:
set_rotation(value, units)

Thông số

Sự miêu tả

value

Giá trị tiêu đề cần thiết lập.

units

Tùy chọn. Đơn vị dùng để biểu thị giá trị xoay mới:

  • DEGREES (mặc định)
  • TURNS
# Turn the robot around
drivetrain_gyro.set_rotation(-180)
drivetrain.turn_to_rotation(0)

reset_heading#

reset_heading đặt lại hướng của cảm biến con quay hồi chuyển về 0.

Usage:
reset_heading()

Thông số

Sự miêu tả

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

# Turn the robot before and after resetting the heading
drivetrain.turn_to_heading(90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_heading()
drivetrain.turn_to_heading(90, DEGREES)

reset_rotation#

reset_rotation đặt lại góc quay của cảm biến con quay hồi chuyển về 0.

Usage:
reset_rotation()

Thông số

Sự miêu tả

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

# Turn the robot before and after resetting the rotation
drivetrain.turn_to_rotation(-90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_rotation()
drivetrain.turn_to_rotation(-90, DEGREES)

Người nhận#

heading#

heading trả về hướng hiện tại của cảm biến con quay hồi chuyển.

Usage:
heading(units)

Thông số

Sự miêu tả

units

Tùy chọn. Đơn vị dùng để biểu thị hướng quay:

  • DEGREES (mặc định)
  • TURNS
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.heading())

rotation#

rotation trả về vòng quay hiện tại của cảm biến con quay hồi chuyển.

Usage:
rotation(units)

Thông số

Sự miêu tả

units

Tùy chọn. Đơn vị dùng để biểu thị độ quay:

  • DEGREES (mặc định)
  • TURNS
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.rotation())

rate#

rate trả về tốc độ thay đổi hiện tại của vòng quay cảm biến con quay hồi chuyển theo đơn vị đã chỉ định.

Usage:
rate(units)

Thông số

Sự miêu tả

units

Tùy chọn. Đơn vị dùng để biểu thị tốc độ quay hồi chuyển:

  • DPS (mặc định)
  • RPM
  • PERCENT
# Display the rate of change of 
# rotation while turning
drivetrain.turn(RIGHT)
wait(1, SECONDS)
brain.screen.print(drivetrain_gyro.rate())
drivetrain.stop()

is_calibrating#

is_calibrating kiểm tra xem cảm biến con quay hồi chuyển có đang được hiệu chuẩn hay không.

  • True — Cảm biến con quay hồi chuyển đang hiệu chuẩn.

  • False — Cảm biến con quay hồi chuyển không đang hiệu chuẩn.

Usage:
is_calibrating()

Tham số

Sự miêu tả

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

# Start Gyro Sensor calibration.
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
    wait(0.1, SECONDS)
brain.screen.print("Done!")

installed#

installed trả về giá trị Boolean cho biết cảm biến con quay hồi chuyển có được kết nối với bộ xử lý trung tâm hay không.

  • True — Cảm biến con quay hồi chuyển được kết nối với não bộ.

  • False — Cảm biến con quay hồi chuyển không được kết nối với não bộ.

Usage:
installed()

Thông số

Sự miêu tả

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

# Display a message if the Gyro Sensor is
# installed.
if drivetrain_gyro.installed():
    brain.screen.print("Installed!")

Gọi lại#

changed#

changed đăng ký một hàm gọi lại khi hướng của cảm biến con quay hồi chuyển thay đổi.

Usage:
changed(callback, arg)

Thông số

Sự miêu tả

callback

Hàm gọi lại sẽ được thực thi khi hướng của cảm biến con quay hồi chuyển thay đổi.

arg

Tùy chọn. Một bộ giá trị (tuple) các tham số để truyền cho hàm gọi lại.

def gyro_changed():
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("Heading: ")
    brain.screen.print(drivetrain_gyro.heading()) 
# Display the heading when the gyro detects a change
drivetrain.turn_for(RIGHT, 90, DEGREES, wait=False)
drivetrain_gyro.changed(gyro_changed)

Các hàm tạo#

Các hàm tạo được sử dụng để tạo thủ công các đối tượng Gyro , cần thiết để cấu hình Cảm biến Con quay hồi chuyển bên ngoài VEXcode.

Gyro#

Gyro tạo ra một cảm biến con quay hồi chuyển.

Usage:
Gyro(smartport)

Tham số

Sự miêu tả

smartport

Cổng thông minh mà cảm biến con quay hồi chuyển được kết nối, được viết là PORTx, trong đó x là số thứ tự của cổng.

# Create the Brain
brain = Brain()
# When constructing Gyro Sensor "drivetrain_gyro" with a 
# SmartDrive "drivetrain"
drivetrain_gyro = Gyro(Ports.PORT1)
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, drivetrain_gyro, 200)

drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)