제어 장치#
소개#
V5 컨트롤러는 버튼, 두 개의 조이스틱, 진동 모터 및 화면을 갖추고 있습니다. 컨트롤러 메서드를 사용하여 버튼 누름을 확인하고, 조이스틱 움직임을 읽고, 컨트롤러를 진동시키고, 구성된 컨트롤러 동작을 활성화 또는 비활성화하고, 컨트롤러 이벤트 발생 시 함수를 실행하거나, 컨트롤러 화면에 텍스트를 표시할 수 있습니다.
구성된 컨트롤러 동작은 장치 메뉴에서 설정한 컨트롤러 동작입니다. 프로젝트 진행 중에 이러한 구성된 동작을 일시적으로 활성화 또는 비활성화하려면 remote_control_code_enabled 사용하십시오.
이 페이지에서는 예시 컨트롤러 이름으로 controller_1 을 사용합니다. 필요에 따라 구성된 이름으로 교체하십시오.
아래는 사용 가능한 모든 방법의 목록입니다.
동작 — 컨트롤러를 진동시키거나 설정된 컨트롤러 동작을 활성화/비활성화합니다.
rumble— 컨트롤러에서 진동 패턴을 재생합니다.remote_control_code_enabled— 장치 메뉴에 구성된 컨트롤러 작업을 활성화 또는 비활성화합니다.
화면 — 컨트롤러 화면에 텍스트와 숫자를 표시합니다.
print— 컨트롤러 화면에 텍스트, 숫자 또는 변수 값을 표시합니다.set_cursor— 컨트롤러 화면에서 커서를 지정된 행과 열로 이동합니다.column— 컨트롤러 화면에서 현재 커서 열을 반환합니다.row— 컨트롤러 화면에서 현재 커서 행을 반환합니다.clear_screen— 컨트롤러 화면을 지웁니다.clear_row— 컨트롤러 화면에서 한 행을 지웁니다.next_row— 컨트롤러 화면에서 커서를 다음 행으로 이동합니다.
게터 — 버튼 상태와 조이스틱 위치를 읽습니다.
콜백 함수 — 컨트롤러 입력값이 변경될 때 함수를 실행합니다.
.pressed— 지정된 버튼이 눌렸을 때 함수를 실행합니다..released— 지정된 버튼이 해제될 때 함수를 실행합니다..changed— 지정된 축을 따라 조이스틱의 위치가 변경될 때 함수를 실행합니다.
생성자 — 컨트롤러 객체를 수동으로 생성합니다.
Controller— 컨트롤러 객체를 생성합니다.
행위#
rumble#
rumble 컨트롤러에서 진동 패턴을 재생합니다. 패턴 문자열에서 마침표는 짧은 진동, 하이픈은 긴 진동, 공백은 일시 정지를 나타냅니다.
Usage:
controller_1.rumble(pattern)
매개변수 |
설명 |
|---|---|
|
마침표, 하이픈, 공백으로 이루어진 문자열로, 진동 패턴을 나타냅니다. |
# Rumble the Controller with a short-short-long-long pattern
controller_1.rumble("..--")
remote_control_code_enabled#
remote_control_code_enabled 장치 메뉴에서 구성된 컨트롤러 동작을 활성화 또는 비활성화하는 변수입니다. 컨트롤러에서 구성된 동작은 기본적으로 활성화되어 있습니다.
Usage:
remote_control_code_enabled = state
값 |
설명 |
|---|---|
|
컨트롤러에 구성된 작업을 활성화합니다. |
|
컨트롤러에 설정된 동작을 비활성화합니다. |
# Drive forward or backward using the left joystick
remote_control_code_enabled = False
while True:
if controller_1.axis3.position() > 0:
drivetrain.drive(FORWARD)
elif controller_1.axis3.position() < 0:
drivetrain.drive(REVERSE)
# Press A to use Controller configured actions again
elif controller_1.buttonA.pressing():
break
else:
drivetrain.stop()
wait(20, MSEC)
remote_control_code_enabled = True
화면#
V5 컨트롤러 화면은 텍스트와 숫자를 표시하기 위한 3행 19열 구조입니다.

