Vzdálenost#

Zavedení#

Senzor vzdálenosti dokáže detekovat, zda se objekt nachází před senzorem, a zobrazit, jak daleko je tento objekt.

Senzor vzdálenosti VEX IQ (1. generace) používá sonar k detekci objektů a měření vzdálenosti. Senzor vzdálenosti VEX IQ (2. generace) používá laser bezpečný pro použití ve třídě a dokáže také zobrazit relativní rychlost detekovaného objektu a odhadnout, zda je objekt malý, střední nebo velký.

Tato stránka používá jako příklad názvu senzoru vzdálenosti hodnotu distance_1 V případě potřeby jej nahraďte vlastním nakonfigurovaným názvem.

Níže je uveden seznam všech dostupných metod:

Gettery – Vracejí data ze senzoru vzdálenosti.

  • is_object_detected — (VEX IQ Distance Sensor (1. generace) nebo (2. generace)) Vrací, zda senzor vzdálenosti aktuálně detekuje objekt.

  • distance — (Snímač vzdálenosti VEX IQ (1. generace)) Vrátí vzdálenost mezi snímačem vzdálenosti a nejbližším detekovaným objektem.

  • object_distance — (Snímač vzdálenosti VEX IQ (2. generace)) Vrací vzdálenost mezi snímačem vzdálenosti a nejbližším detekovaným objektem.

  • object_velocity — (Snímač vzdálenosti VEX IQ (2. generace)) Vrací, jak rychle se detekovaný objekt pohybuje směrem k senzoru vzdálenosti nebo od něj.

  • object_size — (Senzor vzdálenosti VEX IQ (2. generace)) Vrátí odhadovanou velikost detekovaného objektu.

  • installed — (Snímač vzdálenosti VEX IQ (1. generace) nebo (2. generace)) Vrací, zda je snímač vzdálenosti nainstalován a připojen.

Konstruktory – Ruční inicializace a konfigurace senzoru vzdálenosti.

  • Sonar — Vytvoří senzor vzdálenosti VEX IQ (1. generace).

  • Distance — Vytvoří senzor vzdálenosti VEX IQ (2. generace).

Gettery#

is_object_detected#

is_object_detected vrací, zda senzor vzdálenosti aktuálně detekuje objekt v dosahu.

  • True — Senzor vzdálenosti detekuje objekt.

  • False — Senzor vzdálenosti nedetekuje objekt.

Usage:
distance_1.is_object_detected()

Parametry

Popis

Tato metoda nemá žádné parametry.

# 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#

distance vrací vzdálenost mezi senzorem vzdálenosti a nejbližším detekovaným objektem jako desetinné číslo (s desetinnou čárkou).

Poznámka: Toto je metoda s senzorem vzdálenosti VEX IQ (1. generace).

Usage:
distance_1.distance(units)

Parametry

Popis

units

Volitelné. Jednotka vzdálenosti: MM (výchozí, 24 mm až 1000 mm) nebo INCHES (1 palec až 40 palců).

# 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 vrací vzdálenost mezi senzorem vzdálenosti a nejbližším detekovaným objektem jako desetinné číslo (float).

Poznámka: Toto je metoda senzoru vzdálenosti VEX IQ (2. generace).

Usage:
distance_1.object_distance(units)

Parametry

Popis

units

Volitelné. Jednotka vzdálenosti: MM (výchozí, 20 mm až 2000 mm), INCHES (0,78 palce až 78 palců) nebo 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 vrací relativní rychlost detekovaného objektu jako desetinné číslo (float) v m/s (metrech za sekundu).

Rychlost ukazuje, jak rychle se objekt pohybuje směrem k senzoru vzdálenosti nebo od něj. Kladná hodnota znamená, že se objekt pohybuje směrem k senzoru vzdálenosti. Záporná hodnota znamená, že se objekt vzdaluje. Hodnota blízká 0 znamená, že se objekt vzhledem k senzoru příliš nepohybuje.

Poznámka: Toto je metoda senzoru vzdálenosti VEX IQ (2. generace).

Usage:
distance_1.object_velocity()

Parametry

Popis

Tato metoda nemá žádné parametry.

# 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 vrací odhadovanou velikost objektu detekovaného senzorem vzdálenosti.

Senzor vzdálenosti odhaduje velikost objektu na základě toho, jakou část zorného pole senzoru zabírá detekovaný objekt.

  • ObjectSizeType.NONE — Nebyl detekován žádný objekt.

  • ObjectSizeType.SMALL — Byl detekován malý objekt.

  • ObjectSizeType.MEDIUM — Byl detekován objekt střední velikosti.

  • ObjectSizeType.LARGE — Byl detekován velký objekt.

Poznámka: Toto je metoda senzoru vzdálenosti VEX IQ (2. generace).

Usage:
distance_1.object_size()

Parametry

Popis

Tato metoda nemá žádné parametry.

installed#

installed vrací, zda je senzor vzdálenosti nainstalován a připojen.

  • True — Snímač vzdálenosti je nainstalován a připojen.

  • False — Snímač vzdálenosti není nainstalován nebo není připojen.

Usage:
distance_1.installed()

Parametry

Popis

Tato metoda nemá žádné parametry.

Konstruktéři#

Konstruktory se používají k ručnímu vytváření objektů Distance a Sonar , například při konfiguraci senzoru vzdálenosti mimo VEXcode.

Sonar#

Sonar vytvoří objekt VEX IQ Distance Sensor (1. generace).

Usage:
distance_1 = Sonar(smartport)

Parametr

Popis

smartport

Inteligentní port, ke kterému je připojen senzor vzdálenosti, zapsaný jako Ports.PORTx, kde x je číslo portu.

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

Distance#

Distance vytvoří objekt senzoru vzdálenosti VEX IQ (2. generace).

Usage:
distance_1 = Distance(smartport)

Parametr

Popis

smartport

Inteligentní port, ke kterému je připojen senzor vzdálenosti, zapsaný jako Ports.PORTx, kde x je číslo portu.

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