【发布时间】:2016-04-05 19:09:44
【问题描述】:
我设法将TSD200 光电容积描记传感器从BIOPAC 连接到Arduino Uno 并读取0 到1023 之间的值。
我正在尝试使用传感器发送的串行数据来确定特定时间间隔(例如 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);
}
不知不觉我从错误的角度看待这个问题。我真的很感激任何帮助...
【问题讨论】:
-
传感器输出为 20mV 峰峰值(表示交流波形)。 Arduino 需要 0 到 5V 之间的输入。 Arduino 输入的分辨率为 5mV。要使其工作,您需要 AC 耦合、偏置和放大输入信号的定制硬件。
-
哦,但是当我将手指放在传感器上时,我怎么可能读取 700 到 850 之间的值?
-
您的手指可以在很短的时间内产生数百甚至数千伏的电压。当湿度非常低时,您会感到触电。但即使在正常湿度下,当你感觉不到电击时,你身体的电势很容易达到 5V(除非你赤脚站在金属地板上,或者穿着static strap)。