Motors un motoru grupa#

Ievads#

Motori un motoru grupas kontrolē robota daļu kustību. Objekts motor kontrolē vienu konfigurētu IQ Smart motoru, savukārt objekts “ motor_group kontrolē vairākus konfigurētus IQ Smart motorus kopā, lai tie pārvietotos tandēmā. Motorus un motoru grupas var izmantot, lai paceltu roku, pagrieztu spīli, pagrieztu riteni vai pārvietotu citu konstrukcijas daļu. Divi motori var darboties kopā kā piedziņas ķēde, lai pārvietotu un pagrieztu visu robotu.

Katrs motors vai motoru grupa ir konfigurēta logā “Ierīces”. Atkarībā no konstrukcijas motoru un motoru grupu nosaukumi var mainīties. Šajā lapā kā nosaukumu piemēri tiek izmantoti Motor1 un MotorGroup1 Ja nepieciešams, aizstājiet tos ar saviem konfigurētajiem nosaukumiem.

VEX IQ (2. paaudzes) motors, kura virziens uz priekšu ir norādīts ar pluszīmi un bultiņu, kas norāda, ka tas griežas pa kreisi jeb pretēji pulksteņrādītāja virzienam. VEX IQ (2. paaudzes) motors, kura griešanās virzienu norāda mīnusa zīme un bultiņa, kas norāda, ka tas griežas pa labi jeb pulksteņrādītāja virzienā.

Pēc noklusējuma forward griež motoru pretēji pulksteņrādītāja virzienam, un reverse griež motoru pulksteņrādītāja virzienā. Ja motors ir iestatīts atpakaļgaitā, šie virzieni tiks apmainīti.

Motors#

Class Constructors#

1 — Izveido motor objektu IQ Smart Motor, kas pievienots norādītajam Smart Port. Motors automātiski izmanto noteikto iekšējo gearSetting.

motor(
  int32_t index );

2 — Izveido motor objektu norādītajā viedajā portā un pēc izvēles maina tā virzienu. Motors automātiski izmanto noteikto iekšējo gearSetting.

motor(
 int32_t index,
 bool    reverse );

3 — Izveido motor objektu norādītajā viedajā portā ar norādīto gearSetting.

motor(
 int32_t     index,
 gearSetting gears );

4 — Izveido motor objektu norādītajā viedajā portā ar norādīto gearSetting un pēc izvēles apgriezto virzienu.

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

Class Destructor#

Iznīcina motor objektu un atbrīvo saistītos resursus.

~motor();

Parameters#

Parametrs

Tips

Apraksts

index

int32_t

Viedports, kuram ir pievienots motors, kas pierakstīts kā PORTx, kur x ir porta numurs (piemēram, PORT1).

reverse

bool

Nosaka, vai motora griešanās virziens ir pretējs:

  • false (pēc noklusējuma) — Nemaina motora griešanās virzienu.
  • true — Maina motora virzienu.

gears

gearSetting

Norāda iekšējo zobratu kasetnes pārnesumskaitli.

  • ratio1_1 — A 1:1 pārnesumskaitlis
  • ratio2_1 — A 2:1 pārnesumskaitlis
  • ratio3_1 — A 3:1 pārnesumskaitlis

Notes#

  • Pārnesumu iestatījumam ir jāatbilst motorā uzstādītajai fiziskajai kārtridžai.

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

Motoru grupa#

Class Constructors#

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

Class Destructor#

Iznīcina objektu motor_group un atbrīvo ar to saistītos resursus.

~motor_group();

Parameters#

Parametrs

Tips

Apraksts

m1

motor &

Pirmais motors tika pievienots grupai.

m2

motor &

Grupai pievienoti papildu motori. Vienā motoru grupā var būt ne vairāk kā četri motori.

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

Dalībnieku funkcijas#

Motorus un motoru grupas var kodēt dažādos veidos. Zemāk ir saraksts ar visām motor un motor_group dalībnieku funkcijām:

Darbības — Apturēt un pagriezt motorus un motoru grupas.

  • spin — Griež motoru vai motoru grupu uz priekšu vai atpakaļ uz visiem laikiem.

  • spinFor — Griež motoru vai motoru grupu noteiktu attālumu vai laika periodu.

  • spinToPosition — Pagriež motoru vai motoru grupu uz noteiktu pozīciju.

  • stop — Aptur motora vai motoru grupas griešanos.

