一:功能
基于STM32單片機(jī)智能手環(huán)心率計(jì)步器體溫顯示設(shè)計(jì)
本設(shè)計(jì)由STM32F103C8T6單片機(jī)核心板電路+ADXL345傳感器電路+心率傳感器電路+溫度傳感器+lcd1602電路組成。
1、通過重力加速度傳感器ADXL345檢測人的狀態(tài),計(jì)算出走步數(shù)、走路距離和平均速度。
2、通過心率傳感器實(shí)時(shí)檢測心率,通過溫度傳感器檢測溫度。
3、lcd1602實(shí)時(shí)顯示步數(shù)、距離和平均速度、心率以及溫度值。
二:電路圖

三:源代碼
#include "led.h" #include "delay.h" #include "sys.h" #include "usart.h" #include#include "timer.h" #include "key.h" #include "exti.h" #include "adxl345.h" #include "lcd1602.h" #include "ds18b20.h" unsigned char ReadAdxl345; /* 定時(shí)讀取adxl345數(shù)據(jù) */ unsigned char ErrorNum=0; /* 記錄錯(cuò)誤次數(shù) */ unsigned char CheckNum=0; /* 檢測次數(shù) */ char dis0[16]; /* 液晶數(shù)組顯示暫存 */ char dis1[35]; unsigned int xlTab[5]; /* 心率數(shù)組 */ unsigned char count=0; /* 心率濾波計(jì)數(shù) */ unsigned int xinLater=0; /* 心率延時(shí)處理 */ unsigned int xinLv =0; /* 心率值 */ unsigned int BuShu=0; /* 步數(shù) */ unsigned int Normal_num=0; /* 正常次數(shù) */ unsigned int Error_num=0; /* 傾斜次數(shù) */ unsigned int disBuShu = 0; /* 顯示步數(shù) */ float disJuLi = 0; /* 顯示距離 */ float temperature; /* 溫度 */ unsigned char readTemp = 0; /* 讀取溫度標(biāo)志 */ int main(void) { delay_init(); /* 延時(shí)函數(shù)初始化 */ uart_init(9600); /* 串口初始化為9600 */ TIM3_Int_Init(49,7199); /* 50ms */ EXTIX_Init(); /* 初始化外部中斷 */ LED_Init(); /* 初始化與LED連接的硬件接口 */ KEY_Init(); /* 初始化按鍵 */ Lcd_GPIO_init(); /* 初始化lcd引腳 */ Lcd_Init(); /* 初始化lcd屏幕 */ delay_ms(200); Init_ADXL345(); if(Single_Read_ADXL345(0X00)==0xe5) { delay_ms(5); } else { delay_ms(3); } while(1) { if(ReadAdxl345== 1) /* 定時(shí)讀取adxl345數(shù)據(jù) */ { ReadAdxl345= 0; ReadData_x(); /* 三軸檢測函數(shù) */ CheckNum++; if((temp_Y>450)||(temp_Y<-450)) /* 查看正常次數(shù) */ { Normal_num++; /* 正常次數(shù)++ */ } else { Error_num++; /* 傾斜次數(shù) */ } if((Error_num!=0)&&(Normal_num!=0)) /* 檢測到步數(shù) */ { BuShu++; /* 步數(shù)脈沖量++ */ Error_num=0; /* 清除一個(gè)周期檢測 */ Normal_num=0; } } if(disFlag==1) /* 顯示標(biāo)志 */ { disFlag = 0; readTemp++; /* 定時(shí)計(jì)數(shù) */ if(readTemp >= 8) /* 約800ms處理一次數(shù)據(jù) 溫度 */ { readTemp =0; /* 重新計(jì)數(shù) */ temperature=(float)DS18B20_Get_Temp()/10; /* 縮小10倍為實(shí)際值 */ } disBuShu = BuShu/2; /* 顯示步數(shù) */ disJuLi = disBuShu*0.45; /* 顯示距離 */ sprintf(dis0,"X:%03d/min %4.1f C",xinLv,temperature); /* 打印 */ Lcd_Puts(0,0,(unsigned char *)dis0); /* 顯示 */ Lcd_1Put(14,0,0xdf); /* 顯示符號 */ sprintf(dis1,"BS:%03d JL:%4.1fm ",disBuShu,disJuLi); /* 打印 */ Lcd_Puts(0,1,(unsigned char *)dis1); /* 顯示 */ } } }
審核編輯:劉清
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
-
加速度傳感器
+關(guān)注
關(guān)注
12文章
492瀏覽量
56639 -
計(jì)步器
+關(guān)注
關(guān)注
4文章
76瀏覽量
20687 -
STM32單片機(jī)
+關(guān)注
關(guān)注
59文章
553瀏覽量
60632
原文標(biāo)題:畢業(yè)設(shè)計(jì) | 基于STM32單片機(jī)智能手環(huán)脈搏心率計(jì)步器體溫顯示設(shè)計(jì)
文章出處:【微信號:精通單片機(jī)與嵌入式,微信公眾號:精通單片機(jī)與嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
熱點(diǎn)推薦
求一種基于STM32單片機(jī)的智能手環(huán)心率計(jì)步器體溫顯示方案
怎樣去設(shè)計(jì)一種智能手環(huán)心率計(jì)步器體溫顯示的硬件電路?怎樣
發(fā)表于 07-16 07:15
怎樣去設(shè)計(jì)一種基于51單片機(jī)最小系統(tǒng)的跑步機(jī)霍爾測速脈搏心率檢測儀
基于51單片機(jī)最小系統(tǒng)的跑步機(jī)霍爾測速脈搏心率檢測儀有哪些功能?怎樣去設(shè)計(jì)
發(fā)表于 08-03 07:52
怎樣去設(shè)計(jì)一種基于STM32的智能手環(huán)系統(tǒng)
STM32系列基于STM32的智能手環(huán)系統(tǒng)的設(shè)計(jì)STM32系列前言一、系統(tǒng)方案的設(shè)計(jì)1.1系統(tǒng)功能分析1.2系統(tǒng)總體結(jié)構(gòu)二、硬件電路的搭建2
發(fā)表于 08-04 07:09
怎樣去設(shè)計(jì)基于STM32的智能手環(huán)系統(tǒng)
前言隨著科學(xué)技術(shù)的革新,智能化生活已經(jīng)開始實(shí)現(xiàn),更多的人們的目光聚焦在智能化產(chǎn)品上面,一方面是對自身健康的關(guān)注,另一方面是對便攜輕松的生活的向往,智
發(fā)表于 08-16 09:02
怎樣去設(shè)計(jì)一種基于51單片機(jī)的脈搏測量儀呢
基于51單片機(jī)的脈搏測量儀是由哪些部分組成的?怎樣去設(shè)計(jì)一種基于51單片機(jī)的
發(fā)表于 10-19 09:35
怎樣去設(shè)計(jì)一種基于STM32的智能手環(huán)系統(tǒng)呢
基于STM32的智能手環(huán)系統(tǒng)是由哪些部分組成的?怎樣去設(shè)計(jì)基于STM32的智能手環(huán)系統(tǒng)的硬件電路
發(fā)表于 10-20 07:18
怎樣去設(shè)計(jì)基于STC89C51/52單片機(jī)的心率計(jì)脈搏測量儀呢
心率計(jì)脈搏測量儀的硬件是由哪些部分構(gòu)成的?怎樣去設(shè)計(jì)基于STC89C51/52單片機(jī)的心率計(jì)
發(fā)表于 10-26 07:57
基于STM32的智能手環(huán)系統(tǒng)該怎樣去設(shè)計(jì)呢
怎樣去設(shè)計(jì)基于STM32的智能手環(huán)系統(tǒng)的硬件呢?怎樣去
發(fā)表于 11-17 06:14
怎樣去設(shè)計(jì)一種基于51單片機(jī)的脈搏測量儀呢
脈搏測量儀在我們的日常生活中已經(jīng)得到了非常廣泛的應(yīng)用,通過觀測脈搏信號,可以對人體的健康進(jìn)行檢查,通常被用于保健中心和醫(yī)院。為了提高脈搏測量儀的簡便性和精確度,本課題設(shè)計(jì)了一種基于51
發(fā)表于 12-06 08:04
怎樣去設(shè)計(jì)一種基于單片機(jī)的智能門禁系統(tǒng)呢
基于單片機(jī)的智能門禁系統(tǒng)實(shí)現(xiàn)了哪些功能呢?怎樣去設(shè)計(jì)一種基于
發(fā)表于 12-21 07:01
怎樣去設(shè)計(jì)一種基于單片機(jī)的心率監(jiān)測LED燈輔助睡眠系統(tǒng)呢
基于單片機(jī)的心率監(jiān)測LED燈輔助睡眠系統(tǒng)的設(shè)計(jì)原理是什么?怎樣去設(shè)計(jì)一種基于單片機(jī)的
發(fā)表于 02-17 07:23
怎樣去設(shè)計(jì)一種基于Arduino Uno單片機(jī)的智能小車呢
基于Arduino Uno單片機(jī)的智能小車是由哪些部分組成的?怎樣去設(shè)計(jì)一種基于Arduino Uno單
發(fā)表于 02-21 06:04
怎樣去設(shè)計(jì)一種基于STM32L151C6單片機(jī)的智能垃圾桶呢
怎樣去設(shè)計(jì)一種基于STM32L151C6單片機(jī)的智能垃圾桶呢
發(fā)表于 02-28 06:29
基于STM32單片機(jī)智能手環(huán)心率計(jì)步器體溫顯示設(shè)計(jì)
基于STM32單片機(jī)智能手環(huán)心率計(jì)步器體溫顯示設(shè)計(jì)
發(fā)表于 04-11 09:08
?275次下載
怎樣去設(shè)計(jì)一種基于STM32單片機(jī)的智能手環(huán)脈搏心率計(jì)步器呢
評論