Czujnik obrotu#

Wstęp#

Klasa obrotu rotation służy do sterowania i uzyskiwania dostępu do danych z czujnika obrotu EXP.

Czujnik obrotu mierzy obrót wału. Można go używać w dowolnym miejscu robota, w którym obraca się wał, nawet jeśli wał nie jest bezpośrednio podłączony do silnika.

Silnik ma wbudowany enkoder, który może śledzić jego własny obrót. Czujnik obrotu działa jak zewnętrzny enkoder, który może śledzić obrót oddzielnego wału.

Czujnik obrotu może zwracać kąt, położenie i prędkość wału. Kąt to bezwzględne położenie wału w zakresie od 0 do 359,99 stopnia. Nie resetuje się po uruchomieniu projektu ani po wyłączeniu robota. Pozycja śledzi, o ile stopni lub obrotów wał obrócił się do przodu lub do tyłu podczas projektu i można ją zresetować w razie potrzeby.

Czujnik obrotu jest kompatybilny ze standardowymi wałami VEX o średnicy 1/8 cala i 1/4 cala.

Konstruktory klas#

rotation(
    int32_t index,
    bool    reverse = false );

Destruktor klasy#

Niszczy obiekt o obrocie rotation i uwalnia powiązane zasoby.

virtual ~rotation();

Parametry#

Parametr

Typ

Opis

index

int32_t

Inteligentny port, do którego podłączony jest czujnik obrotu, zapisany jako PORTx, gdzie x to numer portu (na przykład PORT1).

reverse

bool

Opcjonalnie. Czy odwrócić wyjście czujnika obrotu:

  • true — Odwraca kierunek raportowanych wartości kąta i położenia.
  • false (domyślnie) — Raportuje wartości kąta i położenia w kierunku standardowym.

Przykłady#

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

Funkcje członkowskie#

Klasa obrotu rotation zawiera następujące funkcje członkowskie:

  • setPosition — Ustawia aktualną pozycję czujnika obrotu na określoną wartość.

  • kątangle — Zwraca aktualny kąt wału od 0 do 359,99 stopni.

  • pozycjaposition — Zwraca, o ile stopni lub obrotów obrócił się wał.

  • velocity — Zwraca prędkość, z jaką obraca się wał.

Przed wywołaniem jakiejkolwiek funkcji członkowskiej obrotu rotation należy utworzyć instancję obrotu rotation , jak pokazano poniżej:

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

Ustawia aktualną pozycję czujnika obrotu na określoną wartość.

Pozycja to odległość, o jaką obrócił się wał podczas projektu. Ustawienie pozycji zmienia bieżącą wartość pozycji bez poruszania wału.

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

Parameters

Parametr

Typ

Opis

value

double

Wartość pozycji, którą należy przypisać czujnikowi obrotu. Może to być liczba całkowita lub dziesiętna.

units

rotationUnits

Jednostka położenia:

  • deg / degrees — stopnie
  • turns / rev — obrotów

Return Values

Ta funkcja nie zwraca wartości.

angle#

Zwraca aktualny kąt wału.

Funkcja Angle podaje bezwzględną pozycję wału w jednym obrocie, od 0 do 359,99 stopnia. Nie resetuje się ona po uruchomieniu projektu ani wyłączeniu robota.

Available Functions
double angle( rotationUnits units = degrees );

Parameters

Parametr

Typ

Opis

units

rotationUnits

Opcjonalnie. Jednostka kąta:

  • deg / degrees (domyślnie) — stopnie
  • turns / rev — obroty

Return Values

Zwraca wartość double , co oznacza aktualny kąt wału w określonych jednostkach.

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#

Zwraca informację o tym, jak daleko obrócił się wał.

W przeciwieństwie do kąta, położenie może wzrosnąć powyżej 359,99 stopnia lub zmniejszyć poniżej 0 stopni. Położenie śledzi, jak daleko wał obraca się do przodu lub do tyłu podczas projektu i może być resetowane w razie potrzeby.

Available Functions
double position( rotationUnits units );

Parameters

Parametr

Typ

Opis

units

rotationUnits

Jednostka położenia:

  • deg / degrees — stopnie
  • turns / rev — obrotów

Return Values

Zwraca wartość double oznaczającą, o ile jednostek obrócił się wał.

velocity#

Zwraca informację o tym, jak szybko obraca się wał.

Available Functions
double velocity( velocityUnits units );

Parameters

Parametr

Typ

Opis

units

velocityUnits

Jednostka prędkości:

  • rpm — obroty na minutę
  • dps — stopnie na sekundę

Return Values

Zwraca wartość double , oznaczającą prędkość obrotu wału w określonych jednostkach.