Motor és Motorcsoport#

Bevezetés#

A motorok és motorcsoportok szabályozzák a robot egyes részeinek mozgását. Egy motor objektum egy konfigurált IQ Smart Motort vezérel, míg egy motor_group objektum több konfigurált IQ Smart Motort vezérel együtt, így azok párhuzamosan mozognak. A motorok és motorcsoportok segítségével fel lehet emelni egy kart, el lehet forgatni egy karot, meg lehet forgatni egy kereket, vagy egy másik szerkezeti részt lehet mozgatni. Két motor együtt működhet hajtásláncként a teljes robot mozgatásához és forgatásához.

Minden motor vagy motorcsoport az Eszközök ablakban konfigurálható. A felépítéstől függően a motor- és motorcsoport-nevek változhatnak. Ez az oldal példaként Motor1 és MotorGroup1 neveket használja. Szükség szerint cserélje le őket a saját konfigurált neveire.

Egy VEX IQ motor, amelynek előremeneti irányát egy pluszjel és egy nyíl jelzi, amely balra, azaz az óramutató járásával ellentétes irányba forog. Egy VEX IQ motor, amely a fordított irányt mínuszjellel és egy jobbra, azaz az óramutató járásával megegyező irányba forgást jelző nyíllal jelöli.

Alapértelmezés szerint forward az óramutató járásával ellentétes irányba forgatja a motort, reverse pedig az óramutató járásával megegyező irányba. Ha egy motor hátrafelé van beállítva, akkor ezek az irányok felcserélődnek.

Motor#

Class Constructors#

1 — Létrehoz egy motor objektumot az adott Smart Porthoz csatlakoztatott IQ Smart Motor számára. A motor automatikusan a detektált belső gearSetting használja.

motor(
  int32_t index );

2 — Létrehoz egy motor objektumot a megadott Smart Porton, és opcionálisan megfordítja a forgásirányát. A motor automatikusan a detektált belső gearSetting használja.

motor(
 int32_t index,
 bool    reverse );

3 — Létrehoz egy motor objektumot a megadott Smart Porton a megadott gearSetting értékkel.

motor(
 int32_t     index,
 gearSetting gears );

4 — Létrehoz egy motor objektumot a megadott Smart Porton a megadott gearSetting értékkel és opcionálisan fordított iránnyal.

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

Class Destructor#

Megsemmisíti a motor objektumot és felszabadítja a hozzá tartozó erőforrásokat.

~motor();

Parameters#

Paraméter

Típus

Leírás

index

int32_t

Az a Smart Port, amelyhez a motor csatlakozik, PORTxformában írva, ahol x a port száma (például PORT1).

reverse

bool

Beállítja, hogy a motor forgásiránya megforduljon-e:

  • false (alapértelmezett) — Nem fordítja meg a motor forgásirányát.
  • true — Megfordítja a motor forgásirányát.

gears

gearSetting

Meghatározza a belső fogaskerék-áttételt.

  • ratio1_1 — A 1:1 áttétel
  • ratio2_1 — A 2:1 áttétel
  • ratio3_1 — A 3:1 áttétel

Notes#

  • A sebességfokozat beállításának meg kell egyeznie a motorba szerelt fizikai patronnal.

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

Motorcsoport#

Class Constructors#

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

Class Destructor#

Megsemmisíti a motor_group objektumot és felszabadítja a hozzá tartozó erőforrásokat.

~motor_group();

Parameters#

Paraméter

Típus

Leírás

m1

motor &

Az első motor csatlakozott a csoporthoz.

m2

motor &

További motorok hozzáadva a csoporthoz. Egy motorcsoportban maximum négy motor lehet.

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

Tagfüggvények#

A motorok és motorcsoportok kódolásának számos módja van. Az alábbiakban felsoroljuk az összes motor és motor_group tagfüggvényt:

Műveletek — Motorok és motorcsoportok leállítása és megforgatása.

  • spin — Egy motort vagy motorcsoportot előre vagy hátra forgat örökké.

  • spinFor — Megadott távolságig vagy ideig forgat egy motort vagy motorcsoportot.

  • spinToPosition — Egy motort vagy motorcsoportot egy adott pozícióba forgat.

  • stop — Leállítja a motor vagy motorcsoport forgását.

