Controles#

Introdução#

Os blocos de controlo no VEXcode AIR gerem o fluxo de um projeto, lidando com loops, condições e atrasando a execução dos blocos.

Um ciclo ocorre quando um computador repete o mesmo passo ou grupo de passos continuamente até receber a instrução de paragem. Uma condição é uma regra que o computador verifica para decidir o que fazer a seguir. Por exemplo, o drone pode voar para a frente quando um botão do comando é premido.

Segue abaixo a lista dos blocos disponíveis:

  • wait — Faz uma pausa na execução de blocos durante uma duração específica.

  • wait until — Suspende a execução de blocos até que uma condição especificada seja satisfeita.

  • repeat — Repete um conjunto de blocos um número específico de vezes.

  • para sempre — Repete um conjunto de blocos indefinidamente.

  • repetir até — Repete um conjunto de blocos até que uma condição seja satisfeita.

  • while — Repete um conjunto de blocos enquanto uma condição se mantiver verdadeira.

  • if — Executa um conjunto de blocos se uma condição for verdadeira.

  • if / else — Executa um conjunto de blocos se uma condição for verdadeira, caso contrário, executa outro.

  • if / else if / else — Executa diferentes conjuntos de blocos dependendo de múltiplas condições.

  • break — Sai de um ciclo imediatamente.

  • parar projeto — Encerra o projeto.

espera#

O bloco de pilha wait pausa a execução de outros blocos durante um período específico antes de passar para o bloco seguinte.

bloco de pilha de espera#
aguardar (1) segundos

Parâmetros

Descrição

hora

O tempo de espera, expresso como um número inteiro positivo ou decimal em segundos.

Exemplo

quando iniciar
[Fly for 1 second.]
decolar para (500) [mm v] ▶
aguardar [1] segundos
pousar ▶

espere até#

O bloco de pilha esperar até interrompe a execução de outros blocos até que uma condição específica seja satisfeita, antes de avançar para o bloco seguinte.

aguarde até que o bloco de pilha#
aguardar até <>

Parâmetros

Descrição

estado

A condição que deve ser satisfeita antes de avançar para o bloco seguinte. Se o resultado for:

  • Falso - A espera continua
  • Verdadeiro - A espera termina e é passado o bloco seguinte

Exemplo

quando iniciar
[Hover at 200 mm.]
decolar para [500] [mm v] ▶
subir/descer [descer v]
aguardar até <(distance [downward v] range in [mm v]) [math_less_than v] [200]>
pairar
aguardar (3) segundos
pousar ▶

repetir#

O bloco repeat C executa os blocos internos um determinado número de vezes.

bloco de repetição c#
repetir [10]
fim

Parâmetros

Descrição

vezes

Um número inteiro que define quantas vezes o bloco repeat é executado.

Exemplo

quando iniciar
[Move back and forth four times then land.]
decolar para [500] [mm v] ▶
repetir (4)
mover [frente v] por (500) [mm v] ▶
aguardar (1) segundos
mover [backward v] por (500) [mm v] ▶
aguardar (1) segundos
fim
pousar ▶

para sempre#

O bloco C eterno continua a executar os blocos internos repetidamente, sem parar.

bloco c para sempre#
para sempre
fim

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

quando iniciar
[Move with controller.]
decolar para [500] [mm v] ▶
para sempre
mover com controle
fim

Repita até#

O bloco repeat until em C executa os blocos internos repetidamente enquanto a condição especificada não for satisfeita.

Repita até o bloco#
repetir até <>
fim

Parâmetros

Descrição

estado

Uma expressão ou variável que é verificada antes de cada iteração do ciclo. Se for False, os blocos continuam a repetir-se. Se for True, o ciclo será interrompido.

Exemplo

quando iniciar
[Move with controller until button 7 is pressed.]
decolar para [500] [mm v] ▶
repetir até <botão [7 v] do controle pressionado?>
mover com controle
fim
pousar ▶

enquanto#

