描述
此感測器報告它與最近的固體物體之間的距離(50mm - 1m 範圍)。 它利用超音波從物體反射並返回感測器所需的時間來計算距離。
距離感測器的工作原理:監聽距離
距離感測器使用與聲納設備相同的原理來測量聲音。 它透過感測器一側的發射器發出微小的超音波脈衝,然後計算聽到聲音反射回感測器另一側的接收器所需的時間。 感測器根據聲音脈衝往返所需的時間來計算距離。 然後距離感測器根據聲速進行計算,告訴機器人大腦最近的物體有多遠。
如果表面不平坦,例如彎曲的牆壁或球,則超音波不會均勻或同時從所有部件反射。 足夠大以反射回可檢測量的波的最近表面決定了物體的檢測距離。
距離感測器的常見用途:
此感測器可以偵測前方是否有物體。
此感測器可以測量它與物體之間的距離。
- 機器人可以利用該感測器將物體駛離一定距離。
- 機器人可以使用該感測器驅動到物體而不接觸它。
- 此感測器提供的值可用於根據機器人距離物體或表面的遠近來調整機器人的速度。
距離感測器在競賽機器人上的應用
- 當機器人處於正確位置時,可以使用距離感測器啟動一系列行為。 例如,機器人可以向前行駛,直到偵測到距離牆壁150毫米,然後轉向90度,並將物體釋放到得分區。
- 當在範圍內偵測到物體時,距離感測器可用於觸發機器人動作,例如拾取遊戲棋子。
- 機器人可以使用距離感測器向物體或表面行駛,直到處於特定距離內,而不接觸它。 這可用於確保機器人不會撞倒遊戲棋子。
- 機器人可以使用距離感測器駛離物體或表面,直到達到特定距離。 這可用於避免與現場其他機器人發生碰撞。
在 VEXcode IQ 中使用距離感測器
在 VEXcode IQ 中將距離感測器新增為設備
若要在 VEXcode IQ 中對距離感測器進行編碼,您必須先配置距離感測器。 查看本文以了解有關在 VEXcode IQ 中配置感測器的更多資訊。
配置感測器後,命令將出現在工具箱中,您可以在專案中使用它們。
對距離感測器進行區塊編碼
在此範例中, <Object found> 塊與 [等待] 塊一起使用,使機器人向前行駛,直到距離感測器偵測到物體。 當感測器偵測到物體時,機器人將停止行駛,如上圖所示。
(距離)塊報告距離感測器最近的物體的距離。 它報告的範圍從24mm 到 1000mm,或 1 英寸到 40 英寸。 (距離)區塊是一個報告區塊,用於具有圓形空間的區塊內。
在此範例中,(距)模組與 [列印] 模組一起使用,以在 Brain 螢幕上顯示距離感測器與物體之間的距離。 (距離)塊也顯示在 {Wait until} 塊內的 <Less than> 塊內。 這將導致機器人行駛,直到距離感測器偵測到距離小於 50 毫米的物體,然後停止行駛。 這如上面的第一個視頻所示。
用 Python 編寫距離感測器
注意:要使用 Python 編碼 VEX IQ(第一代)距離感測器,它必須連接到 VEX IQ(第二代)大腦。 VEX IQ(第一代)Brain 不支援 Python。
指令報告有關保險桿開關的布林值 true 或 false。
如果偵測到對象,則 distance.is_object_detected 指令報告「true」;如果未偵測到對象,則報告「false」。
注意:指令中出現的距離感測器的名稱與配置中給出的名稱相對應。
在此範例中,具有 not 條件的While 循環與 distance.is_object_Detected 指令一起使用,使機器人向前行駛,直到距離感測器偵測到物體。 當感測器偵測到物體時,機器人就會停止行駛,如上圖所示。
distance.distance 指令報告距離感測器最近的物體的距離。 它報告的範圍從24mm 到 1000mm,或 1 英寸到 40 英寸。
在此範例中,具有 not 條件的 While 循環與 distance.is_object_Detected 指令一起使用,使機器人向前行駛,直到距離感測器偵測到物體。 當感測器偵測到物體時,機器人將停止行駛。
在此範例中, distance.distance 指令與 Brain.screen.print 指令一起使用,以在 Brain 畫面上顯示距離感測器與物體之間的距離。 distance.distance 指令也顯示在具有 而不是 條件的 While 迴圈內。 這將導致機器人行駛,直到距離感測器偵測到距離小於 50 毫米的物體,然後停止行駛。 這如上面的第一個視頻所示。
要了解有關使用 Python 編寫距離感測器的更多信息,請查看計算機科學 1 級 - Python 課程的第 5 單元。