編碼器#
介紹#
encoder 類與光學軸編碼器配合使用,用於測量軸的旋轉位置和速度。它利用內部光學感測器檢測軸的旋轉角度和速度,因此可用於追蹤車輪旋轉、機械手臂位置或其他機構。

類別建構函數#
encoder(
triport::port &port );
類別析構函數#
銷毀 encoder 物件並釋放相關資源。
virtual ~encoder();
參數#
範圍 |
類型 |
描述 |
|---|---|---|
|
|
光學軸編碼器使用的所需雙埠組中的第一個三線連接埠。編碼器佔用主機板或三線擴展器上的兩個相鄰連接埠(A-B、C-D、E-F 或 G-H)。指定連接埠對中的第一個連接埠(A、C、E 或 G),格式為 |
範例#
// Create an encoder instance in Ports A and B
encoder EncoderA = encoder(Brain.ThreeWirePort.A);
成員功能#
encoder 類別包含以下成員函數:
setPosition— 將編碼器的目前位置設定為指定的值。position— 返回編碼器旋轉了多遠。velocity— 傳回編碼器的目前旋轉速度。
在呼叫 encoder 成員函數之前,必須先建立 encoder 實例,如下所示:
/* This constructor is required when using VS Code.
Encoder configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create an encoder instance in Ports A and B
encoder EncoderA = encoder(Brain.ThreeWirePort.A);
setPosition#
將編碼器的目前位置設定為指定值。這可用於手動設定追蹤位置,而無需旋轉馬達或其他機構。
Available Functionsvoid setPosition(
double value,
rotationUnits units);
參數 |
類型 |
描述 |
|---|---|---|
|
|
要設定的旋轉位置。 |
|
|
The unit that represents the position:
|
此函數不傳回值。
position#
返回與編碼器相連的軸旋轉了多遠。
Available Functionsdouble position(
rotationUnits units );
參數 |
類型 |
描述 |
|---|---|---|
|
|
The unit that represents the position:
|
傳回一個 double 的雙精度浮點數,表示以指定單位表示的旋轉角度。
velocity#
返回編碼器的旋轉速度。
Available Functionsdouble velocity(
velocityUnits units );
參數 |
類型 |
描述 |
|---|---|---|
|
|
速度單位:
|
傳回一個 double 之間的雙精度浮點數,表示以指定單位表示的速度。