首页-达尔闻    全部    项目分享| uECG实现心跳LED灯环

项目分享| uECG实现心跳LED灯环

透过衣服,将会看到LED随着你的心跳而闪烁并通过二极管发光的数量和颜色显示当前的 BPM(心脏每秒钟跳动的次数)
收藏
  • 过年了,见到心爱的姑娘,心跳会达到多少呢?将LED和心跳结合在一起,会有什么反应呢?想要随时随地看到心跳变化,测试心率,一个非常简单易实现的DIY项目就能做到。接下来就分享两种实现方法,其实只要会了第一种,第二种就非常的easy了。

     

    藏在衣服里的LED心跳灯环

    透过衣服,将会看到LED随着你的心跳而闪烁并通过二极管发光的数量和颜色显示当前的 BPM(心脏每秒钟跳动的次数)。

    这个项目中使用的硬件组件:

    uECG 心电信号传感器((用于测量 BPM,主控NRF52832,内置 NRF24 无线传输模块,可以在“达尔闻说”微信获得PCB、固件等文件,回复:ECG灯环) )

    led 灯环 

    Arduino Nano v3 

    锂电池 

    电路图:

    传感器的发展让测试心电信号快捷方便,所有心电信号的采集都可以通过可穿戴的 ECG 设备完成,其中有一个引脚可以输出到 Arduino 上,每次心跳的跳动可以反应成高低电平的变化,处理这些引脚的高低电平状态要比处理复杂的心电图简单很多。

    作为一款可穿戴设备,用焊接的方式连接是最可靠,但为了快速测试, 演示项目是使用杜邦线快速连接的。

    LED环的DI引脚连接到Arduino D11 引脚;ECG 设备的DRV引脚连接到 Arduino D3引脚(ECG 信号输入);电池的正极连接到Arduino 5V 和 LED环5V ;电池的负极连接到Arduino GND、LED环GND和ECG的GND。

    代码:

    这个项目的实现原理也异常简单。Arduino不断读取D3引脚(心电信号),当检测到变化时,将该变化的时间存入一个20位数组中。第一个元素和最后一个元素之差除以20,就是每拍的平均时间(以毫秒为单位)。所以用1分钟(60000 毫秒)除以这个数字就得到BPM值。完整的代码可以在“达尔闻说”微信回复:ECG灯环,获取

    当然可以调整数组中的元素数量,元素数量越少,响应速度越快,但结果越不稳定(节拍检测中的任何问题都会导致计算的BPM出现大的跳跃);元素数量越多,数据越稳定,但BPM变化大时,响应速度越慢。

    将Arduino卡在LED环中,它们的尺寸可以完美实现,电池也放在附近。把 ECG 传 感器放置在胸前,最好穿一个衬衫可以贴上这些的配件。LED环足够的亮,即使在大白天也可以透过衣服看得很清晰。OK!整个项目的基本过程就是这个,如果每个步骤都是对的,30s 之后的 LED 灯就会闪烁!

     

    带在手上的LED心跳灯环

    上一版本的LED环虽然看起来很酷,但需要绑在衣服上,灯贴在衣服胸口,无法看清有多少个LED灯正在闪烁着,而且心电传感器有线连接,会干扰传感器的采集。于是就有了第二个版本——ECG心电LED手环。

    ECG心电LED手环戴在手腕上,所以可以边走路边看LED闪烁及心率情况。最关键的是这次改成了无线连接,所以读取数据不会失真,即使是在跑步的状态也能精准测量。

    用到的元件还是那些:

    uECG 模块

    Arduino Nano v3 

    nRF24模块 

    LED灯环

    uECG 传感器进行心电信号测量和BPM值计算,当它切换到直连模式时,它通过内置 NRF24 模块发送这些信息。

    电路图基本没有变换,在安装的时候,NRR24 模 块和 Aruduino Nano 都可以放置在LED环下:

    代码部分,配置好 uECG 模块和 NRF24 模块两个无线串口模块通信,在配置 NRF24 模块和 Nano 之间的通信,分析数据,驱动LED灯。

    LED灯环是很特别的,它仅使用一个微控制器引脚来控制16个LED灯,可以用LED驱动库来调节LED环,使用Adafruit_NeoPixel 库可以让 Arduino 很方便地驱动 LED 灯环。 

    代码可以在“达尔闻说”微信回复:ECG灯环,获取。

    组装腕带,简单粗暴的方法,直接使用热熔胶把它们黏在一起。每个零件本身的 尺寸特别合适的,Nano 适合 LED 外环的尺寸,NRF24 模块适合内环尺寸,电池也刚好卡在里面,完美!

    图片项目来源:hackster.io

    制作者:Dmitry Dziuba

    编译:风吹麦浪