Snímač rotace#

Zavedení#

Snímač rotace měří rotaci hřídele. Lze jej použít kdekoli na robotu, kde se hřídel otáčí, i když tato hřídel není přímo připojena k motoru.

Motor má vestavěný enkodér, který dokáže sledovat svou vlastní rotaci. Snímač rotace funguje jako externí enkodér, který dokáže sledovat rotaci samostatné hřídele.

Snímač otáčení dokáže zobrazit úhel, polohu a rychlost hřídele. Úhel je absolutní poloha hřídele od 0 do 359,99 stupňů. Nevynuluje se při zahájení projektu ani při vypnutí robota. Poloha sleduje, o kolik stupňů nebo otáček se hřídel během projektu otočila dopředu nebo dozadu, a lze ji v případě potřeby vynulovat.

Snímač otáčení je kompatibilní se standardními hřídeli VEX o průměru 1/8 palce a 1/4 palce.

Snímač rotace VEX EXP.

Tato stránka používá jako příklad názvu senzoru rotace rotation_sensor V případě potřeby jej nahraďte vlastním nakonfigurovaným názvem.

Níže je uveden seznam dostupných metod:

  • set_position — Nastaví aktuální polohu senzoru otáčení na specifickou hodnotu.

  • angle — Vrátí aktuální úhel hřídele od 0 do 359,99 stupňů.

  • position — Vrátí, o kolik se hřídel otočila ve stupních nebo otáčkách.

  • velocity — Vrátí rychlost otáčení hřídele.

  • reset_position — Obnoví aktuální polohu senzoru rotace na 0.

  • set_reversed — Nastavuje, zda je výstup senzoru otáčení obrácený.

  • changed — Registruje funkci, která se spustí při každé změně hodnoty senzoru rotace.

Konstruktor — Ruční inicializace senzoru rotace.

set_position#

set_position nastaví aktuální polohu senzoru otáčení na hodnotu.

Poloha udává, o kolik se hřídel otočila během projektu. Nastavení polohy změní aktuální hodnotu polohy bez pohybu hřídele.

Usage:
rotation_sensor.set_position(position, units)

Parametry

Popis

position

Hodnota polohy, která se má přiřadit senzoru rotace. Může to být celé číslo nebo desetinné číslo.

units

Volitelné. Jednotka polohy: DEGREES (výchozí) nebo TURNS.

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

úhel#

angle vrací aktuální úhel hřídele jako číslo s desetinnou čárkou.

Úhel udává absolutní polohu hřídele v rámci jedné otáčky, od 0 do 359,99 stupňů. Neresetuje se při zahájení projektu ani při vypnutí robota.

Usage:
rotation_sensor.angle(units)

Parametry

Popis

units

Volitelné. Jednotka úhlu: DEGREES (výchozí) nebo TURNS.

pozice#

position vrací, o kolik se hřídel otočila.

Na rozdíl od úhlu se poloha může zvětšit nad 359,99 stupňů nebo snížit pod 0 stupňů. Poloha sleduje, o kolik se hřídel během projektu otočí dopředu nebo dozadu, a lze ji v případě potřeby resetovat.

Usage:
rotation_sensor.position(units)

Parametry

Popis

units

Volitelné. Jednotka polohy: DEGREES (výchozí) nebo TURNS.

rychlost#

velocity vrací rychlost otáčení hřídele.

Usage:
rotation_sensor.velocity(units)

Parametry

Popis

units

Jednotka rychlosti: VelocityUnits.RPM (otáčky za minutu) nebo VelocityUnits.DPS (stupně za sekundu).

reset_position#

reset_position resetuje aktuální polohu senzoru rotace na 0.

Usage:
rotation_sensor.reset_position()

Parametry

Popis

Tato metoda nemá žádné parametry.

set_reversed#

set_reversed nastavuje, zda je výstup senzoru otáčení obrácen.

Při obrácení se kladné hodnoty stanou zápornými a záporné hodnoty kladnými. Tato metoda funguje stejně jako nastavení parametru reverse na True při použití konstruktoru Rotation .

Usage:
rotation_sensor.set_reversed(value)

Parametry

Popis

value

Zda obrátit výstup senzoru otáčení: True nebo False.

změněno#

changed registruje funkci, která se má volat při každé změně hodnoty senzoru rotace.

Usage:
rotation_sensor.changed(callback, arg)

Parametry

Popis

callback

Dříve definovaná funkce, která se spustí při změně hodnoty senzoru rotace.

arg

Volitelné. N-tice obsahující argumenty, které se mají předat funkci zpětného volání. Další informace naleznete v části Použití funkcí s parametry.

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

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

Konstruktor#

Konstruktory se používají k ručnímu vytváření objektů Rotation , například při konfiguraci senzoru rotace mimo VEXcode.

Rotation#

Rotation vytvoří objekt Senzor rotace.

Usage:
Rotation(smartport)

Parametr

Popis

smartport

Inteligentní port, ke kterému je připojen snímač rotace, zapsaný jako Ports.PORTx, kde x je číslo portu.

reverse

Volitelné. Zda obrátit výstup senzoru otáčení: True nebo False (výchozí).

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