Grove - 胸带心率传感器

这个心率胸带套件包含一个胸带和一个5.3 KHz AM接收器模块。心率测量套件可用于监测患者和运动员的心率,同时结果可以通过串口显示在屏幕上并保存用于分析。整个系统具有许多优点,例如高灵敏度、低功耗和便携性。由于模块之间通过AM进行通信,因此非常方便您的移动(注意有效距离为30cm)。
特性
- 低功耗
- 无线
- 使用方便
- 内置铁氧体天线
- 高灵敏度
- 完全符合RoHS标准
tip
有关Grove模块的更多详细信息,请参考Grove系统
规格参数
项目 | 最小值 | 典型值 | 最大值 | 单位 |
---|---|---|---|---|
电压 | 3.0 | 5.0 | 5.5 | V |
胸围范围 | 65 | 145 | cm | |
调制模式 | 5.3KHz AM调制 | / | ||
电池寿命 | 超过半年(取决于您的使用情况) | / | ||
有效接收距离 | 30 | cm | ||
接收模块 | 48 X 25 X 10 | mm |
应用创意
- 心率监测器。
caution
1. 胸带由CR2032纽扣电池供电。用硬币打开后盖来更换电池。
2. 如果长时间不使用,请取出电池。
使用方法
以下示例演示了使用胸带心率传感器测量心率的简单应用。
- 将此模块连接到您的底板上的数字端口D2。并将Grove-LED连接到数字端口4。
- 将底板插入Arduino/Seeeduino。

- 复制并粘贴下面的代码到新的Arduino草图中。
#define LED 4//指示器,Grove - LED连接到Arduino的D4端口
boolean led_state = LOW;//LED状态,每次外部中断
//将改变LED的状态
unsigned char counter;
unsigned long temp[21];
unsigned long sub;
bool data_effect=true;
unsigned int heart_rate;//心率的测量结果
const int max_heartpluse_duty = 2000;//您可以根据系统要求更改它。
//2000表示2秒。如果占空比超过2秒,
//系统返回错误。
void setup()
{
pinMode(LED, OUTPUT);
Serial.begin(9600);
Serial.println("Please ready your chest belt.");
delay(5000);
arrayInit();
Serial.println("Heart rate test begin.");
attachInterrupt(0, interrupt, RISING);//设置中断0,数字端口2
}
void loop()
{
digitalWrite(LED, led_state);//更新指示器的状态
}
/*函数:计算心率*/
void sum()
{
if(data_effect)
{
heart_rate=1200000/(temp[20]-temp[0]);//60*20*1000/20_total_time
Serial.print("Heart_rate_is:\t");
Serial.println(heart_rate);
}
data_effect=1;//标志位
}
/*函数:中断服务程序。从外部中断获取信号*/
void interrupt()
{
temp[counter]=millis();
Serial.println(counter,DEC);
Serial.println(temp[counter]);
switch(counter)
{
case 0:
sub=temp[counter]-temp[20];
Serial.println(sub);
break;
default:
sub=temp[counter]-temp[counter-1];
Serial.println(sub);
break;
}
if(sub>max_heartpluse_duty)//设置2秒作为最大心跳占空比
{
data_effect=0;//标志位
counter=0;
Serial.println("Heart rate measure error,test will restart!" );
arrayInit();
}
if (counter==20&&data_effect)
{
counter=0;
sum();
}
else if(counter!=20&&data_effect)
counter++;
else
{
counter=0;
data_effect=1;
}
}
/*函数:数组(temp)的初始化*/
void arrayInit()
{
for(unsigned char i=0;i < 20;i ++)
{
temp[i]=0;
}
temp[20]=millis();
}
- 上传代码。
- 这是我们测量心率时的信号:


在第一个图中,这是检测到的心跳波形图,当心脏跳动时会出现高脉冲。
note
1. 胸带的翼片必须与您的皮肤接触才能获得高精度。
2. 胸带和接收模块之间的最大距离必须小于30厘米。
原理图在线查看器
资源
技术支持与产品讨论
感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。