2019-12-13 14:27:45 [显示全部楼层]
4128浏览
查看: 4128|回复: 3

[入门教程] 掌控板——看见心跳

[复制链接]
本帖最后由 yugg 于 2019-12-13 14:29 编辑

先看视频效果:

其实之前做过两个基于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, 下载次数: 119

赫赫hh  学徒

发表于 2020-5-24 09:09:10

烧掌控板的鸽子板……
回复

使用道具 举报

gada888  版主

发表于 2020-5-29 22:00:51

创意赞
回复

使用道具 举报

杨鹏翰  学徒

发表于 2023-4-10 13:22:46

非常有用 谢谢楼主
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail