Управление пневматикой с помощью кнопок на контроллере

Управление пневматикой с помощью контроллера V5 требует индивидуального проекта. В этой статье будет описано, как создать проект VEXcode V5.


Настройка вашего проекта

Панель инструментов VEXcode V5, на которой значок «Устройства» выделен между значками «Просмотр кода» и «Монитор консоли».

Нажмите кнопку «Устройства», чтобы открыть окно «Устройства».

Меню «Устройства» в VEXcode V5 с кнопкой «Добавить устройство».

Выберите «Добавить устройство».

Меню «Устройства VEXcode V5» после выбора кнопки «Добавить устройство». Выделена опция «Контроллер».

Чтобы запустить проект VEXcode V5 для управления пневматикой, вам необходимо настроить два устройства.

Вам нужно будет добавить устройство-контроллер.

Дополнительную информацию о настройке устройства контроллера см. в статье Настройка контроллера V5 в VEXcode V5 из библиотеки VEX.

Вариант VEXcode V5 3-Wire, как показано в меню «Добавить устройство».Опция цифрового выхода VEXcode V5 для 3-проводных устройств, отображаемая в меню «Добавить устройство».

 

Вам также потребуется добавить цифровой выход 3-проводного устройства.

Для получения дополнительной информации о настройке цифрового выходного устройства см. статью «Настройка 3-проводных цифровых входных и выходных устройств в VEXcode V5 из библиотеки VEX.


Управляйте своим пневматическим цилиндром с помощью двух кнопок контроллера

Водители обычно предпочитают два метода управления пневматикой своего робота. 

Один из способов — использовать две разные кнопки на контроллере: одну кнопку для выдвижения пневматического цилиндра и одну кнопку для втягивания пневматического цилиндра. В ваш проект VEXcode V5 можно добавить следующее для управления пневматическим цилиндром с помощью двух кнопок на контроллере.

Проект VEXcode V5 Blocks, в котором при запуске устанавливается низкий уровень на выходе DigitalOutA.

Из панели инструментов датчиков добавьте установленный блок цифрового выхода в блок [при запуске].

Блок [set digital out] должен быть установлен на «низкий уровень». Это гарантирует, что ваш пневматический цилиндр начнет работу в полностью втянутом состоянии.

Проект VEXcode V5 Blocks, который считывает значение при нажатии кнопки L1 контроллера Controller1. Выпадающее меню «Кнопка» выделено, чтобы показать, что его можно выбрать для просмотра дополнительных параметров.

В панели инструментов «События» добавьте блок [при нажатии кнопки контроллера].

Выберите кнопку контроллера, которую вы предпочитаете использовать для выдвижения пневматического цилиндра.

В этом примере используется кнопка L1.

Проект VEXcode V5 Blocks, который читает: "При нажатии кнопки L1 контроллера Controller1 установите высокий уровень на выходе DigitalOutA". Выпадающее меню цифрового выхода выделено, чтобы показать, что его можно выбрать и изменить.

Добавьте блок [set DigitalOut].

Выберите «высокий» для настройки цифрового выхода.

Это приведет к выдвижению пневматического цилиндра при нажатии кнопки L1 на контроллере.

Проект VEXcode V5 Blocks, который считывает значение при нажатии кнопки L2 контроллера Controller1. Выпадающее меню «Кнопка» выделено, чтобы показать, что его можно выбрать для просмотра дополнительных параметров.

Из панели инструментов «События» добавьте еще один блок [при нажатии кнопки контроллера].

Выберите кнопку контроллера, которую вы предпочитаете использовать для втягивания пневматического цилиндра.

В этом примере используется кнопка L2.

Проект VEXcode V5 Blocks, который считывает: При нажатии кнопки L2 контроллера Controller1 установите низкий уровень на цифровом выходе DigitalOutA.

Добавьте блок [set DigitalOut].

Оставьте значение «низкое» для настройки цифрового выхода.

Это приведет к втягиванию пневматического цилиндра при нажатии кнопки L2 на контроллере.

Сохраните проект, загрузите его в V5 Robot Brain и запустите проект, чтобы проверить свое управление пневматическим цилиндром с помощью контроллера.

Дополнительную информацию о сохранении, загрузке и запуске проектов VEXcode V5 см. в разделе Открытие и сохранение проектов блоков библиотеки VEX.


Управляйте своим пневматическим цилиндром с помощью одной кнопки контроллера

Другой предпочтительный метод, который водители используют для управления пневматикой своего робота, — это использование одной кнопки: кнопка выдвигает пневматический цилиндр при нажатии, а затем втягивает пневматический цилиндр при повторном нажатии. В ваш проект VEXcode V5 можно добавить следующее, чтобы управлять пневматическим цилиндром с помощью одной кнопки на контроллере.

Проект VEXcode V5 Blocks, в котором при запуске устанавливается низкий уровень на выходе DigitalOutA.

Из панели инструментов датчиков добавьте установленный блок цифрового выхода в блок [при запуске].

Блок [set digital out] должен быть установлен на «низкий уровень». Это гарантирует, что ваш пневматический цилиндр начнет работу в полностью втянутом состоянии.

