Koder#

Wstęp#

Klasa enkodera encoder jest używana z optycznym enkoderem wału, który mierzy położenie i prędkość obrotową wału. Wykorzystuje on wewnętrzne czujniki optyczne do pomiaru odległości i prędkości obrotu wału, co czyni go przydatnym do śledzenia obrotów kół, położenia ramienia lub innych mechanizmów.

Optyczny enkoder wału VEX.

Konstruktor klasy#

encoder(
  triport::port &port );

Destruktor klasy#

Niszczy obiekt kodera encoder i uwalnia powiązane zasoby.

virtual ~encoder();

Parametry#

Parametr

Typ

Opis

port

triport::port &

Pierwszy port 3-przewodowy wymaganej grupy dwuportowej używanej przez optyczny enkoder wałkowy. Enkoder zajmuje dwa sąsiednie porty (A–B, C–D, E–F lub G–H) w module Brain lub ekspanderze 3-przewodowym. Określ pierwszy port w parze (A, C, E lub G), zapisując go jako Brain.ThreeWirePort.X lub ExpanderName.X , gdzie X to litera portu (na przykład Brain.ThreeWirePort.A lub Expander1.C).

Przykłady#

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

Funkcje członkowskie#

Klasa kodera encoder zawiera następujące funkcje członkowskie:

  • setPosition — Ustawia bieżącą pozycję enkodera na określoną wartość.

  • pozycjaposition — Zwraca, o ile obrócił się enkoder.

  • velocity — Zwraca aktualną prędkość obrotową enkodera.

Przed wywołaniem jakiejkolwiek funkcji członkowskiej kodera encoder należy utworzyć instancję kodera encoder , jak pokazano poniżej:

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

Ustawia aktualną pozycję enkodera na określoną wartość. Można tego użyć do ręcznego ustawienia śledzonej pozycji bez obracania silnika lub innego mechanizmu.

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

Parameters

Parametry

Typ

Opis

value

double

Pozycja obrotowa do ustawienia.

units

rotationUnits

Jednostka, która reprezentuje pozycję:

  • deg / degrees — stopnie
  • turns / rev — obroty

Return Values

Ta funkcja nie zwraca wartości.

position#

Zwraca informację o tym, jak daleko obrócił się wał podłączony do enkodera.

Available Functions
double position(
  rotationUnits units );

Parameters

Parametry

Typ

Opis

units

rotationUnits

Jednostka, która reprezentuje pozycję:

  • deg / degrees — stopnie
  • turns / rev — obroty

Return Values

Zwraca wartość double oznaczającą obrót w określonych jednostkach.

velocity#

Zwraca prędkość obrotową enkodera.

Available Functions
double velocity(
  velocityUnits units );

Parameters

Parametry

Typ

Opis

units

velocityUnits

Jednostka używana do przedstawienia prędkości:

  • percent / pct — procent
  • rpm — obroty na minutę
  • dps — stopnie na sekundę

Return Values

Zwraca wartość double , co oznacza prędkość w określonych jednostkach.