az158 发表于 2018-12-2 00:08:04

【翻译】远足追踪器

原文:Hiking Tracker
在徒步旅行的时候获得罗盘航向,高度,温度,压力,湿度,时间,行程距离和GPS位置。


在这个项目中使用的东西

硬件部分

Arduino 101和Genuino 101 ×1
AA电池 ×1
4xAA电池座 ×1
配件Shiled ×1
Adafruit BMP180压力传感器 ×1
Adafruit Ultimate GPS模块 ×1
Adafruit - 3轴磁性传感器 ×1
Adafruit AM2320湿度传感器 ×1
Adafruit纽扣电池CR2012 ×2
电阻10k ×1
电阻3.9k ×1

软件部分和在线服务

Arduino IDE

工具和机器

热胶枪(通用)
烙铁(通用)

什么是远足追踪器?徒步追踪器是一种在远足期间感知徒步旅行者周围环境变化的装置。我们的想法是得到温度,压力,湿度,海拔高度,位置,方向等的变化。这些提供了一些有趣的远足见解。山区与海拔较低的地方相比,山区拥有寒冷,干燥,低密度的空气,许多人在那里很难呼吸。有些人会经历皮肤干燥。该设备让人们对徒步旅行感兴趣,了解他们自己的极限,还有到高海拔地方的乐趣。能够知道去高处是一件有趣的事情!不仅是山脉,而且探索沼泽,沙漠,森林 - 每个都有其独特的环境特征,能够在旅途中监控环境,是了解自然的更好方式。
堆叠的图层
视频演示

https://v.youku.com/v_show/id_XMzk0NTgzODMyOA==.html传感器数据
第1步:硬件,哪个哪里适合?
这个项目有很多传感器附加的带有屏蔽的板板子装有一些I2C设备:
[*]LM75B温度感器,用于检测环境温度
[*]ADXL345 3轴加速度计,用于检测倾斜和重力
[*]DS3231高精度RTC,用于检测时间
[*]HMC5883 3轴磁传感器,用于感应罗盘航向
[*]AM2320湿度传感器,用于检测空气的%RH
[*]BMP180压力传感器,用于检测大气压力和海拔高度
[*]MTK3339 GPS传感器,用于感应位置和步行距离
在Arduino Uno上:
[*]3.9k+22k分压器,用于检测电池电压
[*]1306 OLED用于查看数据
[*]蜂鸣器发出警报声
[*]此项目不使用RGB LED
[*]不使用XBee接口,但Arduino D2,D3,D9,D10可以从这个接口引出来用于其他项目,D2连接到reset,这允许使用程序来复位Arduino!
[*]不使用5向操纵杆
[*]不使用101 pot

第2步:修改和连接硬件对Arduino Uno的修改很少。把它安装在带有螺钉支架和热熔胶的电池座上。
1/2 • 电池座顶部的Arduino
2/2•热熔胶
4AA电池和CR1220(用于RTC)安装在电池座上。
1/2 • 电池座带支架
2/2•用于RTC的纽扣电池CR1220
电池座和Arduino Uno板之间有一个空间,可以放置压力,湿度,磁性和GPS传感器。
1/2 • 放传感器的空间
2/2•传感器放置在Uno和电池组之间
I2C传感器焊接在一块万用板上并放置在这个空间中
1/2 • 压力,湿度,磁传感器连接在I2C通道上
2/2•I2C公共总线,用胶带绝缘
这些传感器连接到Arduino Uno底部:
I2C连接位置和传感器电源(将被焊接)
添加分压电路以测量4节AA电池的电池电压。
分压器焊接在电源连接器上
AA电池组电压检测线连到ADC A1:
ADC A1的分压器
未使用的操纵杆的引脚A5映射到ACD引脚A1。这就是操纵杆被拆除的原因。
5路操纵杆被移除
通过连接附件板上的一些焊盘(参考示意图)和焊接桥D2(用于软复位),可以在Xbee接口上使用Arduino的D3,D9,D10引脚。
1/2 • D9,D10引脚分支焊桥
2/2•D2,D3桥接
组件堆叠起来如下:
把它们放在一起!

