Kodér#
Zavedení#
Třída encoder se používá s optickým enkodérem hřídele, který měří rotační polohu a rychlost hřídele. Využívá interní optické senzory k detekci toho, jak daleko a jak rychle se hřídel otáčí, což je užitečné pro sledování rotace kola, polohy ramene nebo jiných mechanismů.

Konstruktor třídy#
encoder(
triport::port &port );
Destruktor tříd#
Zničí objekt encoder a uvolní přidružené prostředky.
virtual ~encoder();
Parametry#
Parametr |
Typ |
Popis |
|---|---|---|
|
|
První 3vodičový port požadované dvouportové skupiny používané optickým hřídelovým enkodérem. Kodér obsazuje dva sousední porty (A–B, C–D, E–F nebo G–H) buď na jednotce Brain, nebo na 3vodičovém expandéru. Zadejte první port v páru (A, C, E nebo G), zapsaný jako |
Příklady#
// Create an encoder instance in Ports A and B
encoder EncoderA = encoder(Brain.ThreeWirePort.A);
Členské funkce#
Třída encoder obsahuje následující členské funkce:
setPosition— Nastaví aktuální pozici kodéru na zadanou hodnotu.position— Vrátí, o kolik se enkodér otočil.velocity— Vrátí aktuální rychlost otáčení kodéru.
Před voláním jakékoli členské funkce encoder musí být vytvořena instance encoder , jak je znázorněno níže:
/* This constructor is required when using VS Code.
Encoder configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create an encoder instance in Ports A and B
encoder EncoderA = encoder(Brain.ThreeWirePort.A);
setPosition#
Nastaví aktuální polohu kodéru na zadanou hodnotu. To lze použít k ručnímu nastavení sledované polohy bez otáčení motoru nebo jiného mechanismu.
Available Functionsvoid setPosition(
double value,
rotationUnits units);
Parametry |
Typ |
Popis |
|---|---|---|
|
|
Rotační poloha, která se má nastavit. |
|
|
Jednotka, která vyjadřuje polohu:
|
Tato funkce nevrací hodnotu.
position#
Vrací, o kolik se otočila hřídel připojená k enkodéru.
Available Functionsdouble position(
rotationUnits units );
Parametry |
Typ |
Popis |
|---|---|---|
|
|
Jednotka, která vyjadřuje polohu:
|
Vrací hodnotu double která představuje rotaci v zadaných jednotkách.
velocity#
Vrátí rotační rychlost kodéru.
Available Functionsdouble velocity(
velocityUnits units );
Parametry |
Typ |
Popis |
|---|---|---|
|
|
Jednotka použitá k vyjádření rychlosti:
|
Vrací hodnotu double představující rychlost v zadaných jednotkách.