Moottori ja moottoriryhmä#

Johdanto#

Moottorit ja moottoriryhmät ohjaavat robotin osien liikkumista. motor -objekti ohjaa yhtä konfiguroitua IQ Smart -moottoria, kun taas motor_group -objekti ohjaa useita konfiguroituja IQ Smart -moottoreita yhdessä, jotta ne liikkuvat tandemissa. Moottoreita ja moottoriryhmiä voidaan käyttää käden nostamiseen, kynnen kääntämiseen, pyörän pyörittämiseen tai jonkin muun rakennelman osan siirtämiseen. Kaksi moottoria voi toimia yhdessä voimansiirrona koko robotin liikuttamiseksi ja kääntämiseksi.

Jokainen moottori tai moottoriryhmä konfiguroidaan Laitteet-ikkunassa. Moottorin ja moottoriryhmän nimet voivat muuttua kokoonpanosta riippuen. Tällä sivulla käytetään esimerkkiniminä Motor1 ja MotorGroup1 Korvaa ne omilla konfiguroiduilla nimilläsi tarvittaessa.

VEX IQ -moottori, jossa eteenpäin suuntautuva suunta on merkitty plusmerkillä ja nuolella, joka osoittaa moottorin pyörivän vasemmalle eli vastapäivään. VEX IQ -moottori, jossa käänteinen suunta on merkitty miinusmerkillä ja nuolella, joka osoittaa pyörivän oikealle eli myötäpäivään.

Oletusarvoisesti forward pyörittää moottoria vastapäivään ja reverse pyörittää moottoria myötäpäivään. Jos moottori on asetettu vaihtamaan pyörimissuuntaa, nämä suunnat vaihtuvat.

Moottori#

Class Constructors#

1 — Luo motor -objektin määritettyyn Smart Port -porttiin kytketylle IQ Smart -moottorille. Moottori käyttää automaattisesti havaittua sisäistä gearSetting.

motor(
  int32_t index );

2 — Luo motor -objektin määritettyyn Smart Port -porttiin ja valinnaisesti vaihtaa sen suunnan päinvastaiseksi. Moottori käyttää automaattisesti havaittua sisäistä gearSetting -asetusta.

motor(
 int32_t index,
 bool    reverse );

3 — Luo motor -objektin määritettyyn Smart Port -porttiin määritetyllä gearSetting -asetuksella.

motor(
 int32_t     index,
 gearSetting gears );

4 — Luo motor -objektin määritettyyn Smart Port -porttiin määritetyllä gearSetting -asetuksella ja valinnaisella käänteisellä suunnalla.

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

Class Destructor#

Tuhoaa motor -objektin ja vapauttaa siihen liittyvät resurssit.

~motor();

Parameters#

Parametri

Tyyppi

Kuvaus

index

int32_t

Älyportti, johon moottori on kytketty, kirjoitetaan muodossa PORTx, jossa x on portin numero (esimerkiksi PORT1).

reverse

bool

Määrittää, käännetäänkö moottorin pyörimissuunta:

  • false (oletus) — Ei käännä moottorin pyörimissuuntaa.
  • true — Kääntää moottorin pyörimissuunnan.

gears

gearSetting

Määrittää sisäisen vaihdelaatikon välityssuhteen.

  • ratio1_1 — A 1:1 välityssuhde
  • ratio2_1 — A 2:1 välityssuhde
  • ratio3_1 — A 3:1 välityssuhde

Notes#

  • Vaihdeasetuksen tulee vastata moottoriin asennettua fyysistä patruunaa.

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

Moottoriryhmä#

Class Constructors#

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

Class Destructor#

Tuhoaa motor_group -objektin ja vapauttaa siihen liittyvät resurssit.

~motor_group();

Parameters#

Parametri

Tyyppi

Kuvaus

m1

motor &

Ensimmäinen moottori lisättiin ryhmään.

m2

motor &

Ryhmään on lisätty lisää moottoreita. Yhdessä moottoriryhmässä on enintään neljä moottoria.

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

Jäsenten toiminnot#

Moottoreita ja moottoriryhmiä voi koodata monella tapaa. Alla on luettelo kaikista motor ja motor_group -jäsenfunktioista:

