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

Optický hřídelový enkodér VEX.

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

port

triport::port &

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 Brain.ThreeWirePort.X nebo ExpanderName.X , kde X je písmeno portu (například Brain.ThreeWirePort.A nebo Expander1.C).

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 Functions
void setPosition(
  double        value,
  rotationUnits units);

Parameters

Parametry

Typ

Popis

value

double

Rotační poloha, která se má nastavit.

units

rotationUnits

Jednotka, která vyjadřuje polohu:

  • deg / degrees — stupně
  • turns / rev — otáčky

Return Values

Tato funkce nevrací hodnotu.

position#

Vrací, o kolik se otočila hřídel připojená k enkodéru.

Available Functions
double position(
  rotationUnits units );

Parameters

Parametry

Typ

Popis

units

rotationUnits

Jednotka, která vyjadřuje polohu:

  • deg / degrees — stupně
  • turns / rev — otáčky

Return Values

Vrací hodnotu double která představuje rotaci v zadaných jednotkách.

velocity#

Vrátí rotační rychlost kodéru.

Available Functions
double velocity(
  velocityUnits units );

Parameters

Parametry

Typ

Popis

units

velocityUnits

Jednotka použitá k vyjádření rychlosti:

  • percent / pct — procenta
  • rpm — otáčky za minutu
  • dps — stupně za sekundu

Return Values

Vrací hodnotu double představující rychlost v zadaných jednotkách.