Rotationssensor#

Introduktion#

Rotationssensorn mäter rotationen av en axel. Den kan användas var som helst på en robot där en axel roterar, även om axeln inte är direkt ansluten till en motor.

En motor har en inbyggd kodare som kan spåra sin egen rotation. Rotationssensorn fungerar som en extern kodare som kan spåra rotationen hos en separat axel.

Rotationssensorn kan returnera axelns vinkel, position och hastighet. Vinkel är axelns absoluta position från 0 till 359,99 grader. Den återställs inte när ett projekt startar eller när roboten stängs av. Positionen spårar hur många grader eller varv axeln har roterat framåt eller bakåt under ett projekt, och den kan återställas vid behov.

Rotationssensorn är kompatibel med 1/8-tums och 1/4-tums standard VEX-axlar.

VEX V5 rotationssensorn.

Den här sidan använder rotation_sensor som exempelnamn för rotationssensorn. Ersätt det med ditt eget konfigurerade namn efter behov.

Nedan följer en lista över tillgängliga metoder:

  • set_position — Ställer in rotationssensorns aktuella position till ett specifikt värde.

  • angle — Returnerar axelns aktuella vinkel från 0 till 359,99 grader.

  • position — Returnerar hur långt axeln har roterat i grader eller varv.

  • velocity — Returnerar hur snabbt axeln roterar.

  • reset_position — Återställer rotationssensorns aktuella position till 0.

  • set_reversed — Ställer in om rotationssensorns utgång är reverserad.

  • changed — Registrerar en funktion som ska köras när rotationssensorns värde ändras.

Konstruktör — Initiera en rotationssensor manuellt.

  • Rotation — Skapar en rotationssensor.

set_position#

set_position ställer in rotationssensorns aktuella position till ett värde.

Positionen visar hur långt axeln har roterat under ett projekt. Att ställa in positionen ändrar det aktuella positionsvärdet utan att axeln flyttas.

Usage:
rotation_sensor.set_position(position, units)

Parametrar

Beskrivning

position

Positionsvärdet som ska tilldelas rotationssensorn. Detta kan vara ett heltal eller ett decimaltal.

units

Valfritt. Positionsenheten: DEGREES (standard) eller TURNS.

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

vinkel#

angle returnerar axelns aktuella vinkel som ett flyttal.

Vinkeln rapporterar axelns absoluta position inom en rotation, från 0 till 359,99 grader. Den återställs inte när ett projekt startar eller när roboten stängs av.

Usage:
rotation_sensor.angle(units)

Parametrar

Beskrivning

units

Valfritt. Vinkelenheten: DEGREES (standard) eller TURNS.

placera#

position returnerar hur långt axeln har roterat.

Till skillnad från vinkel kan positionen öka över 359,99 grader eller minska under 0 grader. Positionen spårar hur långt axeln roterar framåt eller bakåt under ett projekt och kan återställas vid behov.

Usage:
rotation_sensor.position(units)

Parametrar

Beskrivning

units

Valfritt. Positionsenheten: DEGREES (standard) eller TURNS.

hastighet#

velocity returnerar hur snabbt axeln roterar.

Usage:
rotation_sensor.velocity(units)

Parametrar

Beskrivning

units

Hastighetsenheten: VelocityUnits.RPM (varv per minut) eller VelocityUnits.DPS (grader per sekund).

återställ_position#

reset_position återställer rotationssensorns aktuella position till 0.

Usage:
rotation_sensor.reset_position()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

set_reversed#

set_reversed anger om rotationssensorns utgång är reverserad.

När de reverseras blir positiva värden negativa och negativa värden positiva. Den här metoden fungerar på samma sätt som att sätta parametern reverse till True när man använder Rotation konstruktorn.

Usage:
rotation_sensor.set_reversed(value)

Parametrar

Beskrivning

value

Huruvida rotationssensorns utgång ska reverseras: True eller False.

ändrad#

changed registrerar en funktion som ska anropas när rotationssensorns värde ändras.

Usage:
rotation_sensor.changed(callback, arg)

Parametrar

Beskrivning

callback

En tidigare definierad funktion som körs när rotationssensorns värde ändras.

arg

Valfritt. En tupel som innehåller argument som ska skickas till callback-funktionen. Se Använda funktioner med parametrar för mer information.

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

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

Konstruktör#

Konstruktorer används för att manuellt skapa Rotation objekt, till exempel när man konfigurerar en rotationssensor utanför VEXcode.

Rotation#

Rotation skapar ett rotationssensorobjekt.

Usage:
Rotation(smartport)

Parameter

Beskrivning

smartport

Den smarta porten som rotationssensorn är ansluten till, skriven som Ports.PORTx, där x är portnumret.

reverse

Valfritt. Om rotationssensorns utgång ska reverseras: True eller False (standard).

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