使用 VEX IQ(第一代)距離感測器

描述

此感測器報告它與最近的固體物體之間的距離(50mm - 1m 範圍)。 它利用超音波從物體反射並返回感測器所需的時間來計算距離。


距離感測器的工作原理:監聽距離

距離感測器使用與聲納設備相同的原理來測量聲音。 它透過感測器一側的發射器發出微小的超音波脈衝,然後計算聽到聲音反射回感測器另一側的接收器所需的時間。 感測器根據聲音脈衝往返所需的時間來計算距離。 然後距離感測器根據聲速進行計算,告訴機器人大腦最近的物體有多遠。 

如果表面不平坦,例如彎曲的牆壁或球,則超音波不會均勻或同時從所有部件反射。 足夠大以反射回可檢測量的波的最近表面決定了物體的檢測距離。


距離感測器的常見用途:

此感測器可以偵測前方是否有物體。

此感測器可以測量它與物體之間的距離。

  • 機器人可以利用該感測器將物體駛離一定距離。

  • 機器人可以使用該感測器驅動到物體而不接觸它。

  • 此感測器提供的值可用於根據機器人距離物體或表面的遠近來調整機器人的速度。

距離感測器在競賽機器人上的應用

  • 當機器人處於正確位置時,可以使用距離感測器啟動一系列行為。 例如,機器人可以向前行駛,直到偵測到距離牆壁150毫米,然後轉向90度,並將物體釋放到得分區。  
  • 當在範圍內偵測到物體時,距離感測器可用於觸發機器人動作,例如拾取遊戲棋子。
  • 機器人可以使用距離感測器向物體或表面行駛,直到處於特定距離內,而不接觸它。 這可用於確保機器人不會撞倒遊戲棋子。
  • 機器人可以使用距離感測器駛離物體或表面,直到達到特定距離。 這可用於避免與現場其他機器人發生碰撞。

在 VEXcode IQ 中使用距離感測器

在 VEXcode IQ 中將距離感測器新增為設備

Screen_Shot_2023-03-01_at_10.40.38_AM.png

若要在 VEXcode IQ 中對距離感測器進行編碼,您必須先配置距離感測器。 查看本文以了解有關在 VEXcode IQ 中配置感測器的更多資訊。

配置感測器後,命令將出現在工具箱中,您可以在專案中使用它們。

對距離感測器進行區塊編碼

Screen_Shot_2023-03-01_at_10.43.09_AM.png

<Object found> 塊是一個布林報告器區塊,用於報告條件為 true 或 false。 布爾塊(例如 <Object found> 塊)適合與其他塊的六邊形(六邊形)輸入的塊內部。

如果感測器偵測到物體,則 <Object found> 布爾塊報告「真」;如果感測器未偵測到物體,則報告「假」。 要了解有關布爾塊的更多信息,請訪問 幫助塊形狀和含義 文章。

 

截圖_2023-02-28_at_1.07.13_PM.png

在此範例中, <Object found> 塊與 [等待] 塊一起使用,使機器人向前行駛,直到距離感測器偵測到物體。 當感測器偵測到物體時,機器人將停止行駛,如上圖所示。 

Screen_Shot_2023-03-01_at_11.03.40_AM.png

(距離)塊報告距離感測器最近的物體的距離。 它報告的範圍從24mm 到 1000mm,或 1 英寸到 40 英寸。 (距離)區塊是一個報告區塊,用於具有圓形空間的區塊內。

 

Screen_Shot_2023-03-01_at_11.13.38_AM.png

在此範例中,(距)模組與 [列印] 模組一起使用,以在 Brain 螢幕上顯示距離感測器與物體之間的距離。 (距離)塊也顯示在 {Wait until} 塊內的 <Less than> 塊內。 這將導致機器人行駛,直到距離感測器偵測到距離小於 50 毫米的物體,然後停止行駛。 這如上面的第一個視頻所示。

用 Python 編寫距離感測器

注意:要使用 Python 編碼 VEX IQ(第一代)距離感測器,它必須連接到 VEX IQ(第二代)大腦。 VEX IQ(第一代)Brain 不支援 Python。

Screen_Shot_2023-03-01_at_11.31.30_AM.png

指令報告有關保險桿開關的布林值 true 或 false。 

如果偵測到對象,則 distance.is_object_detected 指令報告「true」;如果未偵測到對象,則報告「false」。

注意:指令中出現的距離感測器的名稱與配置中給出的名稱相對應。 

 

Screen_Shot_2023-03-01_at_11.52.29_AM.png

在此範例中,具有 not 條件的While 循環與 distance.is_object_Detected 指令一起使用,使機器人向前行駛,直到距離感測器偵測到物體。 當感測器偵測到物體時,機器人就會停止行駛,如上圖所示。

Screen_Shot_2023-03-01_at_11.56.14_AM.png

distance.distance 指令報告距離感測器最近的物體的距離。 它報告的範圍從24mm 到 1000mm,或 1 英寸到 40 英寸

Screen_Shot_2023-03-01_at_12.03.41_PM.png

在此範例中,具有 not 條件的 While 循環與 distance.is_object_Detected 指令一起使用,使機器人向前行駛,直到距離感測器偵測到物體。 當感測器偵測到物體時,機器人將停止行駛。

在此範例中, distance.distance 指令與 Brain.screen.print 指令一起使用,以在 Brain 畫面上顯示距離感測器與物體之間的距離。 distance.distance 指令也顯示在具有 而不是 條件的 While 迴圈內。 這將導致機器人行駛,直到距離感測器偵測到距離小於 50 毫米的物體,然後停止行駛。 這如上面的第一個視頻所示。

要了解有關使用 Python 編寫距離感測器的更多信息,請查看計算機科學 1 級 - Python 課程的第 5 單元。 

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: