陀螺儀感應器#

介紹#

gyro 類與陀螺儀感測器配合使用,用於測量繞單軸的旋轉運動。它可以追蹤機器人的朝向以及機器人的旋轉角度。

類別建構函數#

gyro(
    int32_t index );

類別析構函數#

銷毀 gyro 物件並釋放相關資源。

virtual ~gyro();

參數#

範圍

類型

描述

index

int32_t

陀螺儀感測器連接的智慧型端口,記為 PORTx,其中 x 是端口號(例如, PORT1)。

例子#

// 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 Functions
void calibrate();

Parameters

此函數不接受任何參數。

Return Values

此函數不傳回值。

Notes
  • 校準有助於陀螺儀感測器正確測量轉彎角度。校準過程中請保持感測器靜止。如果在校準過程中感測器移動,則航向、旋轉和速率值可能無法正確測量轉彎角度。

Examples
// Calibrate the Gyro Sensor before turning.
Gyro1.calibrate();

setHeading#

將陀螺儀感測器的目前航向設定為特定值。

航向角是指陀螺儀感測器朝向的方向,測量範圍為 0 到 359.99 度。設定航向角會改變感測器的當前方向參考。

Available Functions
void setHeading(
  double        value,
  rotationUnits units );

參數

類型

描述

value

double

新標題要使用的值。

units

rotationUnits

表示航向的單位:

  • degrees
  • turns

Return Values

此函數不傳回值。

setRotation#

將陀螺儀感應器的目前旋轉角度設定為特定值。

旋轉角度是指陀螺儀感應器轉動的幅度。與航向不同,旋轉角度可以超過 359.99 度,也可以低於 0 度。

Available Functions
void setRotation(
  double        value,
  rotationUnits units );

Parameters

參數

類型

描述

value

double

要用於新旋轉值的值。

units

rotationUnits

表示旋轉值的單位:

  • degrees
  • turns

Return Values

此函數不傳回值。

heading#

返回陀螺儀感測器的目前航向。

航向角是指陀螺儀感測器朝向的方向,測量範圍為 0 到 359.99 度。如果感測器旋轉超過 359.99 度,航向角將回落至 0 度。

Available Functions
double heading(
  rotationUnits units = degrees );

Parameters

範圍

類型

描述

units

rotationUnits

表示航向的單位:

  • degrees (預設)
  • turns

Return Values

傳回一個 double 表示陀螺儀感測器的目前航向,單位為指定值,預設為 degrees。

Examples
// Get the current heading for the Gyro.
double value = Gyro1.heading();
Brain.Screen.print(value);

rotation#

返回陀螺儀感應器的目前旋轉角度。

旋轉角度是指陀螺儀感應器轉動的程度。與航向不同,旋轉角度可以超過 359.99 度,也可以低於 0 度。例如,向右旋轉兩圈,旋轉角度為 720 度。從 0 度向左旋轉一圈,旋轉角度為 -360 度。

Available Functions
double rotation(
  rotationUnits units = degrees );

Parameters

範圍

類型

描述

units

rotationUnits

表示旋轉值的單位:

  • degrees (預設)
  • turns

Return Values

傳回一個 double 表示陀螺儀感測器的目前旋轉值,單位為指定值,預設為 degrees。

Examples
// Get the current rotation for the Gyro.
double value = Gyro1.rotation();
Brain.Screen.print(value);

rate#

返回陀螺儀感應器的旋轉速率。

轉速是指陀螺儀感測器旋轉的速度。該值可以是正數也可以是負數,這取決於感測器的旋轉方向。

Available Functions
double rate(
  rateUnits units = rateUnits::dps );

Parameters

範圍

類型

描述

units

rateUnits

表示速率的單位:

  • rateUnits::dps (預設)— 度/秒
  • rateUnits::rpm — 轉/分鐘

Return Values

傳回一個 double 表示陀螺儀感測器的目前變化率,單位為指定值,預設為 rateUnits::dps。