Forgásérzékelő#

Bevezetés#

A rotation osztály az EXP forgásérzékelő adatainak vezérlésére és elérésére szolgál.

A Forgásérzékelő egy tengely forgását méri. Bárhol használható egy roboton, ahol egy tengely forog, még akkor is, ha a tengely nincs közvetlenül motorhoz csatlakoztatva.

A motor beépített jeladóval rendelkezik, amely képes követni a saját forgását. A forgásérzékelő úgy működik, mint egy külső jeladó, amely egy különálló tengely forgását képes követni.

A forgásérzékelő vissza tudja adni a tengely szögét, helyzetét és sebességét. A szög a tengely abszolút helyzete 0 és 359,99 fok között. Nem áll vissza alaphelyzetbe a projekt indításakor vagy a robot kikapcsolásakor. A pozíció nyomon követi, hogy a tengely hány fokot vagy fordulatot forgott előre vagy hátra egy projekt során, és szükség szerint visszaállítható.

A forgásérzékelő kompatibilis az 1/8 hüvelykes és 1/4 hüvelykes szabványos VEX tengelyekkel.

Osztálykonstruktorok#

rotation(
    int32_t index,
    bool    reverse = false );

Osztálydestruktor#

Megsemmisíti a rotation objektumot és felszabadítja a hozzá tartozó erőforrásokat.

virtual ~rotation();

Paraméterek#

Paraméter

Típus

Leírás

index

int32_t

Az az intelligens port, amelyhez a forgásérzékelő csatlakozik, PORTxformátumban írva, ahol x a port száma (például PORT1).

reverse

bool

Opcionális. Megadja, hogy meg kell-e fordítani a forgásérzékelő kimenetét:

  • true — Megfordítja a jelentett szög- és pozícióértékek irányát.
  • false (alapértelmezett) — A szög- és pozícióértékeket a standard irányban jelenti.

Példák#

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

Tagfüggvények#

A rotation osztály a következő tagfüggvényeket tartalmazza:

  • setPosition — Beállítja a forgásérzékelő aktuális pozícióját egy adott értékre.

  • angle — Visszaadja a tengely aktuális szögét 0 és 359,99 fok között.

  • position — Visszaadja, hogy a tengely milyen messzire fordult el fokban vagy fordulatban.

  • velocity — Visszaadja a tengely forgási sebességét.

Bármely rotation tagfüggvény meghívása előtt létre kell hozni egy rotation példányt, az alábbiak szerint:

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

Beállítja a forgásérzékelő aktuális pozícióját egy adott értékre.

A pozíció azt jelenti, hogy a tengely milyen messzire fordult el egy projekt során. A pozíció beállítása a tengely elmozdítása nélkül módosítja az aktuális pozícióértéket.

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

Parameters

Paraméter

Típus

Leírás

value

double

A forgásérzékelőhöz rendelendő pozícióérték. Ez lehet egész vagy tizedes szám.

units

rotationUnits

A pozíció mértékegysége:

  • deg / degrees — fok
  • turns / rev — fordulat

Return Values

Ez a függvény nem ad vissza értéket.

angle#

Visszaadja a tengely aktuális szögét.

A szög a tengely abszolút helyzetét jelzi egy fordulaton belül, 0 és 359,99 fok között. Nem áll vissza alaphelyzetbe a projekt indításakor vagy a robot kikapcsolásakor.

Available Functions
double angle( rotationUnits units = degrees );

Parameters

Paraméter

Típus

Leírás

units

rotationUnits

Opcionális. A szög mértékegysége:

  • deg / degrees (alapértelmezett) — fok
  • turns / rev — fordulat

Return Values

double értéket ad vissza, amely a tengely aktuális szögét jelenti a megadott mértékegységben.

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#

Visszaadja, hogy a tengely milyen messzire fordult el.

A szöggel ellentétben a pozíció 359,99 fok fölé nőhet, vagy 0 fok alá csökkenhet. A pozíció nyomon követi, hogy a tengely milyen messzire forog előre vagy hátra egy projekt során, és szükség szerint visszaállítható.

Available Functions
double position( rotationUnits units );

Parameters

Paraméter

Típus

Leírás

units

rotationUnits

A pozíció mértékegysége:

  • deg / degrees — fok
  • turns / rev — fordulat

Return Values

double értéket ad vissza, amely azt jelöli, hogy a tengely milyen messzire fordult el a megadott mértékegységben.

velocity#

Visszaadja a tengely forgási sebességét.

Available Functions
double velocity( velocityUnits units );

Parameters

Paraméter

Típus

Leírás

units

velocityUnits

A sebesség mértékegysége:

  • rpm — fordulat percenként
  • dps — fok másodpercenként

Return Values

double értéket ad vissza, amely a tengely forgási sebességét jelöli a megadott mértékegységben.