9114| 15
|
[项目] bluno板子的运用 |
很久以前买了一块Bluno,最近放假做了一个小项目,分享给大家,我把它叫做"户外助手",嘿嘿,见笑了。 作品图: 工作原理: “户外助手”这个小项目由软件和硬件两部分组成,硬件部分的主控板为DFRobot公司的bluno主控板,这款主控板是在Ardunio uno的基础上集成了德州仪器的cc2540低功耗蓝牙芯片,这就使板子具有了蓝牙通信的能力,cc2540提供的是蓝牙低功耗协议(Bluetooth Low Energy),即蓝牙4.0,蓝牙4.0广泛的运用在移动端上,如手机和平板电脑甚至是汽车。外设为温湿度传感器(DHT11),大气压传感器(BMP180),紫外线强度传感器(GUVA-S10GD)以及空气质量传感器(Sharp GP2Y1010AU0F),还有一个io扩展板,用于更好的连接与固定众多的传感器,它直接加在bluno上。电源部分采取9V电池供电,当然也可以直接通过mini usb线用电脑供电。主板用Arduino IDE编程,用c++编写蓝牙底层通信协议作为头文件,具体代码由于篇幅原因不在此赘述。具体各外设与主板的连接见原理图。其中大气压传感器为I2C总线通信,温湿度传感器为数字信号输入,其余传感器均为普通模拟信号输入,此外,夏普的空气质量传感器需要一个转接模块。为了便于接线,加装了一个IO扩展板。 软件部分是用苹果电脑在MacOS系统下的XCode编写的,是一个用于获取硬件部分传输上来数据的APP,iPhone4s以上机型很好的支持了低功耗蓝牙技术,软件的编写参考了苹果开发者官方文档的蓝牙协议,用重载函数很好的解决了不同信息的对应显示问题,为了更进一步扩展其实用能力,该APP还调用了iPhone的定位功能接口,其精度参数设置为“最大精度”,更新参数设置为“每移动10m更新一次”,调用参数设置为“总是开启”。古此APP可以获取当前所处位置的经度纬度,指南针接口的调用使该APP具有指引航向的功能,同时运用地理信息反编码技术可以得到具体的位置(精确到街道)。指导意见的获取是通过具体的环境参数为参考得到的,在代码中体现为一系列的if else语句及函数重载。 备注; 这里所有的东西在DF的商城里都能买到,大家如果有兴趣的话我可以把代码贴出来,视频后期再传吧。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed