Motor en Motorgroep#

Invoering#

Motoren en motorgroepen bepalen hoe onderdelen van een robot bewegen. Een motor object bestuurt één geconfigureerde IQ Smart Motor, terwijl een motor_group object meerdere geconfigureerde IQ Smart Motors tegelijk bestuurt, zodat ze synchroon bewegen. Motoren en motorgroepen kunnen worden gebruikt om een ​​arm omhoog te brengen, een grijper te draaien, een wiel te laten draaien of een ander onderdeel van een constructie te bewegen. Twee motoren kunnen samenwerken als een aandrijving om de hele robot te bewegen en te draaien.

Elke motor of motorgroep wordt geconfigureerd in het venster Apparaten. Afhankelijk van de configuratie kunnen de namen van motoren en motorgroepen variëren. Op deze pagina worden Motor1 en MotorGroup1 als voorbeeldnamen gebruikt. Vervang deze door uw eigen geconfigureerde namen.

Een VEX IQ-motor die de voorwaartse richting aangeeft met een plusteken en een pijl die aangeeft dat hij naar links, ofwel tegen de klok in, draait. Een VEX IQ-motor die de omgekeerde draairichting aangeeft met een minteken en een pijl die aangeeft dat hij naar rechts, oftewel met de klok mee, draait.

Standaard draait een motor met de stand forward tegen de klok in, en met de stand reverse met de klok mee. Als een motor op achteruit draaien is ingesteld, worden deze draairichtingen omgewisseld.

Motor#

Class Constructors#

1 — Maakt een motor object aan voor de IQ Smart Motor die is aangesloten op de opgegeven Smart Port. De motor gebruikt automatisch de gedetecteerde interne gearSetting.

motor(
  int32_t index );

2 — Creëert een motor object op de opgegeven Smart Port en keert optioneel de draairichting om. De motor gebruikt automatisch de gedetecteerde interne gearSetting.

motor(
 int32_t index,
 bool    reverse );

3 — Maakt een motor object aan op de opgegeven Smart Port met de opgegeven gearSetting.

motor(
 int32_t     index,
 gearSetting gears );

4 — Maakt een motor object aan op de opgegeven Smart Port met de opgegeven gearSetting en optioneel omgekeerde richting.

motor(
 int32_t     index,
 gearSetting gears,
 bool        reverse );

Class Destructor#

Vernietigt het motor object en geeft de bijbehorende resources vrij.

~motor();

Parameters#

Parameter

Type

Beschrijving

index

int32_t

De Smart Port waarop de motor is aangesloten, wordt weergegeven als PORTx, waarbij x het poortnummer is (bijvoorbeeld PORT1).

reverse

bool

Hiermee wordt bepaald of de draairichting van de motor wordt omgekeerd:

  • false (standaard) — De draairichting van de motor wordt niet omgekeerd.
  • true — De draairichting van de motor wordt omgekeerd.

gears

gearSetting

Specificeert de interne tandwielverhouding van de cartridge.

  • ratio1_1 — Een overbrengingsverhouding van 1:
  • ratio2_1 — Een overbrengingsverhouding van 2:
  • ratio3_1 — Een overbrengingsverhouding van 3:1

Notes#

  • De tandwielinstelling moet overeenkomen met de fysieke cartridge die in de motor is geïnstalleerd.

Example#

// Create the motor instance in Smart Port 1
motor LeftMotor = motor(PORT1);

// Creates the motor instance with different settings
motor RightMotor = motor(
  PORT2,      // Smart Port 2
  ratio2_1,  // Gear ratio is 2:1
  true);

Motorgroep#

Class Constructors#

motor_group( motor &m1, Args&... m2 );

Class Destructor#

Vernietigt het motor_group object en geeft de bijbehorende resources vrij.

~motor_group();

Parameters#

Parameter

Type

Beschrijving

m1

motor &

De eerste motor die aan de groep is toegevoegd.

m2

motor &

Er zijn extra motoren aan de groep toegevoegd. Het maximum is vier motoren in één motorgroep.

Example#

// Create individual motor instances
motor LeftMotor  = motor(PORT1);
motor RightMotor = motor(PORT2);

// Create a motor group with both motors
motor_group DriveMotors = motor_group(LeftMotor, RightMotor);

Lidfuncties#

Er zijn veel manieren om motoren en motorgroepen te programmeren. Hieronder staat een lijst met alle lidfuncties van motor en motor_group:

