(四)HXDZ-30102-ACC检测心率血氧数据并通过串口助手显示

主要参考模块说明书

写在前面的话

  1. 硬件原理我是真的搞不明白,所以心率血氧传感器数据检测就是模块卖家自带的代码。。。
  2. 我使用HXDZ-30102-ACC传感器也是偶然在网上检索到的,集成心率血氧和三轴加速度一起的,当时想法就是图简单,没想到卖家没实现三轴加速度的代码,因此我只用到了心率血氧传感器。建议不要用这个,直接使用MAX30102就能够实现功能(关键是便宜)。

主要参考资料HXDZ-30102-ACC使用说明书V3.2(模块卖家提供资料包中有)

说明书中的原理介绍

首先连接开发板的COM端口,波特率设置为115200,无奇偶校验位。上电后,单片机复位MX30102并开始对MAX30102进行功能初始化,此时RED LED和IR LED交替点亮来检测人体皮肤不血液的搏动和血氧含量(此时可以看到MAX30102有红光亮起,说明初始化成功) 。单片机将一段时间内MAX30102采集的LED反射数据储存在内部RAM中,然后分别计算RED LED和IR LED的直流成分(DC)和交流成分(AC) ,最后算出数值R并通过预先储存在FLASH中的查找表来确定当前的SP02,而心率值可以通过对单个LED的交流成分相邻两波峰之间的时间差T来确定,每分钟心跳数BPM=60/T。

与STM32连接

本次使用STM32F103C8T6最小系统板

  1. 连接传感器和STM32。STM32与传感器对应关系为。
    在这里插入图片描述
  2. 将代码烧写进STM32(说明书附录1中提供了ISP下载方法)。检测血氧心率的程序位于(HXDZ-30102-ACC加密资料\下位机程序\STM32代码\MAX30102\stm32f103c8t6max30102.rar)
  3. 连接STM32与USB转TTL(买物联卡送的,合宙物联卡活动1元包年,每月30M)
    在这里插入图片描述
  4. 随便打开一个串口调试工具,波特率115200即可看到传感器数据
    在这里插入图片描述
    其中red和ir是红光LED,红外LED的原始数据, HR表示心率值, HRvalid是心率是否有效标识, SP02是血氧数值, SPo2valid是血氧是否有效标识。
posted @ 2020-03-25 11:36  莫逸风  阅读(583)  评论(0编辑  收藏  举报