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.
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 |
|---|---|
|
Opcional. A unidade de distância: |
# 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 |
|---|---|
|
Opcional. A unidade de distância: |
# 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 |
|---|---|
|
A porta inteligente à qual o sensor de distância está ligado é escrita como |
# 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 |
|---|---|
|
A porta inteligente à qual o sensor de distância está ligado é escrita como |
# Create a Distance object in Port 1
distance_1 = Distance(Ports.PORT1)