Czujnik obrotu#

Wstęp#

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.

Czujnik obrotu VEX EXP.

Ta strona używa rotation_sensor jako przykładowej nazwy czujnika obrotu. W razie potrzeby zastąp ją własną, skonfigurowaną nazwą.

Poniżej znajduje się lista dostępnych metod:

  • set_position — 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ł.

  • reset_position — Resetuje bieżącą pozycję czujnika obrotu do 0.

  • set_reversed — Ustawia, czy wyjście czujnika obrotu jest odwrócone.

  • changed — Rejestruje funkcję, która ma zostać uruchomiona za każdym razem, gdy zmieni się wartość czujnika obrotu.

Konstruktor — ręczna inicjalizacja czujnika obrotu.

ustaw_pozycję#

set_position ustawia aktualną pozycję czujnika obrotu na wartość.

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

Usage:
rotation_sensor.set_position(position, units)

Parametry

Opis

position

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

units

Opcjonalnie. Jednostka pozycji: DEGREES (domyślnie) lub TURNS.

# Set the Rotation Sensor to 2.5 Turns
rotation_sensor.set_position(2.5, TURNS)

kąt#

Kąt angle zwraca aktualny kąt wału jako wartość zmiennoprzecinkową.

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.

Usage:
rotation_sensor.angle(units)

Parametry

Opis

units

Opcjonalnie. Jednostka kąta: DEGREES (domyślna) lub TURNS.

pozycja#

Pozycja position określa, 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.

Usage:
rotation_sensor.position(units)

Parametry

Opis

units

Opcjonalnie. Jednostka pozycji: DEGREES (domyślnie) lub TURNS.

prędkość#

velocity określa prędkość, z jaką obraca się wał.

Usage:
rotation_sensor.velocity(units)

Parametry

Opis

units

Jednostka prędkości: VelocityUnits.RPM (obroty na minutę) lub VelocityUnits.DPS (stopnie na sekundę).

reset_pozycji#

reset_position resetuje bieżącą pozycję czujnika obrotu do 0.

Usage:
rotation_sensor.reset_position()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

ustaw_odwrócony#

set_reversed ustawia, czy wyjście czujnika obrotu jest odwrócone.

Po odwróceniu wartości dodatnie stają się ujemne, a ujemne dodatnie. Ta metoda działa tak samo, jak ustawienie parametru reverse na True podczas korzystania z konstruktora Rotation .

Usage:
rotation_sensor.set_reversed(value)

Parametry

Opis

value

Czy odwrócić wyjście czujnika obrotu: True lub False.

zmieniony#

changed rejestruje funkcję, która ma zostać wywołana za każdym razem, gdy zmieni się wartość czujnika obrotu.

Usage:
rotation_sensor.changed(callback, arg)

Parametry

Opis

callback

Wcześniej zdefiniowana funkcja, która jest uruchamiana, gdy zmienia się wartość czujnika obrotu.

arg

Opcjonalnie. Krotka zawierająca argumenty do przekazania do funkcji wywołania zwrotnego. Więcej informacji można znaleźć w Używanie funkcji z parametrami.

def my_function():
  brain.screen.print("Rotated!")

# Call my_function whenever rotation_sensor's value changes
rotation_sensor.changed(my_function)

Konstruktor#

Konstruktory służą do ręcznego tworzenia obiektów o obrocie Rotation , na przykład podczas konfigurowania czujnika obrotu poza VEXcode.

Rotation#

Rotation tworzy obiekt czujnika obrotu.

Usage:
Rotation(smartport)

Parametr

Opis

smartport

Inteligentny port, do którego podłączony jest czujnik obrotu, zapisany jako Ports.PORTx, gdzie x to numer portu.

reverse

Opcjonalnie. Czy odwrócić wyjście czujnika obrotu: True lub False (domyślnie).

# Create an inverted Rotation Sensor in Port 10
rotation_sensor = Rotation(Ports.PORT10, True)