加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

基于STM32的智能手環(huán)設(shè)計與實現(xiàn)

09/09 13:13
6659
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗、收獲成長和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
實物圖
相關(guān)方案
  • 方案介紹
    • 摘要
    • 一、研究背景及意義
    • 二、實現(xiàn)功能
    • 三、系統(tǒng)方案設(shè)計
    • 四、硬件電路設(shè)計
    • 五、軟件編程設(shè)計
    • 六、實物視頻及圖片
  • 相關(guān)文件
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

需要原理圖工程,源碼,PCB工程的朋友收藏,這篇文章關(guān)注我,私我吧?。?!

摘要

本次設(shè)計主要組成是STM32單片機(jī)電路、ADXL345加速度傳感器、心率檢測電路、OLED液晶顯示電路、電源電路、時鐘DS1302DS18B20溫度傳感器組成。通過ADXL345測量重力加速度,是用來判斷人體狀態(tài),根據(jù)狀態(tài)的數(shù)值變化進(jìn)行計步功能。通過心率傳感器測試,通過手指脈動放大經(jīng)過比較器處理后發(fā)送給單片機(jī)進(jìn)行心率采集。并將步數(shù)、心率,溫度、時間等信息顯示在液晶OLED上,當(dāng)?shù)够蛘邤?shù)據(jù)異常時蜂鳴器報警并且我們也可以通過藍(lán)牙模塊把當(dāng)前的數(shù)據(jù)發(fā)生到手機(jī)端進(jìn)行提醒,通過gps定位模塊把當(dāng)前位置也發(fā)送到手機(jī)端進(jìn)行顯示。本次設(shè)計功能比較全面,具有良好的市場前景。

一、研究背景及意義

隨著科技與時代不斷進(jìn)步,電子感應(yīng)與加速計技術(shù)出現(xiàn),取代了以前的技術(shù),因此電子計步器隨之而來。電子計數(shù)器,振動傳感器是目前電子計步器比較重要的兩大組成部分。心率是指一般人心臟在安靜狀態(tài)下每分鐘跳動的次數(shù),因為年齡或則性別等因素,存在著差異性。這是檢驗人體健康標(biāo)準(zhǔn)的一大指標(biāo),也是本次設(shè)計較為突出的一大重點。并且我們還通過溫度傳感器顯示當(dāng)前溫度和時鐘芯片顯示當(dāng)前時間便于訓(xùn)練。
在這個大環(huán)境的發(fā)展格局下,想設(shè)計一款集合計步功能和心率體溫計時跌倒報警定位檢測功能于一身的智能運(yùn)動手環(huán)。
從而達(dá)到以下目的:
(1) 有利于社會公共交通安全;
(2) 提高人們法律意識;
(3) 使之便捷、安全、準(zhǔn)確、高效,便于提高人體日常紅外運(yùn)動的普及化;

二、實現(xiàn)功能

  1. 以STM32單片機(jī)為數(shù)據(jù)處理中心,通過DS18B20采集當(dāng)前溫度,MAX30102傳感器采集當(dāng)前人體心率值;
  2. 通過DS1302時鐘芯片可以方便時刻觀察時間;
  3. 通過ADXL345進(jìn)行計步里程,并且通過OLED液晶顯示屏顯示當(dāng)前信息;
  4. 采用按鍵可以進(jìn)行修改非常方便快捷;
  5. 通過GPS對當(dāng)前運(yùn)動者進(jìn)行定位如果發(fā)生意外情況通過藍(lán)牙模塊發(fā)送藍(lán)牙進(jìn)行提醒;
  6. 時鐘具有掉電行走功能,重新上電后無需校準(zhǔn);

三、系統(tǒng)方案設(shè)計

系統(tǒng)方案設(shè)計框圖

在這里插入圖片描述

3.1 單片機(jī)芯片選擇

方案一:選擇ST公司的STC89C52單片機(jī)作為主控制器,STC89S52主要是低功耗、高性能器件,具有良好的存儲功能。該單片機(jī)價格低,功能比較全面, 功耗小,但它是個8位存儲器,不能達(dá)到實現(xiàn)本次設(shè)計的需求,故而因此放棄。
方案二:STM32單片機(jī)是一款超低功耗的32位器件,功能性比較豐富,模電數(shù)電集中到一個芯片上,可以較好地解決很多問題,實用性比較強(qiáng)。STM32F103C8T6是該系列應(yīng)用較為廣泛的一款控制芯片,該芯片運(yùn)行在32位系統(tǒng)、支持精簡指令集、超低功耗的混合型單片機(jī),具有高可靠性、低功耗、易擴(kuò)展、體積小、性價比高、電路簡單等優(yōu)勢,在精密儀器上被廣泛應(yīng)用,以及很多智能化產(chǎn)品中,提高產(chǎn)品質(zhì)量,提升經(jīng)濟(jì)價值,已成為眾多單片機(jī)系列中一顆耀眼的新星。因此選擇方案二。

