×

远足追踪器开源分享

消耗积分:0 | 格式:zip | 大小:1.18 MB | 2023-07-03

杨帆

分享资料个

描述

什么是远足追踪器?

Hiking Tracker是一款可以感知徒步旅行者在徒步过程中周围环境变化的设备。

这个想法是观察温度、压力、湿度、高度、位置、方向等的变化。它提供了一些关于徒步旅行的有趣见解。

与低地相比,在寒冷、干燥、低密度空气的山区,许多人发现呼吸困难。有些人会出现皮肤干燥刺激。该设备让对徒步旅行感兴趣的人了解他们的极限。还有去高海拔地方的乐趣。能够知道海拔是一件有趣的事情!

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

 
poYBAGOYPaWAEvpJAAFhn0NFlv0826.jpg
堆叠层
 

 

第 1 步:硬件,这是为了什么?

这个项目有很多感应

附件屏蔽板带有一些板载 I2C 设备:

  • 用于感测环境温度的 LM 75B 温度传感器
  • ADXL345 3 轴加速度计,用于感应倾斜和重力
  • DS3231 用于感应时间的高精度 RTC
  • HMC5883 3 轴磁传感器,用于感应罗盘航向
  • AM2320 湿度传感器,用于感测空气的 % RH
  • BMP180压力传感器,用于感测大气压力和高度
  • MTK3339 GPS 传感器,用于感应位置和步行距离

在 Arduino Uno 上:

  • 3.9k + 22k 分压器,用于感应 4节 AA电池电压
  • 1306 OLED 用于查看数据
  • 警报蜂鸣器
  • 此项目不需要 RGB LED
  • XBee 接口不使用,但 Arduino D2、D3、D9、D10 可以从该接口中取出用于其他项目,D2 连接到复位,允许从代码复位 Arduino!
  • 未使用 5 向操纵杆
  • 101锅没用

第 2 步:修改和连接硬件

对 Arduino Uno 进行了少量修改。它安装在带有螺丝支架和热胶的 4 AA 电池座上。

 
 
 
 
pYYBAGOYPa2ALzStAAFxk_wz_V0394.jpg
 
1 / 2Arduino 位于电池座顶部
 

4 AA 和 CR1220(用于 RTC)安装在电池座上。

 
 
 
 
pYYBAGOYPbGAD6maAAGG4ee1a7A974.jpg
 
1 / 24 AA 带支架
 

电池座和 Arduino Uno 板之间有一个空间,可以放置压力、湿度、磁性和 GPS 传感器。

 
 
 
 
pYYBAGOYPbeAT1k9AAEHnPz773A410.jpg
 
1 / 2传感器空间
 

I2C 传感器焊接在一块预制板上并放置在该空间中

 
 
 
 
poYBAGOYPbmAbeWeAAEfQ-Ei8Os737.jpg
 
1 / 2压力、湿度、磁性传感器在 I2C 通道上连接在一起
 

这些传感器从底部连接到 Arduino Uno:

 
poYBAGOYPb2AZZRxAADyJ9K8ymE983.jpg
传感器的 I2C 连接和电源(将被焊接)
 

增加了一个分压器来测量 4 节 AA 电池的电池电压。

 
pYYBAGOYPcCAbaY5AAFRzvWQtJU481.jpg
分压器焊接在电源桶连接器上
 

AA 电池组电压检测线连接到 ADC A1:

 
poYBAGOYPcWACCnlAADqWpUdPdg639.jpg
分压器到 ADC A1
 

屏蔽的操纵杆通过引脚 A5 映射到 ACD 引脚 A1。这就是为什么要拆焊并移除操纵杆的原因。

 
poYBAGOYPdCAWqv7AAFWS_VGaTw492.jpg
5 向操纵杆已移除
 

通过将 Accessory Shield 上的一些焊盘(示意图见参考)与焊桥 D2(用于软复位)连接,Arduino 的 D3、D9、D10 引脚可在 Xbee 接口上使用。

 
 
 
 
