Контролер#

Вступ#

Контролер V5 має кнопки, два джойстики, двигун гудіння та екран. Блоки контролера можна використовувати для перевірки натискань кнопок, зчитування руху джойстика, гудіння контролера, увімкнення або вимкнення налаштованих дій контролера, запуску блоків, коли відбуваються події контролера, або відображення тексту на екрані контролера.

Налаштовані дії контролера – це поведінка контролера, встановлена ​​в меню «Пристрої». Використовуйте блок Увімкнення/вимкнення контролера, щоб тимчасово ввімкнути або вимкнути ці налаштовані дії під час проекту.

Нижче наведено список доступних блоків:

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

Дії — Вмикати контролер, увімкнути/вимкнути налаштовані дії контролера або запустити блоки, коли змінюється вхідний сигнал контролера.

Екран — Відображення тексту та чисел на екрані контролера.

Цінності#

Контролер натиснуто?#

Логічний блок Controller pressed? повертає інформацію про те, чи натискається вибрана кнопка контролера.

Передня та задня сторони контролера V5 з кнопками, виділеними жовтим кольором. На поверхні контролера розташовані кнопки зі стрілками вгору, вниз, вліво та вправо ліворуч, а також кнопки X, A, B, Y за годинниковою стрілкою від 12 годин праворуч. На задній стороні контролера розташовані L1, L2, R1 та R2 ліворуч та праворуч відповідно.

Контролер натиснуто? Булевий блок#
<[Controller1 v] [▲ v] натиснуто?>

Параметр

Опис

пристрій

Контролер, який буде використано, налаштований у вікні «Пристрої».

кнопка

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

  • ▲
  • ▼
  • ◀
  • ▶
  • 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]
інакше
зупинити рух
Кінець
Кінець

Дії#

відтворити гуркіт на контролері#

Блок стека відтворювати гуркіт на контролері відтворює візерунок гуркоту на контролері.

відтворювати гуркіт на блоці стека контролера#
відтворити вібрацію [Довга v] на [Controller1 v]

Параметр

Опис

візерунок

Шаблон гудіння для відтворення на контролері:

  • Довгий — один довгий гул
  • Короткий — один короткий гул
  • Пульсуючий — шаблон гудіння, що вмикається та вимикається

пристрій

Контролер, який буде використано, налаштований у вікні «Пристрої».

Приклад

Коли натиснуто кнопку R1, на контролері відтворюється короткий гуркіт.#
коли[Controller1 v] кнопка [R1 v] [натиснуто v] :: hat events
відтворити вібрацію [Коротка v] на [Controller1 v]

Увімкнення/вимкнення контролера#

Блок стеку Увімкнення/вимкнення контролера вмикає або вимикає дії, налаштовані контролером, з меню «Пристрої» для всіх підключених контролерів.

Блок стеку ввімкнення/вимкнення контролера#
Контролер [Вимкнути v]

Параметр

Опис

стан

Стан дії, налаштований контролером: Вимкнути або Увімкнути.

Приклад

Після запуску вимикає налаштовані дії контролера, поки робот рухається вперед.#
коли запущено
[Disable Controller configured actions until the drive movement is done.]
Контролер [Вимкнути v]
їхати [вперед v] на (6) [дюйми v] ▶
Контролер [Увімкнути v]

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

Блок Hat when Controller button pressed запускає підключений стек, коли вибрана кнопка контролера натиснута або відпущена.

Передня та задня сторони контролера V5 з кнопками, виділеними жовтим кольором. На поверхні контролера розташовані кнопки зі стрілками вгору, вниз, вліво та вправо ліворуч, а також кнопки X, A, B, Y за годинниковою стрілкою від 12 годин праворуч. На задній стороні контролера розташовані L1, L2, R1 та R2 ліворуч та праворуч відповідно.

при натисканні кнопки контролера блок капелюха#
коли[Controller1 v] кнопка [▲ v] [натиснуто v] :: hat events

Параметр

Опис

пристрій

Контролер, який буде використано, налаштований у вікні «Пристрої».

кнопка

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

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

стан кнопки

Подія кнопки, яка активує приєднаний стек: натиснута або відпущена.

Приклад

При натисканні кнопки R1 рухається вперед на 200 міліметрів.#
коли[Controller1 v] кнопка [R1 v] [натиснуто v] :: hat events
[Drive forward when R1 is pressed.]
їхати [вперед v] на (200) [мм v] ▶

коли змінюється вісь контролера#

Блок Hat коли змінюється вісь контролера запускає приєднаний стек, коли положення джойстика змінюється вздовж вибраної осі.

Контролер VEX V5 з позначеними осями навколо джойстиків. Осі 1 та 2 розташовані навколо правого джойстика, а осі 3 та 4 — навколо лівого.

коли змінюється вісь контролера, блок Hat#
when [Controller1 v] axis [1 v] is changed :: hat events

Параметр

Опис

пристрій

