제어 장치#
소개#
VEX AIM 원 스틱 컨트롤러는 버튼 4개와 조이스틱으로 구성되어 있습니다. 조이스틱은 두 축을 따라 움직일 수 있으며 버튼처럼 누를 수도 있습니다.
컨트롤러 메서드는 버튼 누름 확인, 조이스틱 움직임 읽기, 연결 및 배터리 상태 확인, 컨트롤러 이벤트 발생 시 함수 실행 등에 사용할 수 있습니다.
다음은 모든 방법 목록입니다.
가져오기 — 버튼, 조이스틱, 연결 상태 및 배터리 상태를 읽습니다.
.pressing— 지정된 버튼이 눌려 있는지 여부를 반환합니다..position— 지정된 축을 따라 조이스틱 위치를 반환합니다.is_connected— 컨트롤러가 연결되어 있는지 여부를 반환합니다.get_battery_level— 컨트롤러의 배터리 레벨을 반환합니다.
콜백 함수 — 컨트롤러 입력이 변경될 때 함수를 실행합니다.
게터스#
.pressing#
.pressing 컨트롤러의 특정 버튼이 현재 눌려 있는지 여부를 반환합니다. 이 메서드는 controller.button_up 과 같은 특정 버튼 객체에서 호출해야 합니다.
True— 지정된 버튼이 눌러지고 있습니다.False— 지정된 버튼이 눌리지 않았습니다.
사용법:
이 메서드에서는 사용 가능한 다섯 가지 버튼 객체 중 하나를 사용할 수 있습니다.
단추 |
명령 |
|---|---|
|
|
|
|
|
|
|
|
|
|
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# 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 조이스틱 축의 위치를 -100 ~ 100 사이의 숫자로 반환합니다.
이 메서드는 controller.axis1 과 같은 특정 축 객체에서 호출되어야 합니다.
사용법:
이 메서드에서는 사용 가능한 두 가지 축 객체 중 하나를 사용할 수 있습니다.
중심선 |
명령 |
|---|---|
|
|
|
|
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# 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 컨트롤러가 연결되어 있는지 여부를 반환합니다.
True— 컨트롤러가 연결되었습니다.False— 컨트롤러가 연결되어 있지 않습니다.
Usage:
controller.is_connected()
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# 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 컨트롤러의 배터리 잔량을 0 에서 100 사이의 숫자로 반환합니다.
Usage:
controller.get_battery_level()
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# Display the controller's battery level
robot.screen.print(controller.get_battery_level())
콜백#
.pressed#
.pressed 지정된 버튼이 눌렸을 때 함수를 실행합니다. 한 번 사용하면 해당 버튼이 눌릴 때마다 함수가 자동으로 실행됩니다.
사용법:
이 메서드에서는 사용 가능한 다섯 가지 버튼 객체 중 하나를 사용할 수 있습니다.
단추 |
명령 |
|---|---|
|
|
|
|
|
|
|
|
|
|
매개변수 |
설명 |
|---|---|
|
지정된 버튼이 눌릴 때마다 실행되도록 미리 정의된 함수. |
|
선택 사항입니다. 콜백 함수에 전달할 인수를 포함하는 튜플입니다. 자세한 내용은 매개변수가 있는 이벤트 사용을 참조하세요. |
# Kick hard when the Up button is pressed
def kick_object():
robot.kicker.kick(HARD)
controller.button_up.pressed(kick_object)
.released#
.released 지정된 버튼에서 손을 떼면 함수를 실행합니다. 한 번 사용하면 해당 버튼에서 손을 뗄 때마다 함수가 자동으로 실행됩니다.
사용법:
이 메서드에서는 사용 가능한 다섯 가지 버튼 객체 중 하나를 사용할 수 있습니다.
단추 |
명령 |
|---|---|
|
|
|
|
|
|
|
|
|
|
매개변수 |
설명 |
|---|---|
|
지정된 버튼이 해제될 때마다 실행되도록 이전에 정의된 함수. |
|
선택 사항입니다. 콜백 함수에 전달할 인수를 포함하는 튜플입니다. 자세한 내용은 매개변수가 있는 이벤트 사용을 참조하세요. |
# 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 조이스틱의 위치가 지정된 축을 따라 변경될 때 함수를 실행합니다. 한 번 사용하면 조이스틱의 위치가 해당 축을 따라 변경될 때마다 함수가 자동으로 실행됩니다.
사용법:
이 메서드에서는 사용 가능한 두 가지 축 객체 중 하나를 사용할 수 있습니다.
중심선 |
명령 |
|---|---|
|
|
|
|
매개변수 |
설명 |
|---|---|
|
지정된 축을 따라 조이스틱의 위치가 변경될 때마다 실행되도록 이전에 정의된 함수입니다. |
|
선택 사항입니다. 콜백 함수에 전달할 인수를 포함하는 튜플입니다. 자세한 내용은 매개변수가 있는 이벤트 사용을 참조하세요. |
# Show an emoji when the joystick moves up or down
def move_joystick():
robot.screen.show_emoji(CONFUSED)
controller.axis1.changed(move_joystick)