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.pswp.cn/news/377498.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/377498.shtml
英文地址,請注明出處:http://en.pswp.cn/news/377498.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

COJ 1030 素數槽

http://acm.csu.edu.cn/OnlineJudge/problem.php?id1030 用線性篩素數果然快多了。 #include<cstdio> #include<cstring> #include<cstdlib> #define MAXN 1300000 bool is_p[MAXN];void calc() {for( int i 1; i < MAXN; i )is_p[i] true;is_p[1] fa…

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…

java連接oracle數據庫 -- jdbc連接

a. 倒入oracle的jar包 b. 編寫java文件 package com.sp; import java.sql.*; //使用jdbc連接oracle public class MyOra2 {/*** param args*/public static void main(String[] args) {// TODO Auto-generated method stubtry {Class.forName("oracle.jdbc.dri…

HDB3碼的編碼

編碼規則 1、源碼是1時&#xff0c;暫時不變&#xff1b; 2、連0不超過3個時不變&#xff0c;有4個或以上連0時把每4個0換為取代節&#xff0c;即B00V&#xff1b; 3、確定B是0還是1&#xff1a;第一個B一般取0&#xff0c;若兩個取代節之間1的個數為偶&#xff0c;易推得后者…

地圖加載(安全沙箱問題及解決方案)

基于Flash開發的軟件瀏覽器插件會受到應用沙盒限制&#xff0c;譬如說在本機發布了地圖服務&#xff0c;在flex中使用localhost獲取地圖時一切正常&#xff0c;但改成IP地址后就會報安全沙箱錯誤。 Flash Player對訪問外部資源有比較嚴格的限制&#xff0c;因此如果需要訪問…

批量去除文件空格

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

python 初始化 元組_在Python中重新初始化元組

python 初始化 元組Python | 重新初始化元組 (Python | Reinitializing tuple) In this tutorial, we will learn how can we reinitialize a tuple with a new set of elements/objects? 在本教程中&#xff0c;我們將學習如何使用一組新的元素/對象重新初始化元組&#xff1…

【DSP復習主要知識點】(大概)

目錄第一章1、數字系統對比模擬系統2、馮諾依曼、哈佛架構3、CISC、RISC4、DSP特點5、cpu流水線作用6、DSP芯片優點第二章&#xff1a;DSP芯片結構原理1、ALU&#xff08;算數邏輯運算單元&#xff09;2、累加器A和B3、桶形移位器的功能4、乘法/加法單元5、CPU狀態與控制寄存器…

PHP CURL POST無法獲取響應內容的問題

現象&#xff1a; 使用PHP的CURL相關函數進行POST&#xff0c;當要POST的參數內容長度超過1024時&#xff0c;將無法獲得response的數據。 即&#xff1a; [php] view plaincopyprint?curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS,…

每天自動給自己發天氣預報的腳本

需求&#xff1a; 每天早上起來可以看看天氣預報&#xff0c;然后順便當個鬧鐘使 思路是這樣的&#xff1a; 模塊一&#xff1a;采用yahoo weather api獲取北京的天氣 模塊二&#xff1a;通過網頁版飛信&#xff0c;模擬飛信登陸&#xff0c;給自己發短信 模塊三&#xff1a;發…

YYSSW的完整格式是什么?

YYSSW&#xff1a;是的&#xff0c;肯定的&#xff0c;無論如何 (YYSSW: Yeah Yeah Sure Sure Whatever) YYSSW is an abbreviation of "Yeah Yeah Sure Sure Whatever". YYSSW的縮寫是“ Yeah Yeah Sure Sure Whatever” 。 It is an expression, which is commonl…

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:

關于蘋果IPhone/Ipad(IOS)開發者證書申請及安裝、真機調試、發布的參考文章

這是我在申請、安裝IOS開發者證書&#xff0c;真機調試時候參考的文章&#xff0c;非常有用。 1、開發證書與發布證書申請和安裝步驟 http://blog.csdn.net/zougangx/article/details/6074313 2、申請IDP/真機調試/GameCenter 指南/OpenFeint指南&#xff1a; http://xiaomingh…

scrollTop

chrome 不支持 document.documentElement.scrollTopfirefox 不支持 document.body.scrollTop 解決辦法var sTopdocument.body.scrollTopdocument.documentElement.scrollTop; var nowScrollTop document.body.scrollTopdocument.documentElement.scrollTop; document.body.scr…

INTERNET的完整形式是什么?

互聯網&#xff1a;互聯網絡 (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特點

博主聯系方式&#xff1a; QQ:1540984562 QQ交流群&#xff1a;892023501 群里會有往屆的smarters和電賽選手&#xff0c;群里也會不時分享一些有用的資料&#xff0c;有問題可以在群里多問問。 DMA三種方式&#xff1a;數據塊傳送方式、周期挪用方式、交替訪存方式 數據塊傳送…

進程通信

進程間通信就是在不同進程之間傳播或交換信息&#xff0c;進程間控制信息的交換稱為低級通信&#xff0c;進程間大批量數據的交換稱為高級通信。 進程通信分為3種&#xff1a; 1&#xff0e;共享存儲器系統&#xff1a;為了傳送大量數據&#xff0c;在存儲器中劃出一塊共享存儲…

界面邊框圓角

界面邊框圓角的實現方式同樣是在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…