Victor 883 Motor#

Einführung#

Die Klasse motor_victor dient zur Steuerung eines Victor 883 Motorcontrollers, der an einen 3-Draht-Anschluss angeschlossen ist. Der Victor 883 Motorcontroller sendet ein PWM-Signal vom V5 Brain, um kompatible VEXpro- oder VEX EDR-Gleichstrommotoren anzusteuern, die nicht direkt an Smart Ports angeschlossen werden können.

Der Victor 883 Motorcontroller kann nicht in VEXcode konfiguriert werden und muss zur Verwendung manuell im Code erstellt werden.

Klassenkonstruktoren#

1 — Erstellt ein motor_victor Objekt für den Victor 883 Motor Controller, der mit dem angegebenen 3-Draht-Anschluss verbunden ist.

motor_victor( triport::port& port );

2 — Erzeugt ein motor_victor Objekt am angegebenen 3-Draht-Port und kehrt optional dessen Richtung um.

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

Klassendestruktor#

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

~motor_victor();

Parameter#

Parameter

Typ

Beschreibung

port

triport::port&

Der 3-Draht-Anschluss, an den der Victor 883 Motor angeschlossen ist, wird als Brain.ThreeWirePort.X oder ExpanderName.Xgeschrieben, wobei X der Anschlussbuchstabe ist (zum Beispiel Brain.ThreeWirePort.A oder Expander1.A).

reverse

bool

Legt fest, ob die Drehrichtung des Motors umgekehrt wird:

  • false (Standard) – Drehrichtung des Motors wird nicht umgekehrt.
  • true – Drehrichtung des Motors wird umgekehrt.

Beispiel#

// 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);

Mitgliedsfunktionen#

Die Klasse motor_victor enthält die folgenden Memberfunktionen:

  • spin — Dreht den Motor in eine bestimmte Richtung.

  • stop — Stoppt den Motor.

  • setVelocity — Gibt dem Motor die Drehzahl vor.

  • setReversed — Legt fest, ob die Motorrichtung umgekehrt werden soll oder nicht.

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

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

Dreht den Motor unendlich lange in die angegebene Richtung.

Available Functions

1 — Dreht den Motor mit der aktuell eingestellten Motordrehzahl.

void spin(
 directionType dir );

2 — Dreht den Motor mit der angegebenen Geschwindigkeit.

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

Parameters

Parameter

Typ

Beschreibung

dir

directionType

Die Drehrichtung des Motors: forward oder reverse.

velocity

double

Die Drehzahl, mit der man sich von 0 % auf 100 % dreht, wenn man percent verwendet.

units

velocityUnits

Die Geschwindigkeitseinheit:

  • percent % pct
  • Urpm — Umdrehungen pro Minute
  • dps — Grad pro Sekunde

Return Values

Diese Funktion gibt keinen Wert zurück.

Notes
  • Der Motor dreht sich so lange weiter, bis stop aufgerufen wird oder eine andere Bewegungsfunktion ausgeführt wird.

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#

Verhindert das Drehen des Motors.

Available Functions
void stop();

Parameters

Diese Funktion akzeptiert keine Parameter.

Return Values

Diese Funktion gibt keinen Wert zurück.

Notes
  • Durch den Aufruf von stop wird jede laufende Motorbewegung sofort gestoppt.

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

setVelocity#

Gibt dem Motor vor, wie schnell er sich drehen soll. Ein höherer Prozentsatz bewirkt eine höhere Drehzahl, ein niedrigerer Prozentsatz eine niedrigere.

Bei jedem Projekt läuft jeder angeschlossene Motor standardmäßig mit 50 % Drehzahl.

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

Parameters

Parameter

Typ

Beschreibung

velocity

double

Die Drehzahl, mit der man sich von 0 % auf 100 % dreht, wenn man percent verwendet.

units

percentUnits

Die Geschwindigkeitseinheit:percent pct — Prozent

Return Values

Diese Funktion gibt keinen Wert zurück.

Notes
  • Jede nachfolgende Victor 883 Motorbewegungsfunktion (wie z. B. spin), die keine Geschwindigkeit explizit angibt, verwendet diesen Wert.

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

setReversed#

Legt fest, ob die Drehrichtung des Motors umgekehrt werden soll oder nicht.

Available Functions
void setReversed( bool value );

Parameters

Parameter

Typ

Beschreibung

value

bool

Ob die Drehrichtung des Motors umgekehrt wird:

  • true — Dreht die Drehrichtung des Motors um.
  • false — Stellt die Drehrichtung des Motors auf den Standardwert zurück.

Return Values

Diese Funktion gibt keinen Wert zurück.

Notes
  • Dies entspricht der Änderung des Parameters reverse im Konstruktor.

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