Micro:bit 20 心率计数
Ash腻大师漂来的BOSON造物粒子Micro:bit扩展包中有一个很好的东东,心率传感器。 这东东不常见,还挺贵,要好好用用。我想做个心率计数器,自动计数,不用按脉搏数心跳次数,是不是很牛逼。
查下心率传感器的资料:https://www.dfrobot.com.cn/goods-1339.html
DFRobot正式推出超小型心率传感器,只有拇指大小,却可以检测人体心率变化。
模块直接兼容Arduino主控器,自带Gravity 3-Pin接口,即插即用,使用非常便利。传感器采用PPG光电容积脉搏波描记法(PhotoPlethysmoGraphy)测量心率。这是一种低成本光学技术,通过检测皮下毛细血管内的血氧量变化量来检测对应的人体心率。该技术拥有响应性快,性能稳定,适应性强等特点。 传感器配有两个安装孔,可以佩戴于手指,手腕,耳垂等皮肤直接接触处。 模块拥有方波和脉搏波两种信号输出模式,可以通过板载开关去自由切换输出信号。脉搏波将输出一个连续的心率波形,而方波将根据心率的变化输出对应的方波。https://www.dfrobot.com.cn/images/201609/20160926/26145448DFRobot_Heart_Rate_Sensor.jpg
编程中却是遇到难题,我们在群中有过热烈的讨论。狄老师把讨论过程和他的探索都写在他的帖子里了,感兴趣可以移步趣玩DF Boson Micro:bit造物粒子之心率传感器
https://mc.dfrobot.com.cn/forum.php?mod=viewthread&tid=28169&fromuid=727937。 我也想寻求更好的方案,在群里请教了不少老师,韩强老师,红棉曾老师等等都给出过很好的建议。
正如狄老师所探究的,心率传感器会输出一长串的1和0。
如何滤波呢,狄老师用了延时,我想用除法,编程计出1的数目然后除以它,在米思齐显示那长长的一串0和1来,数一数,不过不同的人数目是不同的,同一个人心率也在变化的,这个0和1的数目不能确定,只是一个参考。还是不精确。
后来在群中讨论,韩老师提供了很多资料和建议。
于是,我开始大胆尝试。中间遇到的曲折不一一描述,最后得到了了一个挺简单的程序。
为了记录和和反复显示一分钟计时结束时心跳次数,我用一块(A板)检测记录心率,第二块(B板)无线连接,两块板子就是好玩。
A板程序。
开机时,设置分组1。
心率传感接P1,因为心率检测输出稳定方波信号要有一段时间,所等一会再按A按钮开始计时计数。60秒后,发送数字,并显示。
计数程序。
B板程序。
不有很多不完善的地方,发群里讨论,听听大家的建议。
例如不能自动选择时机计时,程序的计时器功能还没找到等等。
http://v.youku.com/v_show/id_XMzA2NDM3NzY4MA==.html
这是一个利用计时器 每隔五秒跳一下心脏的代码
请指导。 群里大侠给出的指导建议。
如果能测出10秒的心跳数乘6,就可以更快的测出1分钟的心律 zsc990338 发表于 2018-1-3 16:28
如果能测出10秒的心跳数乘6,就可以更快的测出1分钟的心律
这个就是玩玩,df李工出的有高级版的。 可以用控制里面的引脚变化来计数。
在您发的这个程序里我发现了一个问题,按键A、B的按下后的处理程序里的延时程序不占用CPU,也就是说不影响无限循环里的程序的运行。很有意思 学一下 为什么你跳出来的数字不是上百上千啊!!!
你应该是做了什么计算样的东西吧
咸鱼坤 发表于 2019-1-17 02:17
为什么你跳出来的数字不是上百上千啊!!!
你应该是做了什么计算样的东西吧
...
因为图片显示时有延时的效果啊。{:5_147:}
页:
[1]