Skip to main content

Lição 2: Dirija para o número ‘5’

Nesta lição, o robô de RV dirigirá para o número ‘5‘ e voltará para o número ‘1‘ no Playground do Mapa de Grade Numérica!

Uma visão de cima para baixo do playground do Mapa de Grade Numérica, com o número 5 destacado por uma caixa vermelha. O robô VR começa no número 1 e o quadrado do número 5 fica quatro espaços à direita.

Observe que o Robô VR estará viajando ao longo do eixo X com os valores de X aumentando para se mover para o número ‘5’ no Playground do Mapa de Grade Numérica.

Uma vista de cima para baixo do playground do Mapa de Grade Numérica, com o espaço número 5 destacado por uma caixa preta. Uma linha indica medições através do eixo X, com o primeiro espaço sendo -900 milímetros no eixo X, e o próximo sendo -700 continuando a contar por 200 cada vez. O quinto espaço está numa localização X de -100 milímetros.

O Robô VR irá conduzir até ao local do número ‘5‘ no Playground do Mapa da Grade de Números. 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. Começando no centro do Playground, as coordenadas do número ‘5’ são (-100, -900).

Uma vista de cima para baixo do playground do Mapa de Grade Numérica, com dois indicadores de eixo marcando a localização dos quintos espaços. O Robô VR começa em -900 X e -900 Y, enquanto o quinto espaço está em -100 X e -900 Y.
  • Para começar, o robô VR precisa estar voltado para o número ‘5’. Arraste um bloco [Turn for] para o espaço de trabalho.

    O projeto de blocos VEXcode VR começa com um bloco When Started seguido por um bloco Turn For para virar à direita por 90 graus.
  • Arraste o bloco sem espera [Drive] para o espaço de trabalho.

    Uma continuação do projeto de blocos VEXcode VR, agora com um bloco Drive Forward adicionado após o bloco Turn For. Todo o projeto agora diz Quando Iniciado, Vire à Direita por 90 graus e, em seguida, Dirija para a Frente.
  • Anexe um bloco [Aguarde até] abaixo do bloco [Drive].

    Uma continuação do projeto de blocos VEXcode VR, agora com um bloco Wait Until adicionado após o bloco Drive Forward. Todo o projeto agora diz Quando Iniciado, Vire à Direita por 90 graus e, em seguida, Dirija para a Frente. Por fim, existe agora um bloco Wait Until com um parâmetro booleano vazio.
  • O bloco [Aguarde até] aceita condições booleanas. Assim como a Unidade de Sensor de Distância, este projeto usará as condicionais para percorrer o Playground do Mapa de Grade Numérica. Arraste o bloco <Greater than> Boolean reporter para o bloco [Wait until].

    Uma continuação do projeto de blocos VEXcode VR, agora com um bloco Maior que inserido no bloco Esperar Até. Todo o projeto agora diz Quando Iniciado, Vire à Direita por 90 graus e, em seguida, Dirija para a Frente. Por fim, agora há um bloco Esperar até com um bloco Maior que que diz "em branco é maior que 50".
  • Observe que o <Greater than> bloco é usado em vez do <Less than> bloco porque o Robô VR está dirigindo para a direita a partir do lado esquerdo do Playground. O Robô VR está a partir de um valor X de -900 milímetros (mm). À medida que o robô VR avança, os valores X aumentam.

    A mesma visualização de cima para baixo do playground do Mapa de Grade de Números com dois indicadores de eixo marcando a localização do quinto espaço de antes. O Robô VR começa em -900 X e -900 Y, enquanto o quinto espaço está em -100 X e -900 Y.
  • Arraste o bloco (Posição do Robô) para dentro do <Greater than> bloco.

    Uma continuação do projeto de blocos VEXcode VR, agora com um bloco Position of Robot inserido no bloco Greater Than. Todo o projeto agora diz Quando Iniciado, Vire à Direita por 90 graus e, em seguida, Dirija para a Frente. Por fim, espere até que a posição X do robô em milímetros seja maior que 50.

    Para sua informação

    O bloco (Posição do Robô) é um bloco relator numérico que relata a posição da coordenada X ou Y do centro do Robô VR. Escolha se a posição da coordenada X ou Y é relatada.

    A Posição do bloco Robô com o menu suspenso do eixo aberto, alterando o eixo de medição de X para Y.

    Usando Blocos de Interruptor 

    Este é o bloco Switch (Posição do Robô). Para alterar o parâmetro do bloco (Posição do robô) para relatar a coordenada Y, basta digitar "Y" para o valor da coordenada ou selecionar a sugestão de coordenada que aparece. 

    Um bloco de interruptor Posição do robô para demonstrar o recurso de preenchimento automático. O bloco lê 'location.position(X, MM)' e o usuário está alterando o parâmetro X para Y usando o preenchimento automático.

    O bloco (Posição do robô) pode relatar valores em milímetros (mm) ou polegadas.

    A posição do bloco do robô com o menu suspenso da unidade de medição aberto, alterando a unidade de medida de milímetros para polegadas.

    Você pode alterar o parâmetro para a unidade de medida ao usar o bloco Switch (Posição do robô) simplesmente digitando "POLEGADAS" ou selecionando a sugestão que aparece. Certifique-se de usar todas as letras maiúsculas ao digitar parâmetros para unidades de medida.

    Um bloco de interruptor Posição do robô para demonstrar o recurso de preenchimento automático. O bloco diz 'location.position(X, MM)' e o utilizador está a alterar o parâmetro milimétrico para polegadas usando o preenchimento automático.

  • Defina o parâmetro do <Greater than> bloco para -100.

    Uma continuação do projeto de blocos VEXcode VR, agora com o segundo parâmetro do bloco Greater Than alterado de 50 para -100. Todo o projeto agora diz Quando Iniciado, Vire à Direita por 90 graus e, em seguida, Dirija para a Frente. Por fim, espere até que a posição X do robô em milímetros seja maior que -100.
  • Arraste um bloco [Stop driving] e adicione-o ao projeto.

    Uma continuação do projeto de blocos VEXcode VR, agora com um bloco Stop Driving adicionado abaixo do bloco Wait Until. Todo o projeto agora diz Quando Iniciado, Vire à Direita por 90 graus e, em seguida, Dirija para a Frente. Por fim, aguarde até que a posição X do robô em milímetros seja maior que -100 e, em seguida, pare de dirigir.
  • Abra o Playground do Mapa de Grade Numérica, se ainda não estiver aberto, e execute o projeto.
  • Assista ao robô VR dirigir para o número ‘5’ no Playground Number Grid Map.

    Uma vista de cima para baixo do playground do Mapa de Grade de Números, com o robô de RV tendo conduzido para o quinto espaço.
  • Neste projeto, o robô VR dirige para o número ‘5’ no Number Grid Map Playground. O bloco [Aguarde até] é usado para que o Robô VR continue a avançar até que o valor X seja maior que o valor X da coordenada em que o número indicado está ligado.
  • Assim que o valor X for maior que -100, o projeto passa para o próximo bloco da pilha, que é um bloco [Stop driving]. Como o valor X do número ‘5’ é -100, o Robô VR parará de dirigir assim que o valor X for maior que -100.

Um diagrama que visualiza o fluxo de lógica no projeto VEXcode VR Blocks. O projeto começa girando para a direita por 90 graus e, em seguida, dirigindo para a frente, e mantém esse comando até que a Posição da Posição X do sensor do Robô em milímetros seja maior que -100, após o que um bloco Parar de Dirigir termina o comando Dirigir para a frente.

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 -100 no eixo X antes de passar para o próximo comportamento.

O bloco VEXcode VR que lê Aguarde até que a posição X do robô em milímetros seja maior que -100.

A imagem abaixo mostra o bloco Switch [Wait until] com os mesmos comandos em Python. Dentro do bloco Switch, enquanto não location.position(X, MM) > -100: é o primeiro comando Python que verifica se a posição do robô ao longo do eixo X é maior que -100.

O comando indented, wait (5, MSEC) pausa a execução da verificação por um período de tempo específico. Neste exemplo, o projeto verifica se a posição do robô é maior ou não do que um valor X de -100 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 X maior que -100) seja atendida. 

Bloco de switch VEXcode VR com código Python que diz 'while notlocation.position (X, MM) > -100: wait(5, MSEC)'.

Selecione o botão Seguinte para continuar com o resto desta lição.