首页 > 评测 > 聆听来自心脏的信号——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
- 我要投稿
-
欢迎入驻,开放投稿
-
RAK831 Lite:基于树莓派3的LoRa网关... 2022-06-17
-
Imagination推出PowerVR AX2185和AX2145神经... 2022-06-17
-
ODROID-GO是一款兼容Arduino的基于ESP32的便... 2022-06-17
- PID温度控制器
预算:¥700003天前
- 摄像头的可视画面需要一直超上(linux系统,ARM)
预算:¥1000018小时前
- DICOM协议搭建(ARM架构,linux系统)
预算:¥1000017小时前
- 需MIPI摄像头隔离电路,实现3-4米能长距离
预算:¥1000017小时前
- 膨宫仪的控制板,控制流量和检测压力
预算:¥1000016分钟前
- 无创自动测量血压计 NIBP模块
预算:¥100007小时前