Servomotor#

Invoering#

De klasse servo wordt gebruikt om een ​​EXP 3-draads servomotor te besturen en te configureren. De EXP 3-draads servomotor biedt positiegebaseerde besturing binnen een vast bewegingsbereik.

De EDR VEX servomotor

Klasseconstructors#

servo( triport::port& port );

Klasse-destructor#

Vernietigt het servo object en geeft de bijbehorende resources vrij.

~servo();

Parameters#

Parameter

Type

Beschrijving

port

triport::port&

De 3-draads poort waarop de servomotor is aangesloten, wordt weergegeven als Brain.ThreeWirePort.X of ExpanderName.X, waarbij X de poortletter is (bijvoorbeeld Brain.ThreeWirePort.A of Expander1.A).

Voorbeeld#

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

Lidfuncties#

De klasse servo omvat de volgende lidfuncties:

  • setPosition — Verplaatst de servomotor naar een opgegeven positie.

Voordat er lidfuncties van servo servo worden aangeroepen, moet er een instantie van servo servo worden aangemaakt, zoals hieronder weergegeven:

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

Verplaatst de servomotor naar een specifieke positie.

Een diagram van een servomotor die de graden laat zien waarin deze kan draaien, van 100 tot 0 graden.

Available Functions

1 — Stelt de servopositie in met behulp van een percentage.

void setPosition(
 int32_t value,
 percentUnits units );

2 — Stelt de servopositie in met behulp van rotatie-eenheden.

void setPosition(
 double value,
 rotationUnits units );

Parameters

Parameter

Type

Beschrijving

value

int32_t

De servopositiewaarde in procentuele eenheden.

value

double

De servopositiewaarde bij gebruik van rotatie-eenheden.

units

percentUnits

The position unit: percent / pct — percent

units

rotationUnits

De positie-eenheid:

  • deg / degrees — graden
  • turns / rev — omwentelingen

Return Values

Deze functie retourneert geen waarde.

Notes
  • Bij gebruik van procentuele eenheden is het geldige bereik 0 – 100%.

  • Een servomotor begint elk project door zichzelf automatisch te centreren op 50 graden voordat hij bewegingen uitvoert.

  • Bij gebruik van rotatie-eenheden beweegt de servomotor naar de opgegeven absolute positie.

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