iRobo-我爱机器人

标题: HK-2000B+脉搏传感器的实验 [打印本页]

作者: yoyo    时间: 2012-3-1 11:31
标题: HK-2000B+脉搏传感器的实验
        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);
}







欢迎光临 iRobo-我爱机器人 (http://irobo.org/) Powered by Discuz! X3.2