제어 장치#

소개#

V5 컨트롤러는 버튼, 두 개의 조이스틱, 진동 모터 및 화면을 갖추고 있습니다. 컨트롤러 블록을 사용하면 버튼 누름 감지, 조이스틱 움직임 읽기, 컨트롤러 진동 기능 작동, 설정된 컨트롤러 동작 활성화 또는 비활성화, 컨트롤러 이벤트 발생 시 블록 실행, 컨트롤러 화면에 텍스트 표시 등의 작업을 수행할 수 있습니다.

구성된 컨트롤러 동작은 장치 메뉴에서 설정한 컨트롤러 동작입니다. 프로젝트 실행 중에 이러한 구성된 동작을 일시적으로 활성화 또는 비활성화하려면 컨트롤러 활성화/비활성화 블록을 사용하십시오.

아래는 사용 가능한 블록 목록입니다.

값 — 컨트롤러 버튼 상태를 확인하거나 조이스틱 위치를 읽습니다.

동작 — 컨트롤러 진동, 설정된 컨트롤러 동작 활성화/비활성화, 또는 컨트롤러 입력 변경 시 블록 실행.

화면 — 컨트롤러 화면에 텍스트와 숫자를 표시합니다.

값#

컨트롤러를 누르셨나요?#

컨트롤러가 눌렸습니까? 부울 블록은 선택된 컨트롤러 버튼이 눌렸는지 여부를 반환합니다.

V5 컨트롤러의 앞면과 뒷면. 버튼은 노란색으로 강조 표시되어 있습니다. 컨트롤러 앞면에는 왼쪽에 위, 아래, 왼쪽, 오른쪽 화살표 버튼이 있고, 오른쪽에는 12시 방향부터 시계 방향으로 X, A, B, Y 버튼이 있습니다. 컨트롤러 뒷면에는 왼쪽과 오른쪽에 각각 L1, L2, R1, R2 버튼이 있습니다.

컨트롤러가 눌렸습니까? 불리언 블록#
<[Controller1 v] [▲ v] 눌림?>

매개변수

설명

장치

사용할 컨트롤러는 장치 창에서 구성됩니다.

단추

The button to check:

  • ▲
  • ▼
  • ◀
  • ▶
  • X
  • B
  • Y
  • A
  • L1
  • L2
  • R1
  • R2

예

시동을 걸면 X 버튼을 누른 상태로 앞으로 주행합니다.#
시작 시
[Drive forward while X is pressed.]
무한 반복
<[Controller1 v] [X v] 눌림?>이면
[앞으로 v] 방향으로 주행
아니면
주행 정지
끝
끝

컨트롤러 위치#

컨트롤러 위치 리포터 블록은 선택된 축을 따라 조이스틱의 위치를 ​​-100에서 100 사이의 숫자로 반환합니다.

조이스틱 주변의 축에 레이블이 지정된 VEX V5 컨트롤러. 축 1과 2는 오른쪽 조이스틱 주변에 있고, 축 3과 4는 왼쪽 조이스틱 주변에 있습니다.

컨트롤러 위치 보고 블록#
([Controller1 v] [1 v] position :: sensing)

매개변수

설명

장치

사용할 컨트롤러는 장치 창에서 구성됩니다.

중심선

보고할 조이스틱 축:

  • 1 — 오른쪽 조이스틱 수평축
  • 2 — 오른쪽 조이스틱 수직축
  • 3 — 왼쪽 조이스틱 수직축
  • 4 — 왼쪽 조이스틱 수평축

예

시동을 걸면 왼쪽 조이스틱을 위로 밀면서 앞으로 나아갑니다.#
시작 시
[Drive forward while the left joystick is pushed up.]
무한 반복
<([Controller1 v] [3 v] position :: sensing) [math_greater_than v] [0]>이면
[앞으로 v] 방향으로 주행
아니면
주행 정지
끝
끝

행위#

컨트롤러에서 진동 기능을 사용하세요#

컨트롤러에서 진동 재생 스택 블록은 컨트롤러에서 진동 패턴을 재생합니다.

컨트롤러 스택 블록에서 럼블 플레이#
[Controller1 v]에서 진동 [길게 v] 재생

매개변수

설명

무늬

컨트롤러에서 사용할 진동 패턴:

  • 긴 진동 — 한 번 길게 진동
  • 짧은 진동 — 한 번 짧게 진동
  • 펄스 — 진동이 켜졌다 꺼졌다를 반복하는 패턴

장치

사용할 컨트롤러는 장치 창에서 구성됩니다.

