旋轉感應器#
介紹#
旋轉感測器用於測量軸的旋轉。它可以用於機器人上任何有軸旋轉的地方,即使該軸沒有直接連接到馬達。
馬達內建編碼器,可追蹤自身的旋轉。旋轉感測器的工作原理類似於外部編碼器,可以追蹤獨立軸的旋轉。
旋轉感測器可以返回軸的角度、位置和速度。角度是指軸的絕對位置,範圍從 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)