HDU嵌入式实验课程大作业分析报告
目錄
- 作業(yè)要求
- 設(shè)計(jì)原理與思路
- 擴(kuò)展任務(wù)說明
- 課程感受
- 友情鏈接
- 工程鏈接
作業(yè)要求
體能測試記錄儀設(shè)計(jì)
基于課程發(fā)放的實(shí)驗(yàn)板,設(shè)計(jì)一個(gè)帶有計(jì)時(shí)和數(shù)據(jù)采集功能的體能測試記錄儀。
基本設(shè)計(jì)內(nèi)容
功能1:對應(yīng)1000米體測場景,使用充電寶供電,提供計(jì)時(shí)功能,按K5清零并開始計(jì)時(shí),K6停止計(jì)時(shí)。計(jì)時(shí)過程使用數(shù)碼管顯示當(dāng)前計(jì)時(shí),K2顯示分秒,K3顯示秒、百分秒,計(jì)時(shí)結(jié)束后保持顯示結(jié)果。
功能2∶計(jì)時(shí)完成后自動(dòng)將測試時(shí)間(RTC時(shí)鐘的年月日時(shí)分秒)和測試時(shí)長(分、秒、百分秒)記錄到外置FLASH存儲(chǔ)器。最多保存100次記錄數(shù)據(jù),并可由K1按鍵或串口發(fā)命令讀取所有記錄。
功能3:在計(jì)時(shí)狀態(tài),提供數(shù)據(jù)采集功能,使用MPU6050六軸傳感器,采集測試者3軸加速度和3軸角速度,每隔50ms采集數(shù)據(jù),包括時(shí)間、6軸數(shù)據(jù),計(jì)時(shí)結(jié)束時(shí)自動(dòng)存儲(chǔ)采集數(shù)據(jù)。采集數(shù)據(jù)僅保存單次計(jì)時(shí)過程產(chǎn)生的數(shù)據(jù),重新開始計(jì)時(shí)后覆蓋上次數(shù)據(jù)??墒褂肒4按鍵或由串口發(fā)命令讀取所有采集數(shù)據(jù)。
擴(kuò)展設(shè)計(jì)內(nèi)容
擴(kuò)展功能1:使用C++、Java、C#、Matlab或Python等高級(jí)語言,編寫記錄儀上位機(jī)數(shù)據(jù)處理工具,能讀取記錄儀存儲(chǔ)的所有信息。能根據(jù)記錄的時(shí)間、6軸數(shù)據(jù)繪制數(shù)據(jù)曲線(6軸數(shù)據(jù)分6條曲線可單獨(dú)顯示或疊加顯示)。
擴(kuò)展功能2:提供藍(lán)牙或WIFI模塊,使用安卓手機(jī)連接記錄儀,通過手機(jī)上設(shè)計(jì)的App應(yīng)用,讀取記錄儀上的所有信息。并能在手機(jī)上顯示當(dāng)前計(jì)時(shí)時(shí)間、當(dāng)前6軸數(shù)據(jù),計(jì)時(shí)完成后,能繪制6軸數(shù)據(jù)曲線。
擴(kuò)展功能3:對應(yīng)不同的體測對象,根據(jù)其各自的記錄數(shù)據(jù)進(jìn)行綜合計(jì)算,分析比較其體能強(qiáng)弱,需給出判斷依據(jù)、算法原理和設(shè)計(jì)流程。
設(shè)計(jì)原理與思路
系統(tǒng)設(shè)計(jì)流程:
下位機(jī)采集到數(shù)據(jù)并將數(shù)據(jù)按照相應(yīng)的協(xié)議、數(shù)據(jù)幀格式分別發(fā)送給上位機(jī)以及手機(jī)。
手機(jī)app顯示波形和當(dāng)前時(shí)間。
上位機(jī)顯示波形和時(shí)間, 6軸數(shù)據(jù)分6條曲線可單獨(dú)顯示或疊加顯示。
當(dāng)所有數(shù)據(jù)接收完畢,上位機(jī)會(huì)將6軸數(shù)據(jù)以及時(shí)間以文本形式保存到電腦。再使用matlab對本文數(shù)據(jù)進(jìn)行讀取、分析,得到測試者體能情況。
系統(tǒng)框圖:
下位機(jī)設(shè)計(jì)流程:
本作業(yè)主要使用到的模塊有:MPU6050、外置flash、無線模塊esp826、藍(lán)牙HC05
再加上板子上的數(shù)碼管、按鍵;這樣就能構(gòu)成我們使用RTOS所需要的task了,分為:數(shù)據(jù)采集任務(wù)、無線數(shù)據(jù)傳輸任務(wù)、藍(lán)牙數(shù)據(jù)傳輸任務(wù)、時(shí)間顯示任務(wù)、按鍵檢測任務(wù)。
關(guān)于外置flash模塊,由于寫入速度較慢,所以并沒有單獨(dú)形成一個(gè)任務(wù),而是在停止按鍵按下后,順序執(zhí)行數(shù)據(jù)存入flash操作。同時(shí)為了可視化寫入進(jìn)程,使用了led。
下位機(jī)處理流程圖:
擴(kuò)展任務(wù)說明
擴(kuò)展功能1 上位機(jī)開發(fā)環(huán)境:
擴(kuò)展功能1 上位機(jī)開啟tcp服務(wù):
擴(kuò)展功能1 上位機(jī)繪制曲線:
擴(kuò)展功能1 文件寫入功能:
拓展功能1 效果展示:(找不到有曲線繪圖的圖片了)
拓展功能2 APP介紹
手機(jī)APP端我們選擇的是對”藍(lán)牙調(diào)試器”做二次開發(fā)。
拓展功能2 APP設(shè)置:
設(shè)置接收數(shù)據(jù)包格式,除了幀頭幀尾以及校驗(yàn)位之外,我們這里需要傳送12個(gè)byte類型數(shù)據(jù),分別為年、月、日、時(shí)、分、秒、gx、gy、gz、ax、ay、az。注意這里的六軸數(shù)據(jù)在下位已經(jīng)做好歸一化處理了,歸一化到-127~128的范圍了。關(guān)于幀頭幀尾校驗(yàn)位需要在下位機(jī)設(shè)置。
選擇一個(gè)一維波形窗口,以及6個(gè)文本窗口。將數(shù)據(jù)幀的12個(gè)數(shù)據(jù)對應(yīng)到各自的位置即可。
拓展功能3 原理:
首先對加速度計(jì)采集回來的數(shù)據(jù)進(jìn)行處理,提取其中水平方向上的加速度變化,再通過離散傅里葉變化,獲取三個(gè)三個(gè)方向上加速度的頻域曲線,經(jīng)過低通濾波,最后對頻域進(jìn)行積分處理,得到一個(gè)數(shù)值,即可代表體能大小,改數(shù)值越大則代表體能越好,因?yàn)檎f明測試者大部分時(shí)間在高頻率地運(yùn)動(dòng)。
拓展功能4 代碼展示:
拓展功能3 效果展示:
課程感受
對團(tuán)隊(duì)合作想法:分工合作、各自完成分配好的任務(wù)能夠節(jié)省不少時(shí)間。在對不同版本的工程進(jìn)行更新時(shí),也更容易發(fā)現(xiàn)隊(duì)友出現(xiàn)的問題;
對嵌入式課程的看法:平時(shí)作業(yè)量較大,能學(xué)到很多單片機(jī)知識(shí);
友情鏈接
Zcc的博客
杭電嵌入式課程設(shè)計(jì)——上位機(jī)(ZCC)
[強(qiáng)哥博客](www.kensporger. com)
工程鏈接
鏈接:https://pan.baidu.com/s/14ZLFZjar8uSd8BBqZVTMIw
提取碼:ljn0
總結(jié)
以上是生活随笔為你收集整理的HDU嵌入式实验课程大作业分析报告的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《蜀四贤咏》第四句是什么
- 下一篇: 【DSP复习主要知识点】(大概)