O bloco while em C executa os blocos internos repetidamente enquanto a condição especificada for satisfeita.

enquanto o bloco c#
enquanto <>
fim

Parâmetros

Descrição

estado

Uma expressão ou variável que é verificada antes de cada iteração do ciclo. Se for Verdadeira, os blocos continuam a repetir-se. Se for Falsa, o ciclo será interrompido.

Exemplo

quando iniciar
[Hover at 200 mm.]
decolar para [500] [mm v] ▶
enquanto <(distance [downward v] range in [mm v]) [math_greater_than v] [200]>
subir/descer [descer v]
fim
pairar
aguardar (3) segundos
pousar ▶

se#

O bloco if em C executa os blocos internos se a condição for verdadeira.

se bloco#
se <> então
fim

Parâmetros

Descrição

estado

Uma expressão ou variável que é verificada quando a instrução é executada. Se for Verdadeira, os blocos dentro do bloco if serão executados. Se for Falsa, os blocos serão ignorados.

Exemplo

quando iniciar
[Take a picture when button 5 is pressed.]
decolar para [500] [mm v] ▶
para sempre
mover com controle
se <botão [5 v] do controle pressionado?> então
capturar imagem na câmera [frente v]
fim
fim

se / senão#

O bloco C if / else determina qual o conjunto de blocos que será executado com base no valor Verdadeiro ou Falso da condição.

bloco se então senão#
se <> então
senão
fim

Parâmetros

Descrição

estado

Uma expressão ou variável que é verificada quando a instrução é executada. Se for Verdadeira, os blocos dentro do bloco if serão executados. Se for Falsa, serão executados os blocos dentro do bloco else.

Exemplo

quando iniciar
[Climb when the left joystick is moved up.]
decolar para [500] [mm v] ▶
para sempre
se <(posição do eixo [1 v] do controle) [math_greater_than v] [0]> então
subir/descer [subir v]
senão
pairar
fim

se / senão se / senão#

O bloco C expansível if / else if / else seleciona qual o conjunto de blocos que será executado com base em determinadas condições:

  • if runs its block of code if the condition evaluates as True.

  • else if checks additional conditions only if all previous conditions evaluated as False. Multiple else if statements can be used.

  • else executa o seu bloco de código apenas se nenhuma das condições anteriores for avaliada como Verdadeira.

bloco if else if else#
se <> então
senão se <> então
senão
fim

Parâmetros

Descrição

estado

Uma expressão ou variável que é verificada quando a instrução é executada. A primeira condição que for Verdadeira executa este conjunto de blocos. Se todas as condições forem avaliadas como Falsas, os blocos dentro do bloco else serão executados.

Exemplo

quando iniciar
[Move the drone up or down based on the position of the joystick.]
decolar para [500] [mm v] ▶
para sempre
se <(posição do eixo [1 v] do controle) [math_greater_than v] [0]> então
mover [frente v]
senão se <(posição do eixo [1 v] do controle) [math_less_than v] [0]> então
mover [inverso v]
senão
pairar
fim
fim

pausa#

O bloco de pilha break termina um ciclo imediatamente. Este bloco pode ser utilizado dentro dos blocos repeat, repeat until, while e forever. Break é útil quando um loop precisa de ser interrompido prematuramente devido a algo que acontece durante a execução, como um botão a ser pressionado ou um sensor que deteta um objeto.

bloco de pilha de quebra#
interromper

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

quando iniciar
[Land when button 5 is pressed.]
decolar para [500] [mm v] ▶
para sempre
mover com controle
se <botão [5 v] do controle pressionado?> então
interromper
fim
fim
pousar ▶

projeto de interrupção#

O bloco de pilha stop project termina um projeto em execução.

interromper o bloqueio do projeto#
parar projeto :: control cap

Parâmetros

Descrição

Este bloco não possui parâmetros.

Exemplo

quando iniciar
[Stop motors after landing.]
decolar para [500] [mm v] ▶
aguardar [1] segundos
pousar ▶
parar projeto