【资源下载】下载地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
基于蓝牙的STM32单片机智能手环+心率+计步器+体温检测设计
本设计的硬件构成:
STM32F103C8T6单片机电路+时钟晶振电路+复位电路(上电自复位,手动复位)+LCD1602液晶显示屏电路+ADXL345计步检测传感器电路+DS18B20温度传感器电路+心率光电检测传感器+蓝牙模块+总电源供电电路;
功能介绍:
1.上电完成之后,通过重力角度检测,计算出整个行走的步数,通过步数的换算,得出行走的距离;
2.STM32驱动LCD1602液晶显示屏,实时动态显示步数的数据以及显示行走的距离,第二行数据显示步数,和走路的距离,;
3.DS18B20温度传感器可以检测温度的数据,将温度的数据显示在液晶显示屏上面;
4.心率光电检测传感器实时监测心率脉搏心跳数据,显示在液晶显示屏上面;
5.板载复位开关,重新清零,可以按下复位按键,重新开始计算步数和距离;
6.蓝牙模块可与手机相连接,并将数据上传至APP,实现手机实时监控;
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include <stdio.h>
#include "timer.h"
#include "key.h"
#include "exti.h"
#include "adxl345.h"
#include "lcd1602.h"
#include "ds18b20.h"
unsigned char ReadAdxl345; //定时读取adxl345数据
unsigned char ErrorNum=0; //记录错误次数
unsigned char CheckNum=0; //检测次数
char dis0[16];//液晶数组显示暂存
char dis1[35];
unsigned char APP_Data[16];
unsigned int xlTab[5];//心率数组
unsigned char count=0; //心率滤波计数
unsigned int xinLater=0;// 心率延时处理
unsigned int xinLv =0; //心率值
unsigned int BuShu=0;//步数
unsigned int Normal_num=0; //正常次数
unsigned int Error_num=0; //倾斜次数
unsigned int disBuShu = 0; //显示步数
float disJuLi = 0;//显示距离
float temperature; //温度
unsigned char readTemp = 0; //读取温度标志
//extern u32 time50ms;