Mutátorok – Motoros és motoros csoportbeállítások módosítása.

  • setVelocity — Megadja egy motornak vagy motorcsoportnak a forgási sebességét.

  • setMaxTorque — Beállítja, hogy egy motor vagy motorcsoport milyen erősen nyomhatja a motort forgás közben.

  • setPosition — A motor vagy motorcsoport aktuális pozícióját új értékre módosítja.

  • setStopping — Beállítja, hogy egy motor vagy motorcsoport hogyan álljon le: fékezéssel, szabadonfutással vagy tartással.

  • setTimeout — Beállítja, hogy egy motor vagy motorcsoport mennyi idő alatt próbálja meg befejezni a mozgást.

Getterek – Motor és motorcsoport állapotának ellenőrzése.

  • isDone — Logikai értékként adja vissza, hogy a motor vagy motorcsoport mozgása befejeződött-e.

  • isSpinning — Logikai értékként adja vissza, hogy a motor vagy a motorcsoport forog-e.

  • position — Visszaadja a motor vagy motorcsoport aktuális pozícióját.

  • velocity — Visszaadja a motor vagy motorcsoport forgási sebességét.

  • current — Visszaadja, hogy mennyi elektromos áramot fogyaszt a motor vagy motorcsoport.

  • power — Visszaadja, hogy mennyi energiát fogyaszt a motor vagy motorcsoport.

  • torque — Visszaadja, hogy mennyi nyomatékot használ a motor vagy motorcsoport.

  • efficiency — Visszaadja, hogy a motor vagy motorcsoport mennyire hatékonyan használja fel az energiát.

  • temperature — Visszaadja a motor vagy motorcsoport hőmérsékletét.

  • voltage — Visszaadja a motornak vagy motorcsoportnak szolgáltatott elektromos feszültséget.

  • direction — Visszaadja a motor vagy motorcsoport forgási irányát.

  • installed — Visszaadja, hogy a motor vagy a motorcsoport csatlakozik-e az agyhoz.

  • count — Visszaadja a motorcsoportban lévő motorok számát.

Bármely motor vagy motor_group tagfüggvény meghívása előtt létre kell hozni egy példányt, az alábbiak szerint:

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

Műveletek#

spin#

spin Egy motort vagy motorcsoportot előre vagy hátra forgat örökre. A motor vagy motorcsoport addig forog, amíg egy másik műveletet nem kap, például egy másik irányba forgatást vagy leállítást.

Available Functions

1 — A motort vagy motorcsoportot az aktuálisan konfigurált motorsebességgel forgatja.

void spin(
 directionType dir );

2 — A motort vagy motorcsoportot a megadott sebességgel forgatja.

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

3 — A megadott feszültséggel megforgatja a motort vagy motorcsoportot.

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

Parameters

Paraméter

Típus

Leírás

dir

directionType

A motor vagy motorcsoport forgásiránya: forward vagy reverse.

velocity

double

A forgási sebesség 0%-tól 100%-ig percent használata esetén.

units

velocityUnits

A sebesség ábrázolására használt mértékegység:

  • percent / pct — százalék
  • rpm — fordulatszám percenként
  • dps — fok másodpercenként

voltage

double

A forgás feszültsége. A negatív érték az adott dir ellentétes irányban forog.

units

voltageUnits

A feszültség ábrázolására használt mértékegység:

  • volt — volt
  • voltageUnits::mV — millivolt

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • Ez a függvény nem várakozik, és a projekt a hívás után azonnal folytatja a végrehajtást.

  • A motor vagy motorcsoport addig forog, amíg a stop parancsot meg nem hívják, vagy egy másik mozgásfunkciót nem hajtanak végre.

  • Az olyan függvények, mint a isDone és a isSpinning nem alkalmazhatók a spinfüggvényre, mivel az nem használ célpont-alapú mozgást (nincs rotation vagy time paramétere).

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

spinFor#

spinFor Egy motort vagy motorcsoportot egy adott távolságig vagy ideig forgat. A forgatáson alapuló forgatás a motor vagy motorcsoport aktuális pozíciójához viszonyított. Alapértelmezés szerint a projekt megvárja, amíg a motor vagy motorcsoport befejezi a forgást, mielőtt a következő kódsor futna.

