Snímač vzdálenosti#

Zavedení#

Třída sonaru sonar se používá se senzorem vzdálenosti VEX IQ (1. generace). Třída vzdálenosti distance se používá se senzorem vzdálenosti VEX IQ (2. generace).

Oba senzory vzdálenosti dokáží detekovat, zda se objekt nachází před senzorem, a vrátit hodnotu vzdálenosti od něj. Senzor vzdálenosti VEX IQ (2. generace) dokáže také vypočítat relativní rychlost detekovaného objektu a odhadnout, zda je objekt malý, střední nebo velký.

Konstruktory tříd#

1 — Tento konstruktor vytváří senzor vzdálenosti VEX IQ (1. generace).

sonar(
    int32_t index);

2 — Tento konstruktor vytváří senzor vzdálenosti VEX IQ (2. generace).

distance(
    int32_t index);

Destruktor tříd#

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

1 — Zničí senzor vzdálenosti VEX IQ (1. generace).

~sonar();

2 — Zničí senzor vzdálenosti VEX IQ (2. generace).

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

1 — Vytvořte instanci senzoru vzdálenosti VEX IQ (1. generace) na portu 1.

sonar Distance1 = sonar(PORT1);

2 — Vytvořte instanci senzoru VEX IQ Distance Sensor (2. generace) na portu 1.

distance Distance1 = distance(PORT1);

Členské funkce#

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

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

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

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

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

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

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

  • 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.

Before calling any distance or sonar member functions, a distance or sonar instance must be created, as shown below:

/* 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 VEX IQ Distance Sensor (2nd gen) instance in Port 1
distance Distance1 = distance(PORT1);

foundObject#

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

Available Functions
bool foundObject();

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.
Notes - This is a VEX IQ Distance Sensor (1st gen) function.

distance#

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

Available Functions
double distance( distanceUnits units );

Parameters

Parametr

Typ

Popis

units

distanceUnits

Jednotka vzdálenosti:

  • mm — milimetry (24 mm až 1000 mm)
  • cm — centimetry (2,4 cm až 100 cm)
  • inches — palce (1 palec až 40 palců)

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.

Notes - This is a VEX IQ Distance Sensor (1st gen) function.

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 palců)

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.

Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

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).

Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

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.
Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

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.
Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

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.

Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.

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.
Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.