Контролер, який буде використано, налаштований у вікні «Пристрої».

вісь

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

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

Приклад

Коли положення джойстика змінюється вздовж осі контролера 3, відбувається рух вперед на 200 міліметрів.#
when [Controller1 v] axis [3 v] is changed :: hat events
[Drive forward when the joystick's position changes along axis 3.]
їхати [вперед v] на (200) [мм v] ▶

Екран#

встановити курсор на рядок-стовпець на контролері#

Блок стека встановити курсор на рядок-стовпець на контролері переміщує курсор до вказаного рядка та стовпця на екрані контролера. Наступне надруковане значення з’явиться в цій позиції.

встановити курсор на рядок-стовпець у блоці стека контролера#
встановити курсор на рядок [1] стовпець [1] на [Controller1 v] :: custom-controller-inertial-timer

Параметр

Опис

ряд

Рядок, на який потрібно перемістити курсор на екрані контролера.

колона

Колонка, до якої потрібно перемістити курсор на екрані контролера.

пристрій

Контролер, який буде використано, налаштований у вікні «Пристрої».

Приклад

Після запуску друкує текст у рядку 2, стовпці 1 на екрані контролера.#
коли запущено
[Display a message on row 2.]
встановити курсор на рядок [2] стовпець [1] на [Controller1 v] :: custom-controller-inertial-timer
вивести [Ready] на [Controller1 v] ▶ :: custom-controller-inertial-timer

встановити курсор на наступний рядок на контролері#

Блок стеку встановити курсор на наступний рядок на контролері переміщує курсор до стовпця 1 наступного рядка екрана контролера. Наступне надруковане значення з’явиться в цьому рядку.

встановити курсор на наступний рядок у блоці стека контролера#
перейти до наступного рядка на [Controller1 v] :: custom-controller-inertial-timer

Параметр

Опис

пристрій

Контролер, який буде використано, налаштований у вікні «Пристрої».

Приклад

Після запуску друкує два рядки на екрані контролера.#
коли запущено
[Display two rows of text.]
вивести [Row 1] на [Controller1 v] ▶ :: custom-controller-inertial-timer
перейти до наступного рядка на [Controller1 v] :: custom-controller-inertial-timer
вивести [Row 2] на [Controller1 v] ▶ :: custom-controller-inertial-timer

встановити точність друку на контролері#

Блок стеку set print precision on controller встановлює кількість знаків після коми, що відображаються під час друку чисел на екрані контролера. Цей параметр застосовується до чисел, що друкуються після використання цього блоку.

встановити точність друку на блоці стека контролера#
встановити точність друку [0.1 v] на [Controller1 v] :: custom-controller-inertial-timer

Параметр

Опис

точність

Точність друку, яку слід використовувати:

  • 1 — без десяткових знаків
  • 0.1 — 1 десятковий знак
  • 0.01 — 2 десяткові знаки
  • 0.001 — 3 десяткові знаки
  • Усі цифри — усі доступні десяткові знаки

пристрій

Контролер, який буде використано, налаштований у вікні «Пристрої».

Приклад

Після запуску на екрані контролера відображається 1/3 з двома знаками після коми.#
коли запущено
[Display 1/3 with two decimals.]
встановити точність друку [0.01 v] на [Controller1 v] :: custom-controller-inertial-timer
вивести ([1] [math_division v] [3]) на [Controller1 v] ▶ :: custom-controller-inertial-timer

чіткий контролер#

Блок стека clear controller очищає всі рядки на екрані контролера та переміщує курсор назад до першого рядка.

очистити блок стека контролера#
очистити [Controller1 v] :: custom-controller-inertial-timer

Параметр

Опис

пристрій

Контролер, який буде використано, налаштований у вікні «Пристрої».

Приклад

Після запуску друкує текст, очікує, а потім очищує екран контролера.#
коли запущено
[Clear the Controller screen after printing.]
вивести [This will disappear...] на [Controller1 v] ▶ :: custom-controller-inertial-timer
чекати [2] секунд
очистити [Controller1 v] :: custom-controller-inertial-timer

очистити рядок на контролері#

Блок стека очистити рядок на контролері очищає один рядок на екрані контролера.

очистити рядок у блоці стека контролера#
очистити рядок [1] на [Controller1 v] :: custom-controller-inertial-timer

Параметр

Опис

ряд

Рядок, який потрібно очистити на екрані контролера.

пристрій

Контролер, який буде використано, налаштований у вікні «Пристрої».

Приклад

Після запуску очищає рядок 1 на екрані контролера.#
коли запущено
[Clear one row on the Controller screen.]
вивести [Row 1] на [Controller1 v] ▶ :: custom-controller-inertial-timer
перейти до наступного рядка на [Controller1 v] :: custom-controller-inertial-timer
вивести [Row 2] на [Controller1 v] ▶ :: custom-controller-inertial-timer
чекати [2] секунд
очистити рядок [1] на [Controller1 v] :: custom-controller-inertial-timer