Available Functions

1 — Egy adott távolságot tesz meg a függvényhívásban megadott sebességgel.

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

2 — Elfogad egy irány paramétert, és egy adott távolságon keresztül forog a függvényhívásban megadott sebességgel.

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

3 — Egy adott távolságot tesz meg a jelenleg konfigurált motorsebesség használatával.

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

4 — Elfogad egy irányparamétert, és egy adott távolságon keresztül forog a jelenleg konfigurált motorsebesség használatával.

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

5 — Meghatározott ideig forog a függvényhívásban megadott sebességgel.

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

6 — Elfogad egy irány paramétert, és egy meghatározott ideig forog a függvényhívásban megadott sebességgel.

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

7 — Meghatározott ideig forog a jelenleg konfigurált motorsebesség használatával.

bool spinFor(
 double    time,
 timeUnits units );

8 — Elfogad egy irányparamétert, és egy meghatározott ideig forog a jelenleg konfigurált motorsebesség használatával.

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

Parameters

Paraméter

Típus

Leírás

dir

directionType

A motor vagy motorcsoport forgásiránya: forward vagy reverse.

rotation

double

A motor vagy motorcsoport által megpörgetett távolság.

units

rotationUnits

A forgási egység:

  • deg / degrees — fok
  • turns / rev — fordulatszám

time

double

Az az időtartam, ameddig a motor vagy a motorcsoport forog.

units

timeUnits

Az időegység:

  • seconds / sec — másodperc
  • msec — milliszekundum

velocity

double

A forgási sebesség 0%-tól 100%-ig percent használata esetén.

units_v

velocityUnits

A velocity:

  • percent / pct — százalék
  • rpm — fordulatszám percenként
  • dps — fok másodpercenként

waitForCompletion

bool

​

  • true (alapértelmezett) — A projekt megvárja, amíg a motor vagy motorcsoport befejezi a forgást, mielőtt a kód következő sora futna.
  • false — Azonnal futtatja a kód következő sorát.

Return Values

Egy logikai értéket ad vissza, amely megmutatja, hogy a motor vagy a motorcsoport elérte-e a célértéket.

  • 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
  • Egy másik motoros mozgásfunkció végrehajtása (például a spin vagy a stop) spinFor folyamatban lévő állapota közben megszakítja az aktuális mozgást.

  • Mivel spinFor cél alapú (egy rotation vagy time paramétert használ), az olyan függvények, mint a isDone és a isSpinning spinFor -mal működnek.

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 Egy motort vagy motorcsoportot egy adott pozícióba forgat.

Egy motor vagy motorcsoport pozíciója azt mutatja meg, hogy milyen messzire fordult el, degrees vagy turnsmérve. Egy fordulat 360 foknak felel meg. Egy projekt elején a motor vagy motorcsoport pozíciója 0 fokra van állítva. A motor vagy motorcsoport pozíciója a setPosition függvénnyel is beállítható.

A pozícióértékek abszolútak. Ez azt jelenti, hogy a forgás iránya a motor vagy motorcsoport aktuális pozíciójától függ.

Például, ha a motor vagy motorcsoport 0 fokról indul, és 720 fokos pozícióba forog, akkor két fordulatot előre fog forogni. Ha ezután 360 fokos pozícióba forog, akkor egy fordulatot vissza fog forogni, mivel a 360 fok kisebb, mint 720.

Available Functions

1 — Egy adott pozícióba pörög a függvényhívásban megadott sebességgel.

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

2 — Egy adott pozícióba forog a jelenleg konfigurált motorsebesség használatával.

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

Parameters

Paraméter

Típus

Leírás

rotation

double

A motor vagy motorcsoport forgási pozícióértéke.

units

rotationUnits

A forgási egység:

  • deg / degrees — fok
  • turns / rev — fordulatszám

velocity

double

A forgási sebesség 0%-tól 100%-ig percent használata esetén.

units_v

velocityUnits

A velocitykifejezésére használt mértékegység:

  • pct — százalék
  • rpm — fordulatszám percenként
  • dps — fok másodpercenként

