제어 장치#

소개#

VEX AIM 원 스틱 컨트롤러는 버튼 4개와 조이스틱으로 구성되어 있습니다. 조이스틱은 두 축을 따라 움직일 수 있으며 버튼처럼 누를 수도 있습니다.

컨트롤러 메서드는 버튼 누름 확인, 조이스틱 움직임 읽기, 연결 및 배터리 상태 확인, 컨트롤러 이벤트 발생 시 함수 실행 등에 사용할 수 있습니다.

다음은 모든 방법 목록입니다.

가져오기 — 버튼, 조이스틱, 연결 상태 및 배터리 상태를 읽습니다.

  • .pressing — 지정된 버튼이 눌려 있는지 여부를 반환합니다.

  • .position — 지정된 축을 따라 조이스틱 위치를 반환합니다.

  • is_connected — 컨트롤러가 연결되어 있는지 여부를 반환합니다.

  • get_battery_level — 컨트롤러의 배터리 레벨을 반환합니다.

콜백 함수 — 컨트롤러 입력이 변경될 때 함수를 실행합니다.

  • .pressed — 지정된 버튼이 눌렸을 때 함수를 실행합니다.

  • .released — 지정된 버튼이 해제될 때 함수를 실행합니다.

  • .changed — 지정된 축을 따라 조이스틱의 위치가 변경될 때 함수를 실행합니다.

게터스#

.pressing#

.pressing 컨트롤러의 특정 버튼이 현재 눌려 있는지 여부를 반환합니다. 이 메서드는 controller.button_up 과 같은 특정 버튼 객체에서 호출해야 합니다.

  • True — 지정된 버튼이 눌러지고 있습니다.

  • False — 지정된 버튼이 눌리지 않았습니다.

사용법:
이 메서드에서는 사용 가능한 다섯 가지 버튼 객체 중 하나를 사용할 수 있습니다.

단추

명령

button_up

controller.button_up.pressing() — 위로 버튼

button_down

controller.button_down.pressing() — 아래 버튼

button_left

controller.button_left.pressing() — 왼쪽 버튼

button_right

controller.button_right.pressing() — 오른쪽 버튼

button_stick

controller.button_stick.pressing() — 조이스틱 버튼

VEX AIM 원 스틱 컨트롤러는 왼쪽에 조이스틱, 오른쪽에 4개의 버튼이 있습니다. 조이스틱과 4개의 버튼이 강조 표시되어 있습니다.

매개변수

설명

이 메서드에는 매개변수가 없습니다.

# 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 과 같은 특정 축 객체에서 호출되어야 합니다.

사용법:
이 메서드에서는 사용 가능한 두 가지 축 객체 중 하나를 사용할 수 있습니다.

중심선

명령

axis1

controller.axis1.position() — 수직축

axis2

controller.axis2.position() — 수평축

VEX AIM 컨트롤러는 왼쪽에 조이스틱, 오른쪽에 버튼 네 개가 있습니다. 조이스틱의 1축과 2축이 강조 표시되어 있습니다.

매개변수

설명

이 메서드에는 매개변수가 없습니다.

# 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 지정된 버튼이 눌렸을 때 함수를 실행합니다. 한 번 사용하면 해당 버튼이 눌릴 때마다 함수가 자동으로 실행됩니다.

사용법:
이 메서드에서는 사용 가능한 다섯 가지 버튼 객체 중 하나를 사용할 수 있습니다.

단추

명령

button_up

controller.button_up.pressed(callback, arg) — 위로 버튼

button_down

controller.button_down.pressed(callback, arg) — 아래 버튼

button_left

controller.button_left.pressed(callback, arg) — 왼쪽 버튼

button_right

controller.button_right.pressed(callback, arg) — 오른쪽 버튼

button_stick

controller.button_stick.pressed(callback, arg) — 조이스틱 버튼

VEX AIM 원 스틱 컨트롤러는 왼쪽에 조이스틱, 오른쪽에 4개의 버튼이 있습니다. 조이스틱과 4개의 버튼이 강조 표시되어 있습니다.

매개변수

설명

callback

지정된 버튼이 눌릴 때마다 실행되도록 미리 정의된 함수.

arg

선택 사항입니다. 콜백 함수에 전달할 인수를 포함하는 튜플입니다. 자세한 내용은 매개변수가 있는 이벤트 사용을 참조하세요.

# Kick hard when the Up button is pressed
def kick_object():
    robot.kicker.kick(HARD)

controller.button_up.pressed(kick_object)

.released#

.released 지정된 버튼에서 손을 떼면 함수를 실행합니다. 한 번 사용하면 해당 버튼에서 손을 뗄 때마다 함수가 자동으로 실행됩니다.

사용법:
이 메서드에서는 사용 가능한 다섯 가지 버튼 객체 중 하나를 사용할 수 있습니다.

단추

명령

button_up

controller.button_up.released(callback, arg) — 위로 버튼

button_down

controller.button_down.released(callback, arg) — 아래 버튼

button_left

controller.button_left.released(callback, arg) — 왼쪽 버튼

button_right

controller.button_right.released(callback, arg) — 오른쪽 버튼

button_stick

controller.button_stick.released(callback, arg) — 조이스틱 버튼

VEX AIM 원 스틱 컨트롤러는 왼쪽에 조이스틱, 오른쪽에 4개의 버튼이 있습니다. 조이스틱과 4개의 버튼이 강조 표시되어 있습니다.

매개변수

설명

callback

지정된 버튼이 해제될 때마다 실행되도록 이전에 정의된 함수.

arg

선택 사항입니다. 콜백 함수에 전달할 인수를 포함하는 튜플입니다. 자세한 내용은 매개변수가 있는 이벤트 사용을 참조하세요.

# 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 조이스틱의 위치가 지정된 축을 따라 변경될 때 함수를 실행합니다. 한 번 사용하면 조이스틱의 위치가 해당 축을 따라 변경될 때마다 함수가 자동으로 실행됩니다.

사용법:
이 메서드에서는 사용 가능한 두 가지 축 객체 중 하나를 사용할 수 있습니다.

중심선

명령

axis1

controller.axis1.changed(callback, arg) — 수직축

axis2

controller.axis2.changed(callback, arg) — 수평축

VEX AIM 컨트롤러는 왼쪽에 조이스틱, 오른쪽에 버튼 네 개가 있습니다. 조이스틱의 1축과 2축이 강조 표시되어 있습니다.

매개변수

설명

callback

지정된 축을 따라 조이스틱의 위치가 변경될 때마다 실행되도록 이전에 정의된 함수입니다.

arg

선택 사항입니다. 콜백 함수에 전달할 인수를 포함하는 튜플입니다. 자세한 내용은 매개변수가 있는 이벤트 사용을 참조하세요.

# Show an emoji when the joystick moves up or down
def move_joystick():
    robot.screen.show_emoji(CONFUSED)

controller.axis1.changed(move_joystick)