Rotatiesensor#

Invoering#

De rotatiesensor meet de rotatie van een as. Hij kan overal op een robot worden gebruikt waar een as roteert, zelfs als die as niet direct met een motor is verbonden.

Een motor heeft een ingebouwde encoder die zijn eigen rotatie kan meten. De rotatiesensor werkt als een externe encoder die de rotatie van een aparte as kan meten.

De rotatiesensor kan de hoek, positie en snelheid van de as meten. De hoek is de absolute positie van de as tussen 0 en 359,99 graden. Deze waarde wordt niet gereset wanneer een project start of wanneer de robot wordt uitgeschakeld. De positie registreert hoeveel graden of omwentelingen de as tijdens een project voorwaarts of achterwaarts heeft gedraaid en kan indien nodig worden gereset.

De rotatiesensor is compatibel met standaard VEX-assen van 1/8 inch en 1/4 inch.

De VEX EXP-rotatiesensor.

Op deze pagina wordt rotation_sensor als voorbeeldnaam voor de rotatiesensor gebruikt. Vervang dit door uw eigen geconfigureerde naam indien nodig.

Hieronder vindt u een lijst met beschikbare methoden:

  • set_position — Stelt de huidige positie van de rotatiesensor in op een specifieke waarde.

  • angle — Geeft de huidige hoek van de as weer, van 0 tot 359,99 graden.

  • position — Geeft aan hoeveel de as is gedraaid in graden of omwentelingen.

  • velocity — Geeft aan hoe snel de as roteert.

  • reset_position — Reset de huidige positie van de rotatiesensor naar 0.

  • set_reversed — Stelt in of de uitvoer van de rotatiesensor wordt omgekeerd.

  • changed — Registreert een functie die wordt uitgevoerd wanneer de waarde van de rotatiesensor verandert.

Constructor — Initialiseer handmatig een rotatiesensor.

  • Rotation — Maakt een rotatiesensor aan.

set_position#

set_position stelt de huidige positie van de rotatiesensor in op een waarde.

De positie geeft aan hoeveel de as tijdens een project is gedraaid. Door de positie in te stellen, wordt de huidige positiewaarde gewijzigd zonder de as te bewegen.

Usage:
rotation_sensor.set_position(position, units)

Parameters

Beschrijving

position

De positiewaarde die aan de rotatiesensor moet worden toegewezen. Dit kan een geheel getal of een decimaal getal zijn.

units

Optioneel. De positie-eenheid: DEGREES (standaard) of TURNS.

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

hoek#

angle geeft de huidige hoek van de as terug als een zwevendekommagetal.

De hoekmeting geeft de absolute positie van de as weer binnen één rotatie, van 0 tot 359,99 graden. Deze meting wordt niet gereset bij het starten van een project of bij het uitschakelen van de robot.

Usage:
rotation_sensor.angle(units)

Parameters

Beschrijving

units

Optioneel. De hoekeenheid: DEGREES (standaard) of TURNS.

positie#

Positie position geven aan hoeveel de as is gedraaid.

In tegenstelling tot de hoek kan de positie groter worden dan 359,99 graden of kleiner dan 0 graden. De positie registreert hoe ver de as voorwaarts of achterwaarts draait tijdens een project en kan indien nodig worden gereset.

Usage:
rotation_sensor.position(units)

Parameters

Beschrijving

units

Optioneel. De positie-eenheid: DEGREES (standaard) of TURNS.

snelheid#

velocity geeft aan hoe snel de as draait.

Usage:
rotation_sensor.velocity(units)

Parameters

Beschrijving

units

De snelheidseenheid: VelocityUnits.RPM (omwentelingen per minuut) of VelocityUnits.DPS (graden per seconde).

reset_positie#

reset_position zet de huidige positie van de rotatiesensor terug naar 0.

Usage:
rotation_sensor.reset_position()

Parameters

Beschrijving

Deze methode heeft geen parameters.

set_reversed#

set_reversed stelt in of de uitvoer van de rotatiesensor wordt omgekeerd.

Wanneer omgekeerd, worden positieve waarden negatief en negatieve waarden positief. Deze methode werkt hetzelfde als het instellen van de parameter reverse op True bij gebruik van de Rotation constructor.

Usage:
rotation_sensor.set_reversed(value)

Parameters

Beschrijving

value

Of de uitvoer van de rotatiesensor moet worden omgekeerd: True of False.

veranderd#

changed registreert een functie die wordt aangeroepen wanneer de waarde van de rotatiesensor verandert.

Usage:
rotation_sensor.changed(callback, arg)

Parameters

Beschrijving

callback

Een eerder gedefinieerde functie die wordt uitgevoerd wanneer de waarde van de rotatiesensor verandert.

arg

Optioneel. Een tuple met argumenten die aan de callbackfunctie moeten worden doorgegeven. Zie Functies gebruiken met parameters voor meer informatie.

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

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

Constructor#

Constructors worden gebruikt om handmatig Rotation objecten te creëren, bijvoorbeeld bij het configureren van een rotatiesensor buiten VEXcode.

Rotation#

Rotation creëert een Rotatiesensor-object.

Usage:
Rotation(smartport)

Parameter

Beschrijving

smartport

De slimme poort waarop de rotatiesensor is aangesloten, wordt weergegeven als Ports.PORTx, waarbij x het poortnummer is.

reverse

Optioneel. Of de uitvoer van de rotatiesensor moet worden omgekeerd: True of False (standaard).

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