Rotationssensor#
Introduktion#
Rotationsklassen rotation används för att styra och komma åt data från en V5-rotationssensor.
Rotationssensorn mäter rotationen av en axel. Den kan användas var som helst på en robot där en axel roterar, även om axeln inte är direkt ansluten till en motor.
En motor har en inbyggd kodare som kan spåra sin egen rotation. Rotationssensorn fungerar som en extern kodare som kan spåra rotationen hos en separat axel.
Rotationssensorn kan returnera axelns vinkel, position och hastighet. Vinkel är axelns absoluta position från 0 till 359,99 grader. Den återställs inte när ett projekt startar eller när roboten stängs av. Positionen spårar hur många grader eller varv axeln har roterat framåt eller bakåt under ett projekt, och den kan återställas vid behov.
Rotationssensorn är kompatibel med 1/8-tums och 1/4-tums standard VEX-axlar.
Klasskonstruktor#
rotation(
int32_t index,
bool reverse = false );
Klassförstörare#
Förstör objektet med rotation rotation och frigör tillhörande resurser.
virtual ~rotation();
Parametrar#
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Den smarta porten som rotationssensorn är ansluten till, skriven som |
|
|
Valfritt. Huruvida rotationssensorns utgång ska reverseras:
|
Exempel#
// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);
Medlemsfunktioner#
Klassen rotation inkluderar följande medlemsfunktioner:
setPosition— Ställer in rotationssensorns aktuella position till ett specifikt värde.angle— Returnerar axelns aktuella vinkel från 0 till 359,99 grader.position— Returnerar hur långt axeln har roterat i grader eller varv.velocity— Returnerar hur snabbt axeln roterar.
Innan några rotation medlemsfunktioner anropas måste en rotation instans skapas, som visas nedan:
// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);
setPosition#
Ställer in rotationssensorns aktuella position till ett specifikt värde.
Positionen visar hur långt axeln har roterat under ett projekt. Att ställa in positionen ändrar det aktuella positionsvärdet utan att axeln flyttas.
Available Functionsvoid setPosition(
double value,
rotationUnits units );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Positionsvärdet som ska tilldelas rotationssensorn. Detta kan vara ett heltal eller ett decimaltal. |
|
|
Positionsenhet:
|
Den här funktionen returnerar inget värde.
angle#
Returnerar axelns aktuella vinkel.
Vinkeln rapporterar axelns absoluta position inom en rotation, från 0 till 359,99 grader. Den återställs inte när ett projekt startar eller när roboten stängs av.
Available Functionsdouble angle( rotationUnits units = degrees );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Valfritt. Vinkelenheten:
|
Returnerar double som representerar axelns aktuella vinkel i de angivna enheterna.
// 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#
Returnerar hur långt axeln har roterat.
Till skillnad från vinkel kan positionen öka över 359,99 grader eller minska under 0 grader. Positionen spårar hur långt axeln roterar framåt eller bakåt under ett projekt och kan återställas vid behov.
Available Functionsdouble position( rotationUnits units );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Positionsenhet:
|
Returnerar double som representerar hur långt axeln har roterat i de angivna enheterna.
velocity#
Returnerar hur snabbt axeln roterar.
Available Functionsdouble velocity( velocityUnits units );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Hastighetsenheten:
|
Returnerar double som representerar hur snabbt axeln roterar i de angivna enheterna.