Pyörimisanturi#

Johdanto#

rotation -luokkaa käytetään EXP-kiertoanturin tietojen ohjaamiseen ja käyttämiseen.

Pyörintäanturi mittaa akselin pyörimistä. Sitä voidaan käyttää missä tahansa robotin osassa, jossa akseli pyörii, vaikka akseli ei olisikaan kytketty suoraan moottoriin.

Moottorissa on sisäänrakennettu enkooderi, joka voi seurata omaa pyörimistään. Pyörimisanturi toimii kuten ulkoinen enkooderi, joka voi seurata erillisen akselin pyörimistä.

Pyörimisanturi voi palauttaa akselin kulman, asennon ja nopeuden. Kulma on akselin absoluuttinen asento 0–359,99 astetta. Se ei nollaudu projektin käynnistyessä tai robotin sammuttamisen yhteydessä. Sijainti seuraa, kuinka monta astetta tai kierrosta akseli on pyörinyt eteen- tai taaksepäin projektin aikana, ja se voidaan nollata tarvittaessa.

Pyörimisanturi on yhteensopiva 1/8 tuuman ja 1/4 tuuman VEX-vakioakseleiden kanssa.

Luokanrakentajat#

rotation(
    int32_t index,
    bool    reverse = false );

Luokan tuhoaja#

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

virtual ~rotation();

Parametrit#

Parametri

Tyyppi

Kuvaus

index

int32_t

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

reverse

bool

Valinnainen. Käännetäänkö pyörimisanturin lähtö:

  • true — Kääntää raportoitujen kulma- ja sijaintiarvojen suunnan.
  • false (oletus) — Raportoi kulma- ja sijaintiarvot vakiosuuntaan.

Esimerkkejä#

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

Jäsenten toiminnot#

rotation -luokka sisältää seuraavat jäsenfunktiot:

  • setPosition — Asettaa pyörimisanturin nykyisen sijainnin tiettyyn arvoon.

  • angle — Palauttaa akselin nykyisen kulman 0–359,99 astetta.

  • position — Palauttaa akselin kiertymisasteen asteina tai kierroksina.

  • velocity — Palauttaa akselin pyörimisnopeuden.

Ennen minkään rotation -jäsenfunktion kutsumista on luotava rotation -instanssi alla olevan mukaisesti:

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

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

setPosition#

Asettaa pyörimisanturin nykyisen sijainnin tiettyyn arvoon.

Sijainti ilmaisee, kuinka paljon akseli on kiertynyt projektin aikana. Sijainnin asettaminen muuttaa nykyistä sijaintiarvoa liikuttamatta akselia.

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

Parameters

Parametri

Tyyppi

Kuvaus

value

double

Pyörimisanturille määritettävä sijaintiarvo. Tämä voi olla kokonaisluku tai desimaaliluku.

units

rotationUnits

Sijaintiyksikkö:

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

Return Values

Tämä funktio ei palauta arvoa.

angle#

Palauttaa akselin nykyisen kulman.

Kulma ilmoittaa akselin absoluuttisen asennon yhden kierroksen aikana välillä 0 - 359,99 astetta. Se ei nollaudu projektin käynnistyessä tai robotin sammuttamisen yhteydessä.

Available Functions
double angle( rotationUnits units = degrees );

Parameters

Parametri

Tyyppi

Kuvaus

units

rotationUnits

Valinnainen. Kulmayksikkö:

  • deg / degrees (oletus) — astetta
  • turns / rev — käännöstä

Return Values

Palauttaa arvon double joka edustaa akselin nykyistä kulmaa määritetyissä yksiköissä.

Examples
// Get the current angle of the shaft
  double angle = Rotation1.angle(degrees);

  // Print the current angle of the shaft to the
  // Brain's screen.
  Brain.Screen.print(angle);

position#

Palauttaa akselin kiertymismatkan.

Toisin kuin kulma, sijainti voi nousta yli 359,99 asteen tai laskea alle 0 asteen. Sijainti seuraa, kuinka paljon akseli pyörii eteen- tai taaksepäin projektin aikana, ja sitä voidaan nollata tarvittaessa.

Available Functions
double position( rotationUnits units );

Parameters

Parametri

Tyyppi

Kuvaus

units

rotationUnits

Sijaintiyksikkö:

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

Return Values

Palauttaa arvon double joka edustaa akselin kiertymismatkaa määritetyissä yksiköissä.

velocity#

Palauttaa akselin pyörimisnopeuden.

Available Functions
double velocity( velocityUnits units );

Parameters

Parametri

Tyyppi

Kuvaus

units

velocityUnits

Nopeuden yksikkö:

  • rpm — kierrosta minuutissa
  • dps — astetta sekunnissa

Return Values

Palauttaa arvon double joka edustaa akselin pyörimisnopeutta määritetyissä yksiköissä.