Snímač vzdálenosti#

Zavedení#

Třída distance se používá k řízení a přístupu k datům ze senzoru vzdálenosti.

Senzor vzdálenosti dokáže detekovat, zda se objekt nachází před senzorem, a vrátit údaj o jeho vzdálenosti. Dokáže také vypočítat relativní rychlost detekovaného objektu a odhadnout, zda je objekt malý, střední nebo velký.

Snímač vzdálenosti pracuje v rozsahu od 20 mm do 2000 mm.

Pod 200 mm je přesnost přibližně ±15 mm. Nad 200 mm se přesnost zlepšuje na přibližně 5 %.

Snímač vzdálenosti používá laser třídy 1. Detekce je namířena přímo před sebe a je bezpečná pro použití ve třídě.

Konstruktory tříd#

distance( int32_t  index );

Destruktor tříd#

Zničí objekt o vzdálenosti distance a uvolní související zdroje.

~distance();

Parametry#

Parametr

Typ

Popis

index

int32_t

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

Příklady#

// Create a Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);

Členské funkce#

Třída distance obsahuje následující členské funkce:

  • objectDistance — Vrátí vzdálenost mezi senzorem vzdálenosti a nejbližším detekovaným objektem.

  • objectSize — Vrátí odhadovanou velikost detekovaného objektu.

  • objectVelocity — Vrátí, jak rychle se detekovaný objekt pohybuje směrem k senzoru vzdálenosti nebo od něj.

  • isObjectDetected — Vrátí, zda senzor vzdálenosti aktuálně detekuje objekt.

  • changed — Zaregistruje funkci zpětného volání, která se spustí při změně detekované hodnoty vzdálenosti.

  • installed — Vrátí, zda je senzor vzdálenosti nainstalován a připojen.

Před voláním jakékoli členské funkce distance musí být vytvořena instance distance , jak je znázorněno níže:

/* This constructor is required when using VS Code.
Distance Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);

objectDistance#

Vrátí vzdálenost mezi senzorem vzdálenosti a nejbližším detekovaným objektem.

Available Functions
double objectDistance( distanceUnits units );

Parameters

Parametr

Typ

Popis

units

distanceUnits

Jednotka vzdálenosti:

  • mm – milimetry (20 mm až 2000 mm)
  • cm – centimetry (2 cm až 200 cm)
  • inches – palce (0,78 palce až 78,74 palce)

Return Values

Vrací hodnotu double představující vzdálenost mezi senzorem vzdálenosti a nejbližším detekovaným objektem v zadaných jednotkách.

objectSize#

Vrátí 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.

Available Functions
sizeType objectSize();

Parameters

Tato funkce nepřijímá žádné parametry.

Return Values

Vrací hodnotu sizeType , která označuje odhadovanou velikost detekovaného objektu:

  • none — No object is detected.
  • small — A small object is detected.
  • medium — A medium object is detected.
  • large — A large object is detected.

objectVelocity#

Vrátí relativní rychlost detekovaného objektu.

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

Available Functions
double objectVelocity();

Parameters

Tato funkce nepřijímá žádné parametry.

Return Values

Vrací hodnotu double která představuje relativní rychlost detekovaného objektu v m/s (metrech za sekundu).

isObjectDetected#

Vrací, zda senzor vzdálenosti aktuálně detekuje objekt.

Available Functions
bool isObjectDetected();

Parameters

Tato funkce nepřijímá žádné parametry.

Return Values

Vrací booleovskou hodnotu označující, zda senzor vzdálenosti detekuje objekt:

  • true — The Distance Sensor detects an object.
  • false — The Distance Sensor does not detect an object.

changed#

Zaregistruje funkci zpětného volání, která se spustí při změně detekované hodnoty vzdálenosti.

Available Functions
void changed( void (* callback)(void) );

Parameters

Parametr

Typ

Popis

callback

void (*)(void)

Ukazatel na funkci, která bude volána při změně detekované hodnoty vzdálenosti. Funkce nesmí přijímat žádné parametry a vracet void.

Return Values

Tato funkce nevrací hodnotu.

installed#

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

Available Functions
bool installed();

Parameters

Tato funkce nepřijímá žádné parametry.

Return Values

Vrací booleovskou hodnotu označující, zda je senzor vzdálenosti nainstalován a připojen:

  • true — The Distance Sensor is installed and connected.
  • false — The Distance Sensor is not installed or not connected.