Silnik Victor 883#

Wstęp#

Klasa motor_victor służy do sterowania sterownikiem silnika Victor 883 podłączonym do portu 3-żyłowego. Sterownik silnika Victor 883 wysyła sygnał PWM z modułu EXP Brain w celu sterowania kompatybilnymi silnikami prądu stałego VEXpro lub VEX EDR, których nie można podłączyć bezpośrednio do portów Smart Port.

Kontrolera silnika Victor 883 nie można skonfigurować w programie VEXcode. Aby można było z niego korzystać, należy go ręcznie utworzyć w kodzie.

Konstruktory klas#

1 — Tworzy obiekt motor_victor motor_victor dla sterownika silnika Victor 883 podłączonego do określonego portu 3-przewodowego.

motor_victor( triport::port& port );

2 — Tworzy obiekt motor_victor na określonym porcie 3-przewodowym i opcjonalnie odwraca jego kierunek.

motor_victor(
 triport::port& port,
 bool           reverse );

Destruktor klasy#

Niszczy obiekt motor_victor i zwalnia powiązane zasoby.

~motor_victor();

Parametry#

Parametr

Typ

Opis

port

triport::port&

Port 3-żyłowy, do którego podłączony jest silnik Victor 883, zapisany jako Brain.ThreeWirePort.X lub ExpanderName.X, gdzie X to litera portu (na przykład Brain.ThreeWirePort.A lub Expander1.A).

reverse

bool

Ustawia, czy kierunek wirowania silnika jest odwrócony:

  • false (domyślnie) — Nie odwraca kierunku wirowania silnika.
  • true — Odwraca kierunek wirowania silnika.

Przykład#

// Create the motor_victor instance on 3-Wire Port A
motor_victor victor = motor_victor(Brain.ThreeWirePort.A);

// Create the motor_victor instance with reversed direction
motor_victor victor2 = motor_victor(Brain.ThreeWirePort.B, true);

Funkcje członkowskie#

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

  • spin — Obraca silnik w określonym kierunku.

  • stop — Zatrzymuje silnik.

  • setVelocity — Informuje silnik, jak szybko ma się kręcić.

  • setReversed — Ustawia kierunek silnika, który ma być odwrócony lub nie.

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

/* This constructor is required to use a
Victor 883 Motor. Replace the values
as needed. */

// Create the motor_victor instance on 3-Wire Port A
motor_victor victor = motor_victor(Brain.ThreeWirePort.A);

spin#

Obraca silnik w określonym kierunku w nieskończoność.

Available Functions

1 — Obraca silnik, wykorzystując aktualnie skonfigurowaną prędkość silnika.

void spin(
 directionType dir );

2 — Obraca silnik z określoną prędkością.

void spin(
 directionType dir,
 double        velocity,
 velocityUnits units );

Parameters

Parametr

Typ

Opis

dir

directionType

Kierunek, w którym kręci się silnik: forward lub reverse.

velocity

double

Prędkość wirowania od 0% do 100% przy użyciu percent.

units

velocityUnits

Jednostka prędkości:

  • percent / pct — procent
  • rpm — obrotów na minutę
  • dps — stopni na sekundę

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Silnik będzie się obracał, aż do wywołania funkcji stop lub wykonania innej funkcji ruchu.

Examples
// Spin forward, then stop
victor.spin(forward);
wait(1, seconds);
victor.stop();

// Spin forward at 100 rpm
victor.spin(forward, 100, rpm);
wait(1, seconds);
victor.stop();

stop#

Zatrzymuje obracanie się silnika.

Available Functions
void stop();

Parameters

Ta funkcja nie przyjmuje żadnych parametrów.

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Wybranie polecenia stop powoduje natychmiastowe zatrzymanie bieżącego ruchu silnika.

Examples
// Spin and then stop
victor.spin(forward);
wait(1, seconds);
victor.stop();

setVelocity#

Informuje silnik, jak szybko ma się kręcić. Wyższy procent powoduje, że silnik obraca się szybciej, a niższy procent powoduje, że obraca się wolniej.

Każdy projekt rozpoczyna się od tego, że każdy podłączony silnik domyślnie obraca się z prędkością równą 50%.

Available Functions
void setVelocity(
    double       velocity,
    percentUnits units );

Parameters

Parametr

Typ

Opis

velocity

double

Prędkość wirowania od 0% do 100% przy użyciu percent.

units

percentUnits

Jednostka prędkości:percent / pct — procent

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Każda kolejna funkcja ruchu silnika Victor 883 (taka jak spin), która nie określa jawnie prędkości, będzie używać tej wartości.

Examples
// Set velocity to 50%, then spin
victor.setVelocity(50, percent);
victor.spin(forward);

setReversed#

Ustawia kierunek obrotów silnika, aby był odwrócony lub nie.

Available Functions
void setReversed( bool value );

Parameters

Parametr

Typ

Opis

value

bool

Czy kierunek obrotów silnika jest odwrócony:

  • true — Odwraca kierunek obrotów silnika.
  • false — Przywraca domyślny kierunek obrotów silnika.

Return Values

Ta funkcja nie zwraca wartości.

Notes Examples
// Reverse the motor direction
victor.setReversed(true);
victor.spin(forward); // Will actually spin in reverse