В VEXcode V5 открыто меню «Новая переменная» для создания новой логической переменной.

На панели инструментов «Переменные» выберите «Создать логическое значение».

В этом примере мы назовем логическое значение: digitaloutON.

Проект VEXcode V5 Blocks, в котором при запуске устанавливается низкий уровень сигнала DigitalOutA, а затем значение digitaloutON устанавливается в true.

Добавьте блок [set digitaloutON].

Оставьте логическое значение равным <true>.

Проект VEXcode V5 Blocks, который считывает значение при нажатии кнопки L1 контроллера Controller1. Выпадающее меню «Кнопка» выделено, чтобы показать, что его можно выбрать для просмотра дополнительных параметров.

На панели инструментов «События» добавьте блок {when Controller button pressed}.

Выберите кнопку контроллера, которую вы предпочитаете использовать для выдвижения пневматического цилиндра.

В этом примере используется кнопка L1.

Проект VEXcode V5 Blocks, который считывает значение при нажатии кнопки L1 контроллера Controller1: если поле пустое, то, иначе...

На панели инструментов «Управление» добавьте блок [if then else].

Проект VEXcode V5 Blocks, который считывает информацию о том, что если кнопка L1 контроллера Controller1 нажата, то если digitalout ON, то иначе.

Добавьте логическое значение <digitaloutON> в if.

Проект VEXcode V5 Blocks, который считывает: при нажатии кнопки L1 контроллера Controller1, если digitaloutON, то установить DigitalOutA в высокое состояние, в противном случае.

Добавьте блок [set DigitalOut] в часть «then» блока C.

Измените блок [set DigitalOut] на «высокий».

Проект VEXcode V5 Blocks, который считывает: при нажатии кнопки L1 контроллера Controller1, если digitaloutON, то установить DigitalOutA в высокое состояние, в противном случае — в низкое состояние DigitalOutA.

Добавьте блок [set DigitalOut] в часть «else» блока C.

Оставьте блок [set DigitalOut] низким.

Проект VEXcode V5 Blocks, который читает: Когда нажата кнопка L1 контроллера Controller1, если digitaloutON включен, то установить DigitalOutA в высокое состояние и установить digitaloutON в false, в противном случае установить DigitalOutA в низкое состояние.

Добавьте блок [set digitaloutON].

Измените логическое значение на <false>.

Это изменит логическое значение, поэтому при следующем нажатии кнопки L1 условие перейдет к «else» блока управления C.

Проект VEXcode V5 Blocks, который читает: Когда нажата кнопка L1 контроллера Controller1, если digitaloutON включен, то установить DigitalOutA в высокое состояние и задать digitaloutON значение false, в противном случае установить DigitalOutA в низкое состояние и задать digitaloutON значение true.

Добавьте еще один блок [set digitaloutON].

Оставьте логическое значение равным <true>.

Это изменит логическое значение, поэтому при следующем нажатии кнопки L1 условие перейдет к «то» блока управления C.

Проект VEXcode V5 Blocks с добавленным блоком ожидания, который гласит: «Когда нажата кнопка L1 контроллера 1, если digitaloutON включен, то установить DigitalOutA в высокое состояние, установить digitaloutON в false, а затем подождать 0,1 секунды». В противном случае установите DigitalOutA в низкий уровень, установите digitaloutON в значение true, а затем подождите 0,1 секунды.

На панели инструментов «Управление» добавьте блок [wait] в оба раздела блока C [if then else].

Измените значение на (0,1) секунды в каждом блоке [wait].

Это позволит в течение короткого периода времени обнаружить нажатие кнопки.

Кнопка выдвигает пневматический цилиндр при нажатии, а затем втягивает пневматический цилиндр при повторном нажатии.

Сохраните проект, загрузите его в V5 Robot Brain и запустите проект, чтобы проверить свое управление пневматическим цилиндром с помощью контроллера.

Дополнительную информацию о сохранении, загрузке и запуске проектов VEXcode V5 см. в разделе Открытие и сохранение проектов блоков библиотеки VEX.

Пример проекта-макет шаблона для конкурса VEXcode V5.

Блоки для управления вашими пневматическими цилиндрами необходимо будет воссоздать в примере проекта для шаблона конкурса, прежде чем ваш робот будет готов к использованию в соревнованиях с использованием системы управления полем.

Дополнительную информацию о шаблоне конкурса см. в статье Использование шаблона конкурса «Блоки» в VEXcode V5 в библиотеке VEX.

Эти проекты можно использовать для управления пневматическими цилиндрами как одностороннего, так и двустороннего действия. Если два пневматических цилиндра прикреплены к электромагнитному клапану с помощью Т-образного фитинга, оба цилиндра будут управляться одним и тем же набором блоков.

Примечание: 3-проводной порт на роботе-мозге V5 снова станет цифровым входным портом, когда проект будет остановлен. Если остаточного давления воздуха достаточно, это может привести к выдвижению пневматического цилиндра. Чтобы избежать этого, перед остановкой проекта сбросьте давление воздуха, переведя пальцевой клапан в положение «выключено» или нажав на сердцевину клапана шины Schrader.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: