Pyörimisanturi#
Johdanto#
rotation -luokkaa käytetään V5-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.
Luokan rakentaja#
rotation(
int32_t index,
bool reverse = false );
Luokan tuhoaja#
Tuhoaa rotation -objektin ja vapauttaa siihen liittyvät resurssit.
virtual ~rotation();
Parametrit#
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Älyportti, johon pyörimisanturi on kytketty, kirjoitetaan muodossa |
|
|
Valinnainen. Käännetäänkö pyörimisanturin lähtö:
|
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:
// 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 Functionsvoid setPosition(
double value,
rotationUnits units );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Pyörimisanturille määritettävä sijaintiarvo. Tämä voi olla kokonaisluku tai desimaaliluku. |
|
|
Sijaintiyksikkö:
|
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 Functionsdouble angle( rotationUnits units = degrees );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Valinnainen. Kulmayksikkö:
|
Palauttaa arvon double joka edustaa akselin nykyistä kulmaa määritetyissä yksiköissä.
// 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 Functionsdouble position( rotationUnits units );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Sijaintiyksikkö:
|
Palauttaa arvon double joka edustaa akselin kiertymismatkaa määritetyissä yksiköissä.
velocity#
Palauttaa akselin pyörimisnopeuden.
Available Functionsdouble velocity( velocityUnits units );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Nopeuden yksikkö:
|
Palauttaa arvon double joka edustaa akselin pyörimisnopeutta määritetyissä yksiköissä.