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.
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.
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:
|
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.
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.
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.
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 <>
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 <> 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.
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.
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.
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.
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