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.
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 |
|---|---|
|
Volitelné. Jednotka vzdálenosti: |
# 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 |
|---|---|
|
Volitelné. Jednotka vzdálenosti: |
# 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 |
|---|---|
|
Inteligentní port, ke kterému je připojen senzor vzdálenosti, zapsaný jako |
# 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 |
|---|---|
|
Inteligentní port, ke kterému je připojen senzor vzdálenosti, zapsaný jako |
# Create a Distance object in Port 1
distance_1 = Distance(Ports.PORT1)