心率是人类重要的生理指标,中国古人更是相信能够凭借脉搏诊断身体情况。
之前介绍过心率带和心率带接收模块的使用【参考1】。这次使用 DFRobot 的FireBeelte和12864 小屏幕制作一个腕表式心率计。
从前面的实验可以得知,心率带接收模块使用串口输出。FireBeelte 核心是 ESP32,支持3个硬件串口【参考2】。其中0号是给烧写程序使用了(其实也可以用,只是为了调试方便而不选择使用);1号串口在IO9/10和12864 控制Pin冲突;所以只能使用2号串口,位于IO16/17。对我们来说只需要接收即可。 供电部分这次直接使用USB提供5V, 使用板载的3.3V接口为心率接收模块供电。FireBeelte设计上带有电池插口(3.7V),这次设计为了简单起见并未使用。 12864 屏幕自带了字库,因此可以直接调用库来完成汉字的现实,对于汉字显示需求来说方便很多。通过函数OLED.disStr(x,y, "要显示的汉字")即可直接显示。 代码很简单,就是从一个串口输入,找到心率数据,显示在 12864屏幕即可。 完整代码如下:
成品照片:
工作的视频:
https://zhuanlan.zhihu.com/p/58751665
参考: 1. Arduino获得心率带数据 2. FireBeelte 多串口通讯的实现 https://www.arduino.cn/forum.php?mod=viewthread&tid=84390&fromuid=36850
|