Toiminnot — Pysäytä ja pyöritä moottoreita ja moottoriryhmiä.

  • spin — Pyörittää moottoria tai moottoriryhmää eteen- tai taaksepäin ikuisesti.

  • spinFor — Pyörittää moottoria tai moottoriryhmää tietyn matkan tai ajan.

  • spinToPosition — Pyörittää moottorin tai moottoriryhmän tiettyyn asentoon.

  • stop — Pysäyttää moottorin tai moottoriryhmän pyörimisen.

Mutaattorit — Säädä moottorin ja moottoriryhmän asetuksia.

  • setVelocity — Kertoo moottorille tai moottoriryhmälle, kuinka nopeasti sen tulisi pyöriä.

  • setMaxTorque — Määrittää, kuinka kovaa moottori tai moottoriryhmä saa työntää pyöriessään.

  • setPosition — Muuttaa moottorin tai moottoriryhmän nykyisen sijainnin uuteen arvoon.

  • setStopping — Määrittää, miten moottori tai moottoriryhmä pysäytetään: jarruttamalla, rullaamalla tai pitämällä.

  • setTimeout — Asettaa, kuinka kauan moottori tai moottoriryhmä yrittää suorittaa liikkeen loppuun.

Getterit — Tarkista moottorin ja moottoriryhmän tila.

  • isDone — Palauttaa totuusarvona tiedon siitä, onko moottorin tai moottoriryhmän liike päättynyt.

  • isSpinning — Palauttaa totuusarvona tiedon siitä, pyöriikö moottori vai moottoriryhmä.

  • position — Palauttaa moottorin tai moottoriryhmän nykyisen sijainnin.

  • velocity — Palauttaa moottorin tai moottoriryhmän pyörimisnopeuden.

  • current — Palauttaa moottorin tai moottoriryhmän käyttämän sähkövirran määrän.

  • power — Palauttaa moottorin tai moottoriryhmän käyttämän tehon.

  • torque — Palauttaa moottorin tai moottoriryhmän käyttämän vääntömomentin.

  • efficiency — Palauttaa moottorin tai moottoriryhmän tehokkuuden.

  • temperature — Palauttaa moottorin tai moottoriryhmän lämpötilan.

  • voltage — Palauttaa moottorille tai moottoriryhmälle syötetyn sähköjännitteen.

  • direction — Palauttaa moottorin tai moottoriryhmän pyörimissuunnan.

  • installed — Palauttaa, onko moottori vai moottoriryhmä kytketty aivoihin.

  • count — Palauttaa moottoriryhmän moottoreiden lukumäärän.

Ennen minkään motor tai motor_group -jäsenfunktion kutsumista on luotava instanssi alla olevan mukaisesti:

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

Toiminnot#

spin#

spin pyörittää moottoria tai moottoriryhmää eteen- tai taaksepäin ikuisesti. Moottori tai moottoriryhmä jatkaa pyörimistä, kunnes sille annetaan toinen toiminto, kuten pyöriminen eri suuntaan tai pysähtyminen.

Available Functions

1 — Pyörittää moottoria tai moottoriryhmää käyttäen nykyistä konfiguroitua moottorin nopeutta.

void spin(
 directionType dir );

2 — Pyörittää moottoria tai moottoriryhmää määritetyllä nopeudella.

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

3 — Pyörittää moottoria tai moottoriryhmää määritetyllä jännitteellä.

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

Parameters

Parametri

Tyyppi

Kuvaus

dir

directionType

Moottorin tai moottoriryhmän pyörimissuunta: forward tai reverse.

velocity

double

Pyörimisnopeus 0 %:sta 100 %:iin, kun käytetään percent.

units

velocityUnits

Nopeuden esittämiseen käytetty yksikkö:

  • percent / pct — prosenttia
  • rpm — kierrosta minuutissa
  • dps — astetta sekunnissa

voltage

double

Pyöritettävä jännite. Negatiivinen arvo pyörii annetun dir.

units

voltageUnits

Jännitteen esittämiseen käytetty yksikkö:

  • volt — volttia
  • voltageUnits::mV — millivoltit

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Tämä funktio ei odota, ja projektin suoritus jatkuu heti kutsun jälkeen.

  • Moottori tai moottoriryhmä jatkaa pyörimistä, kunnes kutsutaan stop tai suoritetaan jokin muu liikefunktio.

  • Funktiot, kuten isDone ja isSpinning, eivät sovellu funktiolle spin, koska se ei käytä kohteeseen perustuvaa liikettä (sillä ei ole rotation tai time -parametria).

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

spinFor#