예

R1 버튼을 누르면 컨트롤러에서 짧은 진동이 발생합니다.#
[Controller1 v] 버튼 [R1 v] [눌림 v] 시 :: hat events
[Controller1 v]에서 진동 [짧게 v] 재생

컨트롤러 활성화/비활성화#

컨트롤러 활성화/비활성화 스택 블록은 연결된 모든 컨트롤러에 대해 장치 메뉴에서 컨트롤러가 구성한 작업을 활성화 또는 비활성화합니다.

컨트롤러 스택 블록 활성화/비활성화#
Controller [비활성화 v]

매개변수

설명

상태

컨트롤러에 구성된 동작 상태는 비활성화 또는 활성화입니다.

예

시작 시, 로봇이 전진하는 동안 구성된 컨트롤러 동작을 비활성화합니다.#
시작 시
[Disable Controller configured actions until the drive movement is done.]
Controller [비활성화 v]
[앞으로 v] 방향으로 (6) [인치 v] 주행 ▶
Controller [활성화 v]

컨트롤러 버튼을 눌렀을 때#

컨트롤러 버튼을 누를 때 햇 블록은 선택된 컨트롤러 버튼을 누르거나 놓으면 연결된 스택을 실행합니다.

V5 컨트롤러의 앞면과 뒷면. 버튼은 노란색으로 강조 표시되어 있습니다. 컨트롤러 앞면에는 왼쪽에 위, 아래, 왼쪽, 오른쪽 화살표 버튼이 있고, 오른쪽에는 12시 방향부터 시계 방향으로 X, A, B, Y 버튼이 있습니다. 컨트롤러 뒷면에는 왼쪽과 오른쪽에 각각 L1, L2, R1, R2 버튼이 있습니다.

컨트롤러 버튼을 누르면 햇 블록이 생성됩니다.#
[Controller1 v] 버튼 [▲ v] [눌림 v] 시 :: hat events

매개변수

설명

장치

사용할 컨트롤러는 장치 창에서 구성됩니다.

단추

The button to check:

  • ▲
  • ▼
  • ◀
  • ▶
  • X
  • B
  • Y
  • A
  • L1
  • L2
  • R1
  • R2

버튼 상태

첨부된 스택을 트리거하는 버튼 이벤트는 눌림 또는 놓음입니다.

예

R1 버튼을 누르면 200mm 앞으로 전진합니다.#
[Controller1 v] 버튼 [R1 v] [눌림 v] 시 :: hat events
[Drive forward when R1 is pressed.]
[앞으로 v] 방향으로 (200) [mm v] 주행 ▶

컨트롤러 축이 변경될 때#

컨트롤러 축이 변경될 때 Hat 블록은 조이스틱의 위치가 선택된 축을 따라 변경될 때 연결된 스택을 실행합니다.

조이스틱 주변의 축에 레이블이 지정된 VEX V5 컨트롤러. 축 1과 2는 오른쪽 조이스틱 주변에 있고, 축 3과 4는 왼쪽 조이스틱 주변에 있습니다.

컨트롤러 축이 변경될 때 햇 블록#
when [Controller1 v] axis [1 v] is changed :: hat events

매개변수

설명

장치

사용할 컨트롤러는 장치 창에서 구성됩니다.

중심선

확인해야 할 조이스틱 축:

  • 1 — 오른쪽 조이스틱 수평축
  • 2 — 오른쪽 조이스틱 수직축
  • 3 — 왼쪽 조이스틱 수직축
  • 4 — 왼쪽 조이스틱 수평축

예

