Rotationssensor#

Introduktion#

Klassen rotation används för att styra och komma åt data från en EXP 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.

Klasskonstruktörer#

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

index

int32_t

Den smarta porten som rotationssensorn är ansluten till, skriven som PORTx, där x är portnumret (till exempel PORT1).

reverse

bool

Valfritt. Huruvida rotationssensorns utgång ska reverseras:

  • true — Reverserar riktningen för de rapporterade vinkel- och positionsvärdena.
  • false (standard) — Rapporterar vinkel- och positionsvärden i standardriktningen.

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:

/* 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#

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 Functions
void setPosition(
    double        value,
    rotationUnits units );

Parameters

Parameter

Typ

Beskrivning

value

double

Positionsvärdet som ska tilldelas rotationssensorn. Detta kan vara ett heltal eller ett decimaltal.

units

rotationUnits

Positionsenhet:

  • deg / degrees — grader
  • turns / rev — varv

Return Values

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 Functions
double angle( rotationUnits units = degrees );

Parameters

Parameter

Typ

Beskrivning

units

rotationUnits

Valfritt. Vinkelenheten:

  • deg / degrees (standard) — grader
  • turns / rev — varv

Return Values

Returnerar double som representerar axelns aktuella vinkel i de angivna enheterna.

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#

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 Functions
double position( rotationUnits units );

Parameters

Parameter

Typ

Beskrivning

units

rotationUnits

Positionsenhet:

  • deg / degrees — grader
  • turns / rev — varv

Return Values

Returnerar double som representerar hur långt axeln har roterat i de angivna enheterna.

velocity#

Returnerar hur snabbt axeln roterar.

Available Functions
double velocity( velocityUnits units );

Parameters

Parameter

Typ

Beskrivning

units

velocityUnits

Hastighetsenheten:

  • rpm — varv per minut
  • dps — grader per sekund

Return Values

Returnerar double som representerar hur snabbt axeln roterar i de angivna enheterna.