spinFor pyörittää moottoria tai moottoriryhmää tietyn matkan tai ajan. Pyörimiseen perustuva pyöritys on suhteessa moottorin tai moottoriryhmän nykyiseen sijaintiin. Oletusarvoisesti projekti odottaa, kunnes moottori tai moottoriryhmä on pyörinyt loppuun, ennen kuin seuraava koodirivi suoritetaan.

Available Functions

1 — Pyörii tietyn matkan funktiokutsussa annetulla nopeudella.

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

2 — Hyväksyy suuntaparametrin ja pyörii tietyn matkan funktiokutsussa annetulla nopeudella.

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

3 — Pyörii tietyn matkan käyttäen nykyistä konfiguroitua moottorin nopeutta.

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

4 — Hyväksyy suuntaparametrin ja pyörii tietyn matkan käyttäen nykyistä konfiguroitua moottorin nopeutta.

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

5 — Pyörii tietyn ajan funktiokutsussa annetulla nopeudella.

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

6 — Hyväksyy suuntaparametrin ja pyörii tietyn ajan funktiokutsussa annetulla nopeudella.

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

7 — Pyörii tietyn ajan käyttäen nykyistä konfiguroitua moottorin nopeutta.

bool spinFor(
 double    time,
 timeUnits units );

8 — Hyväksyy suuntaparametrin ja pyörii tietyn ajan käyttäen nykyistä konfiguroitua moottorin nopeutta.

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

Parameters

Parametri

Tyyppi

Kuvaus

dir

directionType

Moottorin tai moottoriryhmän pyörimissuunta: forward tai reverse.

rotation

double

Moottorin tai moottoriryhmän pyörimismatka.

units

rotationUnits

Pyörimisyksikkö:

  • deg / degrees — astetta
  • turns / rev — kierrokset

time

double

Moottorin tai moottoriryhmän pyörimisaika.

units

timeUnits

Aikayksikkö:

  • seconds / sec — sekuntia
  • msec — millisekuntia

velocity

double

Pyörimisnopeus 0 %:sta 100 %:iin, kun käytetään percent.

units_v

velocityUnits

The unit used to represent velocity:

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

waitForCompletion

bool

​

  • true (oletus) — Saa projektin odottamaan, kunnes moottori tai moottoriryhmä on pyörinyt, ennen kuin seuraava koodirivi suoritetaan.
  • false — Saa seuraavan koodirivin suoritettavaksi heti.

Return Values

Palauttaa totuusarvon, joka näyttää, saavuttiko moottori tai moottoriryhmä kohdearvon.

  • 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
  • Toisen moottorin liikefunktion suorittaminen (kuten spin tai stop) funktion spinFor ollessa käynnissä keskeyttää nykyisen liikkeen.

  • Koska spinFor on kohteeseen perustuva (käyttää rotation tai time parametria), funktiot, kuten isDone ja isSpinning, toimivat spinFor kanssa.

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 pyörittää moottoria tai moottoriryhmää tiettyyn asentoon.

Moottorin tai moottoriryhmän asento ilmaisee, kuinka pitkälle se on pyörinyt, mitattuna degrees tai turnsYksi kierros vastaa 360 astetta. Projektin alussa moottorin tai moottoriryhmän asento asetetaan 0 asteeseen. Moottorin tai moottoriryhmän asento voidaan asettaa myös käyttämällä setPosition-funktiota.

Paikka-arvot ovat absoluuttisia. Tämä tarkoittaa, että pyörimissuunta riippuu moottorin tai moottoriryhmän nykyisestä sijainnista.

Esimerkiksi, jos moottori tai moottoriryhmä käynnistyy 0 asteesta ja pyörii 720 asteen asentoon, se pyörii kaksi kierrosta eteenpäin. Jos se sitten pyörii 360 asteen asentoon, se pyörii yhden kierroksen taaksepäin, koska 360 on pienempi kuin 720.

Available Functions

1 — Pyörii tiettyyn paikkaan funktiokutsussa annetulla nopeudella.

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

2 — Pyörii tiettyyn asentoon käyttäen nykyistä konfiguroitua moottorin nopeutta.

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

Parameters

Parametri

Tyyppi

Kuvaus

rotation

double

Asema-arvo, johon moottori tai moottoriryhmä pyörii.

units

rotationUnits

Pyörimisyksikkö:

  • deg / degrees — astetta
  • turns / rev — kierrokset

velocity

double

Pyörimisnopeus 0 %:sta 100 %:iin, kun käytetään percent.