Mutatori — pielāgojiet motoru un motoru grupu iestatījumus.

  • setVelocity — Norāda motoram vai motoru grupai, cik ātri griezties.

  • setMaxTorque — Iestata, cik stipri motors vai motoru grupa drīkst spiest griešanās laikā.

  • setPosition — Maina motora vai motoru grupas pašreizējo pozīciju uz jaunu vērtību.

  • setStopping — Iestata, kā motors vai motoru grupa apturēs kustību: bremzējot, braucot brīvgaitā vai turot.

  • setTimeout — Iestata, cik daudz laika motors vai motoru grupa mēģinās pabeigt kustību.

Getteri — Pārbaudiet motora un motoru grupas statusu.

  • isDone — Atgriež, vai motora vai motoru grupas kustība ir pabeigta, kā Būla vērtību.

  • isSpinning — Atgriež, vai griežas motors vai motoru grupa, kā Būla vērtību.

  • position — Atgriež motora vai motoru grupas pašreizējo pozīciju.

  • velocity — Atgriež motora vai motoru grupas griešanās ātrumu.

  • current — Atgriež motora vai motoru grupas patērēto elektriskās strāvas daudzumu.

  • power — Atgriež motora vai motoru grupas patērēto jaudu.

  • torque — Atgriež motora vai motoru grupas izmantoto griezes momentu.

  • efficiency — Atgriež, cik efektīvi motors vai motoru grupa izmanto jaudu.

  • temperature — Atgriež motora vai motoru grupas temperatūru.

  • voltage — Atgriež motoram vai motoru grupai piegādāto elektrisko spriegumu.

  • direction — Atgriež motora vai motoru grupas griešanās virzienu.

  • installed — Atgriež, vai motors vai motoru grupa ir savienota ar smadzenēm.

  • count — Atgriež motoru skaitu motoru grupā.

Pirms jebkuru motor vai motor_group dalībfunkciju izsaukšanas ir jāizveido instance, kā parādīts zemāk:

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

Darbības#

spin#

spin griež motoru vai motoru grupu uz priekšu vai atpakaļ uz visiem laikiem. Motors vai motoru grupa turpinās griezties, līdz tam tiks dota cita darbība, piemēram, griešanās citā virzienā vai apstāšanās.

Available Functions

1 — Griež motoru vai motoru grupu, izmantojot pašlaik konfigurēto motora ātrumu.

void spin(
 directionType dir );

2 — Griež motoru vai motoru grupu ar norādīto ātrumu.

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

3 — Griež motoru vai motoru grupu, izmantojot norādīto spriegumu.

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

Parameters

Parametrs

Tips

Apraksts

dir

directionType

Motora vai motoru grupas griešanās virziens: forward vai reverse.

velocity

double

Griešanās ātrums no 0% līdz 100%, izmantojot percent.

units

velocityUnits

Ātruma attēlošanai izmantotā mērvienība:

  • percent / pct — procenti
  • rpm — apgriezieni minūtē
  • dps — grādi sekundē

voltage

double

Spriegums, ar kuru griezties. Negatīva vērtība griežas pretēji dotajam dir.

units

voltageUnits

