来一个心跳测量模块~~
这个心跳测量模块原来是使用89C2051为主控,数码管做显示输出来实现的,因为不想去打版,自己用单面板又嫌布线麻烦,所以在面包板上测试完成后就搁置在一边,现在学了ARDUINO后,控制电路和程序都简单了,而且做成成品的迫切性也不强了,所以用了半天时间把它变成了一个ARDUINO模块~~。
模块使用红外对管做指尖的血液脉搏检测,用一个单电源双运放做大倍数放大,放大后的脉冲信号再经过一个555电路做的施密特电路整形后输出,ARDUINO使用pulseIn函数测试脉冲的周期,然后再转换成(次数/分钟)显示出来。目前的测量结果比实际的心跳次数要多10次左右,不过在用单片机做的时候,数据跟实际基本是吻合的,原因不明~。
当然最好的方法就是定时测量次数,比如测试15秒内的次数,然后再乘4就可以了,那样就需要增加一个启动的按钮了,但是可以省掉一个555。
注:电路非原创,大家可以去爱折腾上看原文。
原理图:
演示程序:const int pulsePin = 2;
float pulsetime;
void setup()
{
Serial.begin(9600);
pinMode(pulsePin,INPUT);
}
void loop()
{
int pulse=0;
pulsetime=pulseIn(pulsePin,HIGH);
if(pulsetime>0)
{
pulse=(1000000/pulsetime)*60;
Serial.print(pulsetime,0);
Serial.print("-");
Serial.println(pulse,DEC);
}
delay(1000);
} 这样貌似不是很准确的说哦! 容易受震动干扰哦。。不过也是一个不错方法 其实没这么多问题的,只要把手指头按到光电模块上,从输出端就可以输出脉冲了,同时还能看到一只发光管跟着你的心跳闪动,很稳定的,可以测量脉冲宽度,也可对脉冲进行计数,再说测心跳不比测高频的电信号,精度无需很高的,当然需要避开强干扰,比如手机~~ pulseIn函数是库里面的函数吗? rose311 发表于 2012-8-22 10:21 static/image/common/back.gif
pulseIn函数是库里面的函数吗?
可以看这个语法手册里的介绍
http://wiki.geek-workshop.com/doku.php?id=arduino:arduino_language_reference:pulsein 弘毅 发表于 2012-8-22 10:27 static/image/common/back.gif
可以看这个语法手册里的介绍
http://wiki.geek-workshop.com/doku.php?id=arduino:arduino_language_ref ...
:loveliness:多谢 来个视频看看呗? 求指导,市场有这个买吗 pulse=(1000000/pulsetime)*60;
这句的1000000是什么意思 不知道LZ有没有知道有人把这个电路做成模块出售啊?想买个现成模块 :@:L:funk::L:funk::funk::funk: 当然最好的方法就是定时测量次数,比如测试15秒内的次数,然后再乘4就可以了 这个应该怎样实现??? 急啊!
页:
[1]