Kodare#

Introduktion#

Klass encoder används med den optiska axelkodaren, som mäter en axels rotationsposition och hastighet. Den använder interna optiska sensorer för att detektera hur långt och hur snabbt axeln roterar, vilket gör den användbar för att spåra hjulrotation, armposition eller andra mekanismer.

VEX optiska axelkodare.

Klasskonstruktor#

encoder(
  triport::port &port );

Klassförstörare#

Förstör encoder objektet och frigör tillhörande resurser.

virtual ~encoder();

Parametrar#

Parameter

Typ

Beskrivning

port

triport::port &

Den första 3-trådsporten i en obligatorisk tvåportsgrupp som används av den optiska axelkodaren. Kodaren upptar två intilliggande portar (A–B, C–D, E–F eller G–H) på antingen Brain eller en 3-tråds expander. Ange den första porten i paret (A, C, E eller G), skriven som Brain.ThreeWirePort.X eller ExpanderName.X där X är portbokstaven (till exempel Brain.ThreeWirePort.A eller Expander1.C).

Exempel#

// Create an encoder instance in Ports A and B
encoder EncoderA = encoder(Brain.ThreeWirePort.A);

Medlemsfunktioner#

Klassen encoder innehåller följande medlemsfunktioner:

  • setPosition — Ställer in kodarens aktuella position till ett angivet värde.

  • position — Returnerar hur långt kodaren har roterat.

  • velocity — Returnerar kodarens aktuella rotationshastighet.

Innan några encoder medlemsfunktioner anropas måste en encoder instans skapas, enligt nedan:

/* 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#

Ställer in kodarens aktuella position till ett angivet värde. Detta kan användas för att manuellt ställa in den spårade positionen utan att rotera en motor eller annan mekanism.

Available Functions
void setPosition(
  double        value,
  rotationUnits units);

Parameters

Parametrar

Typ

Beskrivning

value

double

Rotationspositionen som ska ställas in.

units

rotationUnits

Enheten som representerar positionen:

  • deg / degrees — grader
  • turns / rev — varv

Return Values

Den här funktionen returnerar inget värde.

position#

Returnerar hur långt axeln som är ansluten till kodaren har roterat.

Available Functions
double position(
  rotationUnits units );

Parameters

Parametrar

Typ

Beskrivning

units

rotationUnits

Enheten som representerar positionen:

  • deg / degrees — grader
  • turns / rev — varv

Return Values

Returnerar double som representerar rotationen i de angivna enheterna.

velocity#

Returnerar kodarens rotationshastighet.

Available Functions
double velocity(
  velocityUnits units );

Parameters

Parametrar

Typ

Beskrivning

units

velocityUnits

Enheten som används för att representera hastigheten:

  • percent / pct — procent
  • rpm — varv per minut
  • dps — grader per sekund

Return Values

Returnerar double som representerar hastigheten i de angivna enheterna.