使用Arduino和光电容积描记图传感器确定心跳

时间:2016-04-05 19:09:45

标签: c arduino

我设法将TSD200光电容积描记传感器从BIOPAC连接到Arduino Uno,并读取0到1023之间的值。

enter image description here

我正在尝试使用传感器发送的串行数据来确定特定时间间隔内的心跳次数(例如30秒)。我尝试将实际值与之前的值进行比较,但这项措施绝对不可靠,因为即使没有将手指放在传感器上,数据也会振荡。

int val = 0;
int prev;

void setup() 
{
   Serial.begin(9600);
}

void loop() 
{        
   prev = val;
   val = analogRead(A0);

   if(val != prev) 
   {
      Serial.println("Heartbeat");
   }

   delay(1);
}

我不知道从错误的角度看这个。我非常感谢任何帮助...

2 个答案:

答案 0 :(得分:2)

心跳不是尖峰(您试图检测到)。典型的体积描记图是正弦波。您需要找到峰值/谷值/过零点(或多或少容易但容易出错)或傅立叶变换样本并获得主导频率(建议但参与其中)。

还建议使用偏置增益电路,如用户3386109所述。

答案 1 :(得分:0)

你之前尝试过使用信号调理吗?在传感器输出和输入arduino之间添加第一个信号调理电路。因为arduino上ADC的范围是0-5 V

,所以需要放大传感器的输出