Czujnik obrotu#
Wstęp#
Klasa obrotu rotation służy do sterowania i uzyskiwania dostępu do danych z czujnika obrotu V5.
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.
Konstruktor klasy#
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 |
|---|---|---|
|
|
Inteligentny port, do którego podłączony jest czujnik obrotu, zapisany jako |
|
|
Opcjonalnie. Czy odwrócić wyjście czujnika obrotu:
|
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ąt
angle— Zwraca aktualny kąt wału od 0 do 359,99 stopni.pozycja
position— 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:
// 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 Functionsvoid setPosition(
double value,
rotationUnits units );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Wartość pozycji, którą należy przypisać czujnikowi obrotu. Może to być liczba całkowita lub dziesiętna. |
|
|
Jednostka położenia:
|
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 Functionsdouble angle( rotationUnits units = degrees );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Opcjonalnie. Jednostka kąta:
|
Zwraca wartość double , co oznacza aktualny kąt wału w określonych jednostkach.
// 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 Functionsdouble position( rotationUnits units );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Jednostka położenia:
|
Zwraca wartość double oznaczającą, o ile jednostek obrócił się wał.
velocity#
Zwraca informację o tym, jak szybko obraca się wał.
Available Functionsdouble velocity( velocityUnits units );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Jednostka prędkości:
|
Zwraca wartość double , oznaczającą prędkość obrotu wału w określonych jednostkach.