Encoder#

Einführung#

Der Encoder der Klasse encoder wird mit dem optischen Wellenencoder verwendet, der die Drehposition und -geschwindigkeit einer Welle misst. Er nutzt interne optische Sensoren, um zu erfassen, wie weit und wie schnell sich die Welle dreht, und eignet sich daher zur Verfolgung von Raddrehungen, Armpositionen oder anderen Mechanismen.

Der optische Wellenencoder von VEX.

Klassenkonstruktor#

encoder(
  triport::port &port );

Klassendestruktor#

Zerstört das encoder Objekt und gibt die zugehörigen Ressourcen frei.

virtual ~encoder();

Parameter#

Parameter

Typ

Beschreibung

port

triport::port &

Der erste 3-Draht-Port einer erforderlichen Zwei-Port-Gruppe, die vom optischen Wellenencoder verwendet wird. Der Encoder belegt zwei benachbarte Ports (A–B, C–D, E–F oder G–H) entweder am Brain oder an einem 3-Draht-Expander. Geben Sie den ersten Port des Paares (A, C, E oder G) an, geschrieben als Brain.ThreeWirePort.X oder ExpanderName.X wobei X der Portbuchstabe ist (z. B. Brain.ThreeWirePort.A oder Expander1.C).

Beispiele#

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

Mitgliedsfunktionen#

Die Encoderklasse encoder umfasst die folgenden Memberfunktionen:

  • setPosition — Setzt die aktuelle Position des Encoders auf einen angegebenen Wert.

  • position — Gibt zurück, wie weit sich der Encoder gedreht hat.

  • velocity — Gibt die aktuelle Rotationsgeschwindigkeit des Encoders zurück.

Before calling any encoder member functions, a encoder instance must be created, as shown below:

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

Setzt die aktuelle Position des Encoders auf einen festgelegten Wert. Dies kann verwendet werden, um die verfolgte Position manuell einzustellen, ohne einen Motor oder einen anderen Mechanismus zu drehen.

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

Parameters

Parameter

Typ

Beschreibung

value

double

Die einzustellende Drehposition.

units

rotationUnits

Die Einheit, die die Position darstellt:

  • deg / degrees — Grad
  • turns / rev — Umdrehungen

Return Values

Diese Funktion gibt keinen Wert zurück.

position#

Gibt zurück, um wie viel sich die mit dem Encoder verbundene Welle gedreht hat.

Available Functions
double position(
  rotationUnits units );

Parameters

Parameter

Typ

Beschreibung

units

rotationUnits

Die Einheit, die die Position darstellt:

  • deg / degrees — Grad
  • turns / rev — Umdrehungen

Return Values

Gibt einen Wert vom double zurück, der die Rotation in den angegebenen Einheiten darstellt.

velocity#

Gibt die Rotationsgeschwindigkeit des Encoders zurück.

Available Functions
double velocity(
  velocityUnits units );

Parameters

Parameter

Typ

Beschreibung

units

velocityUnits

Die Einheit zur Darstellung der Geschwindigkeit:

  • percent pct — Prozent
  • rpm — Umdrehungen pro Minute
  • dps — Grad pro Sekunde

Return Values

Gibt einen Wert vom double zurück, der die Geschwindigkeit in den angegebenen Einheiten darstellt.