3.2 顯示器方案設(shè)計

方案一 :LED數(shù)碼管,這種數(shù)碼管的最大優(yōu)勢是價格較低,性能穩(wěn)定,可以非常簡便的和單片機(jī)相連。主要是用于數(shù)字顯示上,實用性較高。但是數(shù)碼管顯示的數(shù)字有限,本次設(shè)計涉及數(shù)字較多,因此達(dá)不到設(shè)計的要求,此方案放棄。
方案二: 選擇OLED液晶顯示,常和單片機(jī)配合使用,他可以顯示大量的數(shù)據(jù),文字等等,顯示的位數(shù)也比較多,外觀較好,清晰,并且它的程序編寫起來比較簡單。經(jīng)濟(jì)方面價格也比較低廉,其中OLED液晶顯示屏隨是比較有特色的一款,很適用于本次設(shè)計,綜合下來選擇此方案。 故選擇方案二。

3.3 傾角傳感器設(shè)計

方案一 :選用陀螺儀來檢測位置的信息,功能比較強(qiáng),精度準(zhǔn)確,穩(wěn)定性強(qiáng),但是此器件精度要求高,控制起來較為復(fù)雜,不適用于本次設(shè)計。
方案二:選用ADI公司的傾角傳感器ADXL345模塊來檢測位置的信息,ADXL345功能比較全面,有很多存儲空間,其成本預(yù)算較低,便于控制。因此選擇方案二。

3.4心率檢測傳感器設(shè)計

方案一 :選用壓力傳感器收集心率血氧數(shù)據(jù),但其抗干擾能力較差,會對設(shè)計測量產(chǎn)生偏差,且測量的難度相對較大,很難達(dá)到本次設(shè)計的預(yù)期目的,所以排除此方案。
方案二 :選用MAX30102紅外模塊采集心率信號,此模塊對管心率信號采集較為穩(wěn)定,其抗干擾能力較強(qiáng),測量的數(shù)值比較準(zhǔn)確,波形穩(wěn)定,相對于本次設(shè)計是一個很好的選擇。故選擇方案二。

3.5 溫度傳感器設(shè)計

DS18B20溫度傳感器是美國達(dá)拉斯(DALLAS)半導(dǎo)體公司推出的應(yīng)用單總線技術(shù)數(shù)字溫度傳感器。該器件將半導(dǎo)體溫敏器件、A/D轉(zhuǎn)換器、存儲器等做在一個很小的集成電路芯片上。溫度傳感器之所以選擇單線數(shù)字器件DS18B20,是在經(jīng)過多方面比較和考慮后決定的,此傳感器不但可以防水溫度檢測的范圍比較廣,價格低廉而且使用起來也比較方便。

3.6 無線數(shù)據(jù)傳輸設(shè)計

方案一 :選擇采用NRF24L01模塊進(jìn)行傳輸,但是傳輸過程中需要只是2快板子分為主從才可以進(jìn)行無線通信。
方案二: 選用HC05藍(lán)牙模塊,我們只需要通過此模塊進(jìn)行串口通信在手機(jī)端下載廠家提供的APP就可以完成數(shù)據(jù)的傳輸和顯示,價格也比較便宜傳輸數(shù)據(jù)穩(wěn)定。故選擇方案二。

3.7 時鐘模塊設(shè)計

方案一 :選擇單片機(jī)內(nèi)部時鐘,通過程序來顯示當(dāng)前的信息和參數(shù),不需要外接傳感器,但是內(nèi)部時鐘精度較差,非常容易產(chǎn)生積累誤差并且無法掉電行走。
方案二 :選用DS1302時鐘芯片,此芯片價格便宜,是專門用來處理萬年歷方面的信息,精準(zhǔn)度較高,并且數(shù)據(jù)可以通過電子進(jìn)行掉電行走,上電后無需重新設(shè)置。故選擇方案二。