Acties — Motoren en motorgroepen stoppen en laten draaien.

  • spin — Laat een motor of motorgroep oneindig lang vooruit of achteruit draaien.

  • spinFor — Laat een motor of motorgroep draaien over een specifieke afstand of gedurende een bepaalde tijd.

  • spinToPosition — Draait een motor of motorgroep naar een specifieke positie.

  • stop — Stopt een motor of motorgroep met draaien.

Mutators — Pas de motor- en motorgroepinstellingen aan.

  • setVelocity — Vertelt een motor of motorgroep hoe snel deze moet draaien.

  • setMaxTorque — Stelt in hoe hard een motor of motorgroep mag duwen tijdens het draaien.

  • setPosition — Wijzigt de huidige positie van de motor of motorgroep naar een nieuwe waarde.

  • setStopping — Stelt in hoe een motor of motorgroep stopt met bewegen: door te remmen, uit te rollen of te wachten.

  • setTimeout — Stelt in hoeveel tijd een motor of motorgroep nodig heeft om een ​​beweging te voltooien.

Getters — Controleer de status van de motor en de motorgroep.

  • isDone — Geeft als Booleaanse waarde aan of de motor of motorgroep klaar is met bewegen.

  • isSpinning — Geeft als Booleaanse waarde aan of de motor of motorgroep draait.

  • position — Geeft de huidige positie van de motor of motorgroep terug.

  • velocity — Geeft aan hoe snel de motor of motorgroep draait.

  • current — Geeft aan hoeveel elektrische stroom de motor of motorgroep verbruikt.

  • power — Geeft aan hoeveel vermogen de motor of motorgroep gebruikt.

  • torque — Geeft aan hoeveel koppel de motor of motorgroep gebruikt.

  • efficiency — Geeft aan hoe efficiënt de motor of motorgroep het vermogen gebruikt.

  • temperature — Geeft de temperatuur van de motor of motorgroep terug.

  • voltage — Geeft de elektrische spanning terug die aan de motor of motorgroep wordt geleverd.

  • direction — Geeft de draairichting van de motor of motorgroep weer.

  • installed — Geeft aan of de motor of motorgroep is verbonden met de hersenen.

  • count — Geeft het aantal motoren in een motorgroep terug.

Voordat je een van de lidfuncties motor of motor_group aanroept, moet er een instantie worden aangemaakt, zoals hieronder weergegeven:

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

// Create the motor instance in Smart Port 1
motor Motor1 = motor(PORT1);

Acties#

spin#

spin laat een motor of motorgroep oneindig lang vooruit of achteruit draaien. De motor of motorgroep blijft draaien totdat er een andere actie wordt uitgevoerd, zoals in een andere richting draaien of stoppen.

Available Functions

1 — Laat de motor of motorgroep draaien met de momenteel ingestelde motorsnelheid.

void spin(
 directionType dir );

2 — Laat de motor of motorgroep met de opgegeven snelheid draaien.

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

3 — Laat de motor of motorgroep draaien met behulp van de opgegeven spanning.

void spin(
 directionType dir,
 double        voltage,
 voltageUnits  units );

Parameters

Parameter

Type

Beschrijving

dir

directionType

De draairichting van de motor of motorgroep: forward of reverse.

velocity

double

De snelheid waarmee je kunt draaien van 0% tot 100% bij gebruik percent.

units

velocityUnits

De eenheid die gebruikt wordt om snelheid weer te geven:

  • percent / pct — procent
  • rpm — rotaties per minuut
  • dps — graden per seconde

voltage

double

De spanning waarmee de rotatie plaatsvindt. Een negatieve waarde zorgt voor een rotatie in de tegenovergestelde richting van de gegeven waarde dir.

units

voltageUnits

De eenheid die wordt gebruikt om spanning weer te geven:

  • volt — volt
  • voltageUnits::mV — millivolt

Return Values

Deze functie retourneert geen waarde.

Notes
  • Deze functie heeft geen wachttijd en het project zal direct na de aanroep verdergaan met de uitvoering.

  • De motor of motorgroep blijft draaien totdat stop wordt aangeroepen of een andere bewegingsfunctie wordt uitgevoerd.

  • Functies zoals isDone en isSpinning zijn niet van toepassing op spin, omdat deze geen doelgebaseerde beweging gebruikt (geen rotation of time parameter heeft).

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

spinFor#