print#
controller_1.screen.print 현재 커서 위치를 사용하여 컨트롤러 화면에 텍스트, 숫자 또는 변수 값을 표시합니다.
Usage:
controller_1.screen.print(value, sep, precision)
매개변수 |
설명 |
|---|---|
|
컨트롤러 화면에 표시할 텍스트, 숫자 또는 변수 값입니다. 여러 값을 출력하려면 쉼표로 구분하십시오. |
|
선택 사항입니다. 값 사이에 넣을 문자열입니다. |
|
선택 사항입니다. 간단한 숫자를 출력할 때 표시할 소수점 자릿수입니다. 이 값은 |
# Print a number on the Controller screen
controller_1.screen.print(1)
# Print multiple numbers separated by hyphens
controller_1.screen.print(1, 2, 3, 4, sep="-")
# Print a number using one decimal place
controller_1.screen.print(1 / 3, precision=1)
set_cursor#
set_cursor 컨트롤러 화면의 지정된 행과 열로 커서를 이동합니다. 다음에 출력될 값은 해당 위치에 나타납니다.
Usage:
controller_1.screen.set_cursor(row, col)
매개변수 |
설명 |
|---|---|
|
커서의 행은 |
|
커서의 열은 |
# Print text at row 2, column 1
controller_1.screen.set_cursor(2, 1)
controller_1.screen.print("Ready")
column#
column 컨트롤러 화면에 텍스트가 출력될 현재 열을 반환합니다.
Usage:
controller_1.screen.column()
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# Print the current column number
controller_1.screen.set_cursor(2, 3)
controller_1.screen.print(controller_1.screen.column())
row#
row 컨트롤러 화면에 텍스트가 출력될 현재 행을 반환합니다.
Usage:
controller_1.screen.row()
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# Print the current row number
controller_1.screen.set_cursor(2, 3)
controller_1.screen.print(controller_1.screen.row())
clear_screen#
clear_screen 컨트롤러 화면을 지우고 커서를 시작 위치로 되돌립니다.
Usage:
controller_1.screen.clear_screen()
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# Print text, then clear the Controller screen
controller_1.screen.print("VEX V5")
wait(2, SECONDS)
controller_1.screen.clear_screen()
clear_row#
clear_row 컨트롤러 화면에서 한 행을 지웁니다.
Usage:
controller_1.screen.clear_row(row)
매개변수 |
설명 |
|---|---|
|
선택 사항입니다. 지울 행을 |
# Clear row 2 on the Controller screen
controller_1.screen.clear_row(2)
next_row#
next_row 컨트롤러 화면의 다음 행의 1열로 커서를 이동합니다. 다음에 출력될 값은 해당 행에 나타납니다.
Usage:
controller_1.screen.next_row()
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# Print on two rows
controller_1.screen.print("VEX V5")
controller_1.screen.next_row()
controller_1.screen.print("Controller")
게터스#
.pressing#
.pressing 컨트롤러의 특정 버튼이 현재 눌려 있는지 여부를 반환합니다. 이 메서드는 controller_1.buttonA 과 같은 특정 버튼 객체에서 호출해야 합니다.
True— 지정된 버튼이 눌러지고 있습니다.False— 지정된 버튼이 눌리지 않았습니다.
사용법:
사용 가능한 버튼 객체 중 하나를 이 메서드와 함께 사용할 수 있습니다.

단추 |
명령 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# Turn right while L1 is pressed
while True:
if controller_1.buttonL1.pressing():
drivetrain.turn(RIGHT)
else:
drivetrain.stop()
wait(20, MSEC)
.position#
.position 조이스틱 축의 위치를 -100 ~ 100 사이의 숫자로 반환합니다.
이 메서드는 controller_1.axis1 과 같은 특정 축 객체에서 호출되어야 합니다.
사용법:
사용 가능한 축 객체 중 하나를 이 메서드와 함께 사용할 수 있습니다.

중심선 |
명령 |
|---|---|
|
|
|
|
|
|
|
|
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# Turn with the left joystick
remote_control_code_enabled = False
while True:
if controller_1.axis4.position() > 10:
drivetrain.turn(RIGHT)
elif controller_1.axis4.position() < -10:
drivetrain.turn(LEFT)
else:
drivetrain.stop()
wait(20, MSEC)
콜백#
.pressed#
.pressed 지정된 버튼이 눌렸을 때 함수를 실행합니다. 한 번 사용하면 해당 버튼이 눌릴 때마다 함수가 자동으로 실행됩니다.
사용법:
사용 가능한 버튼 객체 중 하나를 이 메서드와 함께 사용할 수 있습니다.

단추 |
명령 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
매개변수 |
설명 |
|---|---|
|
지정된 버튼이 눌릴 때마다 실행되도록 미리 정의된 함수. |
|
선택 사항입니다. 콜백 함수에 전달할 인수를 포함하는 튜플입니다. 자세한 내용은 매개변수가 있는 이벤트 사용을 참조하세요. |
# Drive forward when A is pressed
def drive_forward():
drivetrain.drive_for(FORWARD, 100, MM)
controller_1.buttonA.pressed(drive_forward)
.released#
.released 지정된 버튼에서 손을 떼면 함수를 실행합니다. 한 번 사용하면 해당 버튼에서 손을 뗄 때마다 함수가 자동으로 실행됩니다.
사용법:
사용 가능한 버튼 객체 중 하나를 이 메서드와 함께 사용할 수 있습니다.

단추 |
명령 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
매개변수 |
설명 |
|---|---|
|
지정된 버튼이 해제될 때마다 실행되도록 이전에 정의된 함수. |
|
선택 사항입니다. 콜백 함수에 전달할 인수를 포함하는 튜플입니다. 자세한 내용은 매개변수가 있는 이벤트 사용을 참조하세요. |
# Drive backward when A is released
def back_up():
drivetrain.drive_for(REVERSE, 100, MM)
controller_1.buttonA.released(back_up)
.changed#
.changed 조이스틱의 위치가 지정된 축을 따라 변경될 때 함수를 실행합니다. 한 번 사용하면 조이스틱의 위치가 해당 축을 따라 변경될 때마다 함수가 자동으로 실행됩니다.
사용법:
사용 가능한 축 객체 중 하나를 이 메서드와 함께 사용할 수 있습니다.

중심선 |
명령 |
|---|---|
|
|
|
|
|
|
|
|
매개변수 |
설명 |
|---|---|
|
지정된 축을 따라 조이스틱의 위치가 변경될 때마다 실행되도록 이전에 정의된 함수입니다. |
|
선택 사항입니다. 콜백 함수에 전달할 인수를 포함하는 튜플입니다. 자세한 내용은 매개변수가 있는 이벤트 사용을 참조하세요. |
# Play a sound when the left joystick moves
def tada_sound():
brain.play_sound(SoundType.TADA)
controller_1.axis4.changed(tada_sound)
건설업자#
Controller#
Controller 컨트롤러 객체를 생성합니다. 컨트롤러 객체를 수동으로 생성하는 것은 VEXcode 외부에서 컨트롤러를 구성할 때만 필요합니다.
Usage:
Controller(controller_type)
매개변수 |
설명 |
|---|---|
|
Optional. The Controller type to create: |
# Create the primary Controller
controller_1 = Controller(PRIMARY)
# Create a partner Controller
controller_2 = Controller(PARTNER)