waitForCompletion

bool

​

  • true (alapértelmezett) — A projekt megvárja, amíg a motor vagy motorcsoport befejezi a forgást, mielőtt a kód következő sora futna.
  • false — Azonnal futtatja a kód következő sorát.

Return Values

Egy logikai értéket ad vissza, amely megmutatja, hogy a motor vagy a motorcsoport indította-e el a kért célalapú mozgást.

  • true — The motor or motor group begins the requested target-based movement.
  • false — The call fails or waitForCompletion is set to false.
Notes
  • Egy másik motoros mozgásfunkció végrehajtása (például a spin vagy a spinFor) spinToPosition folyamatban lévő állapota alatt megszakítja az aktuális mozgást.

  • Mivel spinToPosition cél alapú (egy rotation paramétert használ), az olyan függvények, mint a isDone és a isSpinning spinToPosition paraméterrel működnek.

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

stop#

stop leállítja a motor vagy motorcsoport forgását.

Available Functions

1 — Leállítja a motort vagy motorcsoportot a jelenleg konfigurált fékezési mód használatával.

void stop();

2 — Leállítja a motort vagy motorcsoportot a függvényhívásban megadott fékezési móddal.

void stop(
  brakeType mode );

Parameters

Paraméter

Típus

Leírás

mode

brakeType

Opcionális. Hogyan áll le a motor vagy motorcsoport:

  • coast — Lassan megáll.
  • brake — Azonnal leáll.
  • hold — Azonnal leáll és megtartja a motor vagy motorcsoport pozícióját.

Return Values

Ez a függvény nem ad vissza értéket.

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

Mutátorok#

setVelocity#

setVelocity megmondja a motornak vagy motorcsoportnak, hogy milyen gyorsan forogjon. Magasabb százalékos érték esetén a motor vagy motorcsoport gyorsabban, alacsonyabb százalékos érték esetén pedig lassabban forog.

Minden projekt úgy kezdődik, hogy minden motor vagy motorcsoport alapértelmezés szerint 50%-os sebességgel forog.

Megjegyzés: A nagyobb sebesség gyorsabban forogtatja a motort vagy a motorcsoportot, de kevésbé pontos lehet. Az alacsonyabb sebesség lassítja a motort vagy a motorcsoportot, de pontosabb lehet.

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

Parameters

Paraméter

Típus

Leírás

velocity

double

A forgási sebesség 0%-tól 100%-ig percent használata esetén.

units

velocityUnits

A velocity:

  • percent / pct — százalék
  • rpm — fordulatszám percenként
  • dps — fok másodpercenként

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • Bármely további motoros mozgásfüggvény (mint például a spin, spinFor, vagy spinToPosition), amely nem ad meg explicit módon sebességet, ezt az értéket fogja használni.

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#

A nyomaték megmutatja, hogy egy motor vagy motorcsoport milyen erősen tud nyomni vagy húzni forgás közben.

setMaxTorque beállítja a motor vagy motorcsoport által használható legnagyobb nyomatékot.

A magasabb százalékos érték lehetővé teszi a motor vagy motorcsoport erősebb tolását, például nehéz tárgy emelésekor. Az alacsonyabb százalékos érték korlátozza, hogy a motor vagy a motorcsoport milyen erősen tud tolni. Ez segíthet megvédeni a robotot, ha a motor vagy a motorcsoport elakad, vagy eléri a mozgási határát.

Minden projekt alapértelmezés szerint 50%-os nyomatékkal kezdődik.

Available Functions

1 — Beállítja a maximális nyomatékot a motor vagy motorcsoport névleges nyomatékának százalékában.

void setMaxTorque(
 double       value,
 percentUnits units );

2 — Beállítja a maximális nyomatékot fizikai nyomatékegységek használatával.

void setMaxTorque(
 double      value,
 torqueUnits units );

3 — Beállítja a maximális nyomatékot a motoráram korlátozásával.

void setMaxTorque(
 double       value,
 currentUnits units );

Parameters

Paraméter

Típus

Leírás

value

double

A motor vagy motorcsoport által használható maximális nyomaték.

units

percentUnits

