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.

Klasseconstructor#
encoder(
triport::port &port );
Klasse-destructor#
Vernietigt het encoder object en geeft de bijbehorende resources vrij.
virtual ~encoder();
Parameters#
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
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 |
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 Functionsvoid setPosition(
double value,
rotationUnits units);
Parameters |
Type |
Beschrijving |
|---|---|---|
|
|
De in te stellen rotatiepositie. |
|
|
De eenheid die de positie weergeeft:
|
Deze functie retourneert geen waarde.
position#
Geeft aan hoeveel de as die met de encoder is verbonden, is gedraaid.
Available Functionsdouble position(
rotationUnits units );
Parameters |
Type |
Beschrijving |
|---|---|---|
|
|
De eenheid die de positie weergeeft:
|
Retourneert een double die de rotatie in de opgegeven eenheden weergeeft.
velocity#
Geeft de rotatiesnelheid van de encoder terug.
Available Functionsdouble velocity(
velocityUnits units );
Parameters |
Type |
Beschrijving |
|---|---|---|
|
|
De eenheid die gebruikt wordt om de snelheid weer te geven:
|
Retourneert een double die de snelheid in de opgegeven eenheden weergeeft.