weixin_47046487 2021-05-26 20:53
浏览 5

plussensor

最近在做一个plussensor的心率传感器测心率的实验而且要在LCD1602A上显示出来,老师要求直接把测得串口数据进行处理得到心率,我设置了一个阈值,高于阈值就相当于一次心跳,然后计算了两个波形峰值之间的时间,但是测得结果很不准确,求各位网友解答,帮帮孩子吧,如果有更改的代码就最好了。一下是我写的代码。

#define heartPin 0
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);
int heartValue = 0;
int flag=0;
float time1=0;
float time2=0;
float t=0;
int BPM=0;
void setup()
{ 
  lcd.begin(16,2);
  lcd.init();                 
  lcd.backlight();

  Serial.begin(115200);
  lcd.setCursor(0, 0);
  lcd.print("HeartRate");
}

void loop()
{
  int heartValue = analogRead(heartPin);
  Serial.println(heartValue);
  if (heartValue>510 and flag==0)
  {
    time1=millis();
    time2=time1;
    flag=1;
  }
  if(flag==1 and heartValue>510)
  {
    time1=millis();
    t=time1-time2;
    time2=time1;
  }
  BPM = 60000/t;
  
  lcd.setCursor(0,1);
  lcd.print("BPM:");
  lcd.setCursor(4,1);
  lcd.print(BPM);
  delay(500);
}     
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
    • ¥20 西门子S7-Graph,S7-300,梯形图
    • ¥50 用易语言http 访问不了网页
    • ¥50 safari浏览器fetch提交数据后数据丢失问题
    • ¥15 matlab不知道怎么改,求解答!!
    • ¥15 永磁直线电机的电流环pi调不出来
    • ¥15 用stata实现聚类的代码
    • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
    • ¥20 docker里部署springboot项目,访问不到扬声器
    • ¥15 netty整合springboot之后自动重连失效