units_v

velocityUnits

Yksikkö, jota käytetään esittämään velocity:

  • pct — prosentti
  • rpm — kierrosta minuutissa
  • dps — astetta sekunnissa

waitForCompletion

bool

​

  • true (oletus) — Saa projektin odottamaan, kunnes moottori tai moottoriryhmä on pyörinyt, ennen kuin seuraava koodirivi suoritetaan.
  • false — Saa seuraavan koodirivin suoritettavaksi heti.

Return Values

Palauttaa totuusarvon, joka näyttää, aloittiko moottori vai moottoriryhmä pyydetyn kohteeseen perustuvan liikkeen.

  • true — The motor or motor group begins the requested target-based movement.
  • false — The call fails or waitForCompletion is set to false.
Notes
  • Toisen moottorin liikefunktion (kuten spin tai spinFor) suorittaminen funktion spinToPosition ollessa käynnissä keskeyttää nykyisen liikkeen.

  • Koska spinToPosition on kohteeseen perustuva (käyttää rotation -parametria), funktiot, kuten isDone ja isSpinning, toimivat spinToPosition n kanssa.

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

stop#

stop pysäyttää moottorin tai moottoriryhmän pyörimisen.

Available Functions

1 — Pysäyttää moottorin tai moottoriryhmän käyttämällä nykyistä konfiguroitua jarrutustapaa.

void stop();

2 — Pysäyttää moottorin tai moottoriryhmän funktiokutsussa määritetyllä jarrutustilalla.

void stop(
  brakeType mode );

Parameters

Parametri

Tyyppi

Kuvaus

mode

brakeType

Valinnainen. Miten moottori tai moottoriryhmä pysähtyy:

  • coast — Hidastaa pysähdykseen.
  • brake — Pysähtyy välittömästi.
  • hold — Pysähtyy välittömästi ja pitää moottorin tai moottoriryhmän asennon.

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Komento stop pysäyttää välittömästi kaikki nykyiset moottorin tai moottoriryhmän liikkeet.

  • Jos jarrutustapaa ei ole määritetty, moottori tai moottoriryhmä käyttää nykyistä määritettyä jarrutustapaa.

  • stop keskeyttää kaikki aktiiviset kohteeseen perustuvat liikkeet (kuten spinFor tai spinToPosition).

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

Mutaattorit#

setVelocity#

setVelocity kertoo moottorille tai moottoriryhmälle pyörimisnopeuden. Suurempi prosenttiosuus saa moottorin tai moottoriryhmän pyörimään nopeammin ja pienempi prosenttiosuus saa moottorin tai moottoriryhmän pyörimään hitaammin.

Jokainen projekti alkaa siten, että jokainen moottori tai moottoriryhmä pyörii oletusarvoisesti 50 %:n nopeudella.

Huomautus: Suurempi nopeus saa moottorin tai moottoriryhmän pyörimään nopeammin, mutta se voi olla epätarkempi. Pienempi nopeus saa moottorin tai moottoriryhmän pyörimään hitaammin, mutta se voi olla tarkempi.

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

Parameters

Parametri

Tyyppi

Kuvaus

velocity

double

Pyörimisnopeus 0 %:sta 100 %:iin, kun käytetään percent.

units

velocityUnits

The unit used to represent velocity:

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

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Kaikki myöhemmät moottorin liikefunktiot (kuten spin, spinFor tai spinToPosition), jotka eivät eksplisiittisesti määritä nopeutta, käyttävät tätä arvoa.

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#

Vääntömomentti osoittaa, kuinka voimakkaasti moottori tai moottoriryhmä pystyy työntämään tai vetämään pyöriessään.

setMaxTorque asettaa moottorin tai moottoriryhmän käyttämän suurimman sallitun vääntömomentin.

Suurempi prosenttiosuus antaa moottorin tai moottoriryhmän työntää kovemmin, esimerkiksi raskasta esinettä nostettaessa. Pienempi prosenttiosuus rajoittaa sitä, kuinka kovaa moottori tai moottoriryhmä voi työntää. Tämä voi auttaa suojaamaan robottia, jos moottori tai moottoriryhmä jumiutuu tai saavuttaa liikeratansa rajan.

Jokainen projekti alkaa moottorin tai moottoriryhmän vääntömomentilla oletusarvoisesti 50 %.

Available Functions

1 — Asettaa suurimman vääntömomentin prosentteina moottorin tai moottoriryhmän nimellisvääntömomentista.

