如何用蓝牙实现无线定位--本地定位显示
1. 被定位目标
本项目设计有两个定位装置,一个用于固定目标,一个用于可移动设备。在定位系统的帮助下,我们可以操作可移动设备向固定目标移动。假设这是一个救援场景的话,我们就可以把固定的目标看作等待救援的人或物,把可移动的设备看作前来救援的机器人。
2. 构建待救援者的定位设备
定位设备主要由1个Arduino Mega2560控制板、1个Bigfish扩展板、2个BLE4.0模块构成。在本实验中,我们为目标安装1个OLED显示屏,以便在调试时查看坐标值。
两个BLE4.0模块中的一个用于接收3个信号塔的信号(主),在控制板中计算后生成坐标信息。坐标信息可以在OLED显示屏上显示出来,并可以通过另一个BLE4.0模块发送出去(从)。从BLE4.0模块在本功能中暂时用不上,后续的远程定位功能将会用到。


按照上面的针脚使用杜邦线将待救援设备的主蓝牙和从蓝牙连接到主控板上,注意错误的连接会导致模块损坏。
3. 目标的BLE4.0a蓝牙模块配置
目标的主蓝牙需要接收三个信号发射塔的信号,从而通过三点定位的算法计算出自己当前的位置信息,并发送显示。
使用下面的命令,配置目标的主蓝牙。
各设备主从蓝牙的MAC地址(以下地址可根据自己的BLE4.0a蓝牙模块的实际MAC地址进行修改,详细参考:蓝牙配置说明.txt)
信号塔MAC地址:
目标1设备地址:
4. 坐标位置的本地显示
将OLED模块按如图所示的方法连接在Bigfish扩展板上


按照上面的针脚使用杜邦线将OLED显示屏连接到主控板上,注意错误的连接会导致模块损坏。
5. 位置的获取与发送
烧录以下程序(human_rssi.ino),移动目标的位置,可观察到OLED模块显示坐标值的变化。
注意:该例程仅作调试使用,后期构建完整系统时会使用新的程序。
6. 待救援定位装置的摆放
使用下图场地进行构建,在信号塔的位置分别放置三个信号发射塔,将待救援定位装置尽量放置在三个信号塔连线构成的三角形内。依次开启3个信号塔、目标的电源,观察目标的OLED屏幕上显示的坐标位置值(注:目标的电源必须最后打开)。

定位效果如下图所示:

7. 资料下载
资料内容:
①函数库
②目标定位设备调试例程
③蓝牙配置说明.txt
资料下载链接 https://www.robotway.com/h-col-167.html
想了解更多机器人开源项目请关注机器谱网站https://www.robotway.com