回答

收藏

【翻译】远足追踪器

其他 其他 3167 人阅读 | 0 人回复 | 2018-12-02

原文: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
工具和机器
热胶枪(通用)
烙铁(通用)

什么是远足追踪器?

徒步追踪器是一种在远足期间感知徒步旅行者周围环境变化的装置。

我们的想法是得到温度,压力,湿度,海拔高度,位置,方向等的变化。这些提供了一些有趣的远足见解。

山区与海拔较低的地方相比,山区拥有寒冷,干燥,低密度的空气,许多人在那里很难呼吸。有些人会经历皮肤干燥。该设备让人们对徒步旅行感兴趣,了解他们自己的极限,还有到高海拔地方的乐趣。能够知道去高处是一件有趣的事情!

不仅是山脉,而且探索沼泽,沙漠,森林 - 每个都有其独特的环境特征,能够在旅途中监控环境,是了解自然的更好方式。


堆叠的图层

视频演示


传感器数据

第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工程中。


头文件列表
  1. 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和物联网连接自动获取偏差

至于改进的硬件部分:

  • 用户输入开关用于设置时间,偏差等。
  • 为设备定制***外壳
  • 使用可充电LiPo电池
  • 单板紧凑型PCB设计,更便于携带

结论

旅行和徒步旅行很酷,当你可以检查周围环境的变化时,它会让事情变得更有趣。特别是,在徒步旅行时,检查高度,湿度,压力和温度的变化。这个装置让你知道当你感到高原反应时的高度,你的皮肤干燥的湿度水平 - 这样的东西。虽然在电路布局和代码方面都有改进的余地,但是在进入荒野时拥有这样的小工具仍然很酷!


外部资源

https://www.waveshare.com/wiki/Accessory_Shield


推荐硬件,以获得更好的本项目版本

快速原型套件


原理图
游客,如果您要查看本帖隐藏内容请回复

代码
游客,如果您要查看本帖隐藏内容请回复

关注下面的标签,发现更多相似文章

评分

参与人数 1 +600 收起 理由
satoll + 600 500+100自选翻译完成奖励

查看全部评分

分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条