四、硬件電路設(shè)計

4.1 STM32單片機(jī)介紹

單片機(jī)的最小系統(tǒng)應(yīng)能讓單片機(jī)正常工作并且能夠正常的發(fā)揮其功能的一個集成在一塊芯片上的完整計算機(jī)系統(tǒng)。它是一個小型的電腦設(shè)備所具有的那樣擁有者明顯的大腦,也就是控制的核心。同時,也具有一些輸出設(shè)備,還有就是定時器,能夠作為時間的控制中心,具有作為通訊的接口,把所有需要用到的都集中在一個小小的芯片之上,這就是單片機(jī)。當(dāng)然單片機(jī)現(xiàn)在的發(fā)展已經(jīng)比較先進(jìn),我們來看一下作為最基本的存在它是怎樣的。如下圖:

在這里插入圖片描述

STM32F103是STM32f101的增強(qiáng)型單片機(jī),在32位的MCU中性能最強(qiáng);具有出眾的控制和通訊,非常適合低電壓/低功耗的應(yīng)用場合。下圖為STM32內(nèi)核:

在這里插入圖片描述

對于本次設(shè)計,我們選擇的單片機(jī)是STM32F103C8T6單片機(jī)。此單片機(jī)和51系列相比多了很多功能,不但運(yùn)行速度比51單片機(jī)要快很多,自帶2個AD轉(zhuǎn)換,方便我們在設(shè)計煙霧和CO的時候免去了需要加外部ADC進(jìn)行轉(zhuǎn)換,非常方便;
STM32實物圖如下圖所示:

在這里插入圖片描述

4.2 主要功能模塊電路設(shè)計

4.2.1 電源電路設(shè)計

單片機(jī)的電源采用直流5V供電,電源模塊包括一個3腳的電源座子和6腳的電源開關(guān)。電源座子用于連接外部的電源插頭,電源開關(guān)用于控制整個單片機(jī)的電路開和關(guān)。原理圖如下:

在這里插入圖片描述

4.2.2 ADXL345傾角傳感器電路設(shè)計

ADXL345的內(nèi)部功能結(jié)構(gòu)如下圖所示,X、Y、Z三個相互正交的的方向上的加速度由 G-Cell傳感器感知,經(jīng)過容壓變換器、增益放大、濾波器和電壓信號輸出。然后我們就可以得到步數(shù),我們設(shè)置步數(shù)距離后可以通過步數(shù)在計算里程,ADXL345內(nèi)部功能圖如下:

在這里插入圖片描述

ADXL345的三個相互正交的測量方向如下圖,固定在人體上后,這三個方向上的數(shù)據(jù)意義也就隨之確定了。

在這里插入圖片描述

引腳配置(頂視圖):

在這里插入圖片描述

ADXL345是一款小而薄的超低功耗3軸加速度計,分辨率高(13位),測量范圍達(dá)±16g。數(shù)字輸出數(shù)據(jù)為16位二進(jìn)制補(bǔ)碼格式,可通過SPI(3線或4線)或I2C數(shù)字接口訪問。ADXL345非常適合移動設(shè)備應(yīng)用。它可以在傾斜檢測應(yīng)用中測量靜態(tài)重力加速度,還可以測量運(yùn)動或沖擊導(dǎo)致的動態(tài)加速度。其高分辨率(3.9mg/LSB),能夠測量不到1.0°的傾斜角度變化。

在這里插入圖片描述

4.2.3 心率傳感器電路設(shè)計

測心率實際上也在同時檢測血氧,只是基于本模塊我們只用到心率檢測,把血氧檢測到的數(shù)據(jù)不顯示,所以實際在運(yùn)用的時候我們也在同時測血氧飽和度。
MAX30102 是一個集成的脈搏血氧儀和心率監(jiān)測儀生物傳感器的模塊。它集成了一個紅光 LED 和一個紅外光 LED、光電檢測器、光器件,以及帶環(huán)境光抑制的低噪聲電子電路。
原理說明:
傳統(tǒng)的脈搏測量方法主要有三種:一是從心電信號中提??;二是從測量血壓時壓力傳感器測到的波動來計算脈率;三是光電容積法。前兩種方法提取信號都會限制病人的活動,如果長時間使用會增加病人生理和心理上的不舒適感。而光電容積法脈搏測量作為監(jiān)護(hù)測量中最普遍的方法之一,其具有方法簡單、佩戴方便、可靠性高等特點。

