Skip to main content

Lição 1: O que é um sensor de distância?

Nesta lição, você aprenderá o que é o sensor de distância e por que usaria o sensor de distância com um robô de RV. Você também aprenderá como o Sensor de Distância funciona e como usar o Sensor de Distância em um projeto VEXcode VR Python.

Resultados de Aprendizagem

  • Identifique se o Sensor de Distância relata a distância entre o próprio sensor e o objeto mais próximo.
  • Identifique que o Sensor de Distância determina a distância usando o tempo que leva para um pulso de luz laser refletir um objeto e retornar ao sensor.
  • Identifique que o comando found_object reporta um valor booleano quer o Sensor de Distância tenha encontrado um objeto ou não.
  • Identifique que o comando get_distance  informa a distância do objeto mais próximo do sensor em milímetros (mm) ou polegadas.
  • Descrever por que o Sensor de Distância seria utilizado num projeto.

Sensor de Distância

O Sensor de Distância pode detectar se há um objeto na frente de um Robô VR e, em caso afirmativo, a que distância esse objeto está do Sensor de Distância. Isso pode ser útil para navegar por um labirinto sem esbarrar continuamente nas paredes, para evitar um objeto ou para dirigir até um objeto ou parede nos Parques Infantis.

Nesta Unidade, você usará o Sensor de Distância, um sensor que usa um pulso de luz laser para detectar objetos. O Sensor de Distância relata a distância entre a frente do Sensor de Distância no Robô VR e o objeto mais próximo. O Sensor de Distância está localizado no Olho Frontal do Robô VR. Assim como o Sensor Bumper, o Robô VR pode usar os dados do Sensor de Distância para tomar decisões. 

Uma vista frontal do Robô VR com o Sensor de Distância no centro frontal do robô destacado com uma caixa vermelha.

O Sensor de Distância calcula a distância usando o tempo que leva para um pulso de luz laser refletir de um objeto e retornar ao sensor. O Sensor de Distância pode ser usado para detectar a que distância o Robô VR está das paredes do Wall Maze Playground.

Uma imagem de cima para baixo do robô VR em frente à pilha central de blocos como no Castle Crasher Playground. Há uma série de linhas curvas vermelhas e verdes entre a frente do robô e os blocos. As vermelhas mostram o sinal emitido do sensor para o objeto e as verdes mostram o sinal retornando do objeto para o sensor, para permitir que ele calcule a distância.

Comando de Objeto de Distância Encontrada

O Sensor de Distância pode ser usado para detectar se há um objeto (como uma parede) na frente dele. Esses dados podem então ser usados em um projeto para que o Robô VR possa tomar uma decisão quando o Sensor de Distância detectar um objeto.

Utilize o comando found_object num projeto Python para verificar a condição do sensor de distância. O comando found_object devolve valores booleanos True ou False, dependendo se um objeto é detetado pelo sensor.

O comando VEXcode VR Python Distance found object lê distance dot found underscore object ( ).

  • found_object retorna Verdadeiro quando o Sensor de Distância detecta um objeto ou superfície dentro de seu campo de visão e dentro de 3000 mm do sensor.
  • found_object retorna Falso quando o Sensor de Distância não detecta um objeto ou superfície dentro de 3000 mm.

O comando found_object  é normalmente utilizado com uma estrutura de controlo, como um ciclo while , para que o robô VR possa utilizar os dados do sensor de distância para tomar uma decisão.

Quando o comando found_object é utilizado num projeto, deve ser especificado o Sensor de Distância que está a ser utilizado. No Wall Maze Playground, apenas o sensor de distância frontal está disponível no robô VR. Quando o comando found_object é arrastado da caixa de ferramentas para um projeto, o comando found_object especificará automaticamente o sensor de distância em utilização, como aqui se mostra. No videoclipe abaixo, o comando found_object é seleccionado na caixa de ferramentas e arrastado para o ambiente de trabalho. Quando aparece no projeto, o comando aparece com o Dispositivo escrito como “front_distance” automaticamente.

Ficheiro de vídeo

Obter Comando de Distância

O Sensor de Distância também pode relatar a distância de um objeto e usar esse valor para tomar uma decisão. O comando get_distance devolve a distância numérica do objeto mais próximo da frente de um robô VR.

Escolha se a distância é informada em milímetros (mm) ou polegadas, definindo o parâmetro como "MM" ou "POLEGADAS".

Os comandos VEXcode VR Python Get distance são gravados duas vezes - a primeira linha mostra o comando com o parâmetro definido como milímetros, a segunda linha mostra o comando com o parâmetro definido como polegadas.

O comando get_distance pode ser utilizado com outros comandos, como um ciclo while , num projeto para instruir um robô de RV a dirigir uma certa distância para longe de (ou para) um objeto, ou para completar uma ação quando é reportada uma distância específica .

Quando o comando get_distance for utilizado num projeto, deverá ser especificado o Sensor de Distância utilizado. No Wall Maze Playground, apenas o sensor de distância frontal está disponível no robô VR. Quando o comando get_distance é arrastado da caixa de ferramentas para um projeto, o comando get_distance especificará automaticamente o sensor de distância em utilização, como aqui se mostra. No videoclipe abaixo, o comando get_distance é seleccionado na caixa de ferramentas e arrastado para o ambiente de trabalho. Quando aparece no projeto, o comando aparece com o Dispositivo escrito como “front_distance” automaticamente.

Ficheiro de vídeo

O Sensor de Distância e o Problema do Labirinto de Parede

Pensando no Problema do Labirinto da Parede, o objetivo é fazer com que o Robô VR dirija enquanto estiver longe de uma parede. Quando o Robô VR se aproxima de uma parede, ele precisa parar ou girar sem tocar na parede, para continuar pelo labirinto. Usar o Sensor de Distância permitirá que um Robô VR dirija até um objeto sem tocá-lo.

No exemplo de videoclipe a seguir, o Robô VR avançará enquanto o Sensor de Distância informa que está a mais de 50 milímetros de distância de um objeto. Assim que estiver a menos de 50 milímetros de distância, o robô VR irá parar de conduzir. Observe que o robô VR não toca na parede.

Ficheiro de vídeo

Você notará que o Painel exibe o valor que o Sensor de Distância está relatando em tempo real à medida que o projeto é executado. Quando o valor for superior a 50 milímetros, o Robô VR continuará a avançar.VEXcode VR com o Workspace à esquerda e a janela Playground à direita. Na janela do Playground, o Robô VR está no local de início, não perto de uma parede. Na parte superior da janela do playground, o painel está aberto e, à direita, a distância é relatada como 287 mm e é destacada em uma caixa vermelha.

Quando o Sensor de Distância relata um valor inferior a 50 milímetros, o Robô VR fica perto da parede sem tocá-lo e para de dirigir. VEXcode VR com o Workspace à esquerda e a janela Playground à direita. Na janela do Playground, o Robô VR avançou e agora está parado perto da primeira parede. Na parte superior da janela do playground, o painel está aberto e, à direita, a distância é relatada como 27 mm e é destacada em uma caixa vermelha.

Neste exemplo , o comando get_distance  é utilizado com um operador de comparação para devolver um valor booleano num ciclo. Você aprenderá mais sobre os operadores maior que (>) e menor que (>) nesta Unidade.

Perguntas

Selecione uma ligação abaixo para aceder ao questionário da aula.

Google Doc / .docx / .pdf