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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/377498.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html注释引用公共头部_HTML注释和引用

html注释引用公共头部HTML注释 (HTML Comments) To insert a comment in an HTML document, the comment tags are used. The comments are used to provide some information that could be useful for anyone who views the code of the webpage. The comments can be insert…

HDB3码的编码

编码规则 1、源码是1时,暂时不变; 2、连0不超过3个时不变,有4个或以上连0时把每4个0换为取代节,即B00V; 3、确定B是0还是1:第一个B一般取0,若两个取代节之间1的个数为偶,易推得后者…

批量去除文件空格

import osfilepath r"G:\picture" # 文件目录名 allfilepath os.listdir(filepath)for file in allfilepath: # 改目录下的文件名oldpath filepath \\ filenewname file.replace( , ) # 在原先文件名中去除空格,也就是用null替代空格newpath fil…

【DSP复习主要知识点】(大概)

目录第一章1、数字系统对比模拟系统2、冯诺依曼、哈佛架构3、CISC、RISC4、DSP特点5、cpu流水线作用6、DSP芯片优点第二章:DSP芯片结构原理1、ALU(算数逻辑运算单元)2、累加器A和B3、桶形移位器的功能4、乘法/加法单元5、CPU状态与控制寄存器…

Json转二值图像

Json文件通过labelme进行标识 image路径 G:\PyCharm\workspace\unet_42-master\datasets\label_bz\test\image label路径 G:\PyCharm\workspace\unet_42-master\datasets\label_bz\test\label 待转换路径 G:\PyCharm\workspace\unet_42-master\datasets\label_bz\test\mask …

矩形波傅里叶变换对以及三角波傅里叶变换

时域矩形波->频域sinc 时域三角波->频域sinc^2:

INTERNET的完整形式是什么?

互联网:互联网络 (INTERNET: Interconnected Network) INTERNET is an abbreviation of Interconnected Network of all the Web Servers Worldwide. It is also known as the World Wide Web or in simple terms the Web. INTERNET是全球所有Web服务器的互连网络的…

DMA三种方式以及DMA特点

博主联系方式: QQ:1540984562 QQ交流群:892023501 群里会有往届的smarters和电赛选手,群里也会不时分享一些有用的资料,有问题可以在群里多问问。 DMA三种方式:数据块传送方式、周期挪用方式、交替访存方式 数据块传送…

界面边框圆角

界面边框圆角的实现方式同样是在res/drawable中定义一个XML文件&#xff0c;corners.xml的代码如下&#xff1a; 1<?xml version"1.0" encoding"utf-8"?>2<shape xmlns:android"http://schemas.android.com/apk/res/android"> 3 …

CGPA的完整形式是什么?

CGPA&#xff1a;累积平均绩点 (CGPA: Cumulative Grade Point Average) CGPA is an abbreviation of Cumulative Grade Point Average. It is a grading system in education. It is used in measuring the overall academic performance average of a student in schools and…

二、页面布局

一、界面 我做的界面大概思路&#xff1a;点击 上传图片&#xff0c;显示待检验的照片 点击 U-net模型检测 会使用已经训练好的U-net模型进行预测 点击 OpenCV统计 会将预测结果进行轮廓检测&#xff0c;并统计所有轮廓的面积 在 处理结果 这个groupBox中进行显示 大致界面如…

GNU工具以及GCC对C语言程序的处理流程

GCC是一族工具的集合&#xff0c;包含预处理器、编译器、汇编器、链接器。 对于默认的文件名&#xff0c;GCC可以自动选择工具自动完成文件处理过程。 从C语言的源程序道可执行文件&#xff0c;实质上是依靠GCC调用一系列工具完成的。 GCC默认处理的文件 文件类型扩展名文件说…

请不要对我说“你要马上把这个小问题修改好”

“我需要”&#xff0c;“小问题”&#xff0c;“立刻”。你激怒我了。你的每个词都激怒我了。这种情绪很难翻译成英语表达&#xff0c;但在荷兰&#xff0c;有些人就是用这种方式要求你。翻译成英语&#xff0c;这有点像“你要几分钟内把这个东西修改好”。大家都知道的这样的…

c#异常处理_C#中的异常处理

c#异常处理What an exception is? 有什么例外&#xff1f; An exception is a runtime error; that means an abnormal situation which is created at run time and the program doesn’t execute successfully. Due to the exceptions, our program gets crash. 异常是运行…

(转)走进AngularJs(六) 服务

原文地址&#xff1a;http://www.cnblogs.com/lvdabao/p/3464015.html 今天学习了一下ng的service机制&#xff0c;作为ng的基本知识之一&#xff0c;有必要做一个了解&#xff0c;在此做个笔记记录一下。 一、认识服务&#xff08;service&#xff09; 服务这个概念其实并不陌…

Linux驱动程序框架以及概述

目录驱动程序三种基本类型&#xff08;组成&#xff09;设备驱动程序功能驱动程序的内核模块机制&#xff08;开发模式&#xff09;驱动程序框架三个主要部分1、字符设备驱动程序框架2、块设备驱动程序框架2、网络设备驱动程序框架驱动程序三种基本类型&#xff08;组成&#x…

curl 使用整理(转载)

我一向以为&#xff0c;curl只是一个编程用的函数库。 最近才发现&#xff0c;这个命令本身&#xff0c;就是一个无比有用的网站开发工具&#xff0c;请看我整理的它的用法。 curl网站开发指南 阮一峰 整理 curl是一种命令行工具&#xff0c;作用是发出网络请求&#xff0c;然…

Linux内核逻辑结构

linux内核从逻辑上可以分为5个部分&#xff1a; 1、进程调度 进程调度控制进程对CPU的访问。当需要选择下一个进程运行时&#xff0c;由调度程序选择最值得运行的程序。可运行进程实际上是仅等待CPU资源的进程&#xff0c;如果某个进程在等待其他资源&#xff0c;则该进程是不可…

对批量文件重命名

一、 文件夹下存放各种不同名称的同类型文件 F:\test 二、重命名格式从a0开始&#xff0c;数字依次递增&#xff0c;a0,a1,a2,a3… import ospathr"F:\test"#要修改文件的路径 namer"a"#命名从什么开始 num0#默认从0开始&#xff0c;即a0,a1,a2...... …

替换Quartus 自带编辑器 (转COM张)

正文 此处以Quartus II 11.1和Notepad v5.9.6.2为例。 1. 使用QII自动调用Notepad来打开HDL、sdc、txt等文件&#xff1b;并且可以在报错的时候&#xff0c;Notepad可以直接高亮所报错的行&#xff08;此模式下&#xff0c;Notepad最大化后效果最佳&#xff09;。 方法&#xf…