【单片机毕业设计】基于STM32单片机蓝牙app控制心率体温血氧检测健康监测系统

22 篇文章 1 订阅
10 篇文章 1 订阅

1、前言

 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉小洪学长自己做的项目系统达不到老师的要求。为了大家能够顺利以及最少的精力通过毕设,小洪学长分享优质毕业设计项目,今天要分享的是基于STM32单片机蓝牙app控制心率体温血氧检测健康监测系统

2、简介

基于STM32单片机蓝牙app控制心率体温血氧检测健康监测系统

1、oled屏实时显示当前系统数据(心率、体温、血氧)
2、可以通过按键菜单设置体温、心率、血氧、报警阈值
3、通过蓝牙模块连接手机app
4、蓝牙可以控制检测(心率、体温、血氧)并将检测的数据显示在oled屏幕上
5、将检测的(心率、体温、血氧)数据显示通过蓝牙上传到手机app上
6、当体温、心率、血氧值大于设置的报警阈值蜂鸣器声光报警

3、组成

本设计由STM32F103C8T6单片机最小系统+蓝牙模块+oled+非接触测温模块+心率血氧模块+电源电路组成。

4、实现效果

整体展示

5、设计原理

5.1非接触测温模块简介

由于集成了低噪声放大器、17位模数转换器和强大的数字信号处理芯片 MLX90302,使得高精度和高分辨度的温度计得以实现。计算所得物体温度和环境温度存储在MLX90302 的RAM单元,温度分辨率为0.01 ℃,并可通过两线SMBus 兼容协议接口 (0.02°C 分辨率)或是10位PWM(脉宽调制)输出模式输出。MLX90614 出厂校准的温度范围为:环境温度 -40—25 ℃,物体温度 -70—382.2 ℃。传感器测量的温度为视场里所有物体温度的平均值。MLX90614 室温下的标准精度为±0.5ºC。医疗应用版本的传感器可在人体温度范围内达到±0.1ºC 的精度。在应用设计中需要注意上述精度是当传感器在热平衡和等温条件下才能保证和达到的。(传感器封装里没有温差)封装内部的温差会影响温度计测量的精度,如下因素会造成温差:传感器背部的热电子,传感器背部或旁边的加热器/冷却器, 或当热/冷物体靠近传感器,不仅会加热传感元件,而且会加热温度计封装。该效应对小视场(FOV)器件,如-XXC和-XXF会更加明显,因为传感器接收到被测物体能量削减了。因此,迈来芯引入MLX90614–XCX版本,在该版本里,热梯度是通过内部测量的,进而用所测温度去补偿该梯度。应用该方式, MLX90614 –XCX版本对热梯度有低的灵敏度,但是并未完全消除该效应,所以需要尽可能避免使用造成热梯度的操作或是将传感器和该环境隔离。作为标准,MLX90614 将物体发射率校准为1。但用户可在无需黑体的情况下,简易地将发射率在 0.1—1.0之间改变。10-位 PWM 输出模式是连续输出所测物体温度的标准配置,测量物体的温度范围为-20…120 ℃,分辨率为0.14℃。PWM格式可以通过改变 2 个EEPROM单元的内容来简易地定制为客户所需的范围,这对器件的出厂校准并无影响。PWM 引脚也可配置为热动继电器模式, (输入为 To) 进而构造简单且经济的恒温器或是温度(冻结/沸腾)警报装置。温度阈值是用户编程的。在SMBus 系统中该特性可以作为进程中断以便读取总线上的从动器件并确定其精确的状态。温度计有两个电源电压:5V或是3V(电池作为电源) 。5V 电源电压可通过使用少量片外元件调节到更高的电源电压。(例如8—16V) 用以阻碍可见光和近红外光辐射的光学滤波器(可传播长波)集成在封装内提供对环境和日光的免疫。滤波器的波长通带为5.5到14µm。

实物图

5.2 STM32F103C8T6简介

  1. STM32系列处理器是意法半导体ST公司生产的一种基于ARM 7架构的32位、支持实时仿真和跟踪的微控制器。选择此款控制芯片是因为本系统设计并非追求成本的最低或更小的功耗,而是在实现本设计功能的前提下能够提供更丰富的接口和功能以便于设计实验系统各实验项目所需的外围扩展电路。此款控制芯片在完成单片机课程的学习后上手较为容易,在医疗器械中应用广泛,具有很好的学习、实验研究价值。
  2. 一、STM32的主要优点:
  3. (1)使用ARM最新的、先进架构的Cortex-M3内核
  4. (2) 优异的实时性能
  5. (3) 杰出的功耗控制
  6. (4) 出众及创新的外设
  7. (5) 最大程度的集成整合
  8. (6) 易于开发,可使产品快速将进入市场
  9. 二、STM32——最佳的平台选项
  10. 对于使用同一平台进行多个项目开发而言,STM32是最
  11. 佳的选择:
  12. (1) 从仅需少量的存储空间和管脚应用到需要更多的存储空间和管脚的应用
  13. (2) 从苛求性能的应用到电池供电的应用
  14. (3) 从简单而成本敏感的应用到高端应用
  15. (4) 全系列脚对脚、外设及软件的高度兼容性,给您带来全方位的灵活性。您可以在不必修改您原始框架及软件的条件下,将您的应用升级到需要更多存储空间或精简到使用更少存储空间/ 或改用不同的封装的规格。
  16. STM32F103C8T6单片机核心板接口电路图如下图所示。

STM32单片机核心板接口原理图

6、部分核心代码

 int32_t my_heart_rate;  // 
 float   my_temp;  // 
 int32_t my_blood;  // 
 char HC05SEND[200] = {0};   // 
 char lsstr[50] = {0};  // 
 uint8_t count = 0;   // 
 uint8_t Alarm_falg = 0;   // 

 int main(void)
 {
    delay_init();  // 
	delay_ms(500);   // 
	YHGUI_Config();  // 
	YHGUI_DispString(0,16,"正在初始化...",16,1);  // 
	MYGPIO_Init();   //LED 
	key_Init();
	uart1_init(9600);  // 
	uart2_init(9600);   // 
    SMBus_Init();   // 
	max30102_init();  // 
	delay_ms(1000);  // 
	HC05_Init();   // 
  
 	if(HC05_SetName("1234"))  // 
 	{
    	LED = 1;  
 		printf("设置失败\r\n");
 		YHGUI_DispString(0,16,"没有检测到蓝牙",16,1);
 		while(1);
 	}
 	else
 	{
 		LED = 0;
 		printf("设置成功\r\n");
 		YHGUI_Clear();
 	}
	
 	YHGUI_DispString(0,0," 智能健康监护仪 ",16,1);  // 
 	YHGUI_DispString(0,16,"温度:",16,1);// 
 	YHGUI_DispString(40,16,"0 C",16,1);// 
 	YHGUI_DispString(0,32,"心率:",16,1);// 
 	YHGUI_DispString(40,32,"0 bpm",16,1);// 
 	YHGUI_DispString(0,48,"血氧:",16,1);// 
 	YHGUI_DispString(40,48,"0 mmHg",16,1);// 

  • 4
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值