Controlador#
Introdução#
O Controlador V5 possui botões, dois joysticks, um motor de vibração e um ecrã. Os blocos do controlador podem ser utilizados para verificar pressionamentos de botões, ler o movimento do joystick, vibrar o controlador, ativar ou desativar ações configuradas no controlador, executar blocos quando ocorrem eventos do controlador ou exibir texto no ecrã do controlador.
As ações do controlador configuradas são comportamentos do controlador definidos no menu Dispositivos. Utilize o bloco Ativar/desativar controlador para ativar ou desativar temporariamente estas ações configuradas durante um projeto.
Segue abaixo a lista dos blocos disponíveis:
Valores — Verificar o estado dos botões do controlador ou ler a posição do joystick.
Controlador premido? — Retorna se um botão do Controlador selecionado está a ser premido.
Posição do controlador — Retorna a posição do joystick ao longo de um eixo selecionado.
Ações — Faça vibrar o comando, ative/desative as ações configuradas no comando ou execute blocos quando a entrada do comando é alterada.
reproduzir vibração no controlador — Reproduz um padrão de vibração num controlador.
Ativar/desativar controlador — Ativa ou desativa as ações do controlador configuradas no menu Dispositivos para todos os controladores ligados.
quando o botão do controlador é premido — Executa a pilha anexada quando um botão selecionado é premido ou libertado.
quando o eixo do controlador é alterado — Executa a pilha anexada quando a posição de um joystick muda ao longo do eixo selecionado.
Ecrã — Apresenta texto e números no ecrã do controlador.
imprimir no controlador — Apresenta o texto, os números ou os valores das variáveis no ecrã do Controlador.
set cursor to row column on controller — Move o cursor para uma linha e coluna especificadas no ecrã do Controlador.
set cursor to next row on controller — Move o cursor para a linha seguinte no ecrã do Controlador.
definir precisão de impressão no controlador — Define quantas casas decimais são apresentadas quando os números são impressos no ecrã do Controlador.
limpar controlador — Limpa todas as linhas no ecrã do Controlador.
limpar linha no controlador — Limpa uma linha no ecrã do Controlador.
Valores#
Comando pressionado?#
O bloco booleano Controlador pressionado? retorna se um botão selecionado do Controlador estiver a ser pressionado.

<[Controller1 v] [▲ v] pressionado?>
Parâmetro |
Descrição |
|---|---|
dispositivo |
O controlador a utilizar, configurado na janela Dispositivos. |
botão |
Botão para verificar:
|
Exemplo
quando iniciar
[Drive forward while X is pressed.]
para sempre
se <[Controller1 v] [X v] pressionado?> então
conduzir [frente v]
senão
parar de conduzir
fim
fim
Posição do controlador#
O bloco de relatório Posição do controlador devolve a posição do joystick ao longo de um eixo selecionado como um número de -100 a 100.

([Controller1 v] [1 v] position :: sensing)
Parâmetro |
Descrição |
|---|---|
dispositivo |
O controlador a utilizar, configurado na janela Dispositivos. |
eixo |
Eixos do joystick a reportar:
|
Exemplo
quando iniciar
[Drive forward while the left joystick is pushed up.]
para sempre
se <([Controller1 v] [3 v] position :: sensing) [math_greater_than v] [0]> então
conduzir [frente v]
senão
parar de conduzir
fim
fim
Ações#
Ative a vibração no comando#
O bloco de pilha reproduzir vibração no controlador reproduz um padrão de vibração no controlador.
reproduzir vibração [Longa v] em [Controller1 v]
Parâmetro |
Descrição |
|---|---|
padrão |
Padrão de vibração para reproduzir no comando:
|
dispositivo |
O controlador a utilizar, configurado na janela Dispositivos. |
Exemplo
quando[Controller1 v] botão [R1 v] [pressionado v] :: hat events
reproduzir vibração [Curta v] em [Controller1 v]
Ativar/desativar controlador#
O bloco de pilha Ativar/Desativar Controlador ativa ou desativa as ações configuradas pelo Controlador no menu Dispositivos para todos os controladores ligados.
Controle [Desativar v]
Parâmetro |
Descrição |
|---|---|
estado |
O controlador configurou o estado da ação: Desativar ou Ativar. |
Exemplo
quando iniciar
[Disable Controller configured actions until the drive movement is done.]
Controle [Desativar v]
conduzir [frente v] por (6) [polegadas v] ▶
Controle [Ativar v]
quando o eixo do controlador é alterado#
O bloco Hat quando o eixo do controlador é alterado executa a pilha associada quando a posição de um joystick muda ao longo do eixo selecionado.

when [Controller1 v] axis [1 v] is changed :: hat events
Parâmetro |
Descrição |
|---|---|
dispositivo |
O controlador a utilizar, configurado na janela Dispositivos. |
eixo |
Eixos do joystick a verificar:
|
Exemplo
when [Controller1 v] axis [3 v] is changed :: hat events
[Drive forward when the joystick's position changes along axis 3.]
conduzir [frente v] por (200) [mm v] ▶
Ecrã#
imprimir no controlador#
O bloco de pilha imprimir no controlador apresenta texto, números ou valores de variáveis no ecrã do controlador na posição atual do cursor.
imprimir [VEXcode] em [Controller1 v] ▶ :: custom-controller-inertial-timer
Parâmetro |
Descrição |
|---|---|
valor |
O texto, o número ou o valor da variável a ser apresentado no ecrã do Controlador. |
dispositivo |
O controlador a utilizar, configurado na janela Dispositivos. |
seta expansível |
Expande o bloco para incluir e posiciona o cursor na linha seguinte, o que move o cursor para a linha seguinte após a impressão do valor. Se esta opção não for utilizada, o próximo valor impresso aparecerá imediatamente a seguir ao valor anterior na mesma linha. |
Exemplo
quando iniciar
[Display a message on the Controller screen.]
imprimir [Hello, robot!] em [Controller1 v] ▶ :: custom-controller-inertial-timer
Defina o cursor para a linha/coluna do controlador.#
O bloco de pilha definir cursor para linha e coluna no controlador move o cursor para uma linha e coluna específicas no ecrã do controlador. O próximo valor impresso aparecerá nessa posição.
definir cursor para linha [1] coluna [1] em [Controller1 v] :: custom-controller-inertial-timer
Parâmetro |
Descrição |
|---|---|
linha |
A linha para a qual o cursor será movido no ecrã do Controlador. |
coluna |
A coluna para a qual o cursor será movido no ecrã Controlador. |
dispositivo |
O controlador a utilizar, configurado na janela Dispositivos. |
Exemplo
quando iniciar
[Display a message on row 2.]
definir cursor para linha [2] coluna [1] em [Controller1 v] :: custom-controller-inertial-timer
imprimir [Ready] em [Controller1 v] ▶ :: custom-controller-inertial-timer
Posicione o cursor na linha seguinte do controlador.#
O bloco de pilha set cursor to next row on controller move o cursor para a coluna 1 na linha seguinte do ecrã do Controlador. O próximo valor impresso aparecerá nessa linha.
mover cursor para a próxima linha em [Controller1 v] :: custom-controller-inertial-timer
Parâmetro |
Descrição |
|---|---|
dispositivo |
O controlador a utilizar, configurado na janela Dispositivos. |
Exemplo
quando iniciar
[Display two rows of text.]
imprimir [Row 1] em [Controller1 v] ▶ :: custom-controller-inertial-timer
mover cursor para a próxima linha em [Controller1 v] :: custom-controller-inertial-timer
imprimir [Row 2] em [Controller1 v] ▶ :: custom-controller-inertial-timer
Defina a precisão de impressão no controlador.#
O bloco de pilha definir precisão de impressão no controlador define quantas casas decimais são apresentadas quando os números são impressos no ecrã do controlador. Esta configuração aplica-se aos números impressos após a utilização deste bloco.
definir precisão de impressão para [0.1 v] em [Controller1 v] :: custom-controller-inertial-timer
Parâmetro |
Descrição |
|---|---|
precisão |
Precisão de impressão a utilizar:
|
dispositivo |
O controlador a utilizar, configurado na janela Dispositivos. |
Exemplo
quando iniciar
[Display 1/3 with two decimals.]
definir precisão de impressão para [0.01 v] em [Controller1 v] :: custom-controller-inertial-timer
imprimir ([1] [math_division v] [3]) em [Controller1 v] ▶ :: custom-controller-inertial-timer
controlador limpo#
O bloco de pilha limpar controlador limpa todas as linhas do ecrã do Controlador e move o cursor de volta para a primeira linha.
limpar [Controller1 v] :: custom-controller-inertial-timer
Parâmetro |
Descrição |
|---|---|
dispositivo |
O controlador a utilizar, configurado na janela Dispositivos. |
Exemplo
quando iniciar
[Clear the Controller screen after printing.]
imprimir [This will disappear...] em [Controller1 v] ▶ :: custom-controller-inertial-timer
aguardar [2] segundos
limpar [Controller1 v] :: custom-controller-inertial-timer
limpar linha no controlador#
O bloco de pilha limpar linha no controlador limpa uma única linha no ecrã do Controlador.
limpar linha [1] em [Controller1 v] :: custom-controller-inertial-timer
Parâmetro |
Descrição |
|---|---|
linha |
A linha a limpar no ecrã do Controlador. |
dispositivo |
O controlador a utilizar, configurado na janela Dispositivos. |
Exemplo
quando iniciar
[Clear one row on the Controller screen.]
imprimir [Row 1] em [Controller1 v] ▶ :: custom-controller-inertial-timer
mover cursor para a próxima linha em [Controller1 v] :: custom-controller-inertial-timer
imprimir [Row 2] em [Controller1 v] ▶ :: custom-controller-inertial-timer
aguardar [2] segundos
limpar linha [1] em [Controller1 v] :: custom-controller-inertial-timer