心率过100怎么处理_I2C 心率传感器 像智能手环一样读心率

大家好,我是兔子。是嵌入式工程师。

现在各种智能手环卖的很火,我自己同事都有好几个带着手环。智能手环有个很重要的功能,就是可以检测心率。

正好我以前就是在公司里做过智能手环,有一天我灵机一动,为什么不让Arduino也检测心率呢。

那就动手吧。

86702815429b639084e1d07103edbb06.png

1.检测心率,肯定就需要心率传感器了

采用是PAH8002心率传感器,并将心率传感器做成了模块。

正面:PAH8002心率传感器

993c32664022e1cf0700099b5d74b57a.png

背面:心率算法芯片及陀螺仪芯片。(陀螺仪芯片没用到,主要是提供给心率算法去除振动造成的检测误差,不用也可以)

d77b899121db9638e082631cdb7181ed.png

2.接线

心率传感器模块支持I2C和串口。我们就用I2C接口吧。

模块 SCL --> Arduino A5

模块SDA --> Arduino A4

模块VCC --> Arduino 3.3v

模块GND --> Arduino GND

3.写程序

/*
  程序 心率检测
  作者:兔子
  效果:心率传感器模块PAH8002 输出实时心率值
  时间:19.04.08
  
  CONNECTIONS:
  PAH8002 module  SCL --> A5
  PAH8002 module  SDA --> A4
  PAH8002 module  VCC --> 3.3v
  PAH8002 module  GND --> GND
*/

#include <Wire.h> // I2C 协议必不可少的库
#define HeartRate 0x50 // 心率传感器模块的地址(模块特定定义的地址,必须填对,无任何意义)
unsigned char buffer;//设置的字节变量
void setup() {
  Serial.begin(115200);
  Wire.begin();//I2C 要开始了
  Serial.println("开始运行程序");
}

void loop() {
  // put your main code here, to run repeatedly:
  Wire.requestFrom(HeartRate,1);
  buffer   = Wire.read();
  if(buffer == 0 || buffer == 0xFF)
  {
    Serial.print("请将手指轻贴至传感器上,并等待");
    Serial.println(" ");
  }
  else
  {
    Serial.print("当前心率值:");
    Serial.print(buffer);
    Serial.println(" ");
  }
  delay(1000);
}

心率传感器模块读取的数据如果为0或0xff,则表明手指未轻触传感器,需要将手指轻触传感器来让传感器采集心率数据。

传感器读取心率数据并计算出心率值需要一点时间,稍事等待一会就能显示当前心率值啦。

8965c97c7ac398964bec916db051225d.png
Arduino读心率值https://www.zhihu.com/video/1098699080712151040
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
最近几年智能可穿式产品发展突飞猛进,并且产品功能也呈现出多样化,除了早期的最简单的计步功能之外,比如在手环产品增加支付功能,增加温湿度数据采集功能等等。在手环应用也发生了变化,除了在运动时佩戴进行计步,在健康心率数据检测等用途,时下在公交车刷卡,行李包防丢,老人防跌倒等应用也被推广,本方案已经成功被老人防跌倒产品采用用形成产品化方案。 其中方案在老人防跌倒部分原理是通过加速度陀螺仪传感器检测XYZ三轴加速度的值并且经过SVM检测模型来计算得到,通过蓝牙传输到手机进行报警或者预警。另外通常的做法是在手机APP端进行算法处理(由于蓝牙芯片处理浮点能力不是特别强大)。常见的防跌倒数学模型有SVM防跌倒检测算法等等。 场景应用图展示板照片方案方块图核心技术优势1:CR2032供电 2:支持蓝牙数据传输 3:手机可实时查阅环境光感数据,环境温湿度数据。 4:支持计步器功能 5:工作环境:-40℃---+85℃方案规格1:主控单元采用超低功耗32位微控制器,内核采用Cortex-M0+,主频达到48MHz,并且flash支持256KB,SRAM 40KB。IO支持Touch,外设支持SPI,UART,ADC,PWM等资源。供电电压是1.62V to 3.63V。 2:Bluetooth部分支持BLE 4.1 ,内部集成Cortex-M0内核,支持SWD调试,支持AES-128/SHA-256算法,开放SPI,UART,ADC,PWM等外设资源,模块标准符合并支持 ETSI EN 300 328 / EN 300 440 Class 2, FCC CFR47 Part 15/ ARIB STD-T66。 3:传感器部分支持温湿度数据检测,光感数据检测以及计步等功能数据检测。 方案来源:大大通
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值