Encoder#

Invoering#

De encoder encoder wordt gebruikt met de optische as-encoder, die de rotatiepositie en -snelheid van een as meet. Deze maakt gebruik van interne optische sensoren om te detecteren hoe ver en hoe snel de as draait, waardoor hij nuttig is voor het volgen van wielrotatie, armpositie of andere mechanismen.

De VEX optische as-encoder.

Klasseconstructor#

encoder(
  triport::port &port );

Klasse-destructor#

Vernietigt het encoder object en geeft de bijbehorende resources vrij.

virtual ~encoder();

Parameters#

Parameter

Type

Beschrijving

port

triport::port &

De eerste 3-draads poort van een vereiste tweepoortsgroep die wordt gebruikt door de optische as-encoder. De encoder bezet twee aangrenzende poorten (A–B, C–D, E–F of G–H) op de Brain of een 3-draads expander. Specificeer de eerste poort in het paar (A, C, E of G), geschreven als Brain.ThreeWirePort.X of ExpanderName.X waarbij X de poortletter is (bijvoorbeeld Brain.ThreeWirePort.A of Expander1.C).

Voorbeelden#

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

Lidfuncties#

De klasse encoder bevat de volgende lidfuncties:

  • setPosition — Stelt de huidige positie van de encoder in op een opgegeven waarde.

  • position — Geeft aan hoeveel de encoder is gedraaid.

  • velocity — Geeft de huidige rotatiesnelheid van de encoder terug.

Voordat er lidfuncties van encoder worden aangeroepen, moet er een instantie van encoder worden aangemaakt, zoals hieronder weergegeven:

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

Hiermee wordt de huidige positie van de encoder ingesteld op een opgegeven waarde. Dit kan worden gebruikt om de gevolgde positie handmatig in te stellen zonder een motor of ander mechanisme te hoeven draaien.

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

Parameters

Parameters

Type

Beschrijving

value

double

De in te stellen rotatiepositie.

units

rotationUnits

De eenheid die de positie weergeeft:

  • deg / degrees — graden
  • turns / rev — omwentelingen

Return Values

Deze functie retourneert geen waarde.

position#

Geeft aan hoeveel de as die met de encoder is verbonden, is gedraaid.

Available Functions
double position(
  rotationUnits units );

Parameters

Parameters

Type

Beschrijving

units

rotationUnits

De eenheid die de positie weergeeft:

  • deg / degrees — graden
  • turns / rev — omwentelingen

Return Values

Retourneert een double die de rotatie in de opgegeven eenheden weergeeft.

velocity#

Geeft de rotatiesnelheid van de encoder terug.

Available Functions
double velocity(
  velocityUnits units );

Parameters

Parameters

Type

Beschrijving

units

velocityUnits

De eenheid die gebruikt wordt om de snelheid weer te geven:

  • percent / pct — procent
  • rpm — omwentelingen per minuut
  • dps — graden per seconde

Return Values

Retourneert een double die de snelheid in de opgegeven eenheden weergeeft.