HDU嵌入式实验课程大作业分析报告

作业要求

体能测试记录仪设计

基于课程发放的实验板,设计一个带有计时和数据采集功能的体能测试记录仪。

基本设计内容

功能1:对应1000米体测场景,使用充电宝供电,提供计时功能,按K5清零并开始计时,K6停止计时。计时过程使用数码管显示当前计时,K2显示分秒,K3显示秒、百分秒,计时结束后保持显示结果。

功能2∶计时完成后自动将测试时间(RTC时钟的年月日时分秒)和测试时长(分、秒、百分秒)记录到外置FLASH存储器。最多保存100次记录数据,并可由K1按键或串口发命令读取所有记录。

功能3:在计时状态,提供数据采集功能,使用MPU6050六轴传感器,采集测试者3轴加速度和3轴角速度,每隔50ms采集数据,包括时间、6轴数据,计时结束时自动存储采集数据。采集数据仅保存单次计时过程产生的数据,重新开始计时后覆盖上次数据。可使用K4按键或由串口发命令读取所有采集数据。

扩展设计内容

扩展功能1:使用C++、Java、C#、Matlab或Python等高级语言,编写记录仪上位机数据处理工具,能读取记录仪存储的所有信息。能根据记录的时间、6轴数据绘制数据曲线(6轴数据分6条曲线可单独显示或叠加显示)。

扩展功能2:提供蓝牙或WIFI模块,使用安卓手机连接记录仪,通过手机上设计的App应用,读取记录仪上的所有信息。并能在手机上显示当前计时时间、当前6轴数据,计时完成后,能绘制6轴数据曲线。

扩展功能3:对应不同的体测对象,根据其各自的记录数据进行综合计算,分析比较其体能强弱,需给出判断依据、算法原理和设计流程。

设计原理与思路

系统设计流程:

下位机采集到数据并将数据按照相应的协议、数据帧格式分别发送给上位机以及手机。
手机app显示波形和当前时间。
上位机显示波形和时间, 6轴数据分6条曲线可单独显示或叠加显示。
当所有数据接收完毕,上位机会将6轴数据以及时间以文本形式保存到电脑。再使用matlab对本文数据进行读取、分析,得到测试者体能情况。
系统框图:
在这里插入图片描述
下位机设计流程:
本作业主要使用到的模块有:MPU6050、外置flash、无线模块esp826、蓝牙HC05

再加上板子上的数码管、按键;这样就能构成我们使用RTOS所需要的task了,分为:数据采集任务、无线数据传输任务、蓝牙数据传输任务、时间显示任务、按键检测任务。

关于外置flash模块,由于写入速度较慢,所以并没有单独形成一个任务,而是在停止按键按下后,顺序执行数据存入flash操作。同时为了可视化写入进程,使用了led。在这里插入图片描述

下位机处理流程图:

扩展任务说明

扩展功能1 上位机开发环境:
在这里插入图片描述
扩展功能1 上位机开启tcp服务:
在这里插入图片描述
扩展功能1 上位机绘制曲线:
在这里插入图片描述
扩展功能1 文件写入功能:
在这里插入图片描述
拓展功能1 效果展示:(找不到有曲线绘图的图片了)
在这里插入图片描述

拓展功能2 APP介绍
手机APP端我们选择的是对”蓝牙调试器”做二次开发。
在这里插入图片描述

拓展功能2 APP设置:
在这里插入图片描述

设置接收数据包格式,除了帧头帧尾以及校验位之外,我们这里需要传送12个byte类型数据,分别为年、月、日、时、分、秒、gx、gy、gz、ax、ay、az。注意这里的六轴数据在下位已经做好归一化处理了,归一化到-127~128的范围了。关于帧头帧尾校验位需要在下位机设置。

在这里插入图片描述
在这里插入图片描述

选择一个一维波形窗口,以及6个文本窗口。将数据帧的12个数据对应到各自的位置即可。

在这里插入图片描述
在这里插入图片描述

拓展功能3 原理:
首先对加速度计采集回来的数据进行处理,提取其中水平方向上的加速度变化,再通过离散傅里叶变化,获取三个三个方向上加速度的频域曲线,经过低通滤波,最后对频域进行积分处理,得到一个数值,即可代表体能大小,改数值越大则代表体能越好,因为说明测试者大部分时间在高频率地运动。
拓展功能4 代码展示:
在这里插入图片描述

拓展功能3 效果展示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

课程感受

对团队合作想法:分工合作、各自完成分配好的任务能够节省不少时间。在对不同版本的工程进行更新时,也更容易发现队友出现的问题;

对嵌入式课程的看法:平时作业量较大,能学到很多单片机知识;

友情链接

Zcc的博客
杭电嵌入式课程设计——上位机(ZCC)
[强哥博客](www.kensporger. com)

工程链接

在这里插入图片描述

链接:https://pan.baidu.com/s/14ZLFZjar8uSd8BBqZVTMIw
提取码:ljn0

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拾牙慧者

欢迎请作者喝奶茶

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值