A nyomatékot százalékban adja meg: percent pct — százalék

units

torqueUnits

A nyomatékot fizikai mértékegységekben adja meg, például:

  • Nm — newtonméter
  • InLb — hüvelyk-font

units

currentUnits

A nyomatékot a motoráram korlátozásával határozza meg:

  • amp

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • currentUnitshasználata esetén a nyomatékot a motor vagy motorcsoport által felhasználható elektromos áram mennyisége korlátozza.

setPosition#

Egy motor vagy motorcsoport pozíciója azt jelzi, hogy milyen messzire fordult el, degrees vagy turnsmérve. Egy fordulat 360 foknak felel meg. setPosition parancs a motor vagy motorcsoport aktuális pozícióját egy új értékre módosítja.

Például, ha egy motor vagy motorcsoport 180 fokra forgott, a pozíció 0 fokra állítása visszaállítja ezt a pozíciót 180-ról 0 fokra. Ezután a motor vagy motorcsoport az új érték alapján foroghat a pozíciókba.

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

Parameters

Paraméter

Típus

Leírás

value

double

A motorhoz vagy motorcsoporthoz beállítandó pozícióérték.

units

rotationUnits

A pozíció mértékegysége:

  • deg / degrees — fok
  • turns / rev — fordulatszám

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A setPositionmeghívása után a spinToPosition további hívásai a frissített pozíciót fogják referenciaként használni.

setStopping#

setStopping paraméter beállítja, hogy egy motor vagy motorcsoport hogyan álljon le: fékezéssel, szabadon futással vagy tartással.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Paraméter

Típus

Leírás

mode

brakeType

Hogyan áll le a motor vagy motorcsoport:

  • brake — Azonnal leáll.
  • coast — Lassan leáll.
  • hold — Azonnal leáll és megtartja a motor vagy motorcsoport pozícióját.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A stop függvény minden további, fékezési mód megadása nélküli hívása ezt az értéket fogja használni.

setTimeout#

setTimeout beállítja, hogy mennyi idő alatt próbáljon meg egy motor vagy motorcsoport befejezni egy mozgást. Ha a motor vagy motorcsoport nem tud befejezni ennyi idő alatt, akkor leállítja a próbálkozást, és a kód következő sorára ugrik. Ez megakadályozza, hogy a motor vagy motorcsoport elakadjon egy mozgásnál.

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

Parameters

Paraméter

Típus

Leírás

time

int32_t

Az az időtartam, ameddig a motor vagy motorcsoport megpróbálhat befejezni egy mozgást. Ennek pozitív egész számnak kell lennie.

units

timeUnits

Az időegység:

  • msec — milliszekundum
  • seconds / sec — másodperc

Visszatérési értékek

Ez a függvény nem ad vissza értéket.

Notes
  • A motor vagy motorcsoport időtúllépése arra szolgál, hogy megakadályozza a célpozíciójukat el nem érő mozgások végrehajtásának leállítását a veremben.

  • Ha a motor vagy motorcsoport nem éri el a célpozícióját az időkorlát lejárta előtt, akkor leállítja a próbálkozást, és a kód következő sorára ugrik.

  • Az időtúllépés olyan függvényekre vonatkozik, amelyeknek van célértékük, például a spinFor és a spinToPosition.

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

Getterek#

isDone#

isDone logikai értékként adja vissza, hogy a motor vagy motorcsoport mozgása befejeződött-e. Ez felhasználható más viselkedések időzítésének szabályozására a motor vagy motorcsoport mozgása alapján.

  • true — A motor vagy motorcsoport mozgása befejeződött.

  • false — A motor vagy motorcsoport továbbra is mozog.

Ez a függvény a következő waitForCompletion paraméterrel rendelkező Motion függvényekkel működik együtt: spinFor és spinToPosition.

Available Functions
bool isDone();

Parameters

Ez a függvény nem fogad el paramétereket.

Return Values

Logikai értékként adja vissza, hogy a motor vagy motorcsoport mozgása befejeződött-e.

  • true — The motor or motor group is finished moving.
  • false — The motor or motor group is still moving.
