在本期文章中,我们来介绍一种利用脉搏传感器输出的模拟信号计算心率的方法。该方法经测试,得出的心率值还是比较准确的,且测量效率较高。下面先来介绍一下文中所用的脉搏传感器。

该传感器测量脉搏的强度,输出一个模拟信号。其测量脉搏使用了“光电容积法”。下面是模块手册上摘抄的原理说明:“光电容积法是利用人体组织在血管搏动时造成透光率不同来测量脉搏的。光源采用对动脉血中氧和血红蛋白有选择性的一定波长(500NM-700NM)的发光二极管。当光束透过外周血管,由于动脉搏动充血容积变化导致透光率发生变化,此时用光电变换器接收经人体组织反射的、变化的光信号,转变为电压信号输出。”这种传感器测量时只需用手指接触或夹在耳垂上即可测量,但缺点就是当皮肤潮湿或接触传感器不充分则测量会失效。
下面,我们先用Arduino采集传感器的原始数据,用串口将原始数据输出到ArduinoIDE的“串口绘图”看看“心电图”。(代码比较简单,只需要启动串口,然后“打印”AD采样的值即可。)下图为传感器与手指接触良好时得到的曲线,采样周期为10毫秒:

接下来看看当

本文介绍了使用Arduino和脉搏传感器测量心率的方法,通过分析传感器输出的模拟信号,利用导数和滤波技术确定心率,有效去除噪声和误报。通过Arduino串口绘图观察数据,并提供了心率计算的代码实现。
最低0.47元/天 解锁文章


被折叠的 条评论
为什么被折叠?