在這里插入圖片描述

4.2.4 OLED顯示屏電路設(shè)計

有機(jī)發(fā)光顯示器(Organic Light Emitting Display,OLED)是一種新型發(fā)光和顯示器件。OLED實質(zhì)上是一個薄膜器件,即在陽極和陰極之間夾多層有機(jī)薄膜組成的穩(wěn)定的綠色有機(jī)薄膜電致發(fā)光器件。當(dāng)有電流通過時,這些有機(jī)材料就會發(fā)光。OLED使用普通的矩陣交叉屏,OLED位于交叉排列的陽極和陰極中間,通過對陽極和陰極組合的選通,可以控制每一個OLED的點亮。

液晶顯示模塊電路如圖所示,P5是一個4孔的排針,專門供OLED液晶顯示屏使用,5V是指接的5V電壓;顯示屏的SCL引腳連接的是單片機(jī)的B6引腳,通過SCL引腳傳輸串行時鐘數(shù)據(jù);SDA引腳連接的是單片機(jī)的B7引腳,通過SDA引腳傳輸串行數(shù)據(jù)。

在這里插入圖片描述

在這里插入圖片描述

4.2.5 DS18B20溫度電路設(shè)計

DS18B20 是美國 DALLAS 半導(dǎo)體公司推出的應(yīng)用單總線技術(shù)的數(shù)字溫度傳感器。它的主要技術(shù)特性如下:
① 具有獨(dú)特的單線接口方式,即微處理器與其接口時僅需占用 1 位I/O 端口;
② 支持多節(jié)點,使分布式多點測溫系統(tǒng)的線路結(jié)構(gòu)設(shè)計和硬件開銷大為簡化;
③ 測溫時無需任何外部元件:
④ 可以通過數(shù)據(jù)線供電,具有超低功耗工作方式:
⑤ 測溫范圍為-55~+125℃,測溫精度為±0.5℃:
⑥ 溫度轉(zhuǎn)換精度 9-12 位可編程,能夠直接將溫度轉(zhuǎn)換值以 16 位二進(jìn)制數(shù)碼的方式串行輸出。12 位精度轉(zhuǎn)換的最大時間為 750ms。
DS18B20溫度傳感器結(jié)構(gòu)圖:
在這里插入圖片描述

4.2.6 DS1302時鐘電路設(shè)計

DS1302是一款專門處理時鐘的芯片,晶振為32.768,
1、由美國DALLAS公司推出。
2、它是一種高性能、低功耗、帶RAM的實時時鐘電路。
3、DS1302使用方便,接線簡單,適合此電子時鐘的設(shè)計制作。
4、DS1302可以對年月日時分秒等進(jìn)行計時,并且?guī)в虚c年補(bǔ)償功能。
5、它可以一次傳送多個字節(jié)的時鐘信號。并且內(nèi)部有存放數(shù)據(jù)的RAM寄存器
6、DS1302的 工作電壓寬達(dá)2.5~5.5V。同時還提供了對后備電源的引腳。

在這里插入圖片描述

1引腳:VCC2為主電源引腳。

8引腳:VCC1備用電源引腳。

備注:DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大Vcc1+0.2V時,Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時,DS1302由Vcc1供電。由于本設(shè)計未引用備用電源,只引用了1引腳,主電源引腳。

2和3引腳:X1、X2外接晶振引腳。(外接32.768kHz晶振)

4引腳:GND為接地引腳。

5引腳:CE/RST為復(fù)位/片選線。通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。

RST接通控制邏輯,允許地址/命令序列送入移位寄存器

RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。

6引腳:I/O為數(shù)據(jù)輸入輸出口。在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位到高位7。

7引腳:SCLK為串行時鐘,輸入。

4.2.7 按鍵電路設(shè)計

本設(shè)計一共設(shè)置有5個控制命令按鍵:參數(shù)設(shè)置;設(shè)置加;設(shè)置減;清除當(dāng)前步數(shù)里程。我們采用的是獨(dú)立式的按鍵,獨(dú)立式按鍵就是每單個的按鍵就會有一條單獨(dú)的I/O線,他們之間互不影響,按鍵一端接地,采用的是低電平有效,按下按鍵就會連接該條線路。鍵盤抖動的消除采用的是軟件消除,因為硬件需要外接器件成本高也比較麻煩,軟件消除的原理是線建立一個子程序,在檢測到按鍵閉合時先執(zhí)行子程序延時功能,按鍵斷開時也執(zhí)行數(shù)毫秒的功能從而達(dá)到消除抖動的目的。電路圖設(shè)計:

在這里插入圖片描述

4.2.8 蜂鳴器報警電路設(shè)計

按鍵我們可以用于設(shè)置心率體溫上限,血氧下限,當(dāng)參數(shù)不在范圍內(nèi)蜂鳴器進(jìn)行聲光報警提醒。

蜂鳴器是一種蜂鳴元器件,供電時就進(jìn)行蜂鳴,操作非常簡單。市場上有很多蜂鳴器,我們選擇提供5V電源的蜂鳴器被認(rèn)為是實用的。當(dāng)我們使用蜂鳴器時,我們有一個小技巧。如果我們覺得蜂鳴器不夠響,我們可以把蜂鳴器頂部的紙去掉。在本次設(shè)計中,當(dāng)檢測到溫度或者煙霧濃度高于報警上限時,蜂鳴器報警。蜂鳴器電路如圖3.6所示,由3部分組成,一部分是一個1k的電阻,第二部分是一個PNP三極管,最后一部分就是蜂鳴器。三極管采用NPN三極管,其主要功能是放大電流和電平特性,因為單片機(jī)電路的電路非常小,無法提供蜂鳴器所需的電流,經(jīng)過三極管放大驅(qū)動電流后,電流放大200倍,驅(qū)動蜂鳴器報警。

在這里插入圖片描述

4.2.9 GPS定位模塊電路設(shè)計

GPS接收模塊通過它的接收天線獲取衛(wèi)星信號,經(jīng)過變頻、放大、濾波、相關(guān)、混頻等一系列處理,可以實現(xiàn)對天線視界內(nèi)衛(wèi)星的跟蹤、鎖定和測量。在獲取了衛(wèi)星的位置信息和測算出衛(wèi)星信號傳播時間之后,即可計算出天線位置。用戶通過輸入輸出接口,與GPS接收模塊進(jìn)行信息交換,實現(xiàn)功能。GPS接收模塊內(nèi)部結(jié)構(gòu)如圖所示。

在這里插入圖片描述

該設(shè)計中GPS信號接收模塊所選用的是VK2828U7接收模塊,該模塊是由美國瑟孚科技有限公司所生產(chǎn)。主要使用到的引腳如下圖所示。該模塊具有12通道并行接收能力,所接收的GPS信號屬于民用頻段的L1信號(1575.42MHz),在沒有SA干擾的情況下平均定位誤差為10米,動態(tài)速度誤差為0.1米/秒,信號靈敏度達(dá)到-142dBm,冷啟動定位時間為42秒,熱啟動時間為38秒,重新定位時間僅僅需要8秒。

在這里插入圖片描述

4.2.10 藍(lán)牙模塊電路設(shè)計

本次設(shè)計采用的無線通信模塊為HC05。HC05模塊是主從一體的,而且性能較高,可以與PDA、手機(jī)、電腦等具有藍(lán)牙功能的設(shè)備實現(xiàn)配對,該模塊所支持的波特率范圍非常大,為4800~1382400,而且該模塊和3.3V或5V的單片機(jī)系統(tǒng)相兼容,極其方便、靈活。

在這里插入圖片描述

五、軟件編程設(shè)計

完整的控制系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)組成,前一章主要闡述了系統(tǒng)的硬件電路的設(shè)計方案,若要充分發(fā)揮系統(tǒng)的設(shè)計功能,則需要支持硬件平臺的軟件程序,即燒寫到單片機(jī)內(nèi)部的程序。本設(shè)計利用STM32為控制中心,采用的的是STM32F103C8T6芯片,開發(fā)環(huán)境是Keil uVision5 by ARM軟件,這款開發(fā)環(huán)境是目前STM32單片機(jī)系統(tǒng)的主流軟件,使用的非常頻繁。程序的燒錄使用的是STLINKV2下載器進(jìn)行燒錄程序。

5.1軟件整體流程圖設(shè)計

