如何用藍(lán)牙實(shí)現(xiàn)無線定位--本地定位顯示
1. 被定位目標(biāo)
? ? ? ?本項(xiàng)目設(shè)計(jì)有兩個(gè)定位裝置,一個(gè)用于固定目標(biāo),一個(gè)用于可移動(dòng)設(shè)備。在定位系統(tǒng)的幫助下,我們可以操作可移動(dòng)設(shè)備向固定目標(biāo)移動(dòng)。假設(shè)這是一個(gè)救援場(chǎng)景的話,我們就可以把固定的目標(biāo)看作等待救援的人或物,把可移動(dòng)的設(shè)備看作前來救援的機(jī)器人。
2. 構(gòu)建待救援者的定位設(shè)備
? ? ? ?定位設(shè)備主要由1個(gè)Arduino Mega2560控制板、1個(gè)Bigfish擴(kuò)展板、2個(gè)BLE4.0模塊構(gòu)成。在本實(shí)驗(yàn)中,我們?yōu)槟繕?biāo)安裝1個(gè)OLED顯示屏,以便在調(diào)試時(shí)查看坐標(biāo)值。
? ? ? ?兩個(gè)BLE4.0模塊中的一個(gè)用于接收3個(gè)信號(hào)塔的信號(hào)(主),在控制板中計(jì)算后生成坐標(biāo)信息。坐標(biāo)信息可以在OLED顯示屏上顯示出來,并可以通過另一個(gè)BLE4.0模塊發(fā)送出去(從)。從BLE4.0模塊在本功能中暫時(shí)用不上,后續(xù)的遠(yuǎn)程定位功能將會(huì)用到。


? ? ? ?按照上面的針腳使用杜邦線將待救援設(shè)備的主藍(lán)牙和從藍(lán)牙連接到主控板上,注意錯(cuò)誤的連接會(huì)導(dǎo)致模塊損壞。
3. 目標(biāo)的BLE4.0a藍(lán)牙模塊配置
? ? ? ?目標(biāo)的主藍(lán)牙需要接收三個(gè)信號(hào)發(fā)射塔的信號(hào),從而通過三點(diǎn)定位的算法計(jì)算出自己當(dāng)前的位置信息,并發(fā)送顯示。
使用下面的命令,配置目標(biāo)的主藍(lán)牙。
? ? ? ?各設(shè)備主從藍(lán)牙的MAC地址(以下地址可根據(jù)自己的BLE4.0a藍(lán)牙模塊的實(shí)際MAC地址進(jìn)行修改,詳細(xì)參考:藍(lán)牙配置說明.txt)
信號(hào)塔MAC地址:
目標(biāo)1設(shè)備地址:
4. 坐標(biāo)位置的本地顯示
將OLED模塊按如圖所示的方法連接在Bigfish擴(kuò)展板上


? ? ? ?按照上面的針腳使用杜邦線將OLED顯示屏連接到主控板上,注意錯(cuò)誤的連接會(huì)導(dǎo)致模塊損壞。
5. 位置的獲取與發(fā)送
? ? ? ?燒錄以下程序(human_rssi.ino),移動(dòng)目標(biāo)的位置,可觀察到OLED模塊顯示坐標(biāo)值的變化。
注意:該例程僅作調(diào)試使用,后期構(gòu)建完整系統(tǒng)時(shí)會(huì)使用新的程序。
6. 待救援定位裝置的擺放
? ? ? ?使用下圖場(chǎng)地進(jìn)行構(gòu)建,在信號(hào)塔的位置分別放置三個(gè)信號(hào)發(fā)射塔,將待救援定位裝置盡量放置在三個(gè)信號(hào)塔連線構(gòu)成的三角形內(nèi)。依次開啟3個(gè)信號(hào)塔、目標(biāo)的電源,觀察目標(biāo)的OLED屏幕上顯示的坐標(biāo)位置值(注:目標(biāo)的電源必須最后打開)。

定位效果如下圖所示:

7. 資料下載
資料內(nèi)容:
①函數(shù)庫
②目標(biāo)定位設(shè)備調(diào)試?yán)?/span>
③藍(lán)牙配置說明.txt
資料下載鏈接 https://www.robotway.com/h-col-167.html
想了解更多機(jī)器人開源項(xiàng)目請(qǐng)關(guān)注機(jī)器譜網(wǎng)站https://www.robotway.com?