Rotācijas sensors#

Ievads#

rotation klase tiek izmantota, lai kontrolētu un piekļūtu datiem no EXP rotācijas sensora.

Rotācijas sensors mēra vārpstas rotāciju. To var izmantot jebkurā robota vietā, kur rotē vārpsta, pat ja šī vārpsta nav tieši savienota ar motoru.

Motoram ir iebūvēts kodētājs, kas var izsekot tā rotāciju. Rotācijas sensors darbojas kā ārējs kodētājs, kas var izsekot atsevišķas vārpstas rotāciju.

Rotācijas sensors var atgriezt vārpstas leņķi, pozīciju un ātrumu. Leņķis ir vārpstas absolūtā pozīcija no 0 līdz 359,99 grādiem. Tas netiek atiestatīts, kad projekts sākas vai kad robots tiek izslēgts. Pozīcija izseko, cik grādus vai pagriezienus vārpsta ir pagriezusies uz priekšu vai atpakaļ projekta laikā, un to var atiestatīt pēc nepieciešamības.

Rotācijas sensors ir saderīgs ar 1/8 collu un 1/4 collu standarta VEX vārpstām.

Klases konstruktori#

rotation(
    int32_t index,
    bool    reverse = false );

Klases iznīcinātājs#

Iznīcina rotation objektu un atbrīvo saistītos resursus.

virtual ~rotation();

Parametri#

Parametrs

Tips

Apraksts

index

int32_t

Viedports, kuram ir pievienots rotācijas sensors, kas pierakstīts kā PORTx, kur x ir porta numurs (piemēram, PORT1).

reverse

bool

Pēc izvēles. Vai mainīt rotācijas sensora izejas virzienu:

  • true — Maina ziņoto leņķa un pozīcijas vērtību virzienu.
  • false (pēc noklusējuma) — Ziņo leņķa un pozīcijas vērtības standarta virzienā.

Piemēri#

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

Dalībnieku funkcijas#

rotation klase ietver šādas dalībfunkcijas:

  • setPosition — Iestata rotācijas sensora pašreizējo pozīciju uz noteiktu vērtību.

  • angle — Atgriež vārpstas pašreizējo leņķi no 0 līdz 359,99 grādiem.

  • position — Atgriež, cik tālu vārpsta ir pagriezusies grādos vai pagriezienos.

  • velocity — Atgriež vārpstas griešanās ātrumu.

Pirms jebkuru rotation dalībfunkciju izsaukšanas ir jāizveido rotation instance, kā parādīts zemāk:

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

Iestata rotācijas sensora pašreizējo pozīciju uz noteiktu vērtību.

Pozīcija norāda, cik tālu projekta laikā ir pagriezusies vārpsta. Pozīcijas iestatīšana maina pašreizējo pozīcijas vērtību, nepārvietojot vārpstu.

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

Parameters

Parametrs

Tips

Apraksts

value

double

Pozīcijas vērtība, kas jāpiešķir rotācijas sensoram. Tā var būt vesels skaitlis vai decimālskaitlis.

units

rotationUnits

The position unit:

  • deg / degrees — degrees
  • turns / rev — turns

Return Values

Šī funkcija neatgriež vērtību.

angle#

Atgriež vārpstas pašreizējo leņķi.

Leņķis norāda vārpstas absolūto pozīciju viena apgrieziena laikā no 0 līdz 359,99 grādiem. Tas netiek atiestatīts, kad projekts tiek sākts vai kad robots tiek izslēgts.

Available Functions
double angle( rotationUnits units = degrees );

Parameters

Parametrs

Tips

Apraksts

units

rotationUnits

Optional. The angle unit:

  • deg / degrees (default) — degrees
  • turns / rev — turns

Return Values

Atgriež skaitli double un tas apzīmē vārpstas pašreizējo leņķi norādītajās vienībās.

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#

Atgriež, cik tālu ir pagriezusies vārpsta.

Atšķirībā no leņķa, pozīcija var palielināties virs 359,99 grādiem vai samazināties zem 0 grādiem. Pozīcija izseko, cik tālu projekta laikā griežas vārpsta uz priekšu vai atpakaļ, un to var atiestatīt pēc nepieciešamības.

Available Functions
double position( rotationUnits units );

Parameters

Parametrs

Tips

Apraksts

units

rotationUnits

The position unit:

  • deg / degrees — degrees
  • turns / rev — turns

Return Values

Atgriež double kas apzīmē, cik tālu vārpsta ir pagriezusies norādītajās vienībās.

velocity#

Atgriež vārpstas griešanās ātrumu.

Available Functions
double velocity( velocityUnits units );

Parameters

Parametrs

Tips

Apraksts

units

velocityUnits

Ātruma mērvienība:

  • rpm — apgriezieni minūtē
  • dps — grādi sekundē

Return Values

Atgriež skaitli double un kas apzīmē vārpstas griešanās ātrumu norādītajās mērvienībās.