Sukimosi jutiklis#

Įvadas#

rotation klasė naudojama duomenims iš V5 rotacijos jutiklio valdyti ir prieigai prie jų.

Sukimosi jutiklis matuoja veleno sukimąsi. Jį galima naudoti bet kurioje roboto vietoje, kur sukasi velenas, net jei tas velenas nėra tiesiogiai prijungtas prie variklio.

Variklis turi įmontuotą kodavimo įrenginį, kuris gali sekti savo paties sukimąsi. Sukimosi jutiklis veikia kaip išorinis kodavimo įrenginys, galintis sekti atskiro veleno sukimąsi.

Sukimosi jutiklis gali pateikti veleno kampą, padėtį ir greitį. Kampas yra absoliuti veleno padėtis nuo 0 iki 359,99 laipsnių. Jis neatstatomas pradėjus projektą arba išjungus robotą. Padėtis rodo, kiek laipsnių arba apsisukimų velenas pasisuko pirmyn arba atgal projekto metu, ir ją galima nustatyti iš naujo pagal poreikį.

Sukimosi jutiklis suderinamas su 1/8 colio ir 1/4 colio standartiniais VEX velenais.

Klasės konstruktorius#

rotation(
    int32_t index,
    bool    reverse = false );

Klasės destruktorius#

Sunaikina rotation objektą ir išlaisvina susijusius išteklius.

virtual ~rotation();

Parametrai#

Parametras

Tipas

Aprašymas

index

int32_t

Išmanusis prievadas, prie kurio prijungtas sukimosi jutiklis, užrašomas kaip PORTx, kur x yra prievado numeris (pavyzdžiui, PORT1).

reverse

bool

Pasirinktinai. Ar pakeisti sukimosi jutiklio išvestį:

  • true — Apkeičia pateikiamų kampo ir padėties verčių kryptį.
  • false (numatytasis) — Praneša kampo ir padėties vertes standartine kryptimi.

Pavyzdžiai#

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

Narių funkcijos#

rotation klasė apima šias narines funkcijas:

  • setPosition — Nustato sukimosi jutiklio dabartinę padėtį į konkrečią reikšmę.

  • angle — Grąžina dabartinį veleno kampą nuo 0 iki 359,99 laipsnių.

  • position — Grąžina, kiek velenas pasisuko laipsniais arba apsisukimais.

  • velocity — Grąžina veleno sukimosi greitį.

Prieš iškviečiant bet kokias rotation nario funkcijas, reikia sukurti rotation egzempliorių, kaip parodyta žemiau:

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

setPosition#

Nustato sukimosi jutiklio dabartinę padėtį į konkrečią reikšmę.

Padėtis nurodo, kiek velenas pasisuko projekto metu. Padėties nustatymas pakeičia dabartinę padėties reikšmę nejudinant veleno.

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

Parameters

Parametras

Tipas

Aprašymas

value

double

Padėties reikšmė, kurią reikia priskirti sukimosi jutikliui. Tai gali būti sveikasis skaičius arba dešimtainis skaičius.

units

rotationUnits

Padėties vienetas:

  • deg / degrees — laipsniai
  • turns / rev — posūkiai

Return Values

Ši funkcija negrąžina reikšmės.

angle#

Grąžina dabartinį veleno kampą.

Kampas nurodo veleno absoliučią padėtį per vieną apsisukimą nuo 0 iki 359,99 laipsnių. Jis neatstatomas pradėjus projektą arba išjungus robotą.

Available Functions
double angle( rotationUnits units = degrees );

Parameters

Parametras

Tipas

Aprašymas

units

rotationUnits

Pasirinktinai. Kampo vienetas:

  • deg / degrees (numatytasis) — laipsniai
  • turns / rev — posūkiai

Return Values

Grąžina double reiškiantį dabartinį veleno kampą nurodytais vienetais.

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#

Grąžina, kiek pasisuko velenas.

Skirtingai nuo kampo, padėtis gali padidėti virš 359,99 laipsnio arba sumažėti žemiau 0 laipsnių. Padėtis seka, kiek velenas pasisuka į priekį arba atgal projekto metu, ir gali būti iš naujo nustatyta pagal poreikį.

Available Functions
double position( rotationUnits units );

Parameters

Parametras

Tipas

Aprašymas

units

rotationUnits

Padėties vienetas:

  • deg / degrees — laipsniai
  • turns / rev — posūkiai

Return Values

Grąžina double nurodančius, kiek velenas pasisuko nurodytais vienetais.

velocity#

Grąžina veleno sukimosi greitį.

Available Functions
double velocity( velocityUnits units );

Parameters

Parametras

Tipas

Aprašymas

units

velocityUnits

Greičio vienetas:

  • rpm — apsisukimai per minutę
  • dps — laipsniai per sekundę

Return Values

Grąžina double nurodantį, kaip greitai velenas sukasi nurodytais vienetais.