第1步:它是如何工作的?

定位系統(tǒng)由三個帶有超聲波探測器的傳感器站形成,id_node 1,2和3形成一個掃過角度的矩形或正方形如圖所示,它們之間的距離是已知的。
const float distancebetween1and2 = 60.0;
const float distancebetween2and3 = 75.0;
這些傳感器測量id_node大于3且具有超聲波探測器的其他物體的距離和角度掃描角度為170°。
所有這些都使用無線通信將距離,測量角度和id_node發(fā)送到另一個主站進(jìn)行分析,使用三角計算計算物體的位置并識別它們。/p》
為了避免干擾,主站以這種方式同步所有超聲波探測器,每個探測器只測量一個超聲波探測器時刻
在此之后并使用串行通信,主站將信息(角度,距離,id_object)發(fā)送到處理草圖以繪制結(jié)果。
步驟2 :如何配置三個傳感器站和對象


每個傳感器站的唯一功能是檢測對象并發(fā)送距離列表測量到主站的角度和id節(jié)點。
因此,您必須更新允許的最大檢測距離(“valid_max_distance”)和最小值(“valid_min_distance”)(厘米),以改善檢測和限制檢測區(qū)域:
int valid_max_distance = 80;
int valid_min_distance = 1;
這些傳感器站的id節(jié)點(下面代碼中的“this_node”)為1,2和3,主站的id節(jié)點為0 。
const uint16_t this_node = 01; // Address of our node in Octal format (Node01,Node02, Node03)
const uint16_t other_node = 00; //Address of the master node (Node00) in Octal format
每個傳感器站掃描并且角度為100o(下面的代碼中為“max_angle”)
#define min_angle 0
#define max_angle 100
如上所述,對象的唯一功能是檢測對象并將測量的距離,角度和id對象列表發(fā)送給主站。一個對象的id(下面代碼中的“this_node”)必須大于3.
每個對象掃描并且角度為170o,如上所述,可以更新最大和最小檢測距離。
const uint16_t this_node = 04; // Address of our node in Octal format (Node04,Node05, 。..)
const uint16_t other_node = 00; // Address of the master node (Node00) in Octal format
int valid_max_distance = 80;
int valid_min_distance = 1;
#define min_angle 0
#define max_angle 170
步驟3:如何配置主站



主站的功能是接收傳感器站和對象的傳輸,并使用串行端口將結(jié)果發(fā)送到處理草圖以繪制它們。此外,以這種方式同步所有物體和三個傳感器站,每次只測量其中一個以避免干擾。
Firstable你必須更新傳感器1和2之間的距離(厘米)和2到3之間的距離。
const float distancebetween1and2 = 60.0;
const float distancebetween2and3 = 70.0;
草圖以下列方式計算對象的位置:
對于對象的所有傳輸( id_node大于3)在超聲波傳感器(id_node 1,2或3)的每次傳輸中尋找相同的距離。
所有這些點形成一個“候選者”列表(距離,角度,id_node)作為一個對象的位置(草圖中的“process_pointobject_with_pointssensor”)。
對于前一個列表中的每個“候選者”,函數(shù)“candidate_selected_between_sensor2and3”從超聲波傳感器2和3的角度計算它們中的哪個匹配以下三角條件(參見圖片2和3)
float distancefroms2 = sin(radians(angle)) * distance;
float distancefroms3 = cos(radians(angle_candidate)) * distance_candidate;
// Trigonometry condition 1
abs(distancefroms2 + distancefroms3 - distancebetween2and3) 《= float(max_diference_distance)
如上所述,對于前一列表的每個“候選”,從超聲波傳感器1的角度計算函數(shù)“candidate_selected_between_sensor1and2” 2其中哪一個與以下三角關(guān)系匹配(見圖2和圖3)
float distancefroms1 = sin(radians(angle)) * distance;
float distancefroms2 = cos(radians(angle_candidate)) * distance_candidate;
// Trigonometry condition 2
abs(distancefroms1 + distancefroms2 - distancebetween1and2) 《= float(max_diference_distance)
只有候選者(距離,角度,id_node)匹配三角測量條件1和2是傳感器站1,2和3檢測到的識別對象。
之后,主站將結(jié)果發(fā)送到處理草圖繪制它們。
步驟4:材料清單

一個傳感器站或一個對象所需的材料清單是以下內(nèi)容:
納米板
超聲波傳感器
微型伺服電機
NRF24L01無線模塊
NRF24L01適配器
以及主站的材料清單如下:
Nano board
NRF24L01無線模塊
NRF24L01適配器
-
探測器
+關(guān)注
關(guān)注
15文章
2763瀏覽量
75882 -
超聲波
+關(guān)注
關(guān)注
63文章
3302瀏覽量
145284
發(fā)布評論請先 登錄
什么是超聲波原理的液位傳感器?
教你如何對超聲波清洗機的振蕩器進(jìn)行維護
超聲波測距換能器:工業(yè)與生活中的測量利器
超聲波測距換能器:工業(yè)與生活中的測量利器
超聲波清洗機是什么,它如何通過超聲波振動來清洗物品?
超聲波換能器:原理與多領(lǐng)域應(yīng)用解析
超聲波換能器:原理與多領(lǐng)域應(yīng)用解析
超聲波氣泡換能器:工業(yè)生產(chǎn)的“隱形衛(wèi)士”
超聲波水下測距換能器:探索水下世界的“千里眼”
一文讀懂超聲波換能器:原理、應(yīng)用與未來趨勢
超聲波換能器--聲波世界的 “神奇魔法師”
超聲波清洗機的作用是什么?使用超聲波清洗機可以去除毛刺嗎?
超聲波頻率和功率對在線式超聲波清洗的影響如何?
超聲波探測器DIY圖解
評論