旋转传感器#
介绍#
旋转传感器用于测量轴的旋转。它可以用于机器人上任何有轴旋转的地方,即使该轴没有直接连接到电机。
电机内置编码器,可以跟踪自身的旋转。旋转传感器的工作原理类似于外部编码器,可以跟踪独立轴的旋转。
旋转传感器可以返回轴的角度、位置和速度。角度是指轴的绝对位置,范围从 0 度到 359.99 度。当项目开始或机器人断电时,角度不会重置。位置传感器跟踪轴在项目进行期间正向或反向旋转的角度或圈数,并且可以根据需要进行重置。
旋转传感器兼容 1/8 英寸和 1/4 英寸标准 VEX 轴。

本页面使用 rotation_sensor 作为旋转传感器的示例名称。您可以根据需要将其替换为您自己配置的名称。
以下是可用方法列表:
set_position— 将旋转传感器的当前位置设置为特定值。angle— 返回轴的当前角度,范围从 0 到 359.99 度。position— 返回轴旋转的角度或圈数。velocity— 返回轴的旋转速度。reset_position— 将旋转传感器的当前位置重置为 0。set_reversed— 设置旋转传感器的输出是否反转。changed— 注册一个函数,当旋转传感器的值发生变化时运行。
构造函数 — 手动初始化旋转传感器。
Rotation— 创建一个旋转传感器。
设置位置#
set_position 将旋转传感器的当前位置设置为一个值。
位置是指轴在项目进行过程中旋转的距离。设置位置会在不移动轴的情况下改变当前位置值。
Usage:
rotation_sensor.set_position(position, units)
参数 |
描述 |
|---|---|
|
要分配给旋转传感器的位置值。该值可以是整数或小数。 |
|
可选。位置单位: |
# Set the Rotation Sensor to 2.5 Turns
rotation_sensor.set_position(2.5, TURNS)
角度#
angle 返回轴的当前角度(浮点数)。
角度值表示轴在一个旋转周期内的绝对位置,范围从 0 到 359.99 度。项目开始或机器人断电时,该值不会重置。
Usage:
rotation_sensor.angle(units)
参数 |
描述 |
|---|---|
|
可选。角度单位: |
位置#
位置position
与角度不同,位置可以超过 359.99 度,也可以低于 0 度。位置参数跟踪轴在项目进行过程中正向或反向旋转的距离,并可根据需要进行重置。
Usage:
rotation_sensor.position(units)
参数 |
描述 |
|---|---|
|
可选。位置单位: |
速度#
velocity 返回轴的旋转速度。
Usage:
rotation_sensor.velocity(units)
参数 |
描述 |
|---|---|
|
速度单位: |
重置位置#
reset_position 将旋转传感器的当前位置重置为 0。
Usage:
rotation_sensor.reset_position()
参数 |
描述 |
|---|---|
此方法没有参数。 |
设置反转#
set_reversed 设置旋转传感器的输出是否反转。
反转后,正值变为负值,负值变为正值。此方法与使用 Rotation 构造函数 时将 reverse 参数设置为 True 的效果相同。
Usage:
rotation_sensor.set_reversed(value)
参数 |
描述 |
|---|---|
|
是否反转旋转传感器输出: |
已更改#
changed 注册一个函数,当旋转传感器的值发生变化时,该函数将被调用。
Usage:
rotation_sensor.changed(callback, arg)
参数 |
描述 |
|---|---|
|
先前定义的 函数,当旋转传感器的值发生变化时运行。 |
|
可选。包含要传递给回调函数的参数的元组。有关更多信息,请参阅使用带参数的函数。 |
def my_function():
brain.screen.print("Rotated!")
# Call my_function whenever rotation_sensor's value changes
rotation_sensor.changed(my_function)
构造函数#
构造函数用于手动创建 Rotation 对象,例如在 VEXcode 之外配置旋转传感器时。
Rotation#
Rotation 创建一个旋转传感器对象。
Usage:
Rotation(smartport)
范围 |
描述 |
|---|---|
|
旋转传感器连接的智能端口,写成 |
|
可选。是否反转旋转传感器输出: |
# Create an inverted Rotation Sensor in Port 10
rotation_sensor = Rotation(Ports.PORT10, True)