pYYBAGOYPdiAV78CAAES4-uDu3k913.jpg
 
1 / 2D9、D10 引脚分接焊桥
 

组件堆栈如下:

 
poYBAGOYPaWAEvpJAAFhn0NFlv0826.jpg
把它们放在一起!
 
  • 顶层:Arduino 上的附件屏蔽
  • 中间层:其他传感器和 GPS 将位于 Uno 和电池盒之间
  • 底层:4 AA 电池座,带电池

连接如下所示:

 
pYYBAGOYPeqAUIUmAAQbyrd2KGA855.png
互连
 

第 3 步:对设备进行编程

Arduino IDEBuild 1.8.5用于对设备进行编程。首先使用库管理器包含或下载以下所有库。

 
poYBAGOYPfGAV8SXAADRs9nHM7g822.png
添加库
 

通过在库管理器的搜索框中输入传感器的名称,将出现相应的库。

 
poYBAGOYPfOAMwNpAAEWVn1LPUw841.png
单击安装以添加新库
 

一些 Accessory Shield 库(请参阅参考资料)是通过zip.file选项添加的

 
pYYBAGOYPf-AIIowAADGEeCzmjE438.png
使用库 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 可能由于 I2C 引脚的泄漏电源而在没有 Vcc 的情况下工作)并上传 - 最后代码准备好了。

注意事项

  • 高度计算基于气压降,仅适用于正常天气条件。
 
poYBAGOYPgaAMYsAAABmMtZF6CU448.png
气压与海拔高度
 
  • 指南针代码未在软件中进行倾斜补偿,设备必须保持在水平面上。有一个固定的罗盘圆,其中还有另一个可变半径圆。当设备倾斜时,内圈会增加。当它处于水平位置时(即加速度的 x 和 y 分量几乎为 0),内圆将减小到一个点。这是罗盘航向更准确的时候。
  • 指南针指针的偏角取决于地球磁场的位置和变化。这可能会受到太阳风暴的影响。如果不包括偏角,罗盘航向将偏离几度。

查找您所在地区的磁偏角:http: //www.magnetic-declination.com

  • 指南针航向容易受到附近磁性物体的影响,例如山上存在强磁性矿物。
  • 器件的最低工作电压约为 4.5 伏。此时应更换 AA 电池。
  • 时间和日期是通过代码编程的,如果需要时间来更换纽扣电池,必须拔下并插上电源。代码中带有新时间的新程序上传将更改时间。
  • 在开发期间 GPS 模块不可用。因此,演示坐标放置在经纬度中。如果有人希望复制此项目,则需要包含 GPS 库和相关代码。
  • 加速度计和磁力计的 XY 平面以 PCB 上的布局为准。代码需要进行相应的调整。
  • 加速度计读数精度容易受到振动。建议在静止状态下使用设备。

改进范围

可以从固件方面对更多功能进行改进:

  • 在 EEPROM 上定期记录参数
  • 达到高度/位置里程碑时的蜂鸣器警报声
  • 喝水提醒
  • 休息提醒
  • 低电量报警
  • 低温、湿度警报
  • 用于倾斜补偿的指南针软件校准(大量三角函数)
  • 通过 Gateway 应用程序使用 GPS 和 IoT 连接自动获取偏角

至于硬件部分的改进:

  • 用于设置时间、偏角等的用户输入开关。
  • 设备的定制 3D 外壳
  • 使用可充电锂电池
  • 单板紧凑型 PCB 设计,更便携

结论

Travel & Hiking 很酷,当你可以检查周围环境的变化时,它会让事情变得更有趣。特别是在徒步旅行时,在数小时内检查海拔、湿度、压力和温度的变化。这个设备让你知道你在什么高度感到高原反应,什么湿度水平让你的皮肤干燥——诸如此类。尽管在电路布局和代码方面都有改进的空间来处理这些警告,但在荒野中拥有这样的小工具仍然很酷!

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !