Lição 3: Dirija para o número ‘31’
Nesta lição, o robô de RV dirigirá para o número ‘31‘ e depois voltará para o número ‘1’ no Playground do Mapa de Grade Numérica!

Observe que o Robô VR estará viajando ao longo do eixo Y para se mover para o número ‘31’ no Playground do Mapa de Grade Numérica.

O Robô VR irá conduzir até ao local do número ‘31’ no Parque Infantil Number Grid Map. No entanto, antes que o Robô de RV possa navegar para esse número, o Robô de RV deve ser informado onde está a localização desse número. As coordenadas do número ‘31’ são (-900, -300).

-
Arraste o bloco sem espera [Drive] para o espaço de trabalho.

-
Anexe um bloco [Aguarde até] abaixo do bloco [Drive].

-
Arraste o bloco <Greater than> Boolean reporter para o bloco [Wait until].

-
Observe que o <Greater than> bloco é usado em vez do <Less than> bloco porque o Robô VR está subindo da parte inferior do Playground. O Robô VR começa com um valor Y de -900 milímetros (mm). À medida que o robô VR avança, os valores Y aumentam.

-
Arraste o bloco (Posição do Robô) para dentro do <Greater than> bloco.

-
Defina o parâmetro do bloco (Posição do Robô) para “Y” e o parâmetro do <Greater than> bloco para -300.

-
Arraste um bloco [Stop driving] e adicione-o ao projeto.

- Inicie o Number Grid Map Playground se ainda não estiver aberto e execute o projeto.
-
Assista ao robô VR dirigir para o número ‘31’ no Playground Number Grid Map.

- Neste projeto, o robô VR dirige para o número ‘31’ no Number Grid Map Playground. Uma vez que os valores Y estão aumentando à medida que o Robô VR dirige para o número ‘31’, o projeto usa um <Greater than> bloco.
- O Robô VR irá parar quando o seu valor Y for maior do que o valor Y da coordenada em que o número indicado está ligado. Como o valor Y do número ‘31’ é -300, o Robô VR parará de dirigir quando o valor Y for maior que -300.

Usando Blocos de Interruptor
Nesta lição, você aprendeu a usar o bloco VEXcode [Wait until] com uma condição booleana para comandar o robô a esperar até que ele atinja uma posição superior a -300 no eixo Y antes de passar para o próximo comportamento.
A imagem abaixo mostra o bloco VEXcode ao lado do bloco Switch contendo o comando Python para os mesmos comportamentos.
Dentro do bloco Switch, enquanto não location.position(Y, MM) > -300: é o primeiro comando Python que verifica se a posição do robô ao longo do eixo X é maior que -300.
O segundo comando recuado, wait (5, MSEC), pausa a execução do loop condicional por 5 milissegundos.
No VEXcode VR, é sempre adicionado um comando wait com o ciclo condicional. O objetivo do comando wait é garantir que o VEXcode VR pode executar corretamente o projeto conforme pretendido, devido à natureza baseada na web da plataforma VEXcode VR. O comando wait nunca deve ser eliminado quando se utiliza um ciclo condicional, ou o seu projeto pode não funcionar como esperado.
Neste exemplo, o projeto verifica se a posição do robô é maior ou não do que um valor Y de -300 a cada 5 MS. Essa linha de código é recuada abaixo da primeira linha de código porque esse comando é o comportamento que se repetirá até que a condição (um valor de coordenada Y maior que -300) seja atendida.
Selecione o botão Seguinte para continuar com o resto desta lição.