Использование кнопок управления модулем



Кнопки управления модулем – пять кнопок (влево, центр, вправо, вверх и вниз), расположенных на передней панели модуля EV3. Кнопки управления модулем можно использовать как датчик для обнаружения нажатия кнопки и для определения, какая кнопка нажата.

Вы можете использовать кнопки управления модулем для того, чтобы заставить вашу программу реагировать на нажатие кнопок. Например, можно заставить робота поднимать и опускать руку при нажатии кнопок «Вверх» и «Вниз».
Советы и подсказки
Кнопка «Назад» на модуле EV3 не относится к кнопкам управления модулем. Нажатие кнопки «Назад» прерывает выполнение программы.
Кнопки управления модулем также могут отслеживать, была ли раньше нажата кнопка и затем отпущена. Это называется «Щелчок», и действует так же, как состояние «Щелчок» в датчике касания. Дополнительную информацию см. в пункте «Понятие «щелчок»» в разделе «Использование датчика касания».
Данные кнопок управления модулем
Кнопки управления модулем могут выдавать следующие данные:
ДанныеТипПримечания
Идентификатор кнопки Числовое значениеУказывает, какая кнопка нажата в данный момент:
0 = Нет
1 = Влево
2 = Центр
3 = Вправо
4 = Вверх
5 = Вниз
Нажатие Логическое значениеДля указанного индикатора кнопки (1-5) истина, если кнопка нажата, ложь – если нет.
Освобождение Логическое значениеДля указанного индикатора кнопки (1-5) ложь, если кнопка нажата, истина – если нет.
Щелчок Логическое значениеДля указанного индикатора кнопки (1-5) истина, если кнопка ранее была нажата и отпущена. Для следующего наступления состояния «Щелчок» потребуется новое нажатие и освобождение.
Советы и подсказки
Кнопки управления блоком не могут обнаружить нажатие нескольких кнопок одновременно. Если вы нажимаете две кнопки одновременно, одна кнопка будет заменять другую.
Примеры использования кнопок управления модулем
Ниже приведено несколько примеров того, как можно использовать кнопки управления модулем в программе.
Пример 1: Нажмите кнопку для продолжения
Эта программа заставляет робота перемещаться вперед в течение одной секунды, затем отобразится «Нажмите кнопку...». Затем программа ждет, когда будет нажата одна из кнопок управления модулем, прежде чем произойдет перемещение назад в течение одной секунды. Программа использует блок ожидания с режимом «Кнопки управления модулем – Изменение» для ожидания нажатия любой кнопки управления модулем.
Пример 2: Панель управления кнопками управления модулем
Эта программа заставляет робота выполнить поворот налево, когда нажата левая кнопка, и направо — когда нажата правая кнопка. Программа использует блок «Если ... то» с режимом «Кнопки управления модулем – Измерение» для того, чтобы определить, какая из кнопок управления модулем нажата. Три различных варианта в блоке «Если ... то» заставляют робота повернуть налево, когда нажата левая кнопка, повернуть направо, когда нажата правая кнопка, и остановиться, когда не нажата ни одна кнопка. Проверка повторяется непрерывно в цикле.
Советы и подсказки
Используйте кнопку «+» на блоке «Если ... то», чтобы добавить другие варианты. Например, вы можете заставить робота перемещаться вперед и назад при нажатии кнопок «Вверх» и «Вниз».
Пример 3: Управление цветом индикатора состояния модуля с помощью кнопок управления модулем
Эта программа заставляет индикатор состояния модуля загораться зеленым цветом, когда вы нажимаете левую кнопку, оранжевым — когда вы нажимаете центральную кнопку, и красным — когда вы нажимаете правую кнопку. Сначала программа использует блок «Если ... то» в режиме «Кнопки управления модулем – Сравнение», чтобы определить, нажата ли левая, центральная или правая кнопка. Если нет, то блок «Индикатор состояния модуля»выключает индикатор. Если одна из этих трех кнопок нажата, блок кнопок управления модулем в режиме «Измерение» получает идентификатор нажатой кнопки (1-3) через шину данных. Затем блок математики вычитает из этого значения 1, чтобы его можно было использовать как ввод цвета (0-2) для блока «Индикатор состояния модуля.
Блоки и режимы кнопок управления модулем
В таблице ниже показаны все программные блоки и режимы, которые можно использовать с кнопками управления модулем.
БлокРежимИспользование
ОжиданиеКнопки управления модулем – СравнениеДождитесь, когда одна из выбранных кнопок управления модулем будет в положении «Нажатие», «Освобождение» или «Щелчок».
ОжиданиеКнопки управления модулем – ИзменениеДождитесь, когда идентификатор нажатой кнопки (идентификатор кнопки) изменится. Если в начале блока ни одна кнопка не нажата, он будет ожидать нажатия какой-либо кнопки управления модулем.
ЦиклКнопки управления модулемПовторяйте последовательность блоков, пока одна из кнопок управления модулем не будет в положении «Нажатие», «Освобождение» или «Щелчок».
Если ... тоКнопки управления модулем – ИзмерениеВыберите между двумя или более последовательностями блоков в зависимости от того, какая кнопка управления модулем нажата.
Если ... тоКнопки управления модулем – СравнениеВыберите между двумя последовательностями блоков в зависимости от того, в каком положение будет одна из выбранных из кнопок управления модулем — «Нажатие», «Освобождение» или «Щелчок».
Кнопки управления модулемИзмерениеПолучите идентификатор кнопки управления модулем, которая нажата в данный момент (0 — если ни одна кнопка не нажата), через шину числовых данных.
Кнопки управления модулемСравнениеПроверьте, находится ли одна из выбранных кнопок в положении «Нажатие», «Освобождение» или «Щелчок», и получите результат через шину логических данных.
Кнопки управления модулем
Быстрые ссылки