16-基于stm32单片机心率血氧LMT70温度检测蓝牙上传手机APP源程序、原理图、元件清单实物制作

功能介绍:采用stm32单片机作为主控CPU,采用MAX30102传感器采集心率和血氧浓度,采用LMT70传感器采集温度,OLED显示,并且数据通过蓝牙HC05模块传输到手机APP,可以通过按键设置温度上限值,超过上限值蜂鸣器报警,并且检测到血氧不正常(低于92%)时蜂鸣器也进行报警,可以通过按键打开和关闭报警系统,文末有资料分享:

16-基于stm32单片机心率血氧LMT70温度检测蓝牙上传手机APP(程序+原理图+元件清单全套资料)

程序部分展示,有中文注释,新手容易看懂

int main(void)
{	
	int i=0;
	USART_CONFIG();
	printf("这是串口调试助手\r\n");
	
	IIC_GPIO_INIT();//初始化IIC接口
	
  OLED_Init();	//初始化OLED接口
	fill_picture(0x00);

KEY_Init();//初始化按键
	LED_Init();//初始化LED
	LED=1;Q1=1;
	MAX30102_GPIO();//初始化心率传感器IO
	
	Max30102_reset();//复位心率传感器
	
	MAX30102_Config();

	for(i = 0;i < 128;i++) //开始校验心率传感器
	{
		while(MAX30102_INTPin_Read()==0)
		{
			//读取FIFO
			max30102_read_fifo();
		}
	}
	    bsp_Lmt70Init();//初始化lmt70传感器
    bsp_Lmt70Enable();
	while(1)
	{	
	bsp_GetAdAverageValue(); //读值
		blood_Loop();
		 if(0 == bsp_ReadLmt70TemperatureInFloat(&fTemperature,ADC_AverageValue[0]))
            {
                printf("LMT70:%2.2f C\r\n",fTemperature);
            }
            else
            {
                printf("LMT70 Measure Error!\r\n");
            }
						bsp_ReadLmt70TemperatureInInt(&iTemperature,ADC_AverageValue[0]);
						OLED_Printf_EN(0,0,"LMT70:%2.2f%C  ",fTemperature);
			if(KEY0==0) //按键+
			{
         HTEMP++;		
					if(HTEMP>99) HTEMP=99;
			}
			if(KEY1==0) //按键-
			{
				HTEMP--;
					if(HTEMP<1) HTEMP=1;
			}
			if(KEY2==0) LED=~LED; //按键测试指示
		
			if(iTemperature>HTEMP*10&&buf==0)		//大于值 进行报警
			{
				LED=0;
				Q1=0;	
			}
			else
			{	
				LED=1;
				Q1=1;
			}
			if(KEY2==0)//关闭报警
			{
			buf++;
				if(buf>1) buf=0;

 下面是原理图文件展示:

百度云盘资料分享链接 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值