Notes
  • isDone a következő, waitForCompletion paraméterrel rendelkező Motion függvényekkel működik együtt: spinFor és 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 logikai értékként adja vissza, hogy a motor vagy a motorcsoport forog-e. Ez felhasználható más viselkedések időzítésének szabályozására a motor vagy motorcsoport mozgása alapján.

  • true — A motor vagy motorcsoport forog.

  • false — A motor vagy motorcsoport nem forog.

Ez a függvény együtt működik a Motion mozgásfüggvényekkel, mint például a spin, spinFor és spinToPosition.

Available Functions
bool isSpinning();

Parameters

Ez a függvény nem fogad el paramétereket.

Return Values

Logikai értékként adja vissza, hogy a motor vagy a motorcsoport forog-e.

  • 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#

Egy motor vagy motorcsoport pozíciója azt jelzi, hogy milyen messzire fordult el, degrees vagy turnsmérve. Egy fordulat 360 foknak felel meg. position a motor vagy motorcsoport aktuális pozícióját adja vissza.

Egy projekt elején a motor vagy motorcsoport pozíciója 0 fokra van állítva. Ha a motor vagy motorcsoport egy fordulatot előre forog, a pozíció 360 fok vagy 1 fordulat lesz. Ha a motor vagy motorcsoport az ellenkező irányba forog, a pozíció negatív lesz.

Available Functions
double position(
  rotationUnits units );

Parameters

Paraméter

Típus

Leírás

units

rotationUnits

A motor vagy motorcsoport pozícióját visszaadó egység:

  • deg / degrees — fok
  • turns / rev — fordulatszám

Return Values

Egy double értéket ad vissza, amely a motor vagy motorcsoport aktuális pozícióját jelöli a megadott mértékegységben.

Notes
  • A setPosition függvény meghívása megváltoztatja az értékhez tartozó referenciapontot.

  • A visszaadott érték a jeladó aktuális értékét tükrözi, és nem jelzi, hogy a motor vagy a motorcsoport aktívan mozog-e.

  • Amikor egy motor_groupparaméterrel hívjuk meg, ez a függvény visszaadja a csoportban lévő első motor pozícióját.

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 visszaadja, hogy milyen gyorsan forog a motor vagy motorcsoport.

A pozitív érték azt jelenti, hogy a motor vagy motorcsoport előre forog. A negatív érték azt jelenti, hogy hátrafelé forog.

Available Functions
double velocity(
    velocityUnits units );

Parameters

Paraméter

Típus

Leírás

units

velocityUnits

A sebesség ábrázolására használt mértékegység:

  • percent / pct — százalék
  • rpm — fordulatszám percenként
  • dps — fok másodpercenként

Return Values

double értéket ad vissza, amely a motor vagy motorcsoport forgási sebességét jelöli a megadott egységekben.

Megjegyzések

  • Amikor egy motor_groupértéken hívjuk meg, ez a függvény a csoportban lévő első motor sebességét adja vissza.

current#

current visszaadja, hogy mennyi elektromos áramot fogyaszt a motor vagy motorcsoport. Az áram a motoron vagy motorcsoporton átfolyó elektromos áram mennyisége. Amperben visszaadva az áram 0,0 és 1,2 A között van.

A magasabb áramérték azt jelenti, hogy a motor vagy motorcsoport több elektromos áramot fogyaszt. Ez akkor fordulhat elő, ha a motor vagy motorcsoport valami nehéz tárgyat emel, nekinyomódik egy tárgynak, vagy beragadt állapotban próbál elmozdulni.

Ez felhasználható annak ellenőrzésére, hogy a motor vagy motorcsoport mozgás közben nehézségekbe ütközik-e. Ha az áram magas marad, a motor felmelegedhet, vagy kevésbé hatékonyan használhatja fel az energiát.

Available Functions

1 — Visszaadja a motor vagy motorcsoport elektromos áramát amperben.

double current(
  currentUnits units = amp );

2 — Visszaadja a motor vagy motorcsoport elektromos áramát a maximális névleges áram százalékában.

double current(
  percentUnits units );

Parameters

Paraméter

Típus

Leírás

units

currentUnits

Az áramerősség ábrázolására használt mértékegység:amp (alapértelmezett) — amper

units

percentUnits