spinFor laat een motor of motorgroep een specifieke afstand of tijdsduur draaien. Een rotatiegebaseerde draaiing is relatief ten opzichte van de huidige positie van de motor of motorgroep. Standaard wacht het project totdat de motor of motorgroep klaar is met draaien voordat de volgende regel code wordt uitgevoerd.

Available Functions

1 — Draait over een specifieke afstand met de snelheid die in de functieaanroep is opgegeven.

bool spinFor(
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

2 — Accepteert een richtingparameter en draait over een specifieke afstand met de snelheid die in de functieaanroep is opgegeven.

bool spinFor(
 directionType dir,
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

3 — Draait over een specifieke afstand met behulp van de momenteel geconfigureerde motorsnelheid.

bool spinFor(
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

4 — Accepteert een richtingparameter en draait over een specifieke afstand met behulp van de momenteel geconfigureerde motorsnelheid.

bool spinFor(
 directionType dir,
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

5 — Draait gedurende een bepaalde tijd met de snelheid die in de functieaanroep is opgegeven.

bool spinFor(
 double        time,
 timeUnits     units,
 double        velocity,
 velocityUnits units_v );

6 — Accepteert een richtingparameter en draait gedurende een bepaalde tijd met de snelheid die in de functieaanroep is opgegeven.

bool spinFor(
 directionType dir,
 double        time,
 timeUnits     units,
 double        velocity,
 velocityUnits units_v );

7 — Draait gedurende een bepaalde tijd met behulp van de momenteel geconfigureerde motorsnelheid.

bool spinFor(
 double    time,
 timeUnits units );

8 — Accepteert een richtingparameter en draait gedurende een bepaalde tijd met behulp van de momenteel geconfigureerde motorsnelheid.

bool spinFor(
 directionType dir,
 double        time,
 timeUnits     units );

Parameters

Parameter

Type

Beschrijving

dir

directionType

De draairichting van de motor of motorgroep: forward of reverse.

rotation

double

De afstand die de motor of motorgroep aflegt.

units

rotationUnits

De rotatie-eenheid:

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

time

double

De tijdsduur dat de motor of motorgroep draait.

units

timeUnits

De tijdseenheid:

  • seconds sec — seconden
  • msec — milliseconden

velocity

double

De snelheid waarmee je kunt draaien van 0% tot 100% bij gebruik percent.

units_v

velocityUnits

De eenheid die gebruikt wordt om de snelheid weer te geven velocity:

  • percent / pct — procent
  • rpm — rotaties per minuut
  • dps — graden per seconde

waitForCompletion

bool

​

  • true (standaard) — Zorgt ervoor dat het project wacht totdat de motor of motorgroep klaar is met draaien voordat de volgende regel code wordt uitgevoerd.
  • false — Zorgt ervoor dat de volgende regel code direct wordt uitgevoerd.

Return Values

Geeft een Booleaanse waarde terug die aangeeft of de motor of motorgroep de streefwaarde heeft bereikt.

  • true — The motor or motor group reached the target value.
  • false — The motor or motor group was not able to reach the target value or waitForCompletion is set to false.
Notes
  • Het uitvoeren van een andere motorische bewegingsfunctie (zoals spin of stop) terwijl spinFor bezig is, onderbreekt de huidige beweging.

  • Omdat spinFor doelgebaseerd is (gebruikt een rotation of time parameter), werken functies zoals isDone en isSpinning met spinFor.

Examples
// Spin 1 turn fast, then 1 turn slow
Motor1.spinFor(forward, 1, turns, true);
Motor1.spinFor(reverse, 1, turns, 20, velocityUnits::pct, true);

spinToPosition#

spinToPosition draait een motor of motorgroep naar een specifieke positie.

De positie van een motor of motorgroep geeft aan hoeveel omwentelingen deze heeft gemaakt, gemeten in degrees of turnsEén omwenteling is gelijk aan 360 graden. Aan het begin van een project wordt de positie van de motor of motorgroep ingesteld op 0 graden. De positie van de motor of motorgroep kan ook worden ingesteld met behulp van de functie setPosition.

Positiewaarden zijn absoluut. Dit betekent dat de draairichting afhangt van de huidige positie van de motor of motorgroep.

Als de motor of motorgroep bijvoorbeeld begint bij 0 graden en draait naar een positie van 720 graden, draait hij twee omwentelingen vooruit. Als hij vervolgens naar een positie van 360 graden draait, draait hij één omwenteling achteruit, omdat 360 minder is dan 720.

Available Functions

1 — Draait naar een specifieke positie met de snelheid die in de functieaanroep is opgegeven.

bool spinToPosition(
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

2 — Draait naar een specifieke positie met behulp van de momenteel geconfigureerde motorsnelheid.

bool spinToPosition(
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

Parameters

Parameter

Type

Beschrijving

rotation

double

De positiewaarde waarnaar de motor of motorgroep zal draaien.

units

rotationUnits

De rotatie-eenheid:

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

velocity

double

De snelheid waarmee je kunt draaien van 0% tot 100% bij gebruik percent.

units_v

velocityUnits

De eenheid die gebruikt wordt om de snelheid weer te geven velocity:

  • pct — procent
  • rpm — rotaties per minuut
  • dps — graden per seconde

waitForCompletion

bool

​

  • true (standaard) — Zorgt ervoor dat het project wacht totdat de motor of motorgroep klaar is met draaien voordat de volgende regel code wordt uitgevoerd.
  • false — Zorgt ervoor dat de volgende regel code direct wordt uitgevoerd.

Return Values

Retourneert een Booleaanse waarde die aangeeft of de motor of motorgroep de gevraagde, op het doel gebaseerde beweging heeft gestart.

  • true — The motor or motor group begins the requested target-based movement.
  • false — The call fails or waitForCompletion is set to false.
Notes
  • Het uitvoeren van een andere motorische bewegingsfunctie (zoals spin of spinFor) terwijl spinToPosition bezig is, onderbreekt de huidige beweging.

  • Omdat spinToPosition doelgebaseerd is (een rotation parameter gebruikt), werken functies zoals isDone en isSpinning met spinToPosition.

Examples
// Spin forward, then go to 90°
Motor1.spin(forward);
wait(1, seconds);
Motor1.spinToPosition(90, degrees);

stop#

stop zorgt ervoor dat een motor of motorgroep stopt met draaien.

Available Functions

1 — Stopt de motor of motorgroep met behulp van de momenteel geconfigureerde remmodus.

void stop();

2 — Stopt de motor of motorgroep met behulp van de remmodus die is opgegeven in de functieaanroep.

void stop(
  brakeType mode );

Parameters

Parameter

Type

Beschrijving

mode

brakeType

Optioneel. Hoe de motor of motorgroep stopt:

  • coast — Vertraagt ​​tot stilstand.
  • brake — Stopt onmiddellijk.
  • hold — Stopt onmiddellijk en houdt de positie van de motor of motorgroep vast.

Return Values

Deze functie retourneert geen waarde.

Notes
  • Door stop aan te roepen, wordt elke lopende beweging van een motor of motorgroep onmiddellijk gestopt.

  • Als er geen remmodus is gespecificeerd, gebruikt de motor of motorgroep de momenteel geconfigureerde remmodus.

  • stop onderbreekt elke actieve, op een doel gebaseerde beweging (zoals spinFor of spinToPosition).

Examples
// Spin and coast to a stop
Motor1.setVelocity(100, percent);
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop(coast);

Mutators#

setVelocity#

setVelocity geeft een motor of motorgroep de gewenste draaisnelheid. Een hoger percentage zorgt ervoor dat de motor of motorgroep sneller draait, een lager percentage zorgt ervoor dat de motor of motorgroep langzamer draait.

Elk project begint standaard met elke motor of motorgroep die op 50% van zijn maximale snelheid draait.

Let op: Een hogere snelheid zorgt ervoor dat de motor of motorgroep sneller draait, maar dit kan de precisie verminderen. Een lagere snelheid zorgt ervoor dat de motor of motorgroep langzamer draait, maar dit kan de precisie verhogen.

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

Parameters

Parameter

Type

Beschrijving

velocity

double

De snelheid waarmee je kunt draaien van 0% tot 100% bij gebruik percent.

units

velocityUnits

De eenheid die gebruikt wordt om de snelheid weer te geven velocity:

  • percent / pct — procent
  • rpm — rotaties per minuut
  • dps — graden per seconde

Return Values

Deze functie retourneert geen waarde.

Notes
  • Elke daaropvolgende motorische bewegingsfunctie (zoals spin, spinFor, of spinToPosition) die geen expliciete snelheid specificeert, zal deze waarde gebruiken.

Examples
// Try default, then slow, then fast
Motor1.spinFor(forward, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(20, percent);
Motor1.spinFor(reverse, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(100, percent);
Motor1.spinFor(forward, 180, degrees);

setMaxTorque#

Het koppel geeft aan hoe hard een motor of motorgroep kan duwen of trekken terwijl deze draait.

setMaxTorque stelt het maximale koppel in dat een motor of motorgroep mag gebruiken.

Een hoger percentage zorgt ervoor dat de motor of motorgroep harder kan duwen, bijvoorbeeld bij het tillen van een zwaar voorwerp. Een lager percentage beperkt de maximale duwkracht van de motor of motorgroep. Dit kan de robot beschermen als de motor of motorgroep vastloopt of de maximale bewegingsafstand bereikt.

Elk project begint standaard met een koppel van 50% voor elke motor of motorgroep.

Available Functions

1 — Stelt het maximale koppel in als een percentage van het nominale koppel van de motor of motorgroep.

void setMaxTorque(
 double       value,
 percentUnits units );

2 — Stelt het maximale koppel in met behulp van fysieke koppeleenheden.

void setMaxTorque(
 double      value,
 torqueUnits units );

3 — Stelt het maximale koppel in door de motorstroom te beperken.

void setMaxTorque(
 double       value,
 currentUnits units );

Parameters

Parameter

Type

Beschrijving

value

double

Het maximale koppel dat de motor of motorgroep kan gebruiken.

units

percentUnits

Geeft het koppel aan als percentage: percent pct procent

units

torqueUnits

Specificeert koppel in fysieke eenheden zoals:

  • Nm — Newtonmeter
  • InLb — inch-pond

units

currentUnits

Specificeert het koppel door de motorstroom te beperken:

  • amp

Return Values

Deze functie retourneert geen waarde.

Notes
  • Bij gebruik van currentUnitswordt het koppel beperkt door de hoeveelheid elektrische stroom die de motor of motorgroep kan gebruiken te beperken.

setPosition#

De positie van een motor of motorgroep geeft aan hoeveel omwentelingen deze heeft gemaakt, gemeten in degrees of turnsEén omwenteling is gelijk aan 360 graden. setPosition wijzigt de huidige positie van de motor of motorgroep naar een nieuwe waarde.

Als een motor of motorgroep bijvoorbeeld 180 graden is gedraaid, zal het instellen van de positie op 0 graden die positie resetten van 180 naar 0 graden. Vervolgens kan de motor of motorgroep naar posities draaien op basis van die nieuwe waarde.

Available Functions
void setPosition(
    double        value,
    rotationUnits units );

Parameters

Parameter

Type

Beschrijving

value

double

De positiewaarde die moet worden ingesteld voor de motor of motorgroep.

units

rotationUnits

De positie-eenheid:

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

Return Values

Deze functie retourneert geen waarde.

Notes
  • Na het aanroepen van setPosition, zullen volgende aanroepen van spinToPosition de bijgewerkte positie als referentie gebruiken.

setStopping#

setStopping stelt in hoe een motor of motorgroep stopt met bewegen: door te remmen, uit te rollen of vast te houden.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Parameter

Type

Beschrijving

mode

brakeType

Hoe de motor of motorgroep stopt:

  • brake — Stopt onmiddellijk.
  • coast — Vertraagt ​​tot stilstand.
  • hold — Stopt onmiddellijk en houdt de positie van de motor of motorgroep vast.

Return Values

Deze functie retourneert geen waarde.

Notes
  • Elke volgende aanroep van stop zonder een gespecificeerde remmodus zal deze waarde gebruiken.

setTimeout#

setTimeout stelt in hoeveel tijd een motor of motorgroep krijgt om een ​​beweging te voltooien. Als de motor of motorgroep de beweging niet binnen die tijd kan voltooien, stopt deze met proberen en gaat verder met de volgende regel code. Dit voorkomt dat de motor of motorgroep vastloopt tijdens een beweging.

Available Functions
void setTimeout(
    int32_t   time,
    timeUnits units );

Parameters

Parameter

Type

Beschrijving

time

int32_t

De hoeveelheid tijd die de motor of motorgroep kan besteden aan het voltooien van een beweging. Dit moet een positief geheel getal zijn.

units

timeUnits

De tijdseenheid:

  • msec — milliseconden
  • seconds / sec — seconden

retourwaarden

Deze functie retourneert geen waarde.

Notes
  • De time-out voor een motor of motorgroep wordt gebruikt om te voorkomen dat bewegingen die hun doelpositie niet bereiken, de uitvoering van andere commando’s in de stapel blokkeren.

  • Als de motor of motorgroep de beoogde positie niet bereikt voordat de time-out verloopt, stopt het proces en wordt de volgende regel code uitgevoerd.

  • De time-out is van toepassing op functies die een doelwaarde hebben, zoals spinFor en spinToPosition.

Examples
// Stop a long move after 1 second
Motor1.setTimeout(1, seconds);
Motor1.spinFor(forward, 2, turns);
Motor1.spinToPosition(0, degrees);

Getters#

isDone#

isDone geeft als Booleaanse waarde aan of de motor of motorgroep klaar is met bewegen. Dit kan worden gebruikt om de timing van andere gedragingen te regelen op basis van de beweging van de motor of motorgroep.

  • true — De motor of motorgroep is klaar met bewegen.

  • false — De motor of motorgroep is nog steeds in beweging.

Deze functie werkt samen met de volgende bewegingsfuncties die de parameter waitForCompletion hebben: spinFor en spinToPosition.

Available Functions
bool isDone();

Parameters

Deze functie accepteert geen parameters.

Return Values

Geeft als Booleaanse waarde aan of de motor of motorgroep klaar is met bewegen.

  • true — The motor or motor group is finished moving.
  • false — The motor or motor group is still moving.
Notes
  • isDone werkt samen met de volgende bewegingsfuncties die de parameter waitForCompletion hebben: spinFor en spinToPosition.

Examples
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
  if (Motor1.isDone()) {
    Drivetrain.stop();
  } else {
    Drivetrain.drive(forward);
  }
}

isSpinning#

isSpinning geeft als Booleaanse waarde aan of de motor of motorgroep draait. Dit kan worden gebruikt om de timing van andere gedragingen te regelen op basis van de beweging van de motor of motorgroep.

  • true — De motor of motorgroep draait.

  • false — De motor of motorgroep draait niet.

Deze functie werkt samen met bewegingsfuncties zoals spin, spinFor, en spinToPosition.

Available Functions
bool isSpinning();

Parameters

Deze functie accepteert geen parameters.

Return Values

Geeft als Booleaanse waarde weer of de motor of motorgroep draait.

  • true — The motor or motor group is spinning.
  • false — The motor or motor group is not spinning.
Notes Examples
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
  if (Motor1.isSpinning()) {
    Drivetrain.drive(forward);
  } else {
    Drivetrain.stop();
  }
}

position#

De positie van een motor of motorgroep geeft aan hoeveel omwentelingen deze heeft gemaakt, gemeten in degrees of turnsEén omwenteling is gelijk aan 360 graden. position geeft de huidige positie van de motor of motorgroep weer.

Aan het begin van een project wordt de positie van de motor of motorgroep ingesteld op 0 graden. Als de motor of motorgroep één omwenteling vooruit draait, is de positie 360 ​​graden of 1 omwenteling. Als de motor of motorgroep de andere kant op draait, is de positie negatief.

Available Functions
double position(
  rotationUnits units );

Parameters

Parameter

Type

Beschrijving

units

rotationUnits

The unit to return the motor or motor group position in:

  • deg / degrees — degrees
  • turns / rev — revolutions

Return Values

Retourneert een double die de huidige positie van de motor of motorgroep in de opgegeven eenheden weergeeft.

Notes
  • Door setPosition aan te roepen, wordt het referentiepunt voor deze waarde gewijzigd.

  • De geretourneerde waarde weerspiegelt de huidige encoderwaarde en geeft niet aan of de motor of motorgroep actief beweegt.

  • Wanneer deze functie wordt aangeroepen op een motorgroep motor_group, retourneert deze de positie van de eerste motor in de groep.

Examples
// Spin, then show the final position
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
Brain.Screen.print("Pos: %f", Motor1.position(degrees));

velocity#

velocity geeft aan hoe snel de motor of motorgroep draait.

Een positieve waarde betekent dat de motor of motorgroep vooruit draait. Een negatieve waarde betekent dat deze achteruit draait.

Available Functions
double velocity(
    velocityUnits units );

Parameters

Parameter

Type

Beschrijving

units

velocityUnits

De eenheid die gebruikt wordt om snelheid weer te geven:

  • percent / pct — procent
  • rpm — rotaties per minuut
  • dps — graden per seconde

Return Values

Retourneert een double die aangeeft hoe snel de motor of motorgroep draait in de opgegeven eenheden.

Notities

  • Wanneer deze functie wordt aangeroepen op een motor_group, retourneert deze de snelheid van de eerste motor in de groep.

current#

current geeft aan hoeveel elektrische stroom de motor of motorgroep verbruikt. Stroomsterkte is de hoeveelheid elektriciteit die door de motor of motorgroep vloeit. Wanneer de waarde in ampère wordt weergegeven, ligt deze tussen 0,0 en 1,2 A.

Een hogere stroomwaarde betekent dat de motor of motorgroep meer elektrische stroom verbruikt. Dit kan gebeuren wanneer de motor of motorgroep iets zwaars optilt, tegen een object duwt of probeert te bewegen terwijl deze vastzit.

Hiermee kunt u controleren of de motor of motorgroep moeite heeft tijdens een beweging. Als de stroomsterkte hoog blijft, kan de motor warmer worden of minder efficiënt met energie omgaan.

Available Functions

1 — Geeft de elektrische stroomsterkte van de motor of motorgroep in ampère weer.

double current(
  currentUnits units = amp );

2 — Geeft de elektrische stroom van de motor of motorgroep weer als een percentage van de maximaal nominale stroom.

double current(
  percentUnits units );

Parameters

Parameter

Type

Beschrijving

units

currentUnits

De eenheid die wordt gebruikt om stroomsterkte weer te geven:amp (standaard) — ampère

units

percentUnits

Represents the current as a percentage of the motor’s maximum rated current:percent / pct — percent

Return Values

Retourneert een double die aangeeft hoeveel elektrische stroom de motor of motorgroep verbruikt in de opgegeven eenheden.

Notities

  • Wanneer deze functie wordt aangeroepen op een motorgroep van motor_group, retourneert deze de totale elektrische stroom voor alle motoren in de groep.

power#

power geeft aan hoeveel vermogen de motor of motorgroep verbruikt in watt. Vermogen laat zien hoe snel de motor of motorgroep energie verbruikt.

Een hogere vermogenswaarde betekent dat de motor of motorgroep sneller energie verbruikt. Dit kan gebeuren wanneer de motor of motorgroep iets zwaars optilt, tegen een object duwt of probeert te bewegen terwijl deze vastzit.

Dit kan worden gebruikt om bewegingen te vergelijken of te controleren of de motor of motorische groep moeite heeft. Als het vermogen hoog blijft, kan de motor warmer worden of minder efficiënt met energie omgaan.

Available Functions
double power(
  powerUnits units = watt );

Parameters

Parameter

Type

Beschrijving

units

powerUnits

De eenheid die wordt gebruikt om het motorvermogen weer te geven:

  • watt (standaard) — watt

retourwaarden

Geeft een waarde van double terug die aangeeft hoeveel vermogen de motor of motorgroep verbruikt in watt.

Notities

  • Wanneer deze functie wordt aangeroepen op een motorgroep motor_group, retourneert deze het elektrisch vermogen van de eerste motor in de groep.

torque#

Het koppel geeft aan hoe hard een motor of motorgroep draait, duwt of trekt tijdens het roteren.

torque geeft aan hoeveel koppel de motor of motorgroep gebruikt.

Een hogere koppelwaarde betekent dat de motor of motorgroep harder duwt of trekt. Dit kan gebeuren wanneer de motor of motorgroep iets zwaars optilt, tegen een object duwt of probeert te bewegen terwijl deze vastzit.

Dit kan worden gebruikt om te controleren of de motor of motorische groep moeite heeft, of om te vergelijken hoeveel kracht verschillende bewegingen vereisen.

Om het koppel van een motor of motorgroep in te stellen, gebruikt u setMaxTorque.

Available Functions
double torque(
  torqueUnits units = Nm );

Parameters

Parameter

Type

Beschrijving

units

torqueUnits

De eenheid die wordt gebruikt om het motorkoppel weer te geven:

  • Nm (standaard) — Newtonmeter
  • InLb — inch-pond

retourwaarden

Retourneert een double die aangeeft hoeveel koppel de motor of motorgroep gebruikt in de opgegeven eenheden.

Notities

  • Wanneer deze functie wordt aangeroepen op een motorgroep motor_group, retourneert deze het mechanische uitgangskoppel van de eerste motor in de groep.

efficiency#

efficiency geeft aan hoe efficiënt de motor of motorgroep het vermogen gebruikt, als een percentage van 0% tot 100%.

Het rendement geeft aan hoeveel van het vermogen van de motor of motorgroep wordt gebruikt voor beweging. Een hogere rendementswaarde betekent dat er meer vermogen van de motor of motorgroep wordt gebruikt voor beweging. Een lagere rendementswaarde kan voorkomen wanneer de motor of motorgroep hard werkt maar weinig beweging genereert, bijvoorbeeld wanneer deze vastloopt of tegen een object duwt.

Dit kan worden gebruikt om bewegingen te vergelijken of te controleren of de motor of motorgroep energie verspilt in plaats van deze voor beweging te gebruiken.

Available Functions
double efficiency(
  percentUnits units = percent );

Parameters

Parameter

Type

Beschrijving

units

percentUnits

De eenheid die wordt gebruikt om het rendement van een motor weer te geven:

  • percent / percentUnits::pct (standaard) — procent

retourwaarden

Geeft een waarde van double terug die aangeeft hoe efficiënt de motor of motorgroep het vermogen gebruikt, uitgedrukt als percentage.

Notities

  • Wanneer deze functie wordt aangeroepen op een motorgroep motor_group, retourneert deze het rendement van de eerste motor in de groep.

temperature#

temperature geeft de temperatuur van de motor of motorgroep weer.

De motortemperatuur geeft aan hoe warm de motor of motorgroep is. Een hogere temperatuur betekent dat de motor of motorgroep warmer wordt tijdens het gebruik. De motor moet onder 55°C te blijven presteren.

Als de motor of motorgroep te heet wordt, verlaagt deze de maximale stroomsterkte ter bescherming. Bij 70°Cstopt een motor met draaien totdat deze is afgekoeld.

Hiermee kan worden gecontroleerd of de motor of motorgroep te warm wordt tijdens herhaalde bewegingen, langdurig gebruik of wanneer deze tegen een object duwt.

Available Functions

1 — Geeft de temperatuur van de motor of motorgroep weer als een percentage van de maximale bedrijfstemperatuur.

double temperature(
  percentUnits units = percent );

2 — Geeft de temperatuur van de motor of motorgroep weer in fysieke temperatuureenheden.

double temperature(
  temperatureUnits units );

Parameters

Parameter

Type

Beschrijving

units

percentUnits

De eenheid die wordt gebruikt om de temperatuur van een motor of motorgroep als percentage weer te geven:

  • percent / percentUnits::pct (standaard) — procent

units

temperatureUnits

De eenheid die wordt gebruikt om de temperatuur van een motor of motorgroep in graden weer te geven:

  • celsius — graden Celsius
  • fahrenheit — graden Fahrenheit

retourwaarden

Retourneert een double die de temperatuur van de motor of motorgroep in de opgegeven eenheden weergeeft.

Notities

  • Het bedrijfstemperatuurbereik voor de motor is ongeveer 20°C (68°F) tot 70°C (158°F).

  • Wanneer deze functie wordt aangeroepen op een motorgroep motor_group, retourneert deze de temperatuur van de eerste motor in de groep.

voltage#

voltage geeft de elektrische spanning terug die aan de motor of motorgroep wordt geleverd.

Available Functions
double voltage(
  voltageUnits units = volt );

Parameters

Parameter

Type

Beschrijving

units

voltageUnits

De eenheid die de spanning weergeeft:

  • volt (standaard)
  • voltageUnits::mV — millivolt

retourwaarden

Retourneert een double die de elektrische spanning vertegenwoordigt die aan de motor of motorgroep wordt geleverd in de opgegeven eenheden.

Notities

  • Wanneer deze functie wordt aangeroepen op een motorgroep motor_group, retourneert deze de elektrische spanning van de eerste motor in de groep.

direction#

direction geeft de draairichting van de motor of motorgroep aan.

Available Functions
directionType direction();

Parameters

Deze functie accepteert geen parameters.

retourwaarden

Geeft een directionType terug, die de huidige draairichting van de motor of motorgroep aangeeft:

  • forward — The motor or motor group is spinning forward.
  • reverse — The motor or motor group is spinning in reverse.

installed#

installed geeft aan of de motor of motorgroep is aangesloten op de IQ (1e generatie) Brain.

Available Functions
bool installed();

Parameters

Deze functie accepteert geen parameters.

retourwaarden

Retourneert een booleanwaarde van bool die aangeeft of de motor of motorgroep is aangesloten.

  • true — The motor or motor group is connected.
  • false — The motor or motor group is not connected.

count#

count geeft het aantal motoren in een motorgroep terug.

Available Functions
int32_t count();

Parameters

Deze functie accepteert geen parameters.

retourwaarden

Retourneert een int32_t die het aantal motoren in de motorgroep vertegenwoordigt.