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 |
|---|---|---|
|
|
Az az intelligens port, amelyhez a forgásérzékelő csatlakozik, |
|
|
Opcionális. Megadja, hogy meg kell-e fordítani a forgásérzékelő kimenetét:
|
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 Functionsvoid setPosition(
double value,
rotationUnits units );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A forgásérzékelőhöz rendelendő pozícióérték. Ez lehet egész vagy tizedes szám. |
|
|
A pozíció mértékegysége:
|
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 Functionsdouble angle( rotationUnits units = degrees );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Opcionális. A szög mértékegysége:
|
double értéket ad vissza, amely a tengely aktuális szögét jelenti a megadott mértékegységben.
// 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 Functionsdouble position( rotationUnits units );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A pozíció mértékegysége:
|
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 Functionsdouble velocity( velocityUnits units );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A sebesség mértékegysége:
|
double értéket ad vissza, amely a tengely forgási sebességét jelöli a megadott mértékegységben.