Bộ điều khiển#
Giới thiệu#
Bộ điều khiển VEX AIM One Stick có bốn nút bấm và một cần điều khiển. Cần điều khiển có thể di chuyển theo hai trục và cũng có thể được nhấn như một nút bấm.
Các phương thức điều khiển có thể được sử dụng để kiểm tra các lần nhấn nút, đọc chuyển động của cần điều khiển, kiểm tra trạng thái kết nối và pin, hoặc chạy các chức năng khi các sự kiện điều khiển xảy ra.
Dưới đây là danh sách tất cả các phương pháp:
Các biến lấy dữ liệu — Đọc trạng thái nút bấm, cần điều khiển, kết nối và pin.
.pressing— Trả về liệu nút được chỉ định có đang được nhấn hay không..position— Trả về vị trí cần điều khiển dọc theo một trục được chỉ định.is_connected— Trả về trạng thái kết nối của bộ điều khiển.get_battery_level— Trả về mức pin của bộ điều khiển.
Hàm gọi lại — Thực thi các hàm khi dữ liệu đầu vào từ bộ điều khiển thay đổi.
Người nhận#
.pressing#
.pressing trả về trạng thái liệu một nút cụ thể trên bộ điều khiển có đang được nhấn hay không. Phương thức này phải được gọi trên một đối tượng nút cụ thể, chẳng hạn như controller.button_up.
True— Nút được chỉ định đang được nhấn.False— Nút được chỉ định không được nhấn.
Cách sử dụng:
Một trong năm đối tượng nút có sẵn có thể được sử dụng với phương pháp này:
Cái nút |
Yêu cầu |
|---|---|
|
|
|
|
|
|
|
|
|
|
Thông số |
Sự miêu tả |
|---|---|
Phương pháp này không có tham số. |
# Move forward while the Up button is being pressed
while True:
if controller.button_up.pressing():
robot.move_at(0)
else:
robot.stop_all_movement()
wait(20, MSEC)
.position#
.position trả về vị trí của trục cần điều khiển dưới dạng một số từ -100 đến 100.
Phương thức này phải được gọi trên một đối tượng trục cụ thể, chẳng hạn như controller.axis1.
Cách sử dụng:
Một trong hai đối tượng trục có sẵn có thể được sử dụng với phương pháp này:
Trục |
Yêu cầu |
|---|---|
|
|
|
|
Thông số |
Sự miêu tả |
|---|---|
Phương pháp này không có tham số. |
# Move forward when the joystick is moved up
while True:
if controller.axis1.position() > 0:
robot.move_at(0)
else:
robot.stop_all_movement()
wait(20, MSEC)
is_connected#
is_connected trả về trạng thái kết nối của bộ điều khiển.
True— Bộ điều khiển đã được kết nối.False— Bộ điều khiển không được kết nối.
Usage:
controller.is_connected()
Thông số |
Sự miêu tả |
|---|---|
Phương pháp này không có tham số. |
# Stop the robot if the controller disconnects
robot.move_at(0)
while True:
if not controller.is_connected():
robot.stop_all_movement()
wait(100, MSEC)
get_battery_level#
get_battery_level trả về mức pin của bộ điều khiển dưới dạng số từ 0 đến 100.
Usage:
controller.get_battery_level()
Thông số |
Sự miêu tả |
|---|---|
Phương pháp này không có tham số. |
# Display the controller's battery level
robot.screen.print(controller.get_battery_level())
Cuộc gọi lại#
.pressed#
.pressed sẽ chạy một hàm khi nút được chỉ định được nhấn. Sau khi được sử dụng, hàm này sẽ tự động chạy mỗi khi nút đó được nhấn.
Cách sử dụng:
Một trong năm đối tượng nút có sẵn có thể được sử dụng với phương pháp này:
Cái nút |
Yêu cầu |
|---|---|
|
|
|
|
|
|
|
|
|
|
Tham số |
Sự miêu tả |
|---|---|
|
Một hàm được định nghĩa trước đó để chạy mỗi khi nút được chỉ định được nhấn. |
|
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 Sự kiện với Tham số để biết thêm thông tin. |
# Kick hard when the Up button is pressed
def kick_object():
robot.kicker.kick(HARD)
controller.button_up.pressed(kick_object)
.released#
.released sẽ chạy một hàm khi nút được chỉ định được nhả ra. Sau khi được sử dụng, hàm này sẽ tự động chạy mỗi khi nút đó được nhả ra.
Cách sử dụng:
Một trong năm đối tượng nút có sẵn có thể được sử dụng với phương pháp này:
Cái nút |
Yêu cầu |
|---|---|
|
|
|
|
|
|
|
|
|
|
Tham số |
Sự miêu tả |
|---|---|
|
Một hàm được định nghĩa trước đó để chạy mỗi khi nút được chỉ định được nhả ra. |
|
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 Sự kiện với Tham số để biết thêm thông tin. |
# Clear the screen after the Up button is released
def clear_screen():
robot.screen.clear_screen()
controller.button_up.released(clear_screen)
robot.screen.print("Press Up, then")
robot.screen.next_row()
robot.screen.print("Release Up!")
.changed#
.changed sẽ chạy một hàm khi vị trí của cần điều khiển thay đổi dọc theo trục được chỉ định. Sau khi được sử dụng, hàm này sẽ tự động chạy mỗi khi vị trí của cần điều khiển thay đổi dọc theo trục đó.
Cách sử dụng:
Một trong hai đối tượng trục có sẵn có thể được sử dụng với phương pháp này:
Trục |
Yêu cầu |
|---|---|
|
|
|
|
Tham số |
Sự miêu tả |
|---|---|
|
Một hàm được định nghĩa trước đó để chạy mỗi khi vị trí của cần điều khiển thay đổi dọc theo trục được chỉ định. |
|
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 Sự kiện với Tham số để biết thêm thông tin. |
# Show an emoji when the joystick moves up or down
def move_joystick():
robot.screen.show_emoji(CONFUSED)
controller.axis1.changed(move_joystick)