距離感測器#

介紹#

distance 類用於控制和存取距離感測器的資料。

距離感測器可以偵測物體是否位於感測器前方,並返回物體與感測器之間的距離。它還可以返回被偵測物體的相對速度,並估計物體的大小(小、中、大)。

距離感測器的工作範圍為 20 毫米至 2000 毫米。

小於 200 毫米時,精確度約為 ±15 毫米;大於 200 毫米時,精確度可提高至約 5%。

此距離感測器採用1級雷射。探測方向為正前方,對教室環境安全。

類別建構函數#

distance( int32_t  index );

類別析構函數#

銷毀距離為 distance 物件並釋放相關資源。

~distance();

參數#

範圍

類型

描述

index

int32_t

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

範例#

// Create a Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);

成員功能#

距離 distance 包含以下成員函數:

  • objectDistance — 返回距離感測器與最近偵測到的物件之間的距離。

  • objectSize — 傳回偵測到的物件的大小估計值。

  • objectVelocity — 傳回偵測到的物件向距離感測器移動或遠離距離感測器的速度。

  • isObjectDetected — 傳回距離感測器目前是否偵測到物件。

  • changed — 註冊一個回呼函數,當偵測到的距離值發生變化時運行。

  • installed — 返回距離感測器是否已安裝並連接。

在呼叫任何距離 distance 成員函數之前,必須先建立一個距離 distance 實例,如下所示:

/* This constructor is required when using VS Code.
Distance Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);

objectDistance#

返回距離感測器與最近偵測到的物體之間的距離。

Available Functions
double objectDistance( distanceUnits units );

Parameters

範圍

類型

描述

units

distanceUnits

距離單位:

  • mm 毫米(20 毫米至 2000 毫米)
  • cm 厘米(2 厘米至 200 厘米)
  • inches 英寸(0.78 英寸至 78.74 英寸)

Return Values

傳回一個 double ,表示距離感測器與最近偵測到的物體之間的距離,單位為指定單位。

objectSize#

返回距離感測器偵測到的物體的估計尺寸。

距離感測器根據被偵測到的物體在感測器視野中所佔的比例來估計物體的大小。

Available Functions
sizeType objectSize();

Parameters

此函數不接受任何參數。

Return Values

傳回 sizeType 為 sizeType ,表示偵測到的物件的大小估計值:

  • none — No object is detected.
  • small — A small object is detected.
  • medium — A medium object is detected.
  • large — A large object is detected.

objectVelocity#

傳回偵測到的物體的相對速度。

速度表示物體相對於距離感測器移動或遠離的快慢。接近 0 的值表示物體相對於感測器移動的幅度很小。

Available Functions
double objectVelocity();

Parameters

此函數不接受任何參數。

Return Values

傳回一個 double 表示偵測到的物體的相對速度,單位為 m/s(公尺每秒)。

isObjectDetected#

返回距離感測器目前是否偵測到物體。

Available Functions
bool isObjectDetected();

Parameters

此函數不接受任何參數。

Return Values

返回布林值,指示距離感測器是否偵測到物體:

  • true — The Distance Sensor detects an object.
  • false — The Distance Sensor does not detect an object.

changed#

註冊一個回調函數,當偵測到的距離值發生變化時運行該函數。

Available Functions
void changed( void (* callback)(void) );

Parameters

範圍

類型

描述

callback

void (*)(void)

指向一個函數的指針,該函數將在檢測到的距離值變化時被呼叫。函數必須不接受任何參數,並且傳回 void。

Return Values

此函數不傳回值。

installed#

返回距離感測器是否已安裝並連接。

Available Functions
bool installed();

Parameters

此函數不接受任何參數。

Return Values

返回一個布林值,指示距離感測器是否已安裝並連接:

  • true — The Distance Sensor is installed and connected.
  • false — The Distance Sensor is not installed or not connected.