趣玩DF Boson Micro:bit造物粒子之心率传感器
本帖最后由 digi_cow 于 2017-10-2 14:39 编辑国庆放假前收到DF社区管理员ASH-腻师傅的微信,问我有没有兴趣测试他们的Boson Micro:bit造物粒子。有,非常有,相当有啊!不过当时正忙着学校里头疼的事,只淡淡回了人家一个的表情,望ASH-腻师傅海涵。
放假前一天收到了腻师傅亲自打包的套件,虽然是临时组装的测试产品,还没设计专属包装,但装在DF专用的橙色纸盒里,贴了彩打的产品封面,细节处并没有辱没DF的品味。本次收到的组件并不代表最终上线的产品,大家看看照片过目即可。外观风格上是马卡龙质感的塑料外壳,三明治结构,带磁贴,兼容乐高积木。不过您一定发现了,这其中有一个平日没怎么见过的东东——对的,就是自带扎带的那个心率传感器。
之前在社区看到周伯莲MM写的教程《microbit五彩灯带心率计》,就心痒痒想尝试下,没想到这回漂流套件里居然包含了这好玩的东东。放假第一天,白天干活、带娃,晚上就是折腾这个了。过程中遇到一些问题,深更半夜一翻微信群,果然物以类聚人以群分,其他收到漂流套件的几个老师正连夜讨论着。
最后折腾到12点,大致算是摸索出了一个可行的方案,在此分享。1. 心率计不宜与点阵屏联动 最先尝试的就是参考《microbit五彩灯带心率计》让心率计和点阵联动的实验,测试后发现micirobit点阵图形画面切换有延迟,无法正确体现心跳节奏。我想这个实验的意义在于能够直观体现心率计和microbit的互动效果,生动有趣,但真要用这种方式计数,怕是不牢靠的。建议还是与LED模块联动比较合适,同样效果直观。2. 心率计数器数值要适当处理 尝试用变量计数,静坐状态下测得一分钟就心跳三四百下….这不光得吃药,恐怕得抢救啊!吕老师和朱老师也一样遇到了这个问题,深更半夜大家都卡在这上面了。这时候还是得请出老朋友Arduino,把心率传感器通过I/O扩展板接到UNO上,用串口监视器查看到心脏每搏动一下,输入一长串1;原来心率传感器在检测到心脏搏动时,是持续输出高电平的,LED闪烁的那一下已经输出好几个1了。
那就得加个适当的延时滤波,或者除一下测得的数值,心率检测值的准确性,关键就在这两点的把握上。3. 程序设计 程序分3部分,触发、计时、计数。大家看图秒懂,水平有限,欢迎留言分享更完善的程序。
要注意的是计数部分一定要加上一个延时,否则计时器无法中断计数(虽然模拟器看没有问题),同时你不在最终修正测得的数值的话,可以加大这个延时来解决计数过大的问题。https://imgcache.qq.com/tencentvideo_v1/playerv3/TPout.swf?max_age=86400&v=20161117&vid=d05576wamp2&auto=0
不管怎样,咱也算是向生命科学迈出了稚拙的一步!
用乐高固定
高手厉害 厉害厉害~ 来支持一下 DF BOSON+BIT 高手厉害,学习到了。 为什么最后显示数字还要除以一个5呢? zsc990338 发表于 2017-12-29 16:03
为什么最后显示数字还要除以一个5呢?
原来心率传感器在检测到心脏搏动时,是持续输出高电平的,LED闪烁的那一下已经输出好几个1了。那就得加个适当的延时滤波,或者除一下测得的数值,心率检测值的准确性,关键就在这两点的把握上。
参见文中说明
页:
[1]