Sukimosi jutiklis#
Įvadas#
rotation klasė naudojama EXP rotacijos jutiklio duomenims 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 konstruktoriai#
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 |
|---|---|---|
|
|
Išmanusis prievadas, prie kurio prijungtas sukimosi jutiklis, užrašomas kaip |
|
|
Pasirinktinai. Ar pakeisti sukimosi jutiklio išvestį:
|
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:
/* 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#
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 Functionsvoid setPosition(
double value,
rotationUnits units );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Padėties reikšmė, kurią reikia priskirti sukimosi jutikliui. Tai gali būti sveikasis skaičius arba dešimtainis skaičius. |
|
|
Padėties vienetas:
|
Š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 Functionsdouble angle( rotationUnits units = degrees );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Pasirinktinai. Kampo vienetas:
|
Grąžina double reiškiantį dabartinį veleno kampą nurodytais vienetais.
// 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 Functionsdouble position( rotationUnits units );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Padėties vienetas:
|
Grąžina double nurodančius, kiek velenas pasisuko nurodytais vienetais.
velocity#
Grąžina veleno sukimosi greitį.
Available Functionsdouble velocity( velocityUnits units );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Greičio vienetas:
|
Grąžina double nurodantį, kaip greitai velenas sukasi nurodytais vienetais.