Az áramot a motor maximális névleges áramának százalékában adja meg:percent / pct — százalék

Return Values

double értéket ad vissza, amely a motor vagy motorcsoport által felvett elektromos áram mennyiségét jelöli a megadott mértékegységben.

Megjegyzések

  • Amikor egy motor_groupértékkel hívjuk meg, ez a függvény visszaadja a csoportban lévő összes motor teljes elektromos áramát.

power#

power Visszaadja, hogy mennyi energiát fogyaszt a motor vagy motorcsoport wattban. A Power megmutatja, hogy a motor vagy motorcsoport milyen gyorsan fogyasztja az energiát.

A magasabb teljesítményérték azt jelenti, hogy a motor vagy motorcsoport gyorsabban használja az energiát. Ez akkor fordulhat elő, ha a motor vagy motorcsoport valami nehéz tárgyat emel, nekinyomódik egy tárgynak, vagy elakadt állapotban próbál mozdulni.

Ez felhasználható a mozgások összehasonlítására, vagy annak ellenőrzésére, hogy a motor vagy a motorcsoport hibás-e. Ha a teljesítmény magas marad, a motor felmelegedhet, vagy kevésbé hatékonyan használhatja fel az energiát.

Available Functions
double power(
  powerUnits units = watt );

Paraméterek

Paraméter

Típus

Leírás

units

powerUnits

A motor teljesítményének ábrázolására használt mértékegység:

  • watt (alapértelmezett) — watt

Visszatérési értékek

double értéket ad vissza, amely a motor vagy motorcsoport által felhasznált teljesítményt wattban adja meg.

Megjegyzések

  • Amikor egy motor_groupparaméterrel hívjuk meg, ez a függvény a csoport első motorjának elektromos teljesítményét adja vissza.

torque#

A nyomaték megmutatja, hogy egy motor vagy motorcsoport milyen erősen csavarodik, nyom vagy húz forgás közben.

torque visszaadja, hogy mennyi nyomatékot használ a motor vagy motorcsoport.

A magasabb nyomatékérték azt jelenti, hogy a motor vagy motorcsoport erősebben nyom vagy húz. Ez akkor fordulhat elő, ha a motor vagy motorcsoport valami nehéz tárgyat emel, nekinyomódik egy tárgynak, vagy beragadt állapotban próbál mozdulni.

Ez felhasználható annak ellenőrzésére, hogy a motor vagy a motoros csoport küzd-e nehézségekkel, vagy annak összehasonlítására, hogy mennyi lökést igényelnek a különböző mozgások.

Egy motor vagy motorcsoport nyomatékának beállításához használja a setMaxTorque parancsot.

Available Functions
double torque(
  torqueUnits units = Nm );

Paraméterek

Paraméter

Típus

Leírás

units

torqueUnits

A motor nyomatékának ábrázolására használt mértékegység:

  • Nm (alapértelmezett) — newtonméter
  • InLb — hüvelyk-font

Visszatérési értékek

double értéket ad vissza, amely azt jelöli, hogy a motor vagy motorcsoport mennyi nyomatékot használ a megadott mértékegységben.

Megjegyzések

  • Amikor egy motor_groupcsoporton hívjuk meg, ez a függvény a csoportban lévő első motor mechanikai kimeneti nyomatékát adja vissza.

efficiency#

efficiency Visszaadja, hogy a motor vagy motorcsoport mennyire hatékonyan használja fel az energiát, 0% és 100% közötti százalékban.

A hatásfok megmutatja, hogy a motor vagy motorcsoport teljesítményének mekkora részét használják fel mozgásra. A magasabb hatásfok azt jelenti, hogy a motor vagy motorcsoport teljesítményének nagyobb részét használják fel mozgásra. Alacsonyabb hatásfok akkor fordulhat elő, ha a motor vagy motorcsoport keményen dolgozik, de nem mozog sokat, például amikor beragadt vagy egy tárgynak nyomódik.

Ez felhasználható mozgások összehasonlítására, vagy annak ellenőrzésére, hogy a motor vagy motorcsoport pazarolja-e az energiát a mozgásra való felhasználás helyett.

Available Functions
double efficiency(
  percentUnits units = percent );

Paraméterek

