赞
踩
这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉小洪学长自己做的项目系统达不到老师的要求。为了大家能够顺利以及最少的精力通过毕设,小洪学长分享优质毕业设计项目,今天要分享的是基于STM32单片机蓝牙app控制心率体温血氧检测健康监测系统
基于STM32单片机蓝牙app控制心率体温血氧检测健康监测系统
1、oled屏实时显示当前系统数据(心率、体温、血氧)
2、可以通过按键菜单设置体温、心率、血氧、报警阈值
3、通过蓝牙模块连接手机app
4、蓝牙可以控制检测(心率、体温、血氧)并将检测的数据显示在oled屏幕上
5、将检测的(心率、体温、血氧)数据显示通过蓝牙上传到手机app上
6、当体温、心率、血氧值大于设置的报警阈值蜂鸣器声光报警
本设计由STM32F103C8T6单片机最小系统+蓝牙模块+oled+非接触测温模块+心率血氧模块+电源电路组成。
整体展示
由于集成了低噪声放大器、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。
实物图
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);//

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。