Sensor de distancia#

Introducción#

El sensor de distancia puede detectar objetos directamente frente a él y medir su distancia. El sensor de primera generación utiliza un sonar para la detección, mientras que el sensor de segunda generación utiliza un láser apto para aulas y también puede estimar el tamaño y la velocidad de un objeto.

Métodos: Medir distancias, detectar objetos y estimar tamaño y velocidad.

  • object_distance – Devuelve la distancia al objeto más cercano en pulgadas, milímetros o centímetros.

  • object_size – Devuelve el tamaño estimado del objeto detectado (pequeño, mediano, grande).

  • object_velocity – Devuelve la velocidad de un objeto detectado en metros por segundo.

  • is_object_detected – Devuelve si un objeto está dentro del rango (aprox. 406 mm o 16 pulgadas).

  • instalado – Devuelve si el sensor de distancia está conectado al cerebro.

Constructores: inicializan y configuran manualmente un sensor de distancia.

  • Distancia – Crea un sensor de distancia (2.ª generación).

  • Sonar – Crea un sensor de distancia (1.ª generación).

Métodos#

distancia_del_objeto#

object_distance devuelve la distancia entre el sensor de distancia y el objeto más cercano.

Uso:
object_distance(unidades)

Parámetros

Descripción

unidades

Opcional. Unidad que representa la distancia:

  • «MM» (predeterminado) – Milímetros
  • «PULGADAS»
  • «DistanceUnits.CM» – Centímetros

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

tamaño del objeto#

object_size devuelve una cadena que representa el tamaño estimado del objeto detectado en función de qué parte del campo de visión del sensor de distancia (segunda generación) ocupa:

  • sizeType.NONE (0) – No se detecta ningún objeto o el objeto está tan cerca que llena todo el campo de visión.

  • sizeType.SMALL (1) – El objeto ocupa una pequeña porción del campo de visión.

  • sizeType.MEDIUM (2) – El objeto ocupa aproximadamente la mitad del campo de visión.

  • sizeType.LARGE (3) – El objeto ocupa la mayor parte del campo de visión.

Nota: Este método solo funcionará con el sensor de distancia (segunda generación).

Uso:
object_size()

Parámetros

Descripción

Este método no tiene parámetros.

# Drive forward until a detected object is large
drivetrain.drive(FORWARD)
while not distance_1.object_size() == ObjectSizeType.LARGE:
    wait(15, MSEC)
drivetrain.stop()

velocidad del objeto#

object_velocity devuelve la velocidad de un objeto detectado como un valor flotante, medido en metros por segundo. Un valor positivo indica que el objeto se acerca al sensor de distancia (2.ª generación), mientras que un valor negativo indica que se aleja.

Nota: Este método solo funcionará con el sensor de distancia (segunda generación).

Uso:
object_velocity()

Parámetros

Descripción

Este método no tiene parámetros.

# Display the velocity of a hand moving in front of
# the Distance Sensor
while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("Velocity: ")
    brain.screen.print(distance_1.object_velocity())
    wait(20, MSEC)

se ha detectado el objeto#

is_object_detected devuelve un valor booleano que indica si el sensor de distancia detecta un objeto dentro de aproximadamente 406 milímetros (16 pulgadas).

  • Verdadero: el sensor de distancia detecta un objeto dentro de aproximadamente 406 milímetros.

  • Falso - El sensor de distancia no detecta un objeto de aproximadamente 406 milímetros.

Uso:
is_object_detected()

Parámetros

Descripción

Este método no tiene 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("Detected!")

instalado#

installed devuelve un valor booleano que indica si el sensor de distancia está conectado al cerebro.

  • Verdadero - El sensor de distancia está conectado al cerebro.

  • Falso - El sensor de distancia no está conectado al cerebro.

Uso:
isntalled()

Parámetros

Descripción

Este método no tiene parámetros.

# Display if the distance sensor is installed
if distance_1.installed():
    brain.screen.print("Installed!")

Constructores#

Los constructores se utilizan para crear manualmente objetos Distancia y Sonar, que son necesarios para configurar un sensor de distancia (2.ª generación) o (1.ª generación) fuera de VEXcode.

Para los ejemplos a continuación, el sensor de distancia configurado (2.ª y 1.ª generación) se llamará distance_1 y se utilizará en todos los ejemplos posteriores en esta documentación de API cuando se haga referencia a los métodos de clase Distance y Sonar.

Sensor de distancia (2.ª generación)#

Distancia crea un sensor de distancia (segunda generación).

Uso:
Distancia(puerto)

Parámetro

Descripción

puerto

A qué puerto inteligente está conectado el sensor de distancia (2.ª generación) se le asigna el nombre “PUERTO” seguido del número de puerto, que va del 1 al 12.

# Construct a Distance Sensor "distance_1" with the
# Distance class
distance_1 = Distance(Ports.PORT1)

while distance_1.object_distance(MM) > 200:
    drivetrain.drive(FORWARD)
drivetrain.stop()

Sensor de distancia (1.ª generación)#

Sonar crea un sensor de distancia (1.ª generación).

Uso:
Sonar(puerto)

Parámetro

Descripción

puerto

A qué puerto inteligente está conectado el sensor de distancia (1.ª generación) se le asigna el nombre “PUERTO” seguido del número de puerto, que varía entre 1 y 12.

# Construct a Distance Sensor "distance_1" with the
# Sonar class
distance_1 = Sonar(Ports.PORT1)

drivetrain.turn(RIGHT)
while not distance_1.is_object_detected():
    wait(15, MSEC)
drivetrain.stop()
brain.screen.print("Detected!")