Paraméter

Típus

Leírás

units

percentUnits

A motor hatásfokának ábrázolására használt mértékegység:

  • percent / percentUnits::pct (alapértelmezett) — százalék

Visszatérési értékek

double értéket ad vissza, amely azt jelzi, hogy a motor vagy motorcsoport mennyire hatékonyan használja fel az energiát százalékban.

Megjegyzések

  • Amikor egy motor_groupértékre hívjuk meg, ez a függvény a csoportban lévő első motor hatásfokát adja vissza.

temperature#

temperature A motor vagy motorcsoport hőmérsékletét adja vissza.

A motor hőmérséklete megmutatja, mennyire meleg a motor vagy a motorcsoport. A magasabb hőmérséklet azt jelenti, hogy a motor vagy a motorcsoport működés közben melegszik. A motor hőmérsékletének 55°C alatt kell maradnia ahhoz, hogy teljes teljesítményen működjön.

Ha a motor vagy motorcsoport túlmelegszik, csökkenti a maximális áramát önmaga védelme érdekében. 70°Con a motor leáll, amíg le nem hűl.

Ez felhasználható annak ellenőrzésére, hogy a motor vagy a motorcsoport túlmelegszik-e ismételt mozgások, hosszú futások vagy tárgynak való nyomás során.

Available Functions

1 — Visszaadja a motor vagy motorcsoport hőmérsékletét a maximális üzemi hőmérséklet százalékában.

double temperature(
  percentUnits units = percent );

2 — Visszaadja a motor vagy motorcsoport hőmérsékletét fizikai hőmérsékleti egységben.

double temperature(
  temperatureUnits units );

Paraméterek

Paraméter

Típus

Leírás

units

percentUnits

A motor vagy motorcsoport hőmérsékletének százalékos ábrázolására használt mértékegység:

  • percent / percentUnits::pct (alapértelmezett) — százalék

units

temperatureUnits

A motor vagy motorcsoport hőmérsékletének fokban kifejezett mértékegysége:

  • celsius — Celsius fok
  • fahrenheit — Fahrenheit fok

Visszatérési értékek

Egy double értéket ad vissza, amely a motor vagy motorcsoport hőmérsékletét jelöli a megadott mértékegységben.

Megjegyzések

  • The operating temperature range for the motor is approximately 20°C (68°F) to 70°C (158°F).

  • Amikor egy motor_groupértékkel hívjuk meg, ez a függvény a csoport első motorjának hőmérsékletét adja vissza.

voltage#

A voltage visszaadja a motornak vagy motorcsoportnak adott elektromos feszültséget.

Available Functions
double voltage(
  voltageUnits units = volt );

Paraméterek

Paraméter

Típus

Leírás

units

voltageUnits

A feszültséget ábrázoló mértékegység:

  • volt (alapértelmezett)
  • voltageUnits::mV — millivolt

Visszatérési értékek

Egy double értéket ad vissza, amely a motornak vagy motorcsoportnak adott elektromos feszültséget jelöli a megadott mértékegységben.

Megjegyzések

  • Amikor egy motor_groupértéken hívjuk meg, ez a függvény visszaadja a csoportban lévő első motor elektromos feszültségét.

direction#

direction visszaadja a motor vagy motorcsoport forgási irányát.

Available Functions
directionType direction();

Paraméterek

Ez a függvény nem fogad el paramétereket.

Visszatérési értékek

directionType értéket ad vissza, amely a motor vagy motorcsoport aktuális irányát jelzi:

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

installed#

installed visszaadja, hogy a motor vagy a motorcsoport csatlakozik-e az IQ (1. generációs) agyhoz.

Available Functions
bool installed();

Paraméterek

Ez a függvény nem fogad el paramétereket.

Visszatérési értékek

bool értéket ad vissza, amely jelzi, hogy a motor vagy a motorcsoport van-e csatlakoztatva.

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

count#

count visszaadja a motorcsoportban lévő motorok számát.

Available Functions
int32_t count();

Paraméterek

Ez a függvény nem fogad el paramétereket.

Visszatérési értékek

Egy int32_t értéket ad vissza, amely a motorcsoportban lévő motorok számát jelöli.