Distância#

Introdução#

O sensor de distância consegue detetar se um objeto está em frente a si e informar a que distância se encontra esse objeto.

O sensor de distância VEX IQ (1ª geração) utiliza o sonar para detetar objetos e medir distâncias. O sensor de distância VEX IQ (2ª geração) utiliza um laser seguro para utilização em sala de aula e pode também devolver a velocidade relativa do objeto detetado e estimar se o objeto é pequeno, médio ou grande.

Esta página utiliza distance_1 como exemplo do nome do sensor de distância. Substitua-o pelo nome que configurou, se necessário.

Segue-se uma lista de todos os métodos disponíveis:

Getters — Retornam os dados do sensor de distância.

  • is_object_detected — (Sensor de Distância VEX IQ (1ª geração) ou (2ª geração)) Retorna se o Sensor de Distância detecta actualmente um objecto.

  • distance — (Sensor de distância VEX IQ (1ª geração)) Devolve a distância entre o sensor de distância e o objeto detetado mais próximo.

  • object_distance — (Sensor de Distância VEX IQ (2ª geração)) Retorna a distância entre o Sensor de Distância e o objecto detectado mais próximo.

  • object_velocity — (Sensor de Distância VEX IQ (2ª geração)) Devolve a rapidez com que o objeto detetado se está a mover em direção ao Sensor de Distância ou a afastar-se dele.

  • object_size — (Sensor de distância VEX IQ (2ª geração)) Retorna o tamanho estimado do objecto detectado.

  • installed — (Sensor de distância VEX IQ (1ª geração) ou (2ª geração)) Retorna se o sensor de distância está instalado e ligado.

Construtores — Inicializa e configura manualmente um sensor de distância.

  • Sonar — Cria um sensor de distância VEX IQ (1. ª geração).

  • Distance — Cria um sensor de distância VEX IQ (2. ª geração).

Getters#

is_object_detected#

is_object_detected retorna se o Sensor de Distância detetou um objeto dentro do alcance.

  • True — O sensor de distância detetou um objeto.

  • False — O sensor de distância não detetou qualquer objeto.

Usage:
distance_1.is_object_detected()

Parâmetros

Descrição

Este método não tem parâmetros.

# Turn until an object is detected
drivetrain.turn(RIGHT)
while not distance_1.is_object_detected():
    wait(15, MSEC)
drivetrain.stop()
brain.screen.print("Object detected!")

distance#

A distance` devolve a distância entre o sensor de distância e o objecto detectado mais próximo, em formato decimal (float).

Nota: Este é um método com o sensor de distância VEX IQ (1ª geração).

Usage:
distance_1.distance(units)

Parâmetros

Descrição

units

Opcional. A unidade de distância: MM (padrão, 24 mm a 1000 mm) ou INCHES (1 polegada a 40 polegadas).

# Display the distance to an object
if distance_1.is_object_detected():
    print("Distance: ")
    print(distance_1.distance(MM))
else:
    print("No object detected")

object_distance#

object_distance devolve a distância entre o Sensor de Distância e o objecto detectado mais próximo como um decimal (float).

Nota: Este é um método com o sensor de distância VEX IQ (2ª geração).

Usage:
distance_1.object_distance(units)

Parâmetros

Descrição

units

Opcional. A unidade de distância: MM (padrão, 20 mm a 2000 mm), INCHES (0,78 polegadas a 78 polegadas) ou DistanceUnits.CM (2 cm a 200 cm).

# Drive forward until an object is 200 mm away
while distance_1.object_distance(MM) > 200:
    drivetrain.drive(FORWARD)
drivetrain.stop()

object_velocity#

object_velocity devolve a velocidade relativa do objecto detectado como um decimal (float) em m/s (metros por segundo).

A velocidade indica a rapidez com que o objeto se move em direção ao sensor de distância ou se afasta dele. Um valor positivo significa que o objeto se está a mover em direção ao sensor de distância. Um valor negativo significa que o objeto se está a afastar. Um valor próximo de 0 significa que o objeto não se está a mover muito em relação ao sensor.

Nota: Este é um método com o sensor de distância VEX IQ (2ª geração).

Usage:
distance_1.object_velocity()

Parâmetros

Descrição

Este método não tem parâmetros.

# Display the velocity of a moving object
while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("Velocity: ")
    brain.screen.print(distance_1.object_velocity())
    wait(100, MSEC)

object_size#

object_size devolve o tamanho estimado do objecto detectado pelo Sensor de Distância.

O sensor de distância estima o tamanho do objeto com base na área de visão do sensor que é ocupada pelo objeto detetado.

  • ObjectSizeType.NONE — Não foi detectado qualquer objecto.

  • ObjectSizeType.SMALL — Foi detetado um objeto pequeno.

  • ObjectSizeType.MEDIUM — Foi detetado um objeto de tamanho médio.

  • ObjectSizeType.LARGE — Foi detetado um objeto grande.

Nota: Este é um método com o sensor de distância VEX IQ (2ª geração).

Usage:
distance_1.object_size()

Parâmetros

Descrição

Este método não tem parâmetros.

installed#

installed indica se o sensor de distância está instalado e ligado.

  • True — O sensor de distância está instalado e ligado.

  • False — O sensor de distância não está instalado ou não está ligado.

Usage:
distance_1.installed()

Parâmetros

Descrição

Este método não tem parâmetros.

Construtores#

Constructors are used to manually create Distance and Sonar objects, such as when configuring a Distance Sensor outside of VEXcode.

Sonar#

Sonar cria um objeto VEX IQ Distance Sensor (1ª geração).

Usage:
distance_1 = Sonar(smartport)

Parâmetro

Descrição

smartport

A porta inteligente à qual o sensor de distância está ligado é escrita como Ports.PORTx, onde x é o número da porta.

# Create a Sonar object in Port 1
distance_1 = Sonar(Ports.PORT1)

Distance#

A distância Distance cria um objeto VEX IQ Distance Sensor (2ª geração).

Usage:
distance_1 = Distance(smartport)

Parâmetro

Descrição

smartport

A porta inteligente à qual o sensor de distância está ligado é escrita como Ports.PORTx, onde x é o número da porta.

# Create a Distance object in Port 1
distance_1 = Distance(Ports.PORT1)