[*]顶层:Arduino上的附件板
[*]中间层:其他传感器和GPS将介于Uno和Battery Case之间
[*]底层:4节AA电池座,带电池
连接电路:

第3步:对设备进行编程Arduino IDEBuild 1.8.5用于编程。首先,使用库管理器包含或下载所有以下库。
添加库
通过在库管理器的搜索框中键入传感器的名称,将找到相应的库。
单击“安装”以添加新库
一些Accessory Shield库(请参阅参考资料)是通过zip.file选项添加的
使用库zip手动添加库
添加必要的库后,将检查每个传感器的示例代码,以找出相关传感器的API。接下来,所有库头都包含在一个空的Arduino工程中。
头文件列表math.h,inttypes.h,Wire.h,lm75.h,ADXL345.h,ChainableLED.h,U8glib.h,ds3231.h,Adafruit_Sensor.h,Adafruit_AM2320.h,Adafruit_BMP085_U.h,Adafruit_HMC5883_U.h,Adafruit_GPS.h经过多次编辑,编译和调试(包括连接,我发现BMP180可以在没有Vcc的情况下工作,可能因为是I2C引脚的漏电)并上传 - 最后代码就绪了。
警告
[*]高度计算基于气压,仅适用于正常天气条件。

气压与海拔高度

[*]指南针代码没在程序中进行倾斜补偿,设备必须保持在水平面上。有一个固定的罗盘圆,其中有另一个可变半径圆。当设备倾斜时,内圈会增加。当它处于水平位置时(即加速度计的x和y分量几乎为0),内圆将减小到一个点。这是罗盘测量更准确的时候。
[*]指南针指针偏角取决于地球磁场的位置和变化。这可能会受到太阳风暴的影响。如果考虑倾斜角度,罗盘将偏离几度。

找到您所在地区的赤纬:http://www.magnetic-declination.com
[*]指南针容易被附近的磁性物体干扰,如山上存在强磁性矿物质。
[*]器件最小工作电压约为4.5伏。过低需要更换AA电池。
[*]时间和日期是根据代码编程的,如果需要更换纽扣电池,则必须拔下插头电源插头。在代码中改成新时间,上传新程序改变时间。
[*]在开发过程中,GPS模块不可用。因此,演示坐标放在Lat-Long中。如果有人希望复制此项目,则需要包含GPS库和相关代码。
[*]加速度计和磁力计的XY平面可放置在PCB上。代码需要相应调整。
[*]加速度计读数精度容易产生振动。建议在静止状态下使用该设备。

改进范围可以从固件方面进行改进,以获得更多功能:
[*]在EEPROM上定期记录参数
[*]达到高度/位置里程碑时蜂鸣器警报会发出蜂鸣声
[*]喝水提醒
[*]请稍等提醒
[*]低电量警报
[*]低温,湿度警报
[*]用于倾斜补偿的罗盘软件校准(三角函数)
[*]通过Gateway应用程序使用GPS和物联网连接自动获取偏差
至于改进的硬件部分:
[*]用户输入开关用于设置时间,偏差等。
[*]为设备定制3D外壳
[*]使用可充电LiPo电池
[*]单板紧凑型PCB设计,更便于携带

结论旅行和徒步旅行很酷,当你可以检查周围环境的变化时,它会让事情变得更有趣。特别是,在徒步旅行时,检查高度,湿度,压力和温度的变化。这个装置让你知道当你感到高原反应时的高度,你的皮肤干燥的湿度水平 - 这样的东西。虽然在电路布局和代码方面都有改进的余地,但是在进入荒野时拥有这样的小工具仍然很酷!
外部资源https://www.waveshare.com/wiki/Accessory_Shield
推荐硬件,以获得更好的本项目版本快速原型套件
原理图**** Hidden Message *****
代码
**** Hidden Message *****
页: [1]
查看完整版本: 【翻译】远足追踪器