Потенциометр#

Введение#

Классы pot и potV2 используются с потенциометрами, которые являются аналоговыми датчиками, измеряющими угловое положение вращающегося вала. Потенциометр выдает напряжение, пропорциональное его положению.

В зависимости от версии потенциометра, величина вращения, которую он может обнаружить, различается:

  • Потенциометр - до 250 градусов

  • Потенциометр V2 - 330 градусов (непрерывный режим)

Потенциометр VEX EXP V1.

Потенциометр VEX EXP V2.

Потенциометр

Потенциометр V2

Потенциометр#

Class Constructors#

pot(
  triport::port &port );

Class Destructor#

Уничтожает объект pot и освобождает связанные с ним ресурсы.

~pot();

Parameters#

Параметр

Тип

Описание

port

triport::port &

3-проводной порт, к которому подключен потенциометр, обозначается как Brain.ThreeWirePort.X или ExpanderName.X, где X — буква порта (например, Brain.ThreeWirePort.A или Expander1.A).

Example#

// Create a pot instance in Port A
pot PotentiometerA = pot(Brain.ThreeWirePort.A);

Потенциометр V2#

Class Constructors#

potV2(
  triport::port &port );

Class Destructor#

Уничтожает объект potV2 и освобождает связанные с ним ресурсы.

~potV2();

Parameters#

Параметр

Тип

Описание

port

triport::port &

3-проводной порт, к которому подключен потенциометр V2, обозначается как Brain.ThreeWirePort.X или ExpanderName.X, где X — буква порта (например, Brain.ThreeWirePort.A или Expander1.A).

Examples#

// Create a Potentiometer V2 on 3-Wire Port A
potV2 PotentiometerV2A = potV2(Brain.ThreeWirePort.A);

Функции участников#

Классы pot и potV2 включают следующие функции-члены:

  • angle — Возвращает угловое положение потенциометра в градусах или в процентах.

Перед вызовом любой функции-члена pot или potV2 необходимо создать экземпляр pot или potV2 , как показано ниже:

/* This constructor is required when using VS Code.
Potentiometer configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a potV2 instance in Port A
potV2 PotentiometerV2A = potV2(Brain.ThreeWirePort.A);

angle#

Возвращает угловое положение потенциометра.

1 — Эта функция представляет угол в процентах.

int32_t angle (
  percentUnits units = percentUnits::pct );

2 — Эта функция представляет угол в выбранных единицах вращения.

double angle(
  rotationUnits units );

Parameters

Параметр

Тип

Описание

units

percentUnits

Единица измерения, представляющая положение в процентах от полного оборота: percent pct (по умолчанию) — проценты, от 0 до 100%.

units

rotationUnits

The unit that represents the angle:

  • deg / degrees — degrees, from 0 to 250 for a Potentiometer or 0 to 330 for a Potentiometer V2
  • turns / rev — revolutions

Return Values

Возвращает:

  • Значение int32_t при использовании percentUnits.

  • A double при использовании rotationUnits.

Examples
// Get the current angle of the Potentiometer V2 in the
// range 0 to 330 degrees.
double angle = PotentiometerV2A.angle(degrees);

// Print the current angle of the Potentiometer to the
// brain screen.
Brain.Screen.print(angle);