![畢業(yè)論文-基于三軸加速度傳感器ADXL345和溫濕度傳感器DHT11的智能運(yùn)動(dòng)手環(huán)設(shè)計(jì)_第1頁(yè)](http://file4.renrendoc.com/view/71b4d76bf944e7d57c12b05b433d263a/71b4d76bf944e7d57c12b05b433d263a1.gif)
![畢業(yè)論文-基于三軸加速度傳感器ADXL345和溫濕度傳感器DHT11的智能運(yùn)動(dòng)手環(huán)設(shè)計(jì)_第2頁(yè)](http://file4.renrendoc.com/view/71b4d76bf944e7d57c12b05b433d263a/71b4d76bf944e7d57c12b05b433d263a2.gif)
![畢業(yè)論文-基于三軸加速度傳感器ADXL345和溫濕度傳感器DHT11的智能運(yùn)動(dòng)手環(huán)設(shè)計(jì)_第3頁(yè)](http://file4.renrendoc.com/view/71b4d76bf944e7d57c12b05b433d263a/71b4d76bf944e7d57c12b05b433d263a3.gif)
![畢業(yè)論文-基于三軸加速度傳感器ADXL345和溫濕度傳感器DHT11的智能運(yùn)動(dòng)手環(huán)設(shè)計(jì)_第4頁(yè)](http://file4.renrendoc.com/view/71b4d76bf944e7d57c12b05b433d263a/71b4d76bf944e7d57c12b05b433d263a4.gif)
![畢業(yè)論文-基于三軸加速度傳感器ADXL345和溫濕度傳感器DHT11的智能運(yùn)動(dòng)手環(huán)設(shè)計(jì)_第5頁(yè)](http://file4.renrendoc.com/view/71b4d76bf944e7d57c12b05b433d263a/71b4d76bf944e7d57c12b05b433d263a5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
湖南大學(xué)畢業(yè)設(shè)計(jì)(論文)第頁(yè)目錄1緒論 11.1課程研究目的及意義 11.2國(guó)內(nèi)外智能手環(huán)的發(fā)展情況 11.2.1國(guó)內(nèi)外計(jì)步器的發(fā)展情況 11.2.2國(guó)內(nèi)外溫濕度傳感器的發(fā)展情況 31.3計(jì)步器的分類 42智能手環(huán)系統(tǒng)總體設(shè)計(jì)結(jié)構(gòu)設(shè)計(jì) 62.1計(jì)步器模塊總體設(shè)計(jì) 62.1.1計(jì)步器模塊設(shè)計(jì) 62.1.2計(jì)步算法 72.2溫濕度模塊總體設(shè)計(jì) 122.3藍(lán)牙模塊總體設(shè)計(jì) 133智能手環(huán)硬件電路設(shè)計(jì) 133.1三軸加速度傳感器電路 133.1.1加速度傳感器的選擇 133.1.2三軸加速度傳感器的介紹 143.1.3三軸加速度傳感器與STM32單片機(jī)的連接 173.2溫濕度傳感器電路 173.2.1DHT11簡(jiǎn)圖 173.2.2溫濕度模塊工作原理 193.3藍(lán)牙模塊電路 213.3.1藍(lán)牙模塊簡(jiǎn)介 213.4液晶顯示顯示系統(tǒng)電路 233.4.1TFTLCD簡(jiǎn)介 233.4.2TFTLCD模塊與STM32開發(fā)板的連接 253.5單片機(jī)最小系統(tǒng) 273.5.1STM32單片機(jī)簡(jiǎn)一開發(fā)板簡(jiǎn)要功能說明 274智能運(yùn)動(dòng)手環(huán)軟件設(shè)計(jì) 304.1計(jì)步器流程圖 304.1.1主程序流程圖 304.1.2子程序流程圖 314.3藍(lán)牙主程序流程圖 335智能手環(huán)的調(diào)試與結(jié)果分析 345.1實(shí)物系統(tǒng)調(diào)試 345.1.1實(shí)物圖 345.1.2系統(tǒng)的調(diào)試 356總結(jié)與展望 37參考文獻(xiàn) 37致謝 38附錄 39附錄A:主程序 39附錄B:液晶顯示模塊程序 42附錄C:三軸加速度傳感器模塊程序 43附錄D:溫濕度傳感器模塊程序: 46附錄E:藍(lán)牙模塊程序: 481緒論1.1課程研究目的及意義智能化器件是現(xiàn)在發(fā)展最為快速的科學(xué)技術(shù),在生產(chǎn)、休閑領(lǐng)域非常受青睞。在平?;顒?dòng)中,智能手環(huán)的誕生受到了越來越多人的青睞,手環(huán)最跟本的用途就是步數(shù)的測(cè)量,當(dāng)你走路或者跑步時(shí)能幫你計(jì)算一共跑了多少步。其中我們探討的以加速度傳感器為根底的計(jì)步器就是利用了加速度特性來進(jìn)行剖析,走路和跑步時(shí)身體的很多部位都不是靜止的,會(huì)發(fā)生對(duì)應(yīng)的加速度,加速度與時(shí)間成正弦曲線,而且可以在某點(diǎn)形成最大值,經(jīng)過算法可以準(zhǔn)確計(jì)算步數(shù)。溫濕度也是本設(shè)計(jì)兩個(gè)基礎(chǔ)的數(shù)據(jù)。在人們的日常鍛煉中,人們要始終關(guān)心身體狀況的改變,只有很好的掌握好身體實(shí)時(shí)的狀況的改變,人們才能更好的對(duì)自己的身體狀況有一個(gè)了解。有特別重要的意義??傊汁h(huán)的研究對(duì)生活、健身特別重要。它是一個(gè)計(jì)步的器件,也是一個(gè)改善運(yùn)動(dòng)方法,與人體緊密連接的必要物品。1.2國(guó)內(nèi)外智能手環(huán)的發(fā)展情況1.2.1國(guó)內(nèi)外計(jì)步器的發(fā)展情況1947年,德意志人發(fā)明了全球第一個(gè)擺式陀螺加速度計(jì)。爾后的五十多年以來,非常多的新種類加速度器被開發(fā)探究,它的功能和準(zhǔn)確度也有了更加的提升和健全。加速度器發(fā)明之后始終作為非常重要的慣性測(cè)量?jī)x器,應(yīng)用于慣性導(dǎo)航系統(tǒng)和慣性制導(dǎo)系統(tǒng)中,和各類運(yùn)載體的自動(dòng)行駛技術(shù)跟高技術(shù)武器的高精度制導(dǎo)聯(lián)系在一起受到青睞。那個(gè)時(shí)候別的領(lǐng)域?qū)λ鼧O少應(yīng)用?,F(xiàn)如今國(guó)內(nèi)在加速度傳感技術(shù)上依然使用傳統(tǒng)的壓電技術(shù),精度仍然止步在3×10-6g水平上,并且體積略大,質(zhì)量略重,對(duì)國(guó)內(nèi)慣性制導(dǎo)技術(shù)有不良影響。這幾年國(guó)內(nèi)已經(jīng)有不少公司對(duì)MEMS微加速度計(jì)進(jìn)行了研發(fā),然而在精度上并沒有獲得進(jìn)步,基本上僅僅可以達(dá)到10-1g的程度。國(guó)內(nèi)自從1968年開始了對(duì)微加速度技術(shù)的研發(fā),含有硅微型壓力傳感器、微型電機(jī)和微型泵。十年來研究隊(duì)伍一點(diǎn)點(diǎn)的壯大,2000年時(shí)候已然形成了四十多個(gè)單位的五十多個(gè)研發(fā)小組,在微加速度傳感器方進(jìn)行了非常多的研發(fā)試驗(yàn),并得到了很大的進(jìn)步。我國(guó)公開發(fā)表文獻(xiàn)指出,我國(guó)研發(fā)地振動(dòng)輪式機(jī)械陀螺的零偏穩(wěn)定性可以達(dá)到80°/h,隨機(jī)的噪聲能到30°/。中國(guó)在不少的技術(shù)上跟國(guó)外比較發(fā)達(dá)國(guó)家相比并不在一個(gè)層面上,基本表現(xiàn)在大量生產(chǎn)時(shí)性能不能保證穩(wěn)定和器件不能保證完好,很多方面急需研究。應(yīng)用加速度傳感器地計(jì)步器最需要解決問題是精確度問題。在精確度問題上,德國(guó)等歐洲國(guó)家研發(fā)的的計(jì)步器相對(duì)精確。然而因?yàn)闄C(jī)械生產(chǎn)的精確度低,器件集成性弱,以致與計(jì)步器的方便性不敵于國(guó)外的產(chǎn)品。國(guó)外現(xiàn)在研發(fā)相比成功的有電容式加速度傳感器和壓阻式加速度傳感器。20世紀(jì)之后,發(fā)達(dá)國(guó)家已經(jīng)將應(yīng)用新型材料、新的原理、新的工藝研發(fā)出性能良好、低成可接受、可控化、簡(jiǎn)便化的傳感器作為研發(fā)新型傳感器的主要目標(biāo)。1.2.2國(guó)內(nèi)外溫濕度傳感器的發(fā)展情況1989年人類發(fā)明了第一個(gè)智能溫度傳感器。他結(jié)合了微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測(cè)試術(shù)。現(xiàn)如今,全世界已經(jīng)研發(fā)出很多智能溫度傳感器器件。個(gè)別器件帶有多路選擇器、中央控制器、RAM、ROM。溫度傳感器也更加的智能化。溫度傳感器產(chǎn)品及濕度測(cè)量屬于90年代興起的行業(yè)。溫度傳感器的進(jìn)步經(jīng)過了三個(gè)階段:老舊的獨(dú)立式溫度傳感器、模擬集成溫度傳感器、智能集成溫度傳感器。當(dāng)今國(guó)際上新形溫度傳感器越來越向數(shù)字式、智能化、網(wǎng)絡(luò)化的方向發(fā)展。這些年,國(guó)內(nèi)外在濕度傳感器開發(fā)方面得到了巨大的進(jìn)步。濕度傳感器從單一的濕敏元件向集成化、智能化、多參數(shù)檢測(cè)的目的快速發(fā)展。但國(guó)內(nèi)的溫濕度檢測(cè)體系在各種行業(yè)的發(fā)展程度依然很低,即使使用已經(jīng)非常普遍,同歐美等發(fā)達(dá)國(guó)家相比較,還存有著很大的距離。世界各公司的濕度傳感器器件各不相同,品質(zhì)經(jīng)濟(jì)方面都差別很大。2000年之后,我國(guó)加入世界貿(mào)易組織,商業(yè)面臨巨大挑戰(zhàn)。各種產(chǎn)業(yè)尤其是傳統(tǒng)產(chǎn)業(yè)都迫切需要電子技術(shù)、自動(dòng)控制技術(shù)進(jìn)行改變和提升。像食品業(yè),溫濕度是決定食品品品質(zhì)的關(guān)鍵因素,但食品加工公司對(duì)溫濕度的檢測(cè)操控手段仍很低級(jí),很多廠家還在使用干濕球溫度計(jì),利用人工進(jìn)行觀測(cè),調(diào)節(jié)閥門、風(fēng)機(jī)的辦法,顯然控制結(jié)果并不好。1.3計(jì)步器的分類如今,計(jì)步器基本分為兩種,電子式和機(jī)械式。本設(shè)計(jì)采用的是較為準(zhǔn)確的電子式傳感器。電子式傳感器,能準(zhǔn)確的測(cè)得人走路時(shí)的步態(tài)加速度信號(hào)。通過與微控制器有關(guān)算法就能獲得人走路時(shí)的步數(shù),這種速度計(jì)步器具備能量消耗耗較低,精準(zhǔn)度較高和敏感較度高等長(zhǎng)處。三軸加速度傳感器,可依照傳感器的類型分為2D計(jì)步器和3D計(jì)步器。根據(jù)用途分又可以分為單功能計(jì)步器,多功能計(jì)步器,甚至脂肪測(cè)量計(jì)步器。一般2D的電子計(jì)步器在使用的時(shí)候要垂直地面佩帶才能進(jìn)行數(shù)據(jù)記錄,所記錄的數(shù)據(jù)誤差偏大。如今都是使用3D式電子計(jì)步器。3D意味著全方位感受人體震動(dòng),也就是不需要再垂直地面佩帶,只要帶在身邊口袋中,手提包內(nèi)都可以計(jì)步。2D計(jì)步器只能存儲(chǔ)一組步數(shù)數(shù)據(jù),用戶可以復(fù)位清除記憶中的數(shù)據(jù)并重新計(jì)步。然而3D計(jì)步器可以按日期存儲(chǔ)多天的步數(shù),距離,時(shí)間等數(shù)據(jù)。計(jì)步器每天24點(diǎn)自動(dòng)將前一天數(shù)據(jù)儲(chǔ)存在記憶體中,并將當(dāng)天步數(shù)等數(shù)據(jù)自動(dòng)歸零。用戶可以回看過去幾天的數(shù)據(jù)。通常存儲(chǔ)的數(shù)據(jù)可以達(dá)到6天或者更多。計(jì)步器手表數(shù)據(jù)存儲(chǔ)方式和3D計(jì)步器相同。單功能計(jì)步器單功能計(jì)步器也可以稱作2D計(jì)步器,是最簡(jiǎn)單的計(jì)步器。只是計(jì)算你在運(yùn)動(dòng)走路中你所走的步數(shù),這種計(jì)步器是最早也是最簡(jiǎn)單的,普遍采用了游絲擺錘機(jī)械式傳感器。在單功能計(jì)步器中沒有時(shí)間精度,無防水防塵防震,無法數(shù)據(jù)儲(chǔ)存,無速度顯示,佩戴時(shí)必需垂直,配有皮帶夾,普遍是塑料材質(zhì),沒有秒表時(shí)間日歷等功能。圖1.1單功能計(jì)步器3D計(jì)步器當(dāng)前市面上主流都是使用3D式電子計(jì)步器。3D意味著全方位感受人體震動(dòng),也就是不需要再垂直地面佩帶,只要帶在身邊口袋中,手提包內(nèi)都可以計(jì)步。在3D計(jì)步器中主要是采用加速度傳感器,雙行顯示,可以設(shè)計(jì)數(shù)據(jù)儲(chǔ)存,顯示步數(shù),相對(duì)于2D計(jì)步器更加的精確,便攜,質(zhì)量好。圖1.23D計(jì)步器計(jì)步器手表計(jì)步器手表也就是將3D計(jì)步器的芯片整合在手表中。這樣用戶可以通過佩戴計(jì)步器手表來計(jì)算步數(shù),跑步速度,跑步距離,并且還能擁有手表的日歷,鬧鐘,秒表,計(jì)時(shí)等等功能。圖1.3計(jì)步器手表除此之外,還有些其他功能附加,或者制作出不同的佩戴方式,比如脂肪測(cè)量計(jì)步器,顧名思義,就是計(jì)步器整合了脂肪測(cè)量?jī)x的功能。收音機(jī)計(jì)步器,計(jì)步器結(jié)合了FM調(diào)頻收音機(jī)的功能。人們可以一邊走路跑步計(jì)步,一邊欣賞音樂和廣播。計(jì)步腕帶計(jì)步腕帶內(nèi)含3D運(yùn)動(dòng)傳感器,本身不帶顯示器,需要和手機(jī)同步使用。2智能手環(huán)系統(tǒng)總體設(shè)計(jì)結(jié)構(gòu)設(shè)計(jì)2.1計(jì)步器模塊總體設(shè)計(jì)2.1.1計(jì)步器模塊設(shè)計(jì)計(jì)步器總體上來說由控制器模塊,輸入模塊,輸出模塊和電源模塊組成。對(duì)仿真器進(jìn)行編程,使單片機(jī)作為主控制設(shè)備對(duì)采集到的傳感器信號(hào)進(jìn)行處理,最后通過LCD顯示輸出。在其中控制器模塊,我采用按鍵模塊,像典型的計(jì)步器按鍵一樣,在設(shè)計(jì)初期設(shè)定的按鍵有開始鍵,停止鍵,重新計(jì)數(shù)鍵以及單片機(jī)模塊必須帶有的復(fù)位鍵。輸入模塊有MMA7455加速度傳感器為主,單片機(jī)為媒介,在檢測(cè)出加速度變化時(shí)處理計(jì)算后輸入給單片機(jī)。輸入模塊的關(guān)鍵在于加速度傳感器的精度與是否有現(xiàn)成的模塊,而不是需要傳感器感觸裝置本身,因?yàn)樵陔娐分谱髦?,存在模塊的傳感器將大大方便PCB板的制作,只需要搞清它的封裝及引腳圖就可以清楚且正確的連接。輸出模塊中采用LCD液晶顯示,它與單片機(jī)連接基本上固定的。在液晶顯示中存在一個(gè)背景光調(diào)節(jié),主要是用一個(gè)變阻器接入液晶顯示屏的端口,但由于PCB板的大小在設(shè)計(jì)初期就要本著越小越好,所以該設(shè)計(jì)可以忽略。電源模塊我打算采用最為簡(jiǎn)單的電池,在電池盒中放置電池,正負(fù)極以電烙鐵焊住。總體方案的設(shè)計(jì)必須突出簡(jiǎn)潔,方便,便攜等特點(diǎn),存在集成的地方盡量集成,可以節(jié)省電路的地方圖2.1計(jì)步器系統(tǒng)總體結(jié)構(gòu)2.1.2計(jì)步算法步伐參數(shù)圖2.2從一名跑步者測(cè)得的x、y和z軸加速度的典型圖樣
數(shù)字濾波器:首先,為使上圖所示的信號(hào)波形變得平滑,需要一個(gè)數(shù)字濾波器。可以使用四個(gè)寄存器和一個(gè)求和單元,如下圖所示。當(dāng)然,可以使用更多寄存器以使加速度數(shù)據(jù)更加平滑,但響應(yīng)時(shí)間會(huì)變慢。圖2.3數(shù)字濾波器下圖顯示了來自一名步行者所戴計(jì)步器的最活躍軸的濾波數(shù)據(jù)。對(duì)于跑步者,峰峰值會(huì)更高。圖2.4最活躍軸的濾波數(shù)據(jù)動(dòng)態(tài)閾值和動(dòng)態(tài)精度:系統(tǒng)持續(xù)更新三軸加速度的峰值和谷值,每采樣50次就更新一次數(shù)據(jù)。數(shù)據(jù)的均值(Max+Min)/2被稱為“動(dòng)態(tài)閾值”。在下面的50次采樣利用這個(gè)閾值斷定個(gè)體是否在步行。因?yàn)榇碎撝得?0次采樣更新一次,所以說它是動(dòng)態(tài)的。除了動(dòng)態(tài)閾值之外,還利用動(dòng)態(tài)精度來進(jìn)行下一步濾波操作,如下圖所示。圖2.5動(dòng)態(tài)閾值和動(dòng)態(tài)精度利用一個(gè)線性移位寄存器和動(dòng)態(tài)閾值判斷個(gè)體是否有效地邁出一步。該線性移位寄存器含有2個(gè)寄存器:sample_new寄存器和sample_old寄存器。這些寄存器中的數(shù)據(jù)分別稱為sample_new和sample_old。當(dāng)新采樣數(shù)據(jù)到來時(shí),sample_new無條件移入sample_old寄存器。然而,sample_result是否移入sample_new寄存器取決于下述條件:如果加速度變化大于預(yù)定義精度,則最新的采樣結(jié)果sample_result移入sample_new寄存器,否則sample_new寄存器保持不變。因此,移位寄存器組可以消除高頻噪聲,從而保證結(jié)果更加精確。步伐邁出的條件定義為:當(dāng)加速度曲線跨過動(dòng)態(tài)閾值下方時(shí),加速度曲線的斜率為負(fù)值(sample_new<sample_old)。.峰值檢測(cè):步伐計(jì)數(shù)器根據(jù)x、y、z三軸中加速度變化最大的一個(gè)軸計(jì)算步數(shù)。如果加速度變化太小,步伐計(jì)數(shù)器將忽略。步伐計(jì)數(shù)器利用此算法可以很好地工作,但有時(shí)顯得太敏感。當(dāng)計(jì)步器因?yàn)椴叫谢蚺懿街獾脑蚨浅Q杆倩蚍浅>徛卣駝?dòng)時(shí),步伐計(jì)數(shù)器也會(huì)認(rèn)為它是步伐。為了找到真正的有節(jié)奏的步伐,必須排除這種無效振動(dòng)。利用“時(shí)間窗口”和“計(jì)數(shù)規(guī)則”可以解決這個(gè)問題。“時(shí)間窗口”用于排除無效振動(dòng)。假設(shè)人們最快的跑步速度為每秒5步,最慢的步行速度為每2秒1步。這樣,兩個(gè)有效步伐的時(shí)間間隔在時(shí)間窗口[0.2s-2.0s]之內(nèi),時(shí)間間隔超出該時(shí)間窗口的所有步伐都應(yīng)被排除。ADXL345的用戶可選輸出數(shù)據(jù)速率特性有助于實(shí)現(xiàn)時(shí)間窗口。表1列出了TA=25°C,VS=2.5V,andVDDI/O=1.8V時(shí)的可配置數(shù)據(jù)速率(以及功耗)。表2.1數(shù)據(jù)速率和功耗輸出數(shù)據(jù)速率(Hz)帶寬(Hz)速率代碼IDD(μA)32001600111114616008001110100800400110114540020011001452001001011145100501010145502510011002512.510006512.56.250111556.253.125011040
此算法使用50Hz數(shù)據(jù)速率(20ms)。采用interval的寄存器記錄兩步之間的數(shù)據(jù)更新次數(shù)。如果間隔值在10與100之間,則說明兩步之間的時(shí)間在有效窗口之內(nèi);否則,時(shí)間間隔在時(shí)間窗口之外,步伐無效。“計(jì)數(shù)規(guī)則”用于確定步伐是否是一個(gè)節(jié)奏模式的一部分。計(jì)步器有兩個(gè)工作狀態(tài):搜索狀態(tài)和確認(rèn)狀態(tài)。計(jì)步器以搜索模式開始工作。如果連續(xù)經(jīng)過四個(gè)可計(jì)入步伐之后,發(fā)現(xiàn)存在某種規(guī)則(inregulation),之后計(jì)步器就會(huì)刷新并且顯示結(jié)果,并且進(jìn)入“確認(rèn)狀態(tài)”工作模式。當(dāng)在這種狀態(tài)下進(jìn)行工作時(shí),每檢測(cè)到一個(gè)可計(jì)入步伐,計(jì)步器就會(huì)刷新一次。但是,如果發(fā)現(xiàn)哪怕一個(gè)無效步伐,步伐計(jì)數(shù)器就會(huì)返回搜索規(guī)則模式,重新搜索四個(gè)連續(xù)有效步伐。下圖顯示了步伐參數(shù)的算法流程圖。距離=步數(shù)×每步距離(1)圖2.6步伐參數(shù)算法流程圖距離參數(shù)
根據(jù)上述算法計(jì)算步伐參數(shù)之后,我們可以使用公式1獲得距離參數(shù)。每步距離取決于用戶的速度和身高。如果用戶身材較高或以較快速度跑步,步長(zhǎng)就會(huì)較長(zhǎng)。設(shè)計(jì)中設(shè)置的是每3秒刷新一次長(zhǎng)度、速度參數(shù)。所以,我們應(yīng)用每3秒測(cè)量到的步數(shù)來斷定當(dāng)前跨步的長(zhǎng)度。下表顯示了斷定跨步距離的實(shí)驗(yàn)數(shù)據(jù)??绮介L(zhǎng)度與速度(每2秒步數(shù))和身高的關(guān)系表2.2每2秒步數(shù)跨步(m/s)0~2身高/52~3身高/43~4身高/34~5身高/25~6身高/1.26~8身高>=81.2×身高兩秒的間隔能用所測(cè)到數(shù)準(zhǔn)確的計(jì)算。以50Hz數(shù)據(jù)速率為例,處理器可以每100次采樣發(fā)送一次相應(yīng)的指令。處理器利用一個(gè)名為m_nLastPedometer的變量記錄每個(gè)2秒間隔開始時(shí)的步數(shù),并利用一個(gè)名為m_nPedometerValue的變量記錄每個(gè)2秒間隔結(jié)束時(shí)的步數(shù)。這樣,每2秒步數(shù)等于m_nPedometerValue與m_nLastPedometer之差。
速度=每2秒步數(shù)×跨步/2s(2)雖然數(shù)據(jù)速率為50Hz,但ADXL345的片內(nèi)FIFO使得處理器無需每20ms讀取一次數(shù)據(jù),極大地減輕了主處理器的負(fù)擔(dān)。該緩沖器支持四種工作模式:旁路、FIFO、流和觸發(fā)。在FIFO模式下,x、y、z軸的測(cè)量數(shù)據(jù)存儲(chǔ)在FIFO中。當(dāng)FIFO中的采樣數(shù)與FIFO_CTL寄存器采樣數(shù)位規(guī)定的數(shù)量相等時(shí),水印中斷置1。如前所述,人們的跑步速度最快可達(dá)每秒5步,因此每0.2秒刷新一次結(jié)果即可保證實(shí)時(shí)顯示,從而處理器只需每0.2秒通過水印中斷喚醒一次并從ADXL345讀取數(shù)據(jù)。FIFO的其它功能也都非常有用。利用觸發(fā)模式,F(xiàn)IFO可以告訴我們中斷之前發(fā)生了什么。由于所述解決方案沒有使用FIFO的其它功能,因此筆者將不展開討論。2.2溫濕度模塊總體設(shè)計(jì)
系統(tǒng)要完成的設(shè)計(jì)功能如下:(1)實(shí)現(xiàn)對(duì)環(huán)境溫濕度參數(shù)的實(shí)時(shí)采集,由單片機(jī)對(duì)數(shù)據(jù)進(jìn)行循環(huán)檢測(cè)、數(shù)據(jù)處理、顯示,實(shí)現(xiàn)溫濕度的連續(xù)測(cè)量;(2)現(xiàn)場(chǎng)檢測(cè)設(shè)備應(yīng)具有較高的靈敏度、可靠性、抗干擾能力;(3)可以通過LCD顯示屏顯示出來所測(cè)量溫濕度;(4)可以將數(shù)據(jù)通過藍(lán)牙發(fā)送到手機(jī)上面。設(shè)計(jì)要達(dá)到的技術(shù)指標(biāo):(1)測(cè)量范圍:濕度20-90%RH,溫度0-50℃;(2)測(cè)量精度:濕度±5%RH,溫度±2℃;(3)分辨率:濕度1%RH,溫度1℃。該設(shè)計(jì)的總體方案是數(shù)據(jù)采集用的是DHT11溫濕度傳感器,他是一種含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫度濕度復(fù)合傳感器,傳感器包含一個(gè)電阻式感濕元件還有一個(gè)NTC測(cè)溫元件。溫度濕度信號(hào)通過溫濕度傳感器進(jìn)行信號(hào)的采集并轉(zhuǎn)換成數(shù)字信號(hào),再運(yùn)用單片機(jī)進(jìn)行數(shù)據(jù)的分析和處理,并在LCD液晶顯示器上顯示當(dāng)前溫濕度。外加復(fù)位電路、時(shí)鐘電路、鍵盤電路。系統(tǒng)程序包括數(shù)據(jù)采集程序。2.3藍(lán)牙模塊總體設(shè)計(jì)系統(tǒng)要完成的設(shè)計(jì)功能如下:(1)實(shí)現(xiàn)通過單片機(jī)供電,與手機(jī)端實(shí)現(xiàn)藍(lán)牙連接。(2)實(shí)現(xiàn)對(duì)單片機(jī)所測(cè)量數(shù)據(jù)的接收。(3)將單片機(jī)接收到的來自三軸加速度傳感器和溫濕度傳感器的數(shù)據(jù)通過藍(lán)牙模塊發(fā)送到手機(jī)上面。設(shè)計(jì)要達(dá)到的技術(shù)指標(biāo):實(shí)現(xiàn)手機(jī)與單片機(jī)之間的數(shù)據(jù)的實(shí)時(shí)傳輸。該設(shè)計(jì)應(yīng)用的藍(lán)牙模塊是HC-05,HC-05是主從一體化的藍(lán)牙串口模塊,主從可指令切換,指令少于HC-06,使用簡(jiǎn)單。(供電電壓3.3V~3.6V)3智能手環(huán)硬件電路設(shè)計(jì)3.1三軸加速度傳感器電路因?yàn)橛?jì)步器控制系統(tǒng)需要傳感器提供電信號(hào),而由加速度傳感器模塊省略了調(diào)理電路和濾波電路,所以在電路設(shè)計(jì)與制作時(shí)較為方便。本身我們也可以選擇振動(dòng)傳感器,而考慮到精確問題,最后選擇了加速度傳感器。理論上加速度傳感器如果被測(cè)物處于勻加速直線運(yùn)動(dòng)中應(yīng)該是加速度傳感器有測(cè)量值而振動(dòng)傳感器沒有,不過實(shí)際中基本可以用加速度傳感器只要讀值不為0即可認(rèn)為有震動(dòng)。3.1.1加速度傳感器的選擇由于加速度傳感器是電路的核心部分,所以它的選擇格外重要,在選擇傳感器時(shí)我們應(yīng)該注重以下幾點(diǎn)。(1)靈敏度的選擇靈敏度原則上來說是越靈敏越好,最小加速度測(cè)得的值也稱為最小分辨率,因?yàn)楹蠹?jí)放大電路的噪聲原因,應(yīng)盡可能的偏離最小可用值,來保證最佳信噪比。最大測(cè)量的極限需要考慮加速度器自己的非線性影響和后續(xù)儀器的最大輸出電壓。計(jì)算方法:最大被測(cè)加速度乘傳感器的電荷或者電壓靈敏度,上面數(shù)值如果大于配套儀器的最大輸入電荷或者電壓值,如果已知被測(cè)量的加速度范圍能保證在傳感器指標(biāo)中的“參考量程范圍”之內(nèi),在頻率響應(yīng)、重量通過的情況下,敏感度可以提高一點(diǎn),來提高后續(xù)儀器的輸入信號(hào),增加信噪比。在兼顧頻響、重量的同時(shí),可參照以下范圍選擇傳感器靈敏度:土木工程原型和超大型機(jī)械結(jié)構(gòu)的振動(dòng)在0.1g~10g左右,可選3000pC/g~300pC/g的加速度計(jì),機(jī)械設(shè)備的振動(dòng)在10g~100g左右,可選擇20pC/g~200pC/g的加速度計(jì),沖擊可選0.1pC/g~20pC/g左右的加速度計(jì)。(2)頻率選擇所選擇加速度器的頻率要大于被測(cè)物體自身的振動(dòng)頻率。就例如土木是低頻,加速度器就能選擇0.2Hz~1kHz左右,而機(jī)械設(shè)備則是中頻段,可以根據(jù)設(shè)備的轉(zhuǎn)速、設(shè)備的剛度等綜合因素估計(jì)頻率,選擇更高頻率的加速度器。加速度器的質(zhì)量、敏感度和用的頻率成反比,敏感度越高,質(zhì)量越大,使用頻率就越低。3.1.2三軸加速度傳感器的介紹根據(jù)以上的特點(diǎn),本設(shè)計(jì)采用了ADXL345三軸加速度傳感器。ADXL345是ADI公司的一款3軸、數(shù)字輸出的加速度傳感器。ADXL345是ADI公司推出的基于iMEMS技術(shù)的3軸、數(shù)字輸出加速度傳感器。該加速度傳感器的特點(diǎn)有:
分辨率高。最高13位分辨率。
量程可變。具有+/-2g,+/-4g,+/-8g,+/-16g可變的測(cè)量范圍。
靈敏度高。最高達(dá)3.9mg/LSB,能測(cè)量不到1.0°的傾斜角度變化。
功耗低。40~145uA的超低功耗,待機(jī)模式只有0.1uA。
尺寸小。整個(gè)IC尺寸只有3mm*5mm*1mm,LGA封裝。ADXL支持標(biāo)準(zhǔn)的I2C或SPI數(shù)字接口,自帶32級(jí)FIFO存儲(chǔ),并且內(nèi)部有多種運(yùn)動(dòng)狀態(tài)檢測(cè)和靈活的中斷方式等特性。ADXL345傳感器的檢測(cè)軸如下圖所示:
圖3.1ADXL345傳感器的檢測(cè)軸當(dāng)ADXL345沿檢測(cè)軸正向加速時(shí),它對(duì)正加速度進(jìn)行檢測(cè)。在檢測(cè)重力時(shí)用戶需要注意,當(dāng)檢測(cè)軸的方向與重力的方向相反時(shí)檢測(cè)到的是正加速度。下圖所示為輸出對(duì)重力的感應(yīng)。圖3.2輸出對(duì)重力的感應(yīng)上圖列出了ADXL345在不同擺放方式時(shí)的輸出,以便后續(xù)分析。接下來我們看看ADXL345的引腳圖,如下圖所示:圖3.3ADXL345的引腳圖ADXL345支持SPI和IIC兩種通信方式,為了節(jié)省IO口,STM32單片機(jī)采用的是IIC方式連接,官方推薦的IIC連接電路如下圖所示:圖3.4IIC連接電路硬件設(shè)計(jì)本實(shí)驗(yàn)采用STM32的3個(gè)普通IO連接ADXL345,本章實(shí)驗(yàn)功能簡(jiǎn)介:主函數(shù)不停的查詢ADXL345的轉(zhuǎn)換結(jié)果,得到x、y和z三個(gè)方向的加速度值(讀數(shù)值),然后將其轉(zhuǎn)換為與自然系坐標(biāo)的角度,并將結(jié)果在LCD模塊上顯示出來。DS0來指示程序正在運(yùn)行,通過按下WK_UP按鍵,可以進(jìn)行ADXL345的自動(dòng)校準(zhǔn)(DS1用于提示正在校準(zhǔn))。所要用到的硬件資源如下:
1)指示燈DS0、DS1
2)WK_UP按鍵
3)TFTLCD模塊
4)ADXL345
前3個(gè),在之前的實(shí)例已經(jīng)介紹過了,這里我們僅介紹ADXL345與戰(zhàn)艦STM32開發(fā)板的連接。該接口與MCU的連接原理圖如下所示。從下圖可以看出,ADXL345通過三根線與STM32開發(fā)板連接,其中IIC總線時(shí)和24C02以及RDA5820共用,接在PB10和PB11上面。ADXL345的兩個(gè)中斷輸出,這里我們只用了一個(gè),連接在STM32的PF11腳,另外這里的地址線是接3.3V,所以ADXL345的地址是0X1D,轉(zhuǎn)換為0X3A寫入,0X3B讀取。圖3.5與MCU的連接原理圖3.1.3三軸加速度傳感器與STM32單片機(jī)的連接IN1--PA11,SCL--PC12,SDA--PC113.2溫濕度傳感器電路溫濕度是生活生產(chǎn)中的重要的參數(shù)。本設(shè)計(jì)為基于單片機(jī)的溫濕度檢測(cè)與控制系統(tǒng),采用模塊化、層次化設(shè)計(jì)。用新型的智能溫濕度傳感器DHT11主要實(shí)現(xiàn)對(duì)溫度、濕度的檢測(cè),將溫度濕度信號(hào)通過傳感器進(jìn)行信號(hào)的采集并轉(zhuǎn)換成數(shù)字信號(hào),再運(yùn)用單片機(jī)進(jìn)行數(shù)據(jù)的分析和處理,為顯示電路提供信號(hào)。顯示部分采用LCD液晶顯示所測(cè)溫濕度值。系統(tǒng)電路簡(jiǎn)單、集成度高、工作穩(wěn)定、調(diào)試方便、檢測(cè)精度高,具有一定的實(shí)用價(jià)值。3.2.1DHT11簡(jiǎn)圖圖3.6DHT11實(shí)物如圖DHT11是一個(gè)于濕溫度一起的數(shù)字化傳感器。這種傳感器含有一個(gè)電阻式測(cè)濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。通過單片機(jī)與這些微處理器簡(jiǎn)單的連接才可以實(shí)時(shí)的搜集濕溫度。DHT11與單片機(jī)之間可以用簡(jiǎn)單的單總線進(jìn)行通信,只要一個(gè)I/O口。傳感器里面濕溫度數(shù)據(jù)40Bit的數(shù)據(jù)全部統(tǒng)一傳給單片機(jī),數(shù)據(jù)還需要校驗(yàn),保證數(shù)據(jù)輸送的精準(zhǔn)度。DHT11能量消耗很低,在5V電壓下,傳感器工作平均最大電流0.5mA。圖3.7DHT11的管腳排列如下圖(1)引腳介紹:Pin1:(VDD),電源引腳,供電電壓為3-5.5V。Pin2:(DATA),串行數(shù)據(jù),單總線。Pin3:(NC),空腳,請(qǐng)懸浮。Pin4(VDD),接地端,電源負(fù)極。(2)接口說明:建議連接線長(zhǎng)度短于20米時(shí)用5K上拉電阻,大于20米時(shí)根據(jù)實(shí)際情況使用合適的上拉電阻。DHT11接口圖如下圖所示。單片機(jī)P3.2口用來發(fā)收串行數(shù)據(jù),即數(shù)據(jù)口。連接傳感器的Pin2(單總線,串行數(shù)據(jù))。圖3.8DHT11接口圖傳感器的第一腳是電源腳,接電路板的電源。第二腳是數(shù)據(jù)端,接單片機(jī)的I/O口P3.2,把數(shù)據(jù)傳輸?shù)絾纹瑱C(jī)。第三腳是空管腳,懸空。第四腳是接地端,接電路板的地。3.2.2溫濕度模塊工作原理DHT11數(shù)字濕溫度傳感器應(yīng)用用數(shù)據(jù)格式為單總線數(shù)據(jù)格式。它的數(shù)據(jù)包含有5Byte(40Bit)。數(shù)據(jù)劃分為小數(shù)部分和整數(shù)部分,數(shù)據(jù)傳輸過程中,位高的先輸出。DHT11的數(shù)據(jù)格式為:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗(yàn)和。傳感器輸出的數(shù)據(jù)是沒有進(jìn)行編碼過的數(shù)據(jù)。各個(gè)數(shù)據(jù)之間應(yīng)該分開進(jìn)行處理。例如,某次從DHT11讀到的數(shù)據(jù)如下所示:byte4byte3byte2byte1byte00010110100000000000111000000000001001001整數(shù)小數(shù)整數(shù)小數(shù)校驗(yàn)和濕度溫度校驗(yàn)和由以上數(shù)據(jù)就可得到濕度和溫度的值,計(jì)算方法:
濕度=byte4.byte3=45.0(%RH)
溫度=byte2.byte1=28.0(℃)
校驗(yàn)=byte4+byte3+byte2+byte1=73(=濕度+溫度)(校驗(yàn)正確)
可以看出,DHT11的數(shù)據(jù)格式是十分簡(jiǎn)單的,DHT11和MCU的一次通信最大為3ms左右,建議主機(jī)連續(xù)讀取時(shí)間間隔不要小于100ms。
下面,我們介紹一下DHT11的傳輸時(shí)序。DHT11的數(shù)據(jù)發(fā)送流程如下圖所示:圖3.9DHT11的數(shù)據(jù)發(fā)送流程首先主機(jī)發(fā)送開始信號(hào),即:拉低數(shù)據(jù)線,保持t1(至少18ms)時(shí)間,然后拉高數(shù)據(jù)線t2(20~40us)時(shí)間,然后讀取DHT11的響應(yīng),正常的話,DHT11會(huì)拉低數(shù)據(jù)線,保持t3(40~50us)時(shí)間,作為響應(yīng)信號(hào),然后DHT11拉高數(shù)據(jù)線,保持t4(40~50us)時(shí)間后,開始輸出數(shù)據(jù)。DHT11輸出數(shù)字‘0’的時(shí)序如下圖所示:圖3.10DHT11輸出數(shù)字‘0’的時(shí)序圖3.11DHT11輸出數(shù)字‘1’的時(shí)序如通過以上了解,我們就可以通過STM32來實(shí)現(xiàn)對(duì)DHT11的讀取了。3.3藍(lán)牙模塊電路本設(shè)計(jì)采用的是HC-05藍(lán)牙模塊,主要負(fù)責(zé)對(duì)單片機(jī)所測(cè)量到的數(shù)據(jù)進(jìn)行發(fā)送,然后通過手機(jī)進(jìn)行連接。并在手機(jī)上面顯示接收到的數(shù)據(jù)。3.3.1藍(lán)牙模塊簡(jiǎn)介ATK-HC05模塊,是ALIENTEK研發(fā)的一個(gè)高性能主從為一體藍(lán)牙串口模塊,能配對(duì)各種帶藍(lán)牙功能的電腦、手機(jī)、微電子器件等智能終端,這個(gè)模塊可以在非常寬的波特率范圍內(nèi)使用:4800~1382400,并且模塊也可以在5V或3.3V單片機(jī)系統(tǒng)里面使用,與產(chǎn)品進(jìn)行連接簡(jiǎn)單。使用靈活、方便。圖3.12藍(lán)牙模塊的實(shí)體圖藍(lán)牙模塊的引腳定義:1LED配對(duì)狀態(tài)輸出;配對(duì)成功則輸出高電平,未配對(duì)成功則輸出低電平。
2KEY進(jìn)入AT狀態(tài);高電平有效(懸空則為低電平)。
3RXD模塊串口接收信號(hào)腳(TTL電平,不能直接接RS232電平!),接單片機(jī)的TXD引腳
4TXD模塊串口發(fā)送信號(hào)腳(TTL電平,不能直接接RS232電平!),接單片機(jī)的RXD引腳
5GND接地
6VCC電源(3.3V至5.0V)圖3.12藍(lán)牙與單片機(jī)之間進(jìn)行數(shù)據(jù)傳輸?shù)脑韴D圖3.13HC05藍(lán)牙串口模塊的原理圖如下圖3.14ATK-HC05藍(lán)牙串口模塊同ALIENTEKSTM32開發(fā)板的連接關(guān)系3.4液晶顯示顯示系統(tǒng)電路我們將介紹ALIENTEK2.8寸TFTLCD模塊,該模塊采用TFTLCD面板,可以顯示16位色的真彩圖片。在本章中,我們將利用戰(zhàn)艦STM32開發(fā)板上的LCD接口,來點(diǎn)亮TFTLCD,并實(shí)現(xiàn)ASCII字符和彩色的顯示等功能,并在串口打印LCD控制器ID,同時(shí)在LCD上面顯示。3.4.1TFTLCD簡(jiǎn)介TFT-LCD就是液晶顯示器(ThinFilmTransistor-LiquidCrystalDisplay),液晶顯示屏上的每一個(gè)象素里面都設(shè)有一個(gè)薄膜晶體管(TFT),能有效地控制非選通時(shí)的串?dāng)_,所以能大大提高圖像的質(zhì)量。TFT-LCD也被稱為真彩液晶顯示器。上一章介紹了OLED模塊,本章,我們給大家介紹ALIENTEKTFTLCD模塊,該模塊有如下特點(diǎn):
1,2.4’/2.8’/3.5’3種大小的屏幕可選。
2,320×240的分辨率(3.5’分辨率為:320*480)。
3,16位真彩顯示。
4,自帶觸摸屏,可以用來作為控制輸入。
本章,我們以2.8寸的ALIENTEKTFTLCD模塊為例介紹,該模塊支持65K色顯示,顯示分辨率為320×240,接口為16位的80并口,自帶觸摸屏。該模塊的外觀圖如下圖所示:圖3.15液晶顯示模塊外觀圖圖3.16模塊原理圖圖3.17接口定義圖3.4.2TFTLCD模塊與STM32開發(fā)板的連接阿斯頓看不見TFTLCD模塊的電路見圖,這里我們介紹TFTLCD模塊與ALIETEK戰(zhàn)艦STM32開發(fā)板的連接,戰(zhàn)艦STM32開發(fā)板底板的LCD接口和ALIENTEKTFTLCD模塊直接可以對(duì)插,連接關(guān)系如下圖所示:圖3.18液晶屏與單片機(jī)的連接關(guān)系圖上圖中圈出來的部分就是連接TFTLCD模塊的接口,板上的接口比液晶模塊的插針要多2個(gè)口,液晶模塊在這里是靠右插的。多出的2個(gè)口是給OLED用的,所以O(shè)LED模塊在接這里的時(shí)候,是靠左插的,這個(gè)請(qǐng)大家注意一下。在硬件上,TFTLCD模塊與戰(zhàn)艦STM32開發(fā)板的IO口對(duì)應(yīng)關(guān)系如下:
LCD_BL(背光控制)對(duì)應(yīng)PB0;
LCD_CS對(duì)應(yīng)PG12即FSMC_NE4;
LCD_RS對(duì)應(yīng)PG0即FSMC_A10;
LCD_WR對(duì)應(yīng)PD5即FSMC_NWE;
LCD_RD對(duì)應(yīng)PD4即FSMC_NOE;
LCD_D[15:0]則直接連接在FSMC_D15~FSMC_D0;
這些線的連接,戰(zhàn)艦STM32開發(fā)板的內(nèi)部已經(jīng)連接好了,我們只需要將TFTLCD模塊插上去就好了。實(shí)物連接如下圖所示:圖3.19實(shí)物連接圖3.5單片機(jī)最小系統(tǒng)隨著電子技術(shù)的發(fā)展,單片機(jī)的功能將會(huì)更加的完善,因而單片機(jī)的應(yīng)用將更加普及。單片機(jī)在家電,電子,軍工等控制方面得到更加廣泛的應(yīng)用。單片機(jī)將是智能儀器應(yīng)用最多的。單片機(jī)的最小系統(tǒng)是由組成單片機(jī)系統(tǒng)必需的一些元件構(gòu)成的,除了單片機(jī)之外,還需要包括電源供電電路、時(shí)鐘電路、復(fù)位電路。3.5.1STM32單片機(jī)簡(jiǎn)一開發(fā)板簡(jiǎn)要功能說明1、標(biāo)準(zhǔn)ARMJTAG20PIN仿真接口座(方便連接JLINK,ULINK2等主流仿真器)2、USB供電,最大提供800mA電流3、支持串口1下載,將圖中短路帽取下即可進(jìn)入串口ISP下載4、可調(diào)晶振圓孔插座32.768KHZ時(shí)鐘晶振5、USB通訊引腳通過單排插針引出,方做USB通訊實(shí)驗(yàn)(需要用杜邦線自己連接)6、所有IO和3.3V電源接口均引出,方便接外部電路做實(shí)驗(yàn)7、外擴(kuò)2路5V,GND電源,方便連接外部電路做實(shí)驗(yàn)。8、上電復(fù)位(藍(lán)色電源開關(guān))與按鍵復(fù)位(黑色按鍵)。9、電源指示燈(紅色)與程序運(yùn)行指示燈(綠色)10、ISP下載接口專門引出,方便外接本店串口小板下載程序和通訊使用。圖3.20stm32最小系統(tǒng)設(shè)計(jì)原理圖(a)供電(b)usb接口(c)芯片(d)鍵盤(e)串行flash4智能運(yùn)動(dòng)手環(huán)軟件設(shè)計(jì)4.1計(jì)步器流程圖4.1.1主程序流程圖開始傳感器模塊是加速度傳感器對(duì)人走路時(shí)的加速度信號(hào)進(jìn)行測(cè)量,其三軸可以分別對(duì)人體走路時(shí)在水平前向、側(cè)向和垂直方向上產(chǎn)生的加速度信號(hào)進(jìn)行測(cè)量,可以增加對(duì)人體走路時(shí)加速度信號(hào)的測(cè)量精確度,還可以在模擬輸出腳上連接電容和電阻形成低通濾波器,過濾高頻噪音和干擾信號(hào),來減小測(cè)量的誤差。單片機(jī)的PA0~PA2分別連接到與三軸XYZ的輸出端口,再通過微控制器計(jì)算得出人走路時(shí)的步數(shù),之后將這個(gè)步數(shù)信號(hào)顯示在顯示屏上面。開始單片機(jī)端口初始化單片機(jī)端口初始化LCD初始化檢測(cè)按鍵檢測(cè)按鍵讀取按鍵值Yes讀取按鍵值執(zhí)行按鍵操作執(zhí)行按鍵操作NoLCD顯示,清零等獲取采樣LCD顯示,清零等獲取采樣結(jié)束結(jié)束圖4.1主程序流程圖4.1.2子程序流程圖得到加速度信號(hào)時(shí),要選擇正確采樣頻率。若采樣頻率太低,則不能精確反映數(shù)據(jù)的變化。如若采樣頻率太高,就會(huì)引入許多沒用的信息,還增加了系統(tǒng)的運(yùn)算量。要選擇合適的采樣頻率,才能得到準(zhǔn)確的加速度信號(hào)。人走路時(shí)的頻率約為每秒兩步(即2Hz),跑步時(shí)一般也不超過5Hz,所以本設(shè)計(jì)設(shè)定采樣頻率為10Hz。開始開始端口初始化端口初始化對(duì)加速度值進(jìn)行采樣對(duì)加速度值進(jìn)行采樣采樣頻率《10HZ》采樣頻率《10HZ》NoYes傳送加速度信號(hào)傳送加速度信號(hào)圖4.2檢測(cè)加速度信號(hào)流程圖4.2溫濕度傳感器主程序流程圖本系統(tǒng)的整個(gè)程序流程是首先上電,系統(tǒng)各部分進(jìn)行初始化,單片機(jī)初始化,液晶顯示器初始化等。初始化完成后進(jìn)行鍵盤掃描,然后再進(jìn)行延時(shí)一段時(shí)間,供傳感器采集數(shù)據(jù),延時(shí)完成后就進(jìn)行數(shù)據(jù)的采集并傳輸?shù)絾纹瑱C(jī),單片機(jī)處理之后傳輸?shù)揭壕э@示器,液晶顯示器顯示溫濕度值。之后再通過藍(lán)牙將數(shù)據(jù)發(fā)送出去。主程序流程圖如下圖所示。開始開始端口初始化鍵盤掃描 鍵盤掃描延時(shí)延時(shí)溫濕度檢測(cè)并傳遞數(shù)據(jù)回單片機(jī)溫濕度檢測(cè)并傳遞數(shù)據(jù)回單片機(jī)顯示數(shù)據(jù)顯示數(shù)據(jù)開始開始圖4.3溫濕度傳感器主程序流程圖4.3藍(lán)牙主程序流程圖本系統(tǒng)的整個(gè)程序流程是首先上電,系統(tǒng)各部分進(jìn)行初始化,單片機(jī)初始化,藍(lán)牙設(shè)備始化等。初始化完成后進(jìn)行三軸加速度傳感器和溫濕度傳感器的數(shù)據(jù)采集,然后再進(jìn)行各個(gè)數(shù)據(jù)的預(yù)處理。之后再通過藍(lán)牙將數(shù)據(jù)發(fā)送出去。主程序流程圖如下圖所示。開始開始初始化初始化單片機(jī)資源初始化藍(lán)牙設(shè)備No初始化藍(lán)牙設(shè)備Yes傳感器數(shù)據(jù)采集數(shù)據(jù)預(yù)處理傳感器數(shù)據(jù)采集數(shù)據(jù)預(yù)處理結(jié)束傳送數(shù)據(jù)結(jié)束傳送數(shù)據(jù)圖4.4藍(lán)牙模塊主程序流程圖5智能手環(huán)的調(diào)試與結(jié)果分析5.1實(shí)物系統(tǒng)調(diào)試5.1.1實(shí)物圖圖5.1三軸加速度傳感器圖5.2溫濕度傳感器圖5.3液晶顯示器圖5.4STM32單片機(jī)5.1.2系統(tǒng)的調(diào)試圖5.5計(jì)步模塊程序的運(yùn)行圖5.6溫濕度模塊程序的運(yùn)行圖5.7藍(lán)牙模塊程序的運(yùn)行6總結(jié)與展望本論文基于STM單片機(jī)設(shè)計(jì)了計(jì)步器和溫濕度傳感器以及藍(lán)牙發(fā)射模塊及其外圍電路。對(duì)于智能手環(huán)進(jìn)行了實(shí)物調(diào)試,在整個(gè)控制系統(tǒng)中主要完成了以下任務(wù)。完成了智能及其外圍電路的總體設(shè)計(jì)方案。完成了系統(tǒng)軟件設(shè)計(jì),選擇了合適的加速度傳感器,溫濕度傳感器及藍(lán)牙發(fā)射器,簡(jiǎn)化了顯示裝置較為經(jīng)濟(jì)、實(shí)用。并且進(jìn)行了實(shí)物仿真,實(shí)現(xiàn)了手環(huán)的計(jì)步功能,和溫濕度檢測(cè)功能,并且可以將檢測(cè)到的數(shù)據(jù)通過藍(lán)牙發(fā)送到手機(jī)上面進(jìn)行顯示。在手環(huán)系統(tǒng)及其軟件的設(shè)計(jì)中,基本實(shí)現(xiàn)了預(yù)期設(shè)計(jì)目標(biāo)。對(duì)于設(shè)計(jì)過程遇到了很多問題,有些問題通過自己的努力與他人和老師的幫助解決了一些。但是還有一些問題仍然需要進(jìn)一步研究:有時(shí)候會(huì)存在走10步但只顯示8到9步的情況,初步估計(jì)是計(jì)步的算法不夠精確,應(yīng)該可以通過更精確的算法來改正,但由于時(shí)間有限,目前只能精確到這個(gè)程度。還有電源電路的問題,手環(huán)本身的優(yōu)點(diǎn)就是便于攜帶,在日常訓(xùn)練中起到輔助作用,但是如果要實(shí)現(xiàn)整個(gè)功能需要的硬件相比之下太,不善于攜帶,甚至奔跑。要改進(jìn)這個(gè)需要更小的芯片和單片機(jī)以及傳感器。在以后的設(shè)計(jì)中不僅要注重功能性還要注重實(shí)用性。希望以后有機(jī)會(huì)可以繼續(xù)本次的設(shè)計(jì),使設(shè)計(jì)更加完善。參考文獻(xiàn)[1]王毓銀.數(shù)字電路邏輯設(shè)計(jì)(第三版).高等教育出版社.1999[2]謝自美.電子線路設(shè)計(jì)實(shí)驗(yàn)測(cè)試.華中科技大學(xué)出版社.2000[3]李朝青.單片機(jī)原理及接口技術(shù)[M].北京:電子工業(yè)出版社,2004[4]岳怡.數(shù)字電路與數(shù)字電子技術(shù).西北工業(yè)大學(xué)出版社.2004[5]趙保終.中國(guó)集成電路大全.國(guó)防工業(yè)出版社.2003[6]卿太全,郭明瓊.常用數(shù)字集成電路原理與應(yīng)用.人民郵電出版社.2006[7]楊頌華,孫萬(wàn)蓉.數(shù)字電子技術(shù)基礎(chǔ).西安電子科技大學(xué)出版社2000[8]孫良彥.國(guó)外濕度傳感器發(fā)展動(dòng)態(tài)[J],傳感器技術(shù),1996,38(5):2-3[9]劉志強(qiáng),羅慶生.一種智能化溫度檢測(cè)系統(tǒng)的設(shè)計(jì)[J].中國(guó)測(cè)試技術(shù),2003,29(3):95-98[10]高光天.傳感器與信號(hào)調(diào)理器件應(yīng)用技術(shù)[M].北京:科學(xué)技術(shù)出版社,2002,84-85[11]付曉光.單片機(jī)原理與應(yīng)用技術(shù)[M].北京:清華大學(xué)出版社,2004.[12]秦永和.濕度傳感器測(cè)試系統(tǒng)[D].哈爾濱:哈爾濱工程大學(xué),2002[13]MichaelJohnSebastianSmith著.專用集成電路.電子工業(yè)出版社2009[14]Accelerometrybasedassessmentofgaitparametersinchildren.-2006[15]J.Kramar,J.Jun.TheMoleeularMeasuringMaehine.Proceedingsofthe1998InternationalConfereneeonMeehatronieTeehnology,1998,Page:477~487[16]E·ClaytonTeague.Metrologyandprecisionengineeringdesign,J.Vac.Sci.Technol.B[C].1989,No6,Page:89~103[17]R.L.GeigerP.E.AllenN.R.Strader.VLSI.Design
Techniques
for
Analog
And
Digitial
Ciruits,McGraw-Hill
Inc.1990.
[18]ANALOG
DEVICES.The
technology
of
AT89C51[EB/OL].White
Paper,Spe.28.2000.致謝畢業(yè)論文暫告收尾,這也意味著我在湖南大學(xué)的四年的學(xué)習(xí)生活既將結(jié)束?;厥准韧约哼@四年最寶貴的時(shí)光能在這樣的校園之中,能在眾多學(xué)富五車、才華橫溢的老師們的熏陶下度過,實(shí)是榮幸之極。在這四年的時(shí)間里,我在學(xué)習(xí)上和思想上都受益非淺。這除了自身努力外,與各位老師、同學(xué)和朋友的關(guān)心、支持和鼓勵(lì)是分不開的。在此,我要特別感謝湖南大學(xué)及湖南大學(xué)電氣與信息工程學(xué)院對(duì)我的培養(yǎng),感謝院里面提供給我這么多的學(xué)習(xí)資源,這么多的學(xué)習(xí)設(shè)備,也要感謝各位恩師對(duì)我的傾囊相授,傳道授業(yè)解惑給我。其次,要感謝導(dǎo)師黃文清老師,本論文的研究設(shè)計(jì)與寫作工作是在老師的悉心指導(dǎo)下完成的。在實(shí)驗(yàn)及論文期間,不僅學(xué)到了豐富的專業(yè)知識(shí),而且培養(yǎng)了自己進(jìn)行科學(xué)研究工作的能力,導(dǎo)師的言傳身教使我受益匪淺,并且老師在我的論文工作中給與了極大的鼓勵(lì)和支持,提出了很多寶貴的意見。感謝黃老師在我遇到困難的時(shí)候,撥云見霧,讓我重新找出一個(gè)清晰的思路。還要感謝實(shí)驗(yàn)室朝夕相處的同學(xué)和學(xué)長(zhǎng),在整個(gè)畢業(yè)設(shè)計(jì)期間大家融洽相處,相互幫助,使每個(gè)人都有良好的心情去完成畢業(yè)設(shè)計(jì)。又不懂的問題去請(qǐng)教都會(huì)耐心的給我解釋。我也懂得了一個(gè)道理,團(tuán)結(jié)的力量,只有更好得與他人,進(jìn)行溝通與交流,吸取別人的建議,工作才會(huì)更加的順利。時(shí)間的倉(cāng)促及自身專業(yè)水平的不足,整篇論文肯定存在尚未發(fā)現(xiàn)的缺點(diǎn)和錯(cuò)誤。懇請(qǐng)閱讀此篇論文的老師、同學(xué),多予指正,不勝感激!附錄附錄A:主程序#include"led.h"#include"delay.h"#include"sys.h"#include"usart.h"#include"lcd.h"#include"dht11.h"#include"adxl345.h"#include"key.h"voidAdxl_Show_Num(u16x,u16y,shortnum,u8mode){ if(mode==0) { if(num<0) { LCD_ShowChar(x,y,'-',16,0); num=-num; }elseLCD_ShowChar(x,y,'',16,0); LCD_ShowNum(x+8,y,num,4,16); }else { if(num<0) { LCD_ShowChar(x,y,'-',16,0); num=-num; }elseLCD_ShowChar(x,y,'',16,0); LCD_ShowNum(x+8,y,num/10,2,16); LCD_ShowChar(x+24,y,'.',16,0); LCD_ShowNum(x+32,y,num%10,1,16); }} intmain(void){ u8t=0; u8key; u8temperature,humidity; shortx,y,z; shortangx,angy,angz; delay_init(); uart_init(9600); LED_Init(); LCD_Init(); POINT_COLOR=RED; LCD_ShowString(60,50,200,16,16,"MiniSTM32"); LCD_ShowString(60,70,200,16,16,"DS18B20TEST"); LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK"); LCD_ShowString(60,110,200,16,16,"2014/3/12"); while(DHT11_Init()) { LCD_ShowString(60,130,200,16,16,"DHT11Error"); delay_ms(200); LCD_Fill(60,130,239,130+16,WHITE); delay_ms(200); } while(ADXL345_Init()) { LCD_ShowString(60,150,200,16,16,"ADXL345Error"); delay_ms(200); LCD_Fill(60,130,239,130+16,WHITE); delay_ms(200); } LCD_ShowString(60,130,200,16,16,"DHT11ANDADXL345OK"); POINT_COLOR=BLUE; LCD_ShowString(60,150,200,16,16,"Temp:C"); LCD_ShowString(60,170,200,16,16,"Humi:%"); LCD_ShowString(60,190,200,16,16,"XVAL:"); LCD_ShowString(60,210,200,16,16,"YVAL:"); LCD_ShowString(60,230,200,16,16,"ZVAL:");LCD_ShowString(60,250,200,16,16,"XANG:"); LCD_ShowString(60,270,200,16,16,"YANG:"); LCD_ShowString(60,290,200,16,16,"ZANG:"); while(1) { if(t%10==0)//?100ms???? { ADXL345_Read_Average(&x,&y,&z,10); Adxl_Show_Num(60+48,190,x,0); Adxl_Show_Num(60+48,210,y,0); Adxl_Show_Num(60+48,230,z,0); angx=ADXL345_Get_Angle(x,y,z,1); angy=ADXL345_Get_Angle(x,y,z,2); angz=ADXL345_Get_Angle(x,y,z,0); Adxl_Show_Num(60+48,250,angx,1); Adxl_Show_Num(60+48,270,angy,1); Adxl_Show_Num(60+48,290,angz,1); DHT11_Read_Data(&temperature,&humidity); LCD_ShowNum(60+40,150,temperature,2,16); LCD_ShowNum(60+40,170,humidity,2,16); } key=KEY_Scan(0); if(key==KEY_UP) { LED1=0; ADXL345_AUTO_Adjust((char*)&x,(char*)&y,(char*)&z); LED1=1; } delay_ms(10); t++; if(t==20) {t=0; LED0=!LED0; } }附錄B:液晶顯示模塊程序#include"led.h"#include"delay.h"#include"sys.h"#include"usart.h"#include"lcd.h"intmain(void){ u8x=0; u8lcd_id[12]; delay_init(); uart_init(9600); LED_Init(); LCD_Init(); POINT_COLOR=RED; sprintf((char*)lcd_id,"LCDID:%04X",lcddev.id); while(1) { switch(x) { case0:LCD_Clear(WHITE);break; case1:LCD_Clear(BLACK);break; case2:LCD_Clear(BLUE);break; case3:LCD_Clear(RED);break; case4:LCD_Clear(MAGENTA);break; case5:LCD_Clear(GREEN);break; case6:LCD_Clear(CYAN);break; case7:LCD_Clear(YELLOW);break; case8:LCD_Clear(BRRED);break; case9:LCD_Clear(GRAY);break; case10:LCD_Clear(LGRAY);break; case11:LCD_Clear(BROWN);break; } POINT_COLOR=RED; LCD_ShowString(30,40,200,24,24,"MiniSTM32^_^"); LCD_ShowString(30,70,200,16,16,"TFTLCDTEST"); LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK"); LCD_ShowString(30,110,200,16,16,lcd_id); LCD_ShowString(30,130,200,12,12,"2014/3/7"); x++; if(x==12)x=0; LED0=!LED0; delay_ms(1000); }}附錄C:三軸加速度傳感器模塊程序#include"led.h"#include"delay.h"#include"key.h"#include"sys.h"#include"lcd.h"#include"usart.h" #include"adxl345.h" voidAdxl_Show_Num(u16x,u16y,shortnum,u8mode){ if(mode==0) { if(num<0) { LCD_ShowChar(x,y,'-',16,0); num=-num; }elseLCD_ShowChar(x,y,'',16,0); LCD_ShowNum(x+8,y,num,4,16); }else { if(num<0) { LCD_ShowChar(x,y,'-',16,0); num=-num; }elseLCD_ShowChar(x,y,'',16,0); LCD_ShowNum(x+8,y,num/10,2,16); LCD_ShowChar(x+24,y,'.',16,0); LCD_ShowNum(x+32,y,num%10,1,16); }} intmain(void){ u8key; u8t=0; shortx,y,z; shortangx,angy,angz; delay_init(); NVIC_Configuration(); uart_init(9600); LED_Init(); LCD_Init(); KEY_Init(); POINT_COLOR=RED; LCD_ShowString(60,50,200,16,16,"WarShipSTM32"); LCD_ShowString(60,70,200,16,16,"3DTEST"); LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK"); LCD_ShowString(60,110,200,16,16,"2012/9/12"); LCD_ShowString(60,130,200,16,16,"KEY0:AutoAdjust"); while(ADXL345_Init()) { LCD_ShowString(60,150,200,16,16,"ADXL345Error"); delay_ms(200); LCD_Fill(60,150,239,150+16,WHITE); delay_ms(200); } LCD_ShowString(60,150,200,16,16,"ADXL345OK"); LCD_ShowString(60,170,200,16,16,"XVAL:"); LCD_ShowString(60,190,200,16,16,"YVAL:"); LCD_ShowString(60,210,200,16,16,"ZVAL:"); LCD_ShowString(60,230,200,16,16,"XANG:"); LCD_ShowString(60,250,200,16,16,"YANG:"); LCD_ShowString(60,270,200,16,16,"ZANG:"); POINT_COLOR=BLUE; while(1) { if(t%10==0) {ADXL345_Read_Average(&x,&y,&z,10); Adxl_Show_Num(60+48,170,x,0); Adxl_Show_Num(60+48,190,y,0); Adxl_Show_Num(60+48,210,z,0); angx=ADXL345_Get_Angle(x,y,z,1); angy=ADXL345_Get_Angle(x,y,z,2); angz=ADXL345_Get_Angle(x,y,z,0); Adxl_Show_Num(60+48,230,angx,1); Adxl_Show_Num(60+48,250,angy,1); Adxl_Show_Num(60+48,270,angz,1); } key=KEY_Scan(0); if(key==KEY_UP) { LED1=0; ADXL345_AUTO_Adjust((char*)&x,(char*)&y,(char*)&z); LED1=1; } delay_ms(10); t++; if(t==20) { t=0; LED0=!LED0; } }}附錄D:溫濕度傳感器模塊程序:#include"led.h"#include"delay.h"#include"key.h"#include"sys.h"#include"lcd.h"#include"usart.h" #include"dht11.h" intmain(void){ u8t=0; u8temperature; u8humidity; delay_init(); NVIC_Configuration(); uart_init(9600); LED_Init(); LCD_Init(); KEY_Init(); POINT_COLOR=RED; LCD_ShowString(60,50,200,16,16,"WarShipSTM32"); LCD_ShowString(60,70,200,16,16,"DS18B20TEST"); LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK"); LCD_ShowString(60,110,200,16,16,"2012/9/12"); while(DHT11_Init()) { LCD_ShowString(60,130,200,16,16,"DHT11Error"); delay_ms(200); LCD_Fill(60,130,239,130+16,WHITE); delay_ms(200); } LCD_ShowString(60,130,200,16,16,"DHT11OK"); POINT_COLOR=BLUE; LCD_ShowString(60,150,200,16,16,"Temp:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 施工現(xiàn)場(chǎng)施工防生物安全事故制度
- 小學(xué)生心理健康教育的校本課程設(shè)計(jì)研究
- DB4404T 72-2024電梯維修保養(yǎng)服務(wù)安全規(guī)范
- 不服合作合同爭(zhēng)議仲裁起訴狀范本
- 個(gè)人股權(quán)轉(zhuǎn)讓合作合同模板
- 兩人合伙創(chuàng)業(yè)合同范本
- 個(gè)人股權(quán)轉(zhuǎn)讓合同簡(jiǎn)單范文
- 二手房買賣合同簡(jiǎn)易版
- 個(gè)人公寓租賃合同范本
- 產(chǎn)學(xué)研一體化碩士專班合作協(xié)議合同
- (康德一診)重慶市2025屆高三高三第一次聯(lián)合診斷檢測(cè) 英語(yǔ)試卷(含答案詳解)
- 2025年福建泉州文旅集團(tuán)招聘24人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 建筑行業(yè)砂石物資運(yùn)輸方案
- 腫瘤全程管理
- 桃李面包盈利能力探析案例11000字
- GB/Z 30966.71-2024風(fēng)能發(fā)電系統(tǒng)風(fēng)力發(fā)電場(chǎng)監(jiān)控系統(tǒng)通信第71部分:配置描述語(yǔ)言
- 污泥處置合作合同模板
- 2025高考數(shù)學(xué)專項(xiàng)復(fù)習(xí):概率與統(tǒng)計(jì)的綜合應(yīng)用(十八大題型)含答案
- 2024年高中一年級(jí)數(shù)學(xué)考試題及答案
- 心電圖 (史上最完美)課件
- 建設(shè)工程施工合同糾紛處理課件
評(píng)論
0/150
提交評(píng)論