郭佳润,宫雨梦,刘易坤,陈洪坤,曲昊宇,胡志栋
(1.东北林业大学,黑龙江 哈尔滨 150040;2.沈阳农业大学,辽宁 沈阳 110866)
近年来,因森林等地手机基站覆盖不全面,森林作业者及爱好登山、野营等户外运动的人们常常在野外不慎迷路,手机没有信号,无法和外界进行联系。此问题已引起社会各界的广泛关注,确保人们在此情况下找到正确的道路显得尤为重要。
针对这种情况,研究者们展开了相关研究,并取得了不错的成果。程胜等[1]研究出了GPS定位和GSM通信等技术的防走失系统,陈海浪等[2]研究出了基于51单片机的GPS定位系统,潘状状等[3]研究出了以STC89C52单片机为核心的计步系统,刘鹏娟等[4]研究出了通过ADXL345加速度计采集走路信息的计步系统。
我国如今基于各种单片机技术研制了有着GPS定位技术的手表等工具,利用GPS不需要手机信号这一特点进行实时定位,并快速显示出来,快速查清使用者所在位置。也有基于各种单片机的实现精准计数,实时监测热量、脂肪消耗量的计步器,其可以实现计步和清零的功能,显示运动的步数和总步数。使用者进行户外活动时,需要尽量减轻自己所携带物品的数量与重量。将两种功能结合,设计一款防迷路的户外背包,在背包上同时增添GPS定位装置和计步装置,实时记录和显示此时背包的位置,且计步装置可以显示出迷路者的步数、里程、消耗热量等,可以让使用者同时得知自己的位置、所走的距离与消耗的能量。而这种形式的背包可以在户外有很多应用,在野外有着更大优势。
此款产品除具有基本户外背包的功能外,主要功能的实现由两片单片机组成,显示屏和按键部分置于背包外侧,而电路板部分嵌于背包内夹层并有拉链可供更换拆装电池。左侧为GPS定位单片机,方形开关为电源健,旁边圆形按键为切换键,在速度、卫星数、日期和经纬度、时间、海拔高度两部分之间进行自由切换。右侧为计步器单片机,方形按钮为电源开关,旁边的圆形按键为步数清零键,仅可以清空步数,其旁为总清零键,可以清零步数、热量及里程。其旁的按键可以设置步长,步长和步数相乘算出里程,并在屏幕上显示(见图1)。
图1 背包正视图
该系统由两块单片机以及SERF GS1100 GPS接收模块、LCD1602液晶显示器、ADXL345加速度计构成。
GPS定位单片机有GPS卫星定位功能,使用者在手机没信号的情况下也可以迅速显示出经度、纬度、海拔高度,并附有速度、时间、日期、卫星数等信息,同时备有3块电池的拆装装置,可随时更换电池,延长使用时间。为了更准确地测量所走过的距离,增添了计步单片机,其具有计步功能,并根据设置计算出总里程。此外,为了使用者更明确自己的能量消耗和满足其日常健身的需要,计步单片机还增添了消耗的热量。
定位单片机以STC89C52为中央处理器,并用GPS信息接收模块采集卫星的信息,对其进行编译,发送给单片机,并在LCD1602液晶显示器上显示,使用户清楚自己的位置[5]。
计步单片机同样以STC89C52为中央处理器,利用加速度传感器模块测量得到加速度并计算出里程,传输到单片机中,进行处理得到热量,最后在LCD1602液晶显示器上显示出来[6],可以随时知道自己所走的距离与消耗的热量,按键模块可以随时清零步数与里程,以便记录所走的距离得到消耗的热量。
2.2.1 GPS信息接收模块
此款设计中的GPS信息接收模块采用的是SERF GS1100 GPS接收模块,该模块通过采集卫星的位置、卫星和信息接收模块的距离等信息[7],并且利用这些信息列出方程式,从而解出用户当前的位置。该模块与天线一起密封在塑料壳中,具有防水功能,使得整个装置更为稳定安全。此模块具有12通道并行接收能力,在没有SA干扰时,平均误差仅为10 m。工作电压为5 V左右,电流仅为60 mA,将其与STC89C52单片机相连,功耗低,整个装置续航能力较强。
2.2.2 控制芯片模块
控制芯片模块采用STC89C52,它是一个低电压、低功耗、高性能的微型单片机,其数据可以保存10年,与MCS-51指令系统兼容,内部结构复杂。单芯片上拥有灵巧的8位MCU,功能强大,有40个引脚,32个输入/输出端口。其中所包含的Flash存储器可反复擦写,从而降低成本。由于其具有工作简单、性价比高等优点,单片机越来越广泛地应用于各种家用电器、医疗设备、智能设备中。
2.2.3 液晶显示模块
此款背包设计采用LCD1602液晶显示器,其采用标准的16脚接口,可以显示16×2个字符,显示内容丰富。利用切换键可以在速度、卫星数、日期和经纬度、时间、海拔高度两部分之间进行自由切换。该液晶显示器具有体积小、功耗低、超薄轻巧等特点,因此越来越广泛地嵌于各类产品中。此外,还配置LED背光,使显示屏更清晰。
软件设计主要根据系统设计原理,明确系统运行逻辑,再利用KEIL进行编程。GPS系统的软件设计包括按键扫描程序、GPS数据接收程序、UTC时间日期转换程序、LCD1602显示程序、控制开关程序。程序流程图见图2。
图2 程序流程图
2.3.1 加速度传感器模块
此款设计中的加速度传感器模块采用的是ADXL345加速度计,它是一种小巧、低功耗且高分辨率的三轴MEMS加速度计,通过其上的传感器测出使用者移动的加速度,从而计算出距离,并通过A/D转换传输给核心中央处理器。其可用电压为3.3 V或5 V,完全可由几节电池提供所需要的电压,其小巧轻便、低功耗的特点在户外背包上可以减轻重量,节省空间,有很大的优势。
2.3.2 控制芯片模块
计步器的核心控制部分仍采用STC89C52单片机,它是整个系统运行的控制核心,具有存储接收距离等信息功能,负责执行相关开关控制、计数清零的指令,以及与其他模块的信息交流。由于户外计步背包所需,其不仅具有以上的存储、控制等基本功能,还具有低功耗,以及在输入步长体重后,逻辑运算稳定且数据处理较为快速的特点[6]。
2.3.3 液晶显示模块
显示模块依旧采用LCD1602液晶显示器,同样利用切换键可以在设置输入步长和体重后,得到步数、总里程、消耗的热量等信息[8]。LCD1602可以显示两行数值,清晰地看到输入的数据,以确保正确得到所需信息。
2.3.4 按键模块
按键模块由开关构成,主要具备对步数与总步数清零的功能,按下1键为清零步数,实现单段时间计步的功能,而不会对总的里程造成影响。按下2键可以清零总步数、里程、热量等,在不同的情形下,可以重新记录进行比较,得到所需信息。系统软件设计见图3。
图3 系统软件设计图
先按下GPS定位单片机的方形开关键,LCD1602液晶显示屏亮起,显示初始化页面“Welcome to use!”,在单片机左侧黄色指示灯亮起的地方与GPS信息接收天线相连,若指示灯不闪烁,说明未定位成功,反之成功。静待30 s左右,定位成功,其中第一行“N45°42′”表示当前位置为北纬45度42分,“E126°37′”表示当前位置为东经126度37分,第二行表示当前时间为21时7分47秒,海拔高度为177 m。按下切换键,第一行表示当前风度,第二行表示日期和当前覆盖的卫星数目(见图4)。
图4 GPS单片机实物图
按下计步单片机的开关键,LCD1602液晶显示器屏幕亮起,显示初始化页面,显示出步数、总里程、消耗的热量,按下切换键,进行体重和步长的设置,默认体重为50 kg,步长为30 cm,可根据个人情况进行个性化设置。再按下切换键,回到初始页面,走30步后,显示出步数为30步,消耗的热量为1.925 J,总里程为9.3 m(见图5)。
图5 计步器单片机实物图
测试结果表明,在森林等户外情况下,手机没信号没电,利用本设备——用户必备的背包,可以轻松采集到当前的经纬度、海拔高度、步数、总里程等信息,同时结合地图,迷路的用户可以顺利找到正确的道路,实用性强。并且其还增添了消耗的热量,以便于作业者得知自己的能量消耗情况。
本文成功地将GPS定位系统、计步系统与背包相结合,完成了一种防迷路户外背包的设计,该背包既具有定位功能又具有计步功能,在设计完成后,分别对背包的定位功能和计步功能进行了测试,测试结果表明,该防迷路的户外背包能满足预期的使用需求。GPS系统和计步系统与背包的结合,是一种新的设计思路,相信这种思路会进一步完善并得到更广泛地应用。