void setMaxTorque(
 double       value,
 percentUnits units );

2 — Asettaa suurimman vääntömomentin fyysisten vääntömomenttiyksiköiden avulla.

void setMaxTorque(
 double      value,
 torqueUnits units );

3 — Asettaa suurimman vääntömomentin rajoittamalla moottorin virtaa.

void setMaxTorque(
 double       value,
 currentUnits units );

Parameters

Parametri

Tyyppi

Kuvaus

value

double

Moottorin tai moottoriryhmän käyttämä suurin vääntömomentti.

units

percentUnits

Määrittää vääntömomentin prosentteina: percent pct — prosenttia

units

torqueUnits

Määrittää vääntömomentin fyysisissä yksiköissä, kuten:

  • Nm — newtonmetriä
  • InLb — tuumapaunaa

units

currentUnits

Määrittää vääntömomentin rajoittamalla moottorin virtaa:

  • amp

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Kun käytössä on currentUnits, vääntömomenttia rajoitetaan rajoittamalla moottorin tai moottoriryhmän käyttämää sähkövirtaa.

setPosition#

Moottorin tai moottoriryhmän asento ilmaisee, kuinka pitkälle se on pyörinyt, mitattuna degrees tai turnsYksi kierros vastaa 360 astetta. setPosition muuttaa moottorin tai moottoriryhmän nykyisen sijainnin uuteen arvoon.

Esimerkiksi jos moottori tai moottoriryhmä on pyörinyt 180 astetta, asennon asettaminen 0 asteeseen palauttaa asennon 180:stä 0 asteeseen. Tämän jälkeen moottori tai moottoriryhmä voi pyöriä asentoihin tämän uuden arvon perusteella.

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

Parameters

Parametri

Tyyppi

Kuvaus

value

double

Moottorille tai moottoriryhmälle asetettava sijaintiarvo.

units

rotationUnits

Paikkayksikkö:

  • deg / degrees — astetta
  • turns / rev — kierrokset

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Kun funktiota setPositionon kutsuttu, myöhemmät funktion spinToPosition kutsut käyttävät päivitettyä sijaintia viitteenä.

setStopping#

setStopping määrittää, miten moottori tai moottoriryhmä pysäyttää liikkumisen: jarruttamalla, rullaamalla tai pitämällä.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Parametri

Tyyppi

Kuvaus

mode

brakeType

Miten moottori tai moottoriryhmä pysähtyy:

  • brake — Pysähtyy välittömästi.
  • coast — Hidastaa pysähtymiseen.
  • hold — Pysähtyy välittömästi ja pitää moottorin tai moottoriryhmän asennon.

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Kaikki myöhemmät stop -funktion kutsut ilman määritettyä jarrutustapaa käyttävät tätä arvoa.

setTimeout#

setTimeout asettaa ajan, jonka moottori tai moottoriryhmä yrittää suorittaa liikkeen loppuun. Jos moottori tai moottoriryhmä ei pysty suorittamaan sitä tässä ajassa, se lopettaa yrittämisen ja siirtyy seuraavalle koodiriville. Tämä estää moottoria tai moottoriryhmää jumiutumasta liikkeeseen.

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

Parameters

Parametri

Tyyppi

Kuvaus

time

int32_t

Aika, jonka moottori tai moottoriryhmä voi yrittää suorittaa liikkeen loppuun. Tämän on oltava positiivinen kokonaisluku.

units

timeUnits

Aikayksikkö:

  • msec — millisekuntia
  • seconds / sec — sekuntia

Paluuarvot

Tämä funktio ei palauta arvoa.

Notes
  • Moottorin tai moottoriryhmän aikakatkaisua käytetään estämään liikkeet, jotka eivät saavuta kohdeasentoaan, pysäyttämästä muiden pinossa olevien komentojen suorittamista.

  • Jos moottori tai moottoriryhmä ei saavuta kohdeasentoaan ennen aikarajan umpeutumista, se lopettaa yrittämisen ja siirtyy seuraavalle koodiriville.

  • Aikakatkaisu koskee funktioita, joilla on kohdearvo, kuten spinFor ja spinToPosition.

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

Getterit#

isDone#

isDone palauttaa totuusarvona tiedon siitä, onko moottori tai moottoriryhmä liikkunut loppuun. Tätä voidaan käyttää muiden moottorin tai moottoriryhmän liikkeen perusteella tapahtuvien toimintojen ajoituksen ohjaamiseen.

  • true — Moottorin tai moottoriryhmän liike on päättynyt.

  • false — Moottori tai moottoriryhmä liikkuu edelleen.

Tämä funktio toimii yhdessä seuraavien Motion-funktioiden kanssa, joilla on waitForCompletion -parametri: spinFor ja spinToPosition.

Available Functions
bool isDone();

Parameters

Tämä funktio ei hyväksy parametreja.

Return Values

Palauttaa totuusarvona tiedon siitä, onko moottori tai moottoriryhmä liikkunut loppuun.

  • true — The motor or motor group is finished moving.
  • false — The motor or motor group is still moving.
Notes
  • isDone toimii yhdessä seuraavien Motion-funktioiden kanssa, joilla on waitForCompletion -parametri: spinFor ja 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 palauttaa totuusarvona, pyöriikö moottori vai moottoriryhmä. Tätä voidaan käyttää muiden moottorin tai moottoriryhmän liikkeen perusteella tapahtuvien toimintojen ajoituksen ohjaamiseen.

  • true — Moottori tai moottoriryhmä pyörii.

  • false — Moottori tai moottoriryhmä ei pyöri.

Tämä funktio toimii yhdessä Motion-liikefunktioiden, kuten spin, spinFor ja spinToPosition, kanssa.

Available Functions
bool isSpinning();

Parameters

Tämä funktio ei hyväksy parametreja.

Return Values

Palauttaa totuusarvona tiedon siitä, pyöriikö moottori vai moottoriryhmä.

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

Moottorin tai moottoriryhmän asento ilmaisee, kuinka pitkälle se on pyörinyt, mitattuna degrees tai turnsYksi kierros vastaa 360 astetta. position palauttaa moottorin tai moottoriryhmän nykyisen sijainnin.

Projektin alussa moottorin tai moottoriryhmän asento on asetettu arvoon 0 astetta. Jos moottori tai moottoriryhmä pyörii yhden kierroksen eteenpäin, asento on 360 astetta eli 1 kierros. Jos moottori tai moottoriryhmä pyörii vastakkaiseen suuntaan, asento on negatiivinen.

Available Functions
double position(
  rotationUnits units );

Parameters

Parametri

Tyyppi

Kuvaus

units

rotationUnits

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

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

Return Values

Palauttaa luvun double joka edustaa moottorin tai moottoriryhmän nykyistä sijaintia määritetyissä yksiköissä.

Notes
  • Funktion setPosition kutsuminen muuttaa tämän arvon referenssipistettä.

  • Palautettu arvo heijastaa enkooderin nykyistä lukemaa eikä se osoita, liikkuuko moottori vai moottoriryhmä aktiivisesti.

  • Kun funktiota kutsutaan arvolla motor_group, se palauttaa ryhmän ensimmäisen moottorin sijainnin.

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 palauttaa moottorin tai moottoriryhmän pyörimisnopeuden.

Positiivinen arvo tarkoittaa, että moottori tai moottoriryhmä pyörii eteenpäin. Negatiivinen arvo tarkoittaa, että se pyörii taaksepäin.

Available Functions
double velocity(
    velocityUnits units );

Parameters

Parametri

Tyyppi

Kuvaus

units

velocityUnits

Nopeuden esittämiseen käytetty yksikkö:

  • percent / pct — prosenttia
  • rpm — kierrosta minuutissa
  • dps — astetta sekunnissa

Return Values

Palauttaa arvon double joka edustaa moottorin tai moottoriryhmän pyörimisnopeutta määritetyissä yksiköissä.

Muistiinpanoja

  • Kun funktiota kutsutaan motor_group-arvolla, se palauttaa ryhmän ensimmäisen moottorin nopeuden.

current#

current palauttaa moottorin tai moottoriryhmän käyttämän sähkövirran määrän. Virta on moottorin tai moottoriryhmän läpi virtaavan sähkön määrä. Ampeerina palautettuna virta raportoidaan välillä 0,0–1,2 A.

Suurempi virta-arvo tarkoittaa, että moottori tai moottoriryhmä käyttää enemmän sähkövirtaa. Näin voi käydä, kun moottori tai moottoriryhmä nostaa jotain raskasta, työntää jotakin esinettä vasten tai yrittää liikkua jumissa ollessaan.

Tätä voidaan käyttää tarkistamaan, onko moottorissa tai moottoriryhmässä ongelmia liikkeen aikana. Jos virta pysyy korkeana, moottori voi lämmetä tai käyttää tehoa tehottomammin.

