陀螺儀感應器#
介紹#
gyro 類與陀螺儀感測器配合使用,用於測量繞單軸的旋轉運動。它可以追蹤機器人的朝向以及機器人的旋轉角度。
類別建構函數#
gyro(
int32_t index );
類別析構函數#
銷毀 gyro 物件並釋放相關資源。
virtual ~gyro();
參數#
範圍 |
類型 |
描述 |
|---|---|---|
|
|
陀螺儀感測器連接的智慧型端口,記為 |
例子#
// Create a gyro instance in Port 1
gyro Gyro1 = gyro(PORT1);
成員功能#
gyro 類別包含以下成員函數:
calibrate— 校準陀螺儀感測器。setHeading— 將陀螺儀感應器的目前航向設定為新的航向值。setRotation— 將陀螺儀感應器的目前旋轉設定為新的旋轉值。heading— 返回陀螺儀感應器的朝向。rotation— 返回陀螺儀感應器旋轉了多遠。rate— 返回陀螺儀感測器的旋轉速度。
在呼叫任何 gyro 成員函數之前,必須先建立一個 gyro 實例,如下所示:
/* This constructor is required when using VS Code.
Gyro Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create a gyro instance in Port 1
gyro Gyro1 = gyro(PORT1);
calibrate#
校準陀螺儀感測器。
Available Functionsvoid calibrate();
此函數不接受任何參數。
Return Values此函數不傳回值。
Notes校準有助於陀螺儀感測器正確測量轉彎角度。校準過程中請保持感測器靜止。如果在校準過程中感測器移動,則航向、旋轉和速率值可能無法正確測量轉彎角度。
// Calibrate the Gyro Sensor before turning.
Gyro1.calibrate();
setHeading#
將陀螺儀感測器的目前航向設定為特定值。
航向角是指陀螺儀感測器朝向的方向,測量範圍為 0 到 359.99 度。設定航向角會改變感測器的當前方向參考。
Available Functionsvoid setHeading(
double value,
rotationUnits units );
參數 |
類型 |
描述 |
|---|---|---|
|
|
新標題要使用的值。 |
|
|
表示航向的單位:
|
此函數不傳回值。
setRotation#
將陀螺儀感應器的目前旋轉角度設定為特定值。
旋轉角度是指陀螺儀感應器轉動的幅度。與航向不同,旋轉角度可以超過 359.99 度,也可以低於 0 度。
Available Functionsvoid setRotation(
double value,
rotationUnits units );
參數 |
類型 |
描述 |
|---|---|---|
|
|
要用於新旋轉值的值。 |
|
|
表示旋轉值的單位:
|
此函數不傳回值。
heading#
返回陀螺儀感測器的目前航向。
航向角是指陀螺儀感測器朝向的方向,測量範圍為 0 到 359.99 度。如果感測器旋轉超過 359.99 度,航向角將回落至 0 度。
Available Functionsdouble heading(
rotationUnits units = degrees );
範圍 |
類型 |
描述 |
|---|---|---|
|
|
表示航向的單位:
|
傳回一個 double 表示陀螺儀感測器的目前航向,單位為指定值,預設為 degrees。
// Get the current heading for the Gyro.
double value = Gyro1.heading();
Brain.Screen.print(value);
rotation#
返回陀螺儀感應器的目前旋轉角度。
旋轉角度是指陀螺儀感應器轉動的程度。與航向不同,旋轉角度可以超過 359.99 度,也可以低於 0 度。例如,向右旋轉兩圈,旋轉角度為 720 度。從 0 度向左旋轉一圈,旋轉角度為 -360 度。
Available Functionsdouble rotation(
rotationUnits units = degrees );
範圍 |
類型 |
描述 |
|---|---|---|
|
|
表示旋轉值的單位:
|
傳回一個 double 表示陀螺儀感測器的目前旋轉值,單位為指定值,預設為 degrees。
// Get the current rotation for the Gyro.
double value = Gyro1.rotation();
Brain.Screen.print(value);
rate#
返回陀螺儀感應器的旋轉速率。
轉速是指陀螺儀感測器旋轉的速度。該值可以是正數也可以是負數,這取決於感測器的旋轉方向。
Available Functionsdouble rate(
rateUnits units = rateUnits::dps );
範圍 |
類型 |
描述 |
|---|---|---|
|
|
表示速率的單位:
|
傳回一個 double 表示陀螺儀感測器的目前變化率,單位為指定值,預設為 rateUnits::dps。