Skip to main content

Lição 2: Usando o Sensor do Olho Frontal com Loops While

Nesta lição, irá criar um projeto utilizando o Front Eye Sensor com um ciclo whilenot condição para navegar o robô VR pelo Disk Maze Playground. Seu projeto instruirá o Robô VR a virar à direita quando um disco verde for detectado pelo Sensor de Olho Frontal e à esquerda quando um disco azul for detectado. No mini desafio, você aplicará essas habilidades para conduzir o Robô de RV a cada disco no Playground do Labirinto de Discos e terminar no disco vermelho.

Vista lateral do robô VR no Disk Maze Playground com setas pretas no fundo indicando o caminho que o robô percorreu para se mover do disco para o disco. O robô está no final do labirinto em frente ao disco vermelho.

Resultados de Aprendizagem

  • Identifique que o loop enquanto pode ser utilizado com os sensores oculares.
  • Identifique que, para usar os dados do sensor ocular para fazer com que o robô de RV tome uma decisão em um projeto, uma condição deve ser usada.
  • Descreva como a identificação de um padrão em um projeto pode ser usada para simplificar o seu código.

Navegação para os quatro primeiros discos

O Sensor de Olho Frontal pode ser usado para fazer com que o Robô VR detecte discos e suas cores e tome decisões com base nesses dados. O Robô VR pode então navegar no Labirinto de Disco usando o feedback do sensor relacionado às cores dos objetos que são detectados, para determinar o movimento do robô. Essencialmente, os dados do Sensor do Olho Frontal serão usados para "codificar as cores" das voltas do Robô VR, portanto, quando uma cor é detectada, ela vira à esquerda e, quando outra é detectada, vira à direita.

Para começar, vamos ver o caminho que o Robô de RV percorrerá para navegar na primeira parte do Labirinto de Discos. Vista de cima para baixo do playground do labirinto de discos. O robô está no local de partida. As setas indicam o caminho que o robô Vr seguirá, mostrando o avanço para o primeiro disco verde, virando à direita, dirigindo para o disco azul, virando à esquerda, dirigindo para um segundo disco azul, virando à esquerda e parando em um terceiro disco azul.

Para sua informação

O Playground do Labirinto de Discos contém marcas coloridas no chão do Playground em cada um dos locais de discos coloridos elevados.Vista lateral do robô VR no Disk Maze Playground com uma seta preta indicando que o robô irá para o disco verde e, em seguida, vire à direita. 

Usaremos o Sensor de Olho Frontal para detectar os discos nesta Unidade, mas a mesma lógica e projeto também podem ser usados com o Sensor de Olho Descendente. Em vez de detectar os discos levantados, o Down Eye Sensor detectaria as cores no chão do Playground e tomaria decisões com esses dados. O Down Eye Sensor não detecta o chão do Playground como um objeto, mas detectará os espaços coloridos. 

Utilizando um loop While com dados do sensor ocular

Nas unidades anteriores, o ciclo while foi utilizado para fazer o robô VR conduzir enquanto uma condição foi satisfeita, ou um ciclo while com uma condição e não para conduzir enquanto uma condição não foi satisfeita. Os dados dos sensores oculares podem ser usados da mesma maneira. Vejamos a primeira etapa no caminho do Labirinto de Discos.

 Vista de cima para baixo do robô VR no Disk Maze Playground com uma seta preta indicando que o robô irá dirigir para o disco verde diretamente em frente ao local de partida e, em seguida, vire à direita.

O Robô VR deve avançar enquanto o Sensor do Olho Frontal  não detecta o verde. Quando o Sensor de Olho Frontal detecta verde, o Robô VR deve virar à direita 90 graus para enfrentar o próximo disco no labirinto.

Nomeie e guarde o projeto

Vamos começar a construir o projeto para utilizar o enquanto loop para instruir o robô VR a rodar quando o Front Eye Sensor detetar o primeiro disco colorido (verde) no Disk Maze Playground.

  • Inicie um novo projeto e selecione o Disk Maze Playground quando solicitado. Peça de seleção Disk Maze Playground da VEXcode VR.
  • Nomeie o projeto como Unit7Lesson2.Barra de ferramentas VEXcode VR com a caixa de nome do projeto destacada. O nome do projeto diz Unidade 7 Lição 2.

     

  • Para começar, adicione um comentário para descrever o comportamento do Robô de RV. Este projeto utilizará comentários para lembrar ao utilizador qual é a intenção para os comportamentos do Robô VR durante a secção seguinte do projeto. Lembre-se de que os comentários no VEXcode VR Python começam com um símbolo # (pound). 
def main():
    # Unidade para o 1º disco (verde), vire à direita
  • O robô VR precisará dirigir-se para o primeiro disco no Disk Maze Playground. Arraste ou digite um ciclo while com uma condição e não no espaço de trabalho. Lembre-se de incluir o comando wait como parte do ciclo while , para garantir que o VR Robot executa o projeto corretamente.
def main():
    # Drive to 1st disk (green), turn right
    while not condition:
        wait(5, MSEC)
  • Defina a condição do loop para o comando detect do Front Eye Sensor e defina o parâmetro para "GREEN".
def main():
    # Drive to 1st disk (green), turn right
    while not front_eye.detect(GREEN):
        wait(5, MSEC)
  • Dentro do ciclo while , arraste ou digite o comando sem espera drive para que o seu projeto fique assim:
def main():
    # Drive to 1st disk (green), turn right
    while not front_eye.detect(GREEN):
        drivetrain.drive(FORWARD)
        wait(5, MSEC)
  • Fora do ciclo while , arraste ou digite um comando turn_for  para instruir o robô VR a virar 90 graus para a direita quando detetar um disco verde. O seu projeto deve ter este aspeto:
def main():
    # Drive to 1st disk (green), turn right
    while not front_eye.detect(GREEN):
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    drivetrain.turn_for(RIGHT, 90, DEGREES)
  • Abra a janela do playground se ainda não estiver aberta. Certifique-se de que o Disk Maze Playground abre e execute o projeto.
  • Observe o robô VR avançar para o primeiro disco verde e, em seguida, vire à direita.

    Vista lateral do robô VR no Disk Maze Playground com uma seta preta indicando que o robô irá para o disco verde e, em seguida, vire à direita.
  • Observe que o Robô VR avança enquanto a condição da cor do Sensor de Olho Frontal relata Falso. Uma vez que o disco verde é detectado, a cor do Sensor de Olho Frontal informa Verdadeiro e sai do loop. Em seguida, ele executa o próximo comando, que é virar à direita por 90 graus.

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