Servomotor#

Einführung#

Die Servoklasse servo Servomotors. Dieser Servomotor ermöglicht eine positionsbasierte Steuerung innerhalb eines festen Bewegungsbereichs.

Der VEX 3-Draht-Servomotor

Klassenkonstruktoren#

servo( triport::port& port );

Klassendestruktor#

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

~servo();

Parameter#

Parameter

Typ

Beschreibung

port

triport::port&

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

Anmerkungen#

  • Ein Brain oder 3-Wire Expander muss zuerst erstellt werden, bevor er zum Erstellen eines Objekts mit dem servo Klassenkonstruktor verwendet werden kann.

Beispiel#

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

Mitgliedsfunktionen#

Die Klasse servo umfasst die folgenden Memberfunktionen:

  • setPosition — Bewegt den Servomotor in eine vorgegebene Position.

Bevor servo Memberfunktionen aufgerufen werden können, muss eine servo Instanz erstellt werden, wie unten gezeigt:

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

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

setPosition#

Bewegt den Servomotor in eine vorgegebene Position.

Ein Diagramm eines Servomotors, das den Drehwinkel in Grad zeigt, von 100 links über 50 in der Mitte bis 0 ganz rechts.

Available Functions

1 — Legt die Servoposition mithilfe eines Prozentwerts fest.

void setPosition(
 int32_t value,
 percentUnits units );

2 — Legt die Servoposition mithilfe von Rotationseinheiten fest.

void setPosition(
 double value,
 rotationUnits units );

Parameters

Parameter

Typ

Beschreibung

value

int32_t

Der Servopositionswert bei Verwendung von Prozenteinheiten.

value

double

Der Servopositionswert bei Verwendung von Rotationseinheiten.

units

percentUnits

Die Positionseinheit: percent pct — Prozent

units

rotationUnits

Positionseinheit:

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

Return Values

Diese Funktion gibt keinen Wert zurück.

Notes
  • Bei Verwendung von Prozentangaben beträgt der gültige Bereich 0 – 100%.

  • Ein Servo beginnt jedes Projekt, indem er sich automatisch in einem Winkel von 50 Grad zentriert, bevor er irgendeine Bewegung ausführt.

  • Bei Verwendung von Rotationseinheiten fährt der Servo in die vorgegebene absolute Position.

Examples
// Set the servo position to 10 percent
myServo.setPosition(10, percent);

// Set the servo position to 45.5 degrees
myServo.setPosition(45.5, degrees);

// Set the servo position to 90 degrees
myServo.setPosition(90, degrees);