Контроллер#

Введение#

Контроллер VEX EXP имеет кнопки и два джойстика. Блоки контроллера можно использовать для проверки нажатий кнопок, считывания движений джойстика, включения или отключения настроенных действий контроллера, а также для запуска блоков при возникновении событий контроллера.

Настроенные действия контроллера — это параметры поведения контроллера, заданные в меню «Устройства». Используйте блок включение/отключение контроллера, чтобы временно включить или отключить эти настроенные действия в рамках проекта.

Ниже приведён список всех блоков:

Значения — Проверьте состояние кнопок контроллера или положение джойстика.

Действия — Включение или отключение настроенных действий контроллера, а также выполнение блоков при изменении входных данных контроллера.

Ценности#

Нажата ли кнопка контроллера?#

Логический блок Controller pressed? возвращает информацию о том, нажата ли выбранная кнопка контроллера.

Передняя и верхняя стороны контроллера EXP с джойстиками, кнопками со стрелками и кнопками действий, выделенными желтым цветом. На поверхности контроллера расположены два джойстика слева и справа, кнопки со стрелками вверх и вниз слева и кнопки A и B справа. На верхней части контроллера слева расположены кнопки L1 и L2, а справа — кнопки R1 и R2.

Нажата ли кнопка контроллера? Логический блок#
<кнопка контроллера [L1 v] нажата?>

Параметр

Описание

кнопка

Кнопка для проверки:

  • L1
  • L2
  • L3
  • R1
  • R2
  • R3
  • ▲
  • ▼
  • A
  • B

Пример

При запуске двигатель движется вперед, пока нажата кнопка R1.#
при запуске
[Drive forward while R1 is pressed.]
вечно
если <кнопка контроллера [R1 v] нажата?> то
движение [вперёд v]
иначе
остановить движение
конец
конец

Позиция контроллера#

Блок отчета о положении контроллера возвращает положение джойстика вдоль выбранной оси в виде числа от -100 до 100.

Фронтальная сторона контроллера EXP с номерами осей джойстика, выделенными красным. На поверхности контроллера левый джойстик обозначен как Ось 4 для движения влево и вправо и Ось 3 для движения вверх и вниз, а правый джойстик обозначен как Ось 1 для движения влево и вправо и Ось 2 для движения вверх и вниз.

Блок отчета о положении контроллера#
(положение оси [1 v] контроллера)

Параметр

Описание

ось

Ось джойстика для отображения:

  • 1 — горизонтальная ось правого джойстика
  • 2 — вертикальная ось правого джойстика
  • 3 — вертикальная ось левого джойстика
  • 4 — горизонтальная ось левого джойстика

Пример

При запуске двигатель движется вперед, пока левый джойстик поднят вверх.#
при запуске
[Drive forward while the left joystick is pushed up.]
вечно
если <(положение оси [3 v] контроллера) [math_greater_than v] [0]> то
движение [вперёд v]
иначе
остановить движение
конец
конец

Действия#

Включение/отключение контроллера#

Блок стека Включение/отключение контроллера включает или отключает действия, настроенные контроллером из меню «Устройства», для всех подключенных контроллеров.

Блок включения/отключения контроллера#
Контроллер [Отключить v]

Параметр

Описание

состояние

Состояние действия, заданное контроллером: Отключить или Включить.

Пример

При запуске отключает настроенные действия контроллера, пока робот движется вперед.#
при запуске
[Disable Controller configured actions until the drive movement is done.]
Контроллер [Отключить v]
движение [вперёд v] на (6) [дюймы v] ▶
Контроллер [Включить v]

при нажатии кнопки контроллера#

Блок Hat, отвечающий за нажатие кнопки контроллера, запускает подключенный стек при нажатии или отпускании выбранной кнопки контроллера.

Передняя и верхняя стороны контроллера EXP с джойстиками, кнопками со стрелками и кнопками действий, выделенными желтым цветом. На поверхности контроллера расположены два джойстика слева и справа, кнопки со стрелками вверх и вниз слева и кнопки A и B справа. На верхней части контроллера слева расположены кнопки L1 и L2, а справа — кнопки R1 и R2.

при нажатии кнопки контроллера Блок шляпы#
когда кнопка [L1 v] контроллера [нажат v] :: hat events

Параметр

Описание

кнопка

Кнопка для проверки:

  • L1
  • L2
  • L3
  • R1
  • R2
  • R3
  • ▲
  • ▼
  • A
  • B

статус кнопки

Событие нажатия кнопки, запускающее соответствующий стек: нажатие или отпускание.

Пример

При нажатии кнопки R1 устройство перемещается вперед на 200 миллиметров.#
когда кнопка [R1 v] контроллера [нажат v] :: hat events
[Drive forward when R1 is pressed.]
движение [вперёд v] на (200) [мм v] ▶

при изменении оси контроллера#

Блок Hat, отвечающий за вызов функции when Controller axis is changed, запускает прикрепленный стек при изменении положения джойстика вдоль выбранной оси.

Фронтальная сторона контроллера EXP с номерами осей джойстика, выделенными красным. На поверхности контроллера левый джойстик обозначен как Ось 4 для движения влево и вправо и Ось 3 для движения вверх и вниз, а правый джойстик обозначен как Ось 1 для движения влево и вправо и Ось 2 для движения вверх и вниз.

при изменении оси контроллера блок «Шляпа»#
когда ось [1 v] контроллера изменилась :: hat events

Параметр

Описание

ось

Ось джойстика для проверки:

  • 1 — горизонтальная ось правого джойстика
  • 2 — вертикальная ось правого джойстика
  • 3 — вертикальная ось левого джойстика
  • 4 — горизонтальная ось левого джойстика

Пример

При изменении положения джойстика вдоль оси 3 контроллера происходит перемещение вперед на 200 миллиметров.#
когда ось [3 v] контроллера изменилась :: hat events
[Drive forward when the joystick's position changes along axis 3.]
движение [вперёд v] на (200) [мм v] ▶