Pyörimisanturi#

Johdanto#

Pyörintäanturi mittaa akselin pyörimistä. Sitä voidaan käyttää missä tahansa robotin osassa, jossa akseli pyörii, vaikka akseli ei olisikaan kytketty suoraan moottoriin.

Moottorissa on sisäänrakennettu enkooderi, joka voi seurata omaa pyörimistään. Pyörimisanturi toimii kuten ulkoinen enkooderi, joka voi seurata erillisen akselin pyörimistä.

Pyörimisanturi voi palauttaa akselin kulman, asennon ja nopeuden. Kulma on akselin absoluuttinen asento 0–359,99 astetta. Se ei nollaudu projektin käynnistyessä tai robotin sammuttamisen yhteydessä. Sijainti seuraa, kuinka monta astetta tai kierrosta akseli on pyörinyt eteen- tai taaksepäin projektin aikana, ja se voidaan nollata tarvittaessa.

Pyörimisanturi on yhteensopiva 1/8 tuuman ja 1/4 tuuman VEX-vakioakseleiden kanssa.

VEX V5 -pyörimisanturi.

Tällä sivulla käytetään esimerkkinä pyörimisanturin nimeä rotation_sensor Korvaa se tarvittaessa omalla määritetyllä nimelläsi.

Alla on luettelo käytettävissä olevista menetelmistä:

  • set_position — Asettaa pyörimisanturin nykyisen sijainnin tiettyyn arvoon.

  • angle — Palauttaa akselin nykyisen kulman 0–359,99 astetta.

  • position — Palauttaa akselin kiertymisasteen asteina tai kierroksina.

  • velocity — Palauttaa akselin pyörimisnopeuden.

  • reset_position — Palauttaa pyörimisanturin nykyisen sijainnin arvoon 0.

  • set_reversed — Määrittää, onko pyörimisanturin lähtö käänteinen.

  • changed — Rekisteröi funktion suoritettavaksi aina, kun pyörimisanturin arvo muuttuu.

Konstructor — Alusta pyörimisanturi manuaalisesti.

asetettu_sijainti#

set_position asettaa pyörimisanturin nykyisen sijainnin arvoon.

Sijainti ilmaisee, kuinka paljon akseli on kiertynyt projektin aikana. Sijainnin asettaminen muuttaa nykyistä sijaintiarvoa liikuttamatta akselia.

Usage:
rotation_sensor.set_position(position, units)

Parametrit

Kuvaus

position

Pyörimisanturille määritettävä sijaintiarvo. Tämä voi olla kokonaisluku tai desimaaliluku.

units

Valinnainen. Sijaintiyksikkö: DEGREES (oletus) tai TURNS.

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

kulma#

angle palauttaa akselin nykyisen kulman liukulukuna.

Kulma ilmoittaa akselin absoluuttisen asennon yhden kierroksen aikana välillä 0 - 359,99 astetta. Se ei nollaudu projektin käynnistyessä tai robotin sammuttamisen yhteydessä.

Usage:
rotation_sensor.angle(units)

Parametrit

Kuvaus

units

Valinnainen. Kulman yksikkö: DEGREES (oletus) tai TURNS.

asema#

position palauttaa, kuinka paljon akseli on kiertynyt.

Toisin kuin kulma, sijainti voi nousta yli 359,99 asteen tai laskea alle 0 asteen. Sijainti seuraa, kuinka paljon akseli pyörii eteen- tai taaksepäin projektin aikana, ja sitä voidaan nollata tarvittaessa.

Usage:
rotation_sensor.position(units)

Parametrit

Kuvaus

units

Valinnainen. Sijaintiyksikkö: DEGREES (oletus) tai TURNS.

nopeus#

velocity palauttaa akselin pyörimisnopeuden.

Usage:
rotation_sensor.velocity(units)

Parametrit

Kuvaus

units

Nopeuden yksikkö: VelocityUnits.RPM (kierrosta minuutissa) tai VelocityUnits.DPS (astetta sekunnissa).

nollauspaikka#

reset_position palauttaa pyörimisanturin nykyisen sijainnin arvoon 0.

Usage:
rotation_sensor.reset_position()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

set_reversed#

set_reversed määrittää, onko pyörimisanturin lähtö käänteinen.

Käänteisesti positiivisista arvoista tulee negatiivisia ja negatiivisista arvoista positiivisia. Tämä menetelmä toimii samalla tavalla kuin Rotation -konstruktoria käytettäessä parametrin reverse arvoksi True.

Usage:
rotation_sensor.set_reversed(value)

Parametrit

Kuvaus

value

Käännetäänkö pyörimisanturin lähtö: True tai False.

muuttunut#

changed rekisteröi funktion kutsuttavaksi aina, kun pyörimisanturin arvo muuttuu.

Usage:
rotation_sensor.changed(callback, arg)

Parametrit

Kuvaus

callback

Aiemmin määritelty function, joka suoritetaan, kun pyörimisanturin arvo muuttuu.

arg

Valinnainen. Tuple, joka sisältää argumentteja, jotka välitetään takaisinkutsufunktiolle. Lisätietoja on kohdassa Funktioiden käyttö parametrien kanssa.

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

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

Rakentaja#

Konstruktoreita käytetään Rotation -objektien luomiseen manuaalisesti, esimerkiksi konfiguroitaessa pyörimisanturia VEXcoden ulkopuolella.

Rotation#

Rotation luo Rotation Sensor -objektin.

Usage:
Rotation(smartport)

Parametri

Kuvaus

smartport

Älyportti, johon pyörimisanturi on kytketty, kirjoitetaan muodossa Ports.PORTx, jossa x on portin numero.

reverse

Valinnainen. Käännetäänkö pyörimisanturin lähtö: True tai False (oletus).

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