Drehsensor#
Einführung#
Der Rotationssensor misst die Drehung einer Welle. Er kann überall an einem Roboter eingesetzt werden, wo sich eine Welle dreht, selbst wenn diese Welle nicht direkt mit einem Motor verbunden ist.
Ein Motor verfügt über einen eingebauten Encoder, der seine eigene Rotation erfassen kann. Der Rotationssensor funktioniert wie ein externer Encoder, der die Rotation einer separaten Welle erfassen kann.
Der Rotationssensor erfasst Winkel, Position und Geschwindigkeit der Welle. Der Winkel gibt die absolute Position der Welle zwischen 0 und 359,99 Grad an. Er wird weder beim Projektstart noch beim Ausschalten des Roboters zurückgesetzt. Die Position erfasst die Drehung der Welle um mehrere Grad oder Umdrehungen vorwärts oder rückwärts während eines Projekts und kann bei Bedarf zurückgesetzt werden.
Der Rotationssensor ist mit 1/8-Zoll- und 1/4-Zoll-Standard-VEX-Wellen kompatibel.

Diese Seite verwendet rotation_sensor als Beispielnamen für den Rotationssensor. Ersetzen Sie diesen bei Bedarf durch Ihren eigenen, konfigurierten Namen.
Nachfolgend finden Sie eine Liste der verfügbaren Methoden:
set_position— Setzt die aktuelle Position des Rotationssensors auf einen bestimmten Wert.angle— Gibt den aktuellen Winkel der Welle von 0 bis 359,99 Grad zurück.position— Gibt zurück, wie weit sich die Welle in Grad oder Umdrehungen gedreht hat.velocity— Gibt zurück, wie schnell sich die Welle dreht.reset_position— Setzt die aktuelle Position des Rotationssensors auf 0 zurück.set_reversed— Legt fest, ob die Ausgabe des Rotationssensors umgekehrt wird.changed— Registriert eine Funktion, die immer dann ausgeführt wird, wenn sich der Wert des Rotationssensors ändert.
Konstruktor – Manuelle Initialisierung eines Rotationssensors.
Rotation— Erzeugt einen Rotationssensor.
Position festlegen#
set_position setzt die aktuelle Position des Rotationssensors auf einen Wert.
Die Position gibt an, wie weit sich die Welle während eines Projekts gedreht hat. Durch Ändern der Position wird der aktuelle Positionswert angepasst, ohne die Welle zu bewegen.
Usage:
rotation_sensor.set_position(position, units)
Parameter |
Beschreibung |
|---|---|
|
Der Positionswert, der dem Rotationssensor zugewiesen werden soll. Dies kann eine ganze Zahl oder eine Dezimalzahl sein. |
|
Optional. Die Positionseinheit: |
# Set the Rotation Sensor to 2.5 Turns
rotation_sensor.set_position(2.5, TURNS)
Winkel#
angle gibt den aktuellen Winkel der Welle als Gleitkommazahl zurück.
Der Winkel gibt die absolute Position der Welle innerhalb einer Umdrehung an, von 0 bis 359,99 Grad. Er wird weder beim Start eines Projekts noch beim Ausschalten des Roboters zurückgesetzt.
Usage:
rotation_sensor.angle(units)
Parameter |
Beschreibung |
|---|---|
|
Optional. Die Winkeleinheit: |
Position#
Die Position position wie weit sich die Welle gedreht hat.
Im Gegensatz zum Winkel kann die Position über 359,99 Grad hinausgehen oder unter 0 Grad fallen. Die Position erfasst, wie weit sich die Welle während eines Projekts vorwärts oder rückwärts dreht und kann bei Bedarf zurückgesetzt werden.
Usage:
rotation_sensor.position(units)
Parameter |
Beschreibung |
|---|---|
|
Optional. Die Positionseinheit: |
Geschwindigkeit#
velocity gibt an, wie schnell sich die Welle dreht.
Usage:
rotation_sensor.velocity(units)
Parameter |
Beschreibung |
|---|---|
|
Die Geschwindigkeitseinheit: |
Reset-Position#
reset_position setzt die aktuelle Position des Rotationssensors auf 0 zurück.
Usage:
rotation_sensor.reset_position()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
set_reversed#
set_reversed legt fest, ob die Ausgabe des Rotationssensors umgekehrt wird.
Bei Umkehrung werden positive Werte negativ und negative Werte positiv. Diese Methode funktioniert genauso wie das Setzen des Parameters reverse auf True beim Verwenden des Konstruktors Rotation .
Usage:
rotation_sensor.set_reversed(value)
Parameter |
Beschreibung |
|---|---|
|
Ob die Ausgabe des Rotationssensors umgekehrt werden soll: |
geändert#
changed registriert eine Funktion, die aufgerufen werden soll, sobald sich der Wert des Rotationssensors ändert.
Usage:
rotation_sensor.changed(callback, arg)
Parameter |
Beschreibung |
|---|---|
|
Eine zuvor definierte Funktion, die ausgeführt wird, wenn sich der Wert des Rotationssensors ändert. |
|
Optional. Ein Tupel mit Argumenten, die an die Callback-Funktion übergeben werden sollen. Weitere Informationen finden Sie unter Verwendung von Funktionen mit Parametern. |
def my_function():
brain.screen.print("Rotated!")
# Call my_function whenever rotation_sensor's value changes
rotation_sensor.changed(my_function)
Konstruktor#
Konstruktoren werden verwendet, um manuell Rotation Objekte zu erstellen, beispielsweise bei der Konfiguration eines Rotationssensors außerhalb von VEXcode.
Rotation#
Rotation erzeugt ein Rotationssensorobjekt.
Usage:
Rotation(smartport)
Parameter |
Beschreibung |
|---|---|
|
Der Smart Port, an den der Rotationssensor angeschlossen ist, wird als |
|
Optional. Gibt an, ob die Ausgabe des Rotationssensors umgekehrt werden soll: |
# Create an inverted Rotation Sensor in Port 10
rotation_sensor = Rotation(Ports.PORT10, True)