조이스틱의 위치가 컨트롤러 축 3을 따라 변하면 200mm 앞으로 이동합니다.#
when [Controller1 v] axis [3 v] is changed :: hat events
[Drive forward when the joystick's position changes along axis 3.]
[앞으로 v] 방향으로 (200) [mm v] 주행 ▶

화면#

컨트롤러에서 커서를 행 열로 설정합니다.#

컨트롤러 화면에서 커서를 지정된 행과 열로 이동 스택 블록은 컨트롤러 화면에서 커서를 지정된 행과 열로 이동합니다. 다음에 출력될 값은 해당 위치에 나타납니다.

컨트롤러 스택 블록에서 커서를 행 열로 설정합니다.#
[Controller1 v]에서 커서를 [1]행 [1]열로 이동 :: custom-controller-inertial-timer

매개변수

설명

열

컨트롤러 화면에서 커서를 이동할 행입니다.

열

컨트롤러 화면에서 커서를 이동할 열입니다.

장치

사용할 컨트롤러는 장치 창에서 구성됩니다.

예

시작 시 컨트롤러 화면의 2행 1열에 텍스트를 출력합니다.#
시작 시
[Display a message on row 2.]
[Controller1 v]에서 커서를 [2]행 [1]열로 이동 :: custom-controller-inertial-timer
[Controller1 v]에 [Ready] 출력 ▶ :: custom-controller-inertial-timer

컨트롤러에서 커서를 다음 행으로 설정#

컨트롤러 화면에서 커서를 다음 행으로 이동 스택 블록은 컨트롤러 화면의 다음 행의 1열로 커서를 이동합니다. 다음으로 출력될 값이 해당 행에 나타납니다.

컨트롤러 스택 블록에서 커서를 다음 행으로 설정#
[Controller1 v]에서 커서를 다음 행으로 이동 :: custom-controller-inertial-timer

매개변수

설명

장치

사용할 컨트롤러는 장치 창에서 구성됩니다.

예

시작 시 컨트롤러 화면에 두 줄을 출력합니다.#
시작 시
[Display two rows of text.]
[Controller1 v]에 [Row 1] 출력 ▶ :: custom-controller-inertial-timer
[Controller1 v]에서 커서를 다음 행으로 이동 :: custom-controller-inertial-timer
[Controller1 v]에 [Row 2] 출력 ▶ :: custom-controller-inertial-timer

컨트롤러에서 인쇄 정밀도를 설정하세요#

컨트롤러 인쇄 정밀도 설정 스택 블록은 컨트롤러 화면에 숫자가 인쇄될 때 표시되는 소수점 이하 자릿수를 설정합니다. 이 설정은 해당 블록을 사용한 후에 인쇄되는 숫자에 적용됩니다.

컨트롤러 스택 블록에서 인쇄 정밀도를 설정합니다.#
[Controller1 v]에서 출력 정밀도를 [0.1 v]으로 설정 :: custom-controller-inertial-timer

매개변수

설명

정도

사용할 인쇄 정밀도:

  • 1 — 소수점 없음
  • 0.1 — 소수점 1자리
  • 0.01 — 소수점 2자리
  • 0.001 — 소수점 3자리
  • 모든 자릿수 — 사용 가능한 모든 소수점 자리

장치

사용할 컨트롤러는 장치 창에서 구성됩니다.

예

시작 시 컨트롤러 화면에 소수점 둘째 자리까지 1/3이 표시됩니다.#
시작 시
[Display 1/3 with two decimals.]
[Controller1 v]에서 출력 정밀도를 [0.01 v]으로 설정 :: custom-controller-inertial-timer
[Controller1 v]에 ([1] [math_division v] [3]) 출력 ▶ :: custom-controller-inertial-timer

컨트롤러 지우기#

컨트롤러 스택 지우기 블록은 컨트롤러 화면의 모든 행을 지우고 커서를 첫 번째 행으로 되돌립니다.

컨트롤러 스택 블록 지우기#
[Controller1 v] 지우기 :: custom-controller-inertial-timer

매개변수

설명

장치

사용할 컨트롤러는 장치 창에서 구성됩니다.

예

시작 시 텍스트를 출력하고 잠시 기다린 후 컨트롤러 화면을 지웁니다.#
시작 시
[Clear the Controller screen after printing.]
[Controller1 v]에 [This will disappear...] 출력 ▶ :: custom-controller-inertial-timer
[2]초 기다리기
[Controller1 v] 지우기 :: custom-controller-inertial-timer

컨트롤러에서 행 지우기#

컨트롤러에서 행 지우기 스택 블록은 컨트롤러 화면에서 한 행을 지웁니다.

컨트롤러 스택 블록의 행 지우기#
[Controller1 v]에서 [1]행 지우기 :: custom-controller-inertial-timer

매개변수

설명

열

컨트롤러 화면에서 지울 행입니다.

장치

사용할 컨트롤러는 장치 창에서 구성됩니다.

예

시작 시 컨트롤러 화면의 첫 번째 행이 지워집니다.#
시작 시
[Clear one row on the Controller screen.]
[Controller1 v]에 [Row 1] 출력 ▶ :: custom-controller-inertial-timer
[Controller1 v]에서 커서를 다음 행으로 이동 :: custom-controller-inertial-timer
[Controller1 v]에 [Row 2] 출력 ▶ :: custom-controller-inertial-timer
[2]초 기다리기
[Controller1 v]에서 [1]행 지우기 :: custom-controller-inertial-timer