Sprieguma attēlošanai izmantotā mērvienība:

  • volt — volti
  • voltageUnits::mV — milivolti

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Šī funkcija negaida, un projekta izpilde turpināsies tūlīt pēc izsaukuma.

  • Motors vai motoru grupa turpinās griezties, līdz tiks izsaukta stop vai izpildīta cita kustības funkcija.

  • Tādas funkcijas kā isDone un isSpinning nav piemērojamas funkcijai spin, jo tā neizmanto uz mērķi balstītu kustību (tai nav parametra [rotation rotation vai time].

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

spinFor#

spinFor griež motoru vai motoru grupu noteiktu attālumu vai laika periodu. Uz rotāciju balstīta griešanās ir relatīva attiecībā pret motora vai motoru grupas pašreizējo pozīciju. Pēc noklusējuma projekts gaidīs, līdz motors vai motoru grupa ir pabeigusi griešanos, pirms tiks palaista nākamā koda rinda.

Available Functions

1 — Griežas noteiktu attālumu ar ātrumu, kas norādīts funkcijas izsaukumā.

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

2 — Pieņem virziena parametru un griežas noteiktu attālumu ar ātrumu, kas norādīts funkcijas izsaukumā.

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

3 — Griežas noteiktu attālumu, izmantojot pašreiz konfigurēto motora ātrumu.

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

4 — Pieņem virziena parametru un griežas noteiktu attālumu, izmantojot pašreiz konfigurēto motora ātrumu.

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

5 — Griežas noteiktu laiku ar ātrumu, kas norādīts funkcijas izsaukumā.

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

6 — Pieņem virziena parametru un griežas noteiktu laiku ar funkcijas izsaukumā norādīto ātrumu.

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

7 — Griežas noteiktu laiku, izmantojot pašreiz konfigurēto motora ātrumu.

bool spinFor(
 double    time,
 timeUnits units );

8 — Pieņem virziena parametru un griežas noteiktu laiku, izmantojot pašreiz konfigurēto motora ātrumu.

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

Parameters

Parametrs

Tips

Apraksts

dir

directionType

Motora vai motoru grupas griešanās virziens: forward vai reverse.

rotation

double

Attālums, kādā griežas motors vai motoru grupa.

units

rotationUnits

The rotation unit:

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

time

double

Laiks, cik ilgi griežas motors vai motoru grupa.

units

timeUnits

Laika mērvienība:

  • seconds / sec — sekundes
  • msec — milisekundes

velocity

double

Griešanās ātrums no 0% līdz 100%, izmantojot percent.

units_v

velocityUnits

The unit used to represent velocity:

  • percent / pct — percent
  • rpm — rotations per minute
  • dps — degrees per second

waitForCompletion

bool

​

  • true (noklusējums) — Liek projektam gaidīt, līdz motors vai motoru grupa ir beigusi griezties, pirms tiek palaista nākamā koda rinda.
  • false — Liek nekavējoties palaist nākamo koda rindu.

Return Values

Atgriež Būla vērtību, kas parāda, vai motors vai motoru grupa sasniedza mērķa vērtību.

  • 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
  • Izpildot citu motora kustības funkciju (piemēram, spin vai stop), kamēr notiek spinFor pašreizējā kustība tiks pārtraukta.

  • Tā kā spinFor ir uz mērķi balstīta (izmanto rotation vai time parametru), tādas funkcijas kā isDone un isSpinning darbojas ar 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 griež motoru vai motoru grupu uz noteiktu pozīciju.

Motora vai motoru grupas pozīcija ir tas, cik tālu tas ir pagriezies, mērot degrees vai turnsViens apgrieziens ir vienāds ar 360 grādiem. Projekta sākumā motora vai motoru grupas pozīcija ir iestatīta uz 0 grādiem. Motora vai motoru grupas pozīciju var iestatīt arī, izmantojot funkciju setPosition.

Pozīcijas vērtības ir absolūtas. Tas nozīmē, ka griešanās virziens ir atkarīgs no motora vai motoru grupas pašreizējās pozīcijas.

Piemēram, ja motors vai motoru grupa sāk griezties pie 0 grādiem un griežas līdz 720 grādu pozīcijai, tas griezīsies divus apgriezienus uz priekšu. Ja tas pēc tam griežas līdz 360 grādu pozīcijai, tas griezīsies atpakaļ par vienu apgriezienu, jo 360 grādi ir mazāki par 720 grādiem.

Available Functions

1 — Griežas uz noteiktu pozīciju ar funkcijas izsaukumā norādīto ātrumu.

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

2 — Griežas uz noteiktu pozīciju, izmantojot pašreiz konfigurēto motora ātrumu.

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

Parameters

Parametrs

Tips

Apraksts

rotation

double

Pozīcijas vērtība, līdz kurai griezīsies motors vai motoru grupa.

units

rotationUnits

The rotation unit:

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

velocity

double

Griešanās ātrums no 0% līdz 100%, izmantojot percent.

units_v

velocityUnits

Mērvienība, ko izmanto, lai attēlotu velocity:

  • pct — procenti
  • rpm — apgriezieni minūtē
  • dps — grādi sekundē

waitForCompletion

bool

​

  • true (noklusējums) — Liek projektam gaidīt, līdz motors vai motoru grupa ir beigusi griezties, pirms tiek palaista nākamā koda rinda.
  • false — Liek nekavējoties palaist nākamo koda rindu.

Return Values

Atgriež Būla vērtību, kas parāda, vai motors vai motoru grupa uzsāka pieprasīto uz mērķi balstīto kustību.

  • true — The motor or motor group begins the requested target-based movement.
  • false — The call fails or waitForCompletion is set to false.
Notes
  • Izpildot citu motora kustības funkciju (piemēram, spin vai spinFor), kamēr notiek spinToPosition , pašreizējā kustība tiks pārtraukta.

  • Tā kā spinToPosition ir uz mērķi balstīta (izmanto rotation parametru), tādas funkcijas kā isDone un isSpinning darbojas ar spinToPosition.

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

stop#

stop aptur motora vai motoru grupas griešanos.

Available Functions

1 — Aptur motoru vai motoru grupu, izmantojot pašreiz konfigurēto bremzēšanas režīmu.

void stop();

2 — Aptur motoru vai motoru grupu, izmantojot funkcijas izsaukumā norādīto bremzēšanas režīmu.

void stop(
  brakeType mode );

Parameters

Parametrs

Tips

Apraksts

mode

brakeType

Pēc izvēles. Kā motors vai motoru grupa apstāsies:

  • coast — Palēnina ātrumu līdz apstājas.
  • brake — Apstājas nekavējoties.
  • hold — Apstājas nekavējoties un notur motora vai motoru grupas pozīciju.

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Izsaucot komandu stop , jebkura pašreizējā motora vai motoru grupas kustība tiek nekavējoties apturēta.

  • Ja bremzēšanas režīms nav norādīts, motors vai motoru grupa izmanto pašreiz konfigurēto bremzēšanas režīmu.

  • stop pārtrauc jebkuru aktīvu, uz mērķi balstītu kustību (piemēram, spinFor vai spinToPosition).

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

Mutatori#

setVelocity#

setVelocity norāda motoram vai motoru grupai, cik ātri griezties. Augstāka procentuālā vērtība liek motoram vai motoru grupai griezties ātrāk, bet zemāka procentuālā vērtība liek motoram vai motoru grupai griezties lēnāk.

Katrs projekts sākas ar to, ka katrs motors vai motoru grupa pēc noklusējuma griežas ar 50% ātrumu.

Piezīme: Lielāks ātrums liek motoram vai motoru grupai griezties ātrāk, bet tas var būt mazāk precīzs. Mazāks ātrums liek motoram vai motoru grupai griezties lēnāk, bet tas var būt precīzāks.

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

Parameters

Parametrs

Tips

Apraksts

velocity

double

Griešanās ātrums no 0% līdz 100%, izmantojot percent.

units

velocityUnits

The unit used to represent velocity:

  • percent / pct — percent
  • rpm — rotations per minute
  • dps — degrees per second

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Jebkura sekojoša motora kustības funkcija (piemēram, spin, spinFor vai spinToPosition), kas tieši nenorāda ātrumu, izmantos šo vērtību.

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#

Griezes moments parāda, cik stipri motors vai motoru grupa var stumt vai vilkt, kamēr tā griežas.

setMaxTorque iestata maksimālo griezes momentu, ko motors vai motoru grupa drīkst izmantot.

Augstāka procentuālā vērtība ļauj motoram vai motoru grupai spiest spēcīgāk, piemēram, paceļot smagu priekšmetu. Zemāka procentuālā vērtība ierobežo, cik spēcīgi motors vai motoru grupa var spiest. Tas var palīdzēt aizsargāt robotu, ja motors vai motoru grupa iesprūst vai sasniedz kustības robežas.

Katrs projekts sākas ar katra motora vai motoru grupas griezes momentu pēc noklusējuma 50% apmērā.

Available Functions

1 — Iestata maksimālo griezes momentu procentos no motora vai motoru grupas nominālā griezes momenta.

void setMaxTorque(
 double       value,
 percentUnits units );

2 — Iestata maksimālo griezes momentu, izmantojot fiziskās griezes momenta mērvienības.

void setMaxTorque(
 double      value,
 torqueUnits units );

3 — Iestata maksimālo griezes momentu, ierobežojot motora strāvu.

void setMaxTorque(
 double       value,
 currentUnits units );

Parameters

Parametrs

Tips

Apraksts

value

double

Maksimālais griezes moments, ko motors vai motoru grupa var izmantot.

units

percentUnits

Norāda griezes momentu procentos: percent pct — procenti

units

torqueUnits

Norāda griezes momentu fizikālās mērvienībās, piemēram:

  • Nm — ņūtonmetri
  • InLb — collas-mārciņas

units

currentUnits

Nosaka griezes momentu, ierobežojot motora strāvu:

  • amp

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Izmantojot currentUnits, griezes moments tiek ierobežots, ierobežojot to, cik daudz elektriskās strāvas motors vai motoru grupa var izmantot.

setPosition#

Motora vai motoru grupas pozīcija norāda, cik tālu tas ir pagriezies, mērot degrees vai turnsViens apgrieziens ir vienāds ar 360 grādiem. setPosition maina motora vai motoru grupas pašreizējo pozīciju uz jaunu vērtību.

Piemēram, ja motors vai motoru grupa ir pagriezusies līdz 180 grādiem, pozīcijas iestatīšana uz 0 grādiem atiestatīs šo pozīciju no 180 uz 0 grādiem. Pēc tam motors vai motoru grupa var griezties pozīcijās, pamatojoties uz šo jauno vērtību.

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

Parameters

Parametrs

Tips

Apraksts

value

double

Pozīcijas vērtība, kas jāiestata motoram vai motoru grupai.

units

rotationUnits

The position unit:

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

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Pēc setPositionizsaukšanas, turpmākajos spinToPosition izsaukumos atjauninātā pozīcija tiks izmantota kā atsauce.

setStopping#

setStopping nosaka, kā motors vai motoru grupa apturēs kustību: bremzējot, braucot brīvgaitā vai turot.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Parametrs

Tips

Apraksts

mode

brakeType

Kā motors vai motoru grupa apstāsies:

  • brake — Apstājas nekavējoties.
  • coast — Palēnina griešanos līdz apstāšanai.
  • hold — Apstājas nekavējoties un notur motora vai motoru grupas pozīciju.

Return Values

Šī funkcija neatgriež vērtību.

Notes
  • Jebkurš turpmākais stop izsaukums bez norādīta bremzēšanas režīma izmantos šo vērtību.

setTimeout#

setTimeout nosaka, cik ilgi motors vai motoru grupa mēģinās pabeigt kustību. Ja motors vai motoru grupa nevar pabeigt šajā laikā, tā pārtrauks mēģinājumu un pāries uz nākamo koda rindiņu. Tas neļauj motoram vai motoru grupai iestrēgt kustībā.

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

Parameters

Parametrs

Tips

Apraksts

time

int32_t

Laiks, kurā motors vai motoru grupa var mēģināt pabeigt kustību. Tam jābūt pozitīvam veselam skaitlim.

units

timeUnits

Laika mērvienība:

  • msec — milisekundes
  • seconds / sec — sekundes

Atgriešanas vērtības

Šī funkcija neatgriež vērtību.

Notes
  • Motora vai motoru grupas taimauts tiek izmantots, lai kustības, kas nesasniedz mērķa pozīciju, neapturētu citu komandu izpildi kaudzē.

  • Ja motors vai motoru grupa nesasniedz mērķa pozīciju pirms taimauta termiņa beigām, tas pārtrauks mēģinājumu un pāries uz nākamo koda rindu.

  • Taimauts attiecas uz funkcijām, kurām ir mērķa vērtība, piemēram, spinFor un spinToPosition.

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

Getteri#

isDone#

isDone atgriež, vai motors vai motoru grupa ir pabeigusi kustību, kā Būla vērtību. To var izmantot, lai kontrolētu citu darbību laiku, pamatojoties uz motora vai motoru grupas kustību.

  • true — Motors vai motoru grupa ir pabeigusi kustību.

  • false — Motors vai motoru grupa joprojām kustas.

Šī funkcija darbojas kopā ar šādām Motion funkcijām, kurām ir parametrs waitForCompletion : spinFor un spinToPosition.

Available Functions
bool isDone();

Parameters

Šī funkcija nepieņem nekādus parametrus.

Return Values

Atgriež, vai motora vai motoru grupas kustība ir pabeigta, kā Būla vērtību.

  • true — The motor or motor group is finished moving.
  • false — The motor or motor group is still moving.
Notes
  • isDone darbojas kopā ar šādām Motion funkcijām, kurām ir parametrs waitForCompletion : spinFor un 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 atgriež, vai griežas motors vai motoru grupa, kā Būla vērtību. To var izmantot, lai kontrolētu citu darbību laiku, pamatojoties uz motora vai motoru grupas kustību.

  • true — Motors vai motoru grupa griežas.

  • false — Motors vai motoru grupa negriežas.

Šī funkcija darbojas kopā ar Motion kustības funkcijām, piemēram, spin, spinFor un spinToPosition.

Available Functions
bool isSpinning();

Parameters

Šī funkcija nepieņem nekādus parametrus.

Return Values

Atgriež, vai griežas motors vai motoru grupa, kā Būla vērtību.

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

Motora vai motoru grupas pozīcija norāda, cik tālu tas ir pagriezies, mērot degrees vai turnsViens apgrieziens ir vienāds ar 360 grādiem. position atgriež motora vai motoru grupas pašreizējo pozīciju.

Projekta sākumā motora vai motoru grupas pozīcija ir iestatīta uz 0 grādiem. Ja motors vai motoru grupa griežas vienu apgriezienu uz priekšu, pozīcija būs 360 grādi jeb 1 apgrieziens. Ja motors vai motoru grupa griežas pretējā virzienā, pozīcija būs negatīva.

Available Functions
double position(
  rotationUnits units );

Parameters

Parametrs

Tips

Apraksts

units

rotationUnits

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

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

Return Values

Atgriež skaitli double kas apzīmē motora vai motoru grupas pašreizējo pozīciju norādītajās mērvienībās.

Notes
  • Izsaucot setPosition, tiek mainīts šīs vērtības atskaites punkts.

  • Atgrieztā vērtība atspoguļo pašreizējo kodētāja rādījumu un nenorāda, vai motors vai motoru grupa aktīvi kustas.

  • Izsaucot šo funkciju ar vērtību motor_group, tā atgriež pirmā motora pozīciju grupā.

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 atgriež motora vai motoru grupas griešanās ātrumu.

Pozitīva vērtība nozīmē, ka motors vai motoru grupa griežas uz priekšu. Negatīva vērtība nozīmē, ka tā griežas atpakaļgaitā.

Available Functions
double velocity(
    velocityUnits units );

Parameters

Parametrs

Tips

Apraksts

units

velocityUnits

Ātruma attēlošanai izmantotā mērvienība:

  • percent / pct — procenti
  • rpm — apgriezieni minūtē
  • dps — grādi sekundē

Return Values

Atgriež skaitli double un kas apzīmē motora vai motoru grupas griešanās ātrumu norādītajās vienībās.

Piezīmes

  • Izsaucot funkciju ar vērtību motor_group, tā atgriež pirmā motora ātrumu grupā.

current#

current atgriež, cik daudz elektriskās strāvas motors vai motoru grupa patērē. Strāva ir elektrības daudzums, kas plūst caur motoru vai motoru grupu. Atgriežot ampēros, strāva tiek norādīta no 0,0 līdz 1,2 A.

Augstāka strāvas vērtība nozīmē, ka motors vai motoru grupa patērē lielāku elektrisko strāvu. Tas var notikt, ja motors vai motoru grupa ceļ kaut ko smagu, spiežas pret priekšmetu vai mēģina kustēties, kad ir iestrēdzis.

To var izmantot, lai pārbaudītu, vai motoram vai motoru grupai ir grūtības kustības laikā. Ja strāva saglabājas augsta, motors var sakarst vai mazāk efektīvi izmantot jaudu.

Available Functions

1 — Atgriež motora vai motoru grupas elektrisko strāvu ampēros.

double current(
  currentUnits units = amp );

2 — Atgriež motora vai motoru grupas elektrisko strāvu procentos no maksimālās nominālās strāvas.

double current(
  percentUnits units );

Parameters

Parametrs

Tips

Apraksts

units

currentUnits

Strāvas attēlošanai izmantotā mērvienība:amp (pēc noklusējuma) — ampēri

units

percentUnits

Attēlo strāvu procentos no motora maksimālās nominālās strāvas:percent procenti pct procenti

Return Values

Atgriež skaitli double kas apzīmē motora vai motoru grupas patērētās elektriskās strāvas daudzumu norādītajās mērvienībās.

Piezīmes

  • Izsaucot šo funkciju ar vērtību motor_group, tā atgriež visu grupas motoru kopējo elektrisko strāvu.

power#

power atgriež motora vai motoru grupas patērēto jaudu vatos. Jauda parāda, cik ātri motors vai motoru grupa patērē enerģiju.

Augstāka jaudas vērtība nozīmē, ka motors vai motoru grupa patērē enerģiju ātrāk. Tas var notikt, ja motors vai motoru grupa ceļ kaut ko smagu, spiežas pret priekšmetu vai mēģina kustēties, kad ir iestrēdzis.

To var izmantot, lai salīdzinātu kustības vai pārbaudītu, vai motoram vai motoru grupai ir problēmas. Ja jauda saglabājas augsta, motors var sakarst vai mazāk efektīvi izmantot enerģiju.

Available Functions
double power(
  powerUnits units = watt );

Parametri

Parametrs

Tips

Apraksts

units

powerUnits

Motora jaudas attēlošanai izmantotā mērvienība:

  • watt (pēc noklusējuma) — vati

Atgriešanas vērtības

Atgriež skaitli double un norāda motora vai motoru grupas patērētās jaudas daudzumu vatos.

Piezīmes

  • Izsaucot funkciju ar vērtību motor_group, tā atgriež pirmā motora grupā elektrisko jaudu.

torque#

Griezes moments parāda, cik stipri motors vai motoru grupa griežas, stumj vai velk, kamēr tā griežas.

torque atgriež, cik lielu griezes momentu izmanto motors vai motoru grupa.

Augstāka griezes momenta vērtība nozīmē, ka motors vai motoru grupa stumj vai velk spēcīgāk. Tas var notikt, ja motors vai motoru grupa ceļ kaut ko smagu, spiežas pret priekšmetu vai mēģina kustēties, kad ir iestrēdzis.

To var izmantot, lai pārbaudītu, vai motoram vai motoru grupai ir grūtības, vai lai salīdzinātu, cik liels grūdiens nepieciešams dažādām kustībām.

Lai iestatītu motora vai motoru grupas griezes momentu, izmantojiet setMaxTorque.

Available Functions
double torque(
  torqueUnits units = Nm );

Parametri

Parametrs

Tips

Apraksts

units

torqueUnits

Motora griezes momenta attēlošanai izmantotā mērvienība:

  • Nm (pēc noklusējuma) — ņūtonmetri
  • InLb — collas-mārciņas

Atgriešanas vērtības

Atgriež skaitli double un norāda, cik lielu griezes momentu motors vai motoru grupa izmanto norādītajās mērvienībās.

Piezīmes

  • Izsaucot funkciju ar vērtību motor_group, tā atgriež pirmā motora grupā mehānisko izejas griezes momentu.

efficiency#

efficiency atgriež motora vai motoru grupas enerģijas patēriņa efektivitāti procentos no 0% līdz 100%.

Efektivitāte parāda, cik liela daļa motora vai motoru grupas jaudas tiek izmantota kustībai. Augstāka efektivitātes vērtība nozīmē, ka kustībai tiek izmantota lielāka motora vai motoru grupas jauda. Zemāka efektivitātes vērtība var rasties, ja motors vai motoru grupa strādā intensīvi, bet nekustas daudz, piemēram, ja tā ir iestrēgusi vai spiežas pret kādu objektu.

To var izmantot, lai salīdzinātu kustības vai pārbaudītu, vai motors vai motoru grupa tērē enerģiju, nevis izmanto to kustībai.

Available Functions
double efficiency(
  percentUnits units = percent );

Parametri

Parametrs

Tips

Apraksts

units

percentUnits

Motora efektivitātes attēlošanai izmantotā mērvienība:

  • percent / percentUnits::pct (noklusējuma vērtība) — procenti

Atgriešanas vērtības

Atgriež skaitli double un kas procentos norāda, cik efektīvi motors vai motoru grupa izmanto jaudu.

Piezīmes

  • Izsaucot funkciju ar vērtību motor_group, tā atgriež pirmā motora efektivitāti grupā.

temperature#

temperature atgriež motora vai motoru grupas temperatūru.

Motora temperatūra parāda, cik silts ir motors vai motoru grupa. Augstāka temperatūra nozīmē, ka motors vai motoru grupa darbības laikā kļūst siltāka. Lai motors turpinātu darboties ar pilnu jaudu, tā temperatūrai jābūt zem 55°C

Ja motors vai motoru grupa kļūst pārāk karsta, tā samazinās maksimālo strāvu, lai sevi pasargātu. Pie 70°Cmotors pārstās darboties, līdz tas atdziest.

To var izmantot, lai pārbaudītu, vai motors vai motoru grupa nekļūst pārāk karsta atkārtotu kustību, ilgstošu skrējienu laikā vai spiežot pret kādu objektu.

Available Functions

1 — Atgriež motora vai motoru grupas temperatūru procentos no maksimālās darba temperatūras.

double temperature(
  percentUnits units = percent );

2 — Atgriež motora vai motoru grupas temperatūru fiziskās temperatūras mērvienībās.

double temperature(
  temperatureUnits units );

Parametri

Parametrs

Tips

Apraksts

units

percentUnits

Mērvienība, ko izmanto, lai attēlotu motora vai motoru grupas temperatūru procentos:

  • percent percentUnits::pct (pēc noklusējuma) — procenti

units

temperatureUnits

Mērvienība, ko izmanto, lai attēlotu motora vai motoru grupas temperatūru grādos:

  • celsius — pēc Celsija
  • fahrenheit — pēc Fārenheita

Atgriešanas vērtības

Atgriež skaitli double kas apzīmē motora vai motoru grupas temperatūru norādītajās mērvienībās.

Piezīmes

  • Motora darba temperatūras diapazons ir aptuveni 20°C (68°Flīdz 70°C (158°F.

  • Izsaucot funkciju ar vērtību motor_group, tā atgriež pirmā motora temperatūru grupā.

voltage#

voltage atgriež motoram vai motoru grupai piegādāto elektrisko spriegumu.

Available Functions
double voltage(
  voltageUnits units = volt );

Parametri

Parametrs

Tips

Apraksts

units

voltageUnits

Sprieguma attēlošanas mērvienība:

  • volt (pēc noklusējuma)
  • voltageUnits::mV — milivolti

Atgriešanas vērtības

Atgriež skaitli double kas apzīmē motoram vai motoru grupai piegādāto elektrisko spriegumu norādītajās mērvienībās.

Piezīmes

  • Izsaucot funkciju ar vērtību motor_group, tā atgriež pirmā motora grupā elektrisko spriegumu.

direction#

direction atgriež motora vai motoru grupas griešanās virzienu.

Available Functions
directionType direction();

Parametri

Šī funkcija nepieņem nekādus parametrus.

Atgriešanas vērtības

Atgriež directionType , kas norāda motora vai motoru grupas pašreizējo virzienu:

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

installed#

installed atgriež, vai motors vai motoru grupa ir savienota ar IQ (2. paaudzes) smadzenēm.

Available Functions
bool installed();

Parametri

Šī funkcija nepieņem nekādus parametrus.

Atgriešanas vērtības

Atgriež bool kas norāda, vai ir pievienots motors vai motoru grupa.

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

count#

count atgriež motoru skaitu motoru grupā.

Available Functions
int32_t count();

Parametri

Šī funkcija nepieņem nekādus parametrus.

Atgriešanas vērtības

Atgriež int32_t , kas apzīmē motoru skaitu motoru grupā.