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 |
|---|---|---|
|
|
Inteligentní port, ke kterému je připojen senzor vzdálenosti, zapsaný jako |
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 Functionsdouble objectDistance( distanceUnits units );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Jednotka vzdálenosti:
|
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 FunctionssizeType objectSize();
Tato funkce nepřijímá žádné parametry.
Return ValuesVrací 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 Functionsdouble objectVelocity();
Tato funkce nepřijímá žádné parametry.
Return ValuesVrací 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 Functionsbool isObjectDetected();
Tato funkce nepřijímá žádné parametry.
Return ValuesVrací 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 Functionsvoid changed( void (* callback)(void) );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Ukazatel na funkci, která bude volána při změně detekované hodnoty vzdálenosti. Funkce nesmí přijímat žádné parametry a vracet |
Tato funkce nevrací hodnotu.
installed#
Vrací, zda je senzor vzdálenosti nainstalován a připojen.
Available Functionsbool installed();
Tato funkce nepřijímá žádné parametry.
Return ValuesVrací 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.