主程序模塊:系統(tǒng)上電后,我們需要配置個個傳感器的引腳,然后初始化IIC 讓oled進(jìn)行液晶顯示和ADXL345進(jìn)行數(shù)據(jù)采集,采集完成后藍(lán)牙串口初始化等待發(fā)送數(shù)據(jù),DS18B20進(jìn)行溫度采集,心率傳感器通過獲取當(dāng)前心率值,時鐘顯示當(dāng)前的時間,最后把數(shù)據(jù)通過藍(lán)牙發(fā)送到手機(jī)端,控制OLED顯示當(dāng)前采集到的數(shù)據(jù),最后進(jìn)入按鍵掃描判斷按鍵是否按下如果按下則處理按鍵掃描函數(shù)。

如下圖所示,是整個系統(tǒng)的主程序流程圖:

在這里插入圖片描述

5.2 心率程序設(shè)計

本次設(shè)計采用的是MAX30102芯片對人體心率或者血氧進(jìn)行采集,我們此次是用來做心率采集,MAX30102我們采用的是IIC進(jìn)行通信首先我們需要在程序里面配置IIC數(shù)據(jù)傳輸的引腳分別進(jìn)行配置,然后對IIC進(jìn)行初始化bsp_InitI2C(); MAX30102寫寄存器函數(shù)maxim_max30102_write_reg(uint8_t uch_addr, uint8_t uch_data); MAX30102讀寄存器函數(shù)maxim_max30102_read_reg(uint8_t uch_addr, uint8_t *puch_data); MAX30102初始化maxim_max30102_init(); MAX30102讀緩沖器FIFO maxim_max30102_read_fifo(uint32_t *pun_red_led, uint32_t *pun_ir_led); 計算心率,通過檢測PPG (photoplethysmographic,光電容積脈搏波描記法)周期的峰值和相應(yīng)的紅/紅外信號的AC/DC,計算出心率值

maxim_heart_rate_and_oxygen_saturation(uint32_t *pun_ir_buffer,
 int32_t n_ir_buffer_length, uint32_t *pun_red_buffer, 
 int32_t *pn_spo2, int8_t *pch_spo2_valid,
 int32_t *pn_heart_rate, int8_t *pch_hr_valid);

在這里插入圖片描述

5.3 液晶顯示程序設(shè)計

要讓液晶顯示屏正常工作,首先寫入命令控制字,然后在寫入需要顯示的數(shù)據(jù)。寫入命令控制字之前,必須用指令來查看液晶是否正在工作。如果正在工作,那就必須等待,直到液晶發(fā)出工作完成的信號時,才能夠?qū)懭肟刂谱趾蛿?shù)據(jù)。液晶顯示模塊程序流程圖如下圖所示。
在這里插入圖片描述

5.4 按鍵程序設(shè)計

按鍵電路有四個引腳。其中兩兩相同。我們在連接電路的時候只需要連接2個引腳就可以了。工作原理其實就是一個對信號的高低電平檢測。在我們按鍵被按下時,單片機(jī)引腳的IO口就會檢測為低電平。這些IO口電平特性的改變就會程執(zhí)行相應(yīng)的功能操作。判斷按鍵是否按下if(K10){while(K10)去延時,數(shù)值加;if(K20){delay_key()延遲,然后while(K20);是否按下如果按下,數(shù)值減。單獨(dú)按第三個按鍵就是清零流程圖如下圖所示:

在這里插入圖片描述

5.5 DS18B20溫度采集程序設(shè)計

從DS18B20中讀取溫度的過程是:首先獲取DS18B20中的溫度值,該溫度值為BCD碼形式,然后通過轉(zhuǎn)換,以十進(jìn)制形式輸出溫度值,且此時輸出的溫度值含有兩位小數(shù),但輸出時沒有小數(shù)點,輸出的溫度值是實際溫度的一百倍。它的步驟如下:
(1)初始化函數(shù)
(2)讀取溫度傳感器的溫度
(3)計算實際溫度值

如果測得的溫度大于0,只要將測到的數(shù)值乘以0.0625即可得到實際溫度;如果溫度小于0,測到的數(shù)值需要取反加1再乘以0.0625才能得到實際溫度。

在這里插入圖片描述

5.6 DS1302時鐘程序設(shè)計

在這里插入圖片描述

5.7 蜂鳴器報警程序設(shè)計

蜂鳴器的正極性的一端聯(lián)接到三極管上,為了防止三極管直接被導(dǎo)通我們加一個1K的限流電阻,通過單片機(jī)iO口來輸出高點電平,當(dāng)管腳為高電平時,三極管導(dǎo)通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。當(dāng)管腳為低電平時,三極管截至,蜂鳴器不發(fā)出聲音。其電路如圖所示。
流程圖如下:

在這里插入圖片描述

5.8 ADXL345三軸傳感器程序設(shè)計

本次設(shè)計采用的是ADXL345三軸傳感器來檢測當(dāng)前行走的步數(shù),ADXL345有2種通信方式,我們采用的是IIC進(jìn)行數(shù)據(jù)傳輸。首先我們需要在程序里面配置IIC數(shù)據(jù)傳輸?shù)囊_分別為SCL對應(yīng)A6 ,SDL對應(yīng)A7,然后對ADXL345進(jìn)行初始化Init_ADXL345();寫入開始信號和停止信號。void ADXL345_Start();void ADXL345_Stop();接收應(yīng)答信號:bit ADXL345_RecvACK(),ADXL345開始讀取采集到的數(shù)據(jù)BYTE ADXL345_RecvByte();讀取ADXL345的加速度值,從而判斷是否發(fā)生位移void Multiple_read_ADXL345(void);如果讀取到的數(shù)據(jù)為0XE5表示發(fā)生位移行走。devid=Single_Read_ADXL345(0X00); if(devid!=0XE5)

在這里插入圖片描述

5.9 GPS程序設(shè)計流程圖

先是STM32單片機(jī)對串口的引腳進(jìn)行配置,配置完成后我們選擇需要用到的串口引腳進(jìn)行初始化,引腳初始化完成后我們選擇相對應(yīng)的波特率來進(jìn)行串口通信,延遲一段時間后開始獲取采集信息,本次設(shè)計使用了串口3,4G模塊 – USART1,GPS – USART2,BLE – USART3,DEBUG – UART4GPS。接下來進(jìn)行串口時鐘使能,RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); 然后是GPIO端口模式設(shè)置,GPS數(shù)據(jù)采集部分流程圖如下圖所示:

在這里插入圖片描述

5.10 藍(lán)牙程序流程圖設(shè)計

本次設(shè)計使用HC-05藍(lán)牙模塊作為單片機(jī)和手機(jī)間的的通信工具。首先給藍(lán)牙透傳模塊上電,此時led閃爍。單片機(jī)上的藍(lán)牙模塊也上電工作,藍(lán)牙主要是通過串口進(jìn)行數(shù)據(jù)傳輸,初始化顯示內(nèi)容為uchar code Init1[]="WELCOME: ";延遲void HC-05 delay(uint z);寫入命令void RART_com(uchar com);寫數(shù)據(jù)void write_data(uchar date);初始化void HC-05(void)讀取字節(jié)for(i=0;i<8;i++) {write_data(Init1[i]);}最后我們通過手機(jī)點擊“搜索位于有效范圍內(nèi)的設(shè)備”,系統(tǒng)將搜索藍(lán)牙設(shè)備,默認(rèn)設(shè)備名稱“CH-05”,雙擊或者點擊右鍵選擇“添加藍(lán)牙設(shè)備”, 輸入配對密碼(默認(rèn)為“1234”)。點擊“下一步”,如果密碼正確,則單片機(jī)和手機(jī)之間則建立通信,在手機(jī)選擇波特率9600,在手機(jī)上顯示經(jīng)緯度信息和時間。下圖是HC-05藍(lán)牙通信模塊流程圖:

在這里插入圖片描述

六、實物視頻及圖片

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

這里經(jīng)緯度和手機(jī)指南針做一下對比,手機(jī)經(jīng)緯度如下:

在這里插入圖片描述

測試結(jié)果還是比較準(zhǔn)確的。

手機(jī)APP設(shè)計:

在這里插入圖片描述

在這里插入圖片描述

視頻如下:


基于STM32的智能手環(huán)設(shè)計

博客主頁:https://blog.csdn.net/weixin_51141489,需要源碼或相關(guān)資料實物的友友請關(guān)注、點贊,私信吧!

  • 聯(lián)系方式.txt

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
ECS-160-10-30B-CKM-TR 1 ECS International Inc Parallel - Fundamental Quartz Crystal,

ECAD模型

下載ECAD模型
$7.67 查看
ECS-2520S18-384-EN-TR 1 ECS International Inc HCMOS Output Clock Oscillator,

ECAD模型

下載ECAD模型
$1.86 查看
ASFLMPLV-100.000MHZ-LR-T 1 Abracon Corporation MEMS OSC XO 100.0000MHZ LVDS SMD

ECAD模型

下載ECAD模型
$4.88 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