Available Functions

1 — Palauttaa moottorin tai moottoriryhmän sähkövirran ampeereina.

double current(
  currentUnits units = amp );

2 — Palauttaa moottorin tai moottoriryhmän sähkövirran prosentteina nimellisvirrasta.

double current(
  percentUnits units );

Parameters

Parametri

Tyyppi

Kuvaus

units

currentUnits

Virran esittämiseen käytetty yksikkö:amp (oletus) — ampeeria

units

percentUnits

Edustaa virtaa prosentteina moottorin suurimmasta nimellisvirrasta:percent pct — prosenttia

Return Values

Palauttaa arvon double joka edustaa moottorin tai moottoriryhmän kuluttaman sähkövirran määrää määritetyissä yksiköissä.

Muistiinpanoja

  • Kun funktiota kutsutaan motor_group-arvolla, se palauttaa kaikkien ryhmän moottoreiden kokonaissähkövirran.

power#

power palauttaa moottorin tai moottoriryhmän käyttämän tehon watteina. Teho näyttää, kuinka nopeasti moottori tai moottoriryhmä kuluttaa energiaa.

Suurempi tehoarvo tarkoittaa, että moottori tai moottoriryhmä käyttää energiaa nopeammin. Näin voi käydä, kun moottori tai moottoriryhmä nostaa jotain raskasta, työntää esinettä vasten tai yrittää liikkua jumissa ollessaan.

Tätä voidaan käyttää liikkeiden vertailuun tai moottorin tai moottoriryhmän ongelmien tarkistamiseen. Jos teho pysyy korkeana, moottori saattaa lämmetä tai käyttää energiaa tehottomammin.

Available Functions
double power(
  powerUnits units = watt );

Parametrit

Parametri

Tyyppi

Kuvaus

units

powerUnits

Moottorin tehon yksikkö:

  • watt (oletus) — wattia

Paluuarvot

Palauttaa arvon double joka ilmaisee moottorin tai moottoriryhmän käyttämän tehon watteina.

Muistiinpanoja

  • Kun funktiota kutsutaan motor_group-ryhmällä, se palauttaa ryhmän ensimmäisen moottorin sähkötehon.

torque#

Vääntömomentti osoittaa, kuinka voimakkaasti moottori tai moottoriryhmä vääntyy, työntää tai vetää pyöriessään.

torque palauttaa moottorin tai moottoriryhmän käyttämän vääntömomentin.

Suurempi vääntömomenttiarvo tarkoittaa, että moottori tai moottoriryhmä työntää tai vetää kovemmin. Näin voi käydä, kun moottori tai moottoriryhmä nostaa jotain raskasta, työntää jotakin esinettä vasten tai yrittää liikkua jumissa ollessaan.

Tätä voidaan käyttää tarkistamaan, onko moottorilla tai moottoriryhmällä vaikeuksia, tai vertailemaan, kuinka paljon työntövoimaa eri liikkeet tarvitsevat.

Moottorin tai moottoriryhmän vääntömomentin asettamiseksi käytä funktiota setMaxTorque.

Available Functions
double torque(
  torqueUnits units = Nm );

Parametrit

Parametri

Tyyppi

Kuvaus

units

torqueUnits

Moottorin vääntömomentin yksikkö:

  • Nm (oletus) — newtonmetriä
  • InLb — tuumapaunaa

Paluuarvot

Palauttaa arvon double joka edustaa moottorin tai moottoriryhmän käyttämää vääntömomenttia määritetyissä yksiköissä.

Muistiinpanoja

  • Kun funktiota kutsutaan motor_group-ryhmällä, se palauttaa ryhmän ensimmäisen moottorin mekaanisen lähtömomentin.

efficiency#

efficiency palauttaa moottorin tai moottoriryhmän tehokkuuden prosentteina väliltä 0–100 %.

Hyötysuhde osoittaa, kuinka paljon moottorin tai moottoriryhmän tehosta käytetään liikkumiseen. Korkeampi hyötysuhdearvo tarkoittaa, että enemmän moottorin tai moottoriryhmän tehoa käytetään liikkumiseen. Alhaisempi hyötysuhdearvo voi ilmetä, kun moottori tai moottoriryhmä työskentelee kovasti, mutta ei liiku paljon, esimerkiksi kun se on jumissa tai työntää jotakin esinettä vasten.

