掌控板——看见心跳

2019-12-137971
AI 快速预览详细 收起
本文介绍了如何使用掌控板和心率传感器实现可视化的心跳监测。首先展示了视频效果,然后列出了所需材料清单,包括掌控板、扩展板(鸽子)和心率传感器。接着详细说明了硬件连线方法,并提供了程序编写的思路。通过简单的编程,可以实现心跳监测,并在掌控板上显示心跳情况。此外,还提出了改进思路,如增加BPM数值显示和心电图显示。这个项目非常适合STEM教育场景,帮助孩子理解生物信号与电子技术的结合。


先看视频效果:

其实之前做过两个基于pulse sensor心率传感器的项目,都是基于Arduino nano完成的,用到了led和128*64液晶屏。

而掌控自带了RGB灯,自带了128*64屏幕,自带了蜂鸣器,条件摆着这里,非常适合复刻这个项目。




材料清单:

掌控;扩展板(我这个是鸽子);pulse sensor(某宝买的便宜货);



先连线吧:
有了鸽子扩展板,连线就很方便了。pulsesensor上也清晰的标注了正负极和信号口,一一对应就行。模拟信号我接到了P1口。
掌控板——看见心跳图4

掌控板——看见心跳图5


接下来聊一聊程序编写的思路:

拿到一个没有玩过或者不熟练的传感器,当然是找教程了。github绝对是个好地方。

1.去github上找一找关于pulse sensor的项目,[color=rgb(255, 113, 64) !important]github.com
掌控板——看见心跳图1

2.上图找到的是关于pulsesensor传感器的库,把它导入到arduino。就可以查看各种案例代码了。虽然不能直接用到掌控上,但了解用法就可以了。
掌控板——看见心跳图2



3.今天先选一个最简单的案例,测试一下功能。先看下arduno的代码:
[mw_shl_code=applescript,true]
//  Variables
int PulseSensorPurplePin = 0;        // Pulse Sensor PURPLE WIRE connected to ANALOG PIN 0
int LED13 = 13;   //  The on-board Arduion LED


int Signal;                // holds the incoming raw data. Signal value can range from 0-1024
int Threshold = 550;            // Determine which Signal to "count as a beat", and which to ingore.


// The SetUp Function:
void setup() {
  pinMode(LED13,OUTPUT);         // pin that will blink to your heartbeat!
   Serial.begin(9600);         // Set's up Serial Communication at certain speed.

}

// The Main Loop Function
void loop() {

  Signal = analogRead(PulseSensorPurplePin);  // Read the PulseSensor's value.
                                              // Assign this value to the "Signal" variable.

   Serial.println(Signal);                    // Send the Signal value to Serial Plotter.


   if(Signal > Threshold){                          // If the signal is above "550", then "turn-on" Arduino's on-Board LED.
     digitalWrite(LED13,HIGH);
   } else {
     digitalWrite(LED13,LOW);                //  Else, the sigal must be below "550", so "turn-off" this LED.
   }


delay(10);


}[/mw_shl_code]


从上面的代码我们可以知道几个信息:
一是心率传感器输出的模拟信号,范例中接到了arduino的A0口的。
二是这个案例确实非常简约,仅仅是判断模拟值有没有超过中值,超过了就算心跳一次(很不靠谱)。


4.把上述程序思路移植到掌控上。


掌控板——看见心跳图3
如上图示:
箭头1处变量表示  中值,超过这个值,判断为心跳了。
箭头2处掌控的模拟值范围是0-4095,所以要映射一下。


5.看见心跳的2.0版改进思路
一是增加BPM数值显示,这个算法要复杂些,但也有案例供参考。二是在128*64上显示心电图,那样会更加逼真。
期待我的2.0吧。



看见心跳.rar

2.29 KB, 下载次数: 6626

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(3)
杨鹏翰
杨鹏翰
非常有用 谢谢楼主
gada888
gada888
创意赞
赫赫hh
赫赫hh
烧掌控板的鸽子板……
- 没有更多了 -