查看: 12544|回复: 0
打印 上一主题 下一主题

HK-2000B+脉搏传感器的实验

[复制链接]
跳转到指定楼层
楼主
发表于 2012-3-1 11:31:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
        HK-2000B+脉搏传感器是在HK-2000B脉搏传感器的基础上改进的产品。传感器探 头直径做到15mm,电路部分外设。该电路集成了信号放大、信号调理、幅度调整、基线调整等电路。输出可直接接A/D 转换电路。

        (1)HK-2000B+脉搏传感器与Arduino扩展板的连接
        HK-2000B+脉搏传感器是模拟传感器,所以要连接在模拟口,一定要注意VCC的连接。

        (2)HK-2000B+脉搏传感器的开发与使用
        为了统计脉搏的时间,需要下载的一个库文件包:
        1、Time库:http://www.arduino.cc/playground/Code/Time
        将库文件下载后,解压到Arduino的\libraries目录下,重新启动Arduino开发界面后,就可以一起来测试HK-2000B+脉搏传感器了,Arduino测试代码:

#include <Time.h>

#define ledPin 8
#define sensorPin 0

double alpha = 0.7;
int period = 100;

void setup()
{
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop()
{
  static double oldValue = 0;
  static double oldChange = 0;
  static time_t oldTime = now();
  static int count = 0;

  // 信号滤波计算
  int rawValue = analogRead(sensorPin);
  double value = alpha * oldValue + (1 - alpha) * rawValue;
  double change = value - oldValue;
  
  // LED灯每次跳动会闪一下
  if (change < 0.0 && oldChange > 0.0)
  {
    count++;
    digitalWrite(ledPin, HIGH);
  }
  else
  {
    digitalWrite(ledPin, LOW);
  }
  
  // 计算脉搏次数
  time_t time = now();
  if ((time - oldTime) == 60)
  {
    Serial.print("Pulse = ");
    Serial.println(count);
    count = 0;
    oldTime = time;
  }
  
  oldValue = value;
  oldChange = change;
  delay(period);
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2011 - 2015 iRobo-我爱机器人 All rights reserved.  Powered by Discuz! X3.2 (京ICP备12000707号-1)     
快速回复 返回顶部 返回列表