Tätä voidaan käyttää liikkeiden vertailuun tai tarkistamaan, tuhlaako moottori tai moottoriryhmä tehoa sen sijaan, että käyttäisi sitä liikkumiseen.

Available Functions
double efficiency(
  percentUnits units = percent );

Parametrit

Parametri

Tyyppi

Kuvaus

units

percentUnits

Moottorin hyötysuhteen yksikkö:

  • percent / percentUnits::pct (oletus) — prosenttia

Paluuarvot

Palauttaa arvon double joka ilmaisee moottorin tai moottoriryhmän tehokkuuden prosentteina.

Muistiinpanoja

  • Kun funktiota kutsutaan motor_group-arvolla, se palauttaa ryhmän ensimmäisen moottorin hyötysuhteen.

temperature#

temperature palauttaa moottorin tai moottoriryhmän lämpötilan.

Moottorin lämpötila näyttää, kuinka lämmin moottori tai moottoriryhmä on. Korkeampi lämpötila tarkoittaa, että moottori tai moottoriryhmä lämpenee käytön aikana. Moottorin lämpötilan tulisi pysyä alle 55°C jotta se toimii täydellä teholla.

Jos moottori tai moottoriryhmä kuumenee liikaa, se laskee maksimivirtaansa suojatakseen itseään. Lämpötilassa 70°Cmoottori pysähtyy, kunnes se jäähtyy.

Tätä voidaan käyttää tarkistamaan, kuumeneeko moottori tai moottoriryhmä liikaa toistuvien liikkeiden, pitkien ajojen tai esinettä vasten painautuessa.

Available Functions

1 — Palauttaa moottorin tai moottoriryhmän lämpötilan prosentteina suurimmasta käyttölämpötilasta.

double temperature(
  percentUnits units = percent );

2 — Palauttaa moottorin tai moottoriryhmän lämpötilan fyysisinä lämpötilayksiköinä.

double temperature(
  temperatureUnits units );

Parametrit

Parametri

Tyyppi

Kuvaus

units

percentUnits

Moottorin tai moottoriryhmän lämpötilan prosentuaalinen yksikkö:

  • percent / percentUnits::pct (oletus) — prosenttia

units

temperatureUnits

Moottorin tai moottoriryhmän lämpötilan yksikkö asteina:

  • celsius — celsiusastetta
  • fahrenheit — fahrenheitastetta

Paluuarvot

Palauttaa arvon double joka edustaa moottorin tai moottoriryhmän lämpötilaa määritetyissä yksiköissä.

Muistiinpanoja

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

  • Kun funktiota kutsutaan motor_group-arvolla, se palauttaa ryhmän ensimmäisen moottorin lämpötilan.

voltage#

voltage palauttaa moottorille tai moottoriryhmälle syötetyn sähköjännitteen.

Available Functions
double voltage(
  voltageUnits units = volt );

Parametrit

Parametri

Tyyppi

Kuvaus

units

voltageUnits

Jännitteen yksikkö:

  • volt (oletus)
  • voltageUnits::mV — millivoltit

Paluuarvot

Palauttaa arvon double joka edustaa moottorille tai moottoriryhmälle syötettyä sähköjännitettä määritetyissä yksiköissä.

Muistiinpanoja

  • Kun funktiota kutsutaan motor_group-ryhmällä, se palauttaa ryhmän ensimmäisen moottorin sähköjännitteen.

direction#

direction palauttaa moottorin tai moottoriryhmän pyörimissuunnan.

Available Functions
directionType direction();

Parametrit

Tämä funktio ei ota vastaan ​​parametreja.

Paluuarvot

Palauttaa arvon directionType , joka ilmaisee moottorin tai moottoriryhmän nykyisen suunnan:

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

installed#

installed palauttaa, onko moottori tai moottoriryhmä kytketty IQ (1. sukupolvi) aivoihin.

Available Functions
bool installed();

Parametrit

Tämä funktio ei ota vastaan ​​parametreja.

Paluuarvot

Palauttaa arvon bool , joka ilmaisee, onko moottori vai moottoriryhmä kytkettynä.

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

count#

count palauttaa moottoriryhmän moottoreiden lukumäärän.

Available Functions
int32_t count();

Parametrit

Tämä funktio ei ota vastaan ​​parametreja.

Paluuarvot

Palauttaa arvon int32_t joka edustaa moottoriryhmän moottoreiden lukumäärää.