首页 > 评测 > 聆听来自心脏的信号——Heart Rate Click模块评测
聆听来自心脏的信号——Heart Rate Click模块评测
- [导读]
- 心率传感器的型号颇多,目前就有如下几种常见的传感芯片或方案供选择,有ROHM的BH1790GLC脉搏波传感器,Maxim的MAX30100,艾普柯微电子的EM702及Silicon Labs的Si1143芯片等。今天就给大家来评测一下MAX30100的方案。
启动Arduino IDE,准备测试下实际效果。
Arduino-MAX30100一共包含3个测试例程,
分别是MAX30100_Debug,MAX30100_Mininal及MAX30100_RawData,先来看下RawData,这是读取的原始数据值,在打开SerialPlotter之前先设置串口连接及通信速率(默认为115200),下面是测试的结果。
其中橙色部分是原始的IR读取值,蓝色部分为Red读取值。测试图中前一部分是手指没有接触传感器的结果,看到数据稳定输出,后半部分是手指与传感器接触后的结果,可以看到有明显的脉搏效果。
原生的数据并没有处理,所以看不到脉搏的具体值。MAX30100_Mininal例程提供了一个更直观的、直接显示用户可读的测试结果
不过这测试结果偏差有点大。温度值及心率值明显不对。尝试调整了一下LED电流及采样频率,也没有年到明显的变化,下面是库中提供的几个可调整值
#define SAMPLING_FREQUENCY 100
#define CURRENT_ADJUSTMENT_PERIOD_MS 300 //500
#define IR_LED_CURRENT MAX30100_LED_CURR_50MA
#define RED_LED_CURRENT_START MAX30100_LED_CURR_50MA //MAX30100_LED_CURR_27_1MA
#define DC_REMOVER_ALPHA 0.45 //0.95
#define TEMPERATURE_SAMPLING_PERIOD_MS 2000
其中注释掉的部分是原来的预设值。通过反复测试,最后将采样频率提到300,得到了算是比较满意的结果,如下
尽管这样,中间偶尔还会看到一组另类的检测值,例如上述检测结果中的40.55bmp数据。
实际测试的结论是,检测数据还需要进一步的处理,直接得到的结果会有偏差。
实际上现在大多数的心率检测芯片,都存在不同程度的偏差,所以在实际应用中,都加入了滤波算法,去除错误的或不合格的检测结果,最后呈现给用户。
最后再说点题外话,Heart rate click使用的是click接口,专为click系列模块设计的一种接口,好处是直接可以插到click扩展接口上,click接口一共有16个PIN,去除3V3及GND接口外,还有很多可用的接口。但是对于像Heart rate click这样只使用了I2C接口的话,很多PIN都浪费了,比较而言Grove接口的利用率就高得多。
参考资源:
Heart rate click: https://shop.mikroe.com/click/sensors/heart-rate
MAX30100 for Arduino: https://github.com/oxullo/Arduino-MAX30100
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前