本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页
最热资讯


亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」
该项目是通过 MAX30100 脉搏血氧仪心率传感器、NodeMCU ESP8266 分线板等自制心率监测器和脉搏血氧仪。
MAX30100传感器:是一款集成脉搏血氧饱和度和心率监测传感器模块。它结合了两个 LED、一个光电探测器、优化的光学器件和低噪声模拟信号处理,以检测脉搏血氧饱和度和心率信号。MAX30100 采用 1.8V 和 3.3V 电源供电,可通过软件关断,待机电流可忽略不计,允许电源始终保持连接。
系统框图:
(MAX30100框图)
示意图:
设置Blynk Android 应用程序:
Blynk 是一个运行在 Android 和 IOS 设备上的应用程序,通过智能手机控制任何基于物联网的应用程序。它允许为 IoT 应用程序创建图形用户界面。在这里,将设置 Blynk 应用程序来使NodeMCU ESP8266 通过 Wi-Fi 监控 BPM 和 SPO2。
1.所以从Google Play商店下载并安装Blynk应用程序。IOS用户可以从App Store下载。安装完成后,打开应用程序并使用电子邮件 ID 和密码进行注册。
2. 点击“新建项目”。在弹出窗口中设置如上图所示的项目名称、开发板和连接类型等参数。对于 MAX30100 ESP8266 项目,选择设备为 NodeMCU,连接类型为 Wi-Fi。然后点击创建。
3.点击“+”号添加小部件。需读取 BPM 和 SpO2 的值。所以选择一对名为“ValueDisplay”和“Gauge”的小部件。
4.拖动小部件后,如上图所示设置其参数。单击值显示并将引脚设置为“V7”和“V8”。同样,在仪表设置中,将输出引脚设置为“V7”和“V8”。
成功创建项目后,返回设置并单击发送电子邮件。
代码:(点击下载)
#include <Wire.h>
#include "MAX30100_PulseOximeter.h"
#define BLYNK_PRINT Serial
#include <Blynk.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include "Wire.h"
#define REPORTING_PERIOD_MS 1000
// PulseOximeter 是传感器的高级接口
// 它提供:
// * 节拍检测报告
// * 心率计算
// * SpO2(氧化水平)计算
char auth[] = "v60fhfJerBZAZzmYbwS2uSzs2Qvy6sjK";
char ssid[] = "TP-LINK_9950"; // WiFi凭据。
char pass[] = "8348502146";
// 连接:SCL PIN - D1,SDA PIN - D2,INT PIN - D0
PulseOximeter pox;
float BPM, SpO2;
uint32_t tsLastReport = 0;
// 检测到脉冲时触发回调(在下面注册)
void onBeatDetected()
{
Serial.println("Beat!");
}
void setup()
{
Serial.begin(115200);
pinMode(16, OUTPUT);
Blynk.begin(auth, ssid, pass);
Serial.print("Initializing Pulse Oximeter..");
// 初始化 PulseOximeter 实例
// 故障通常是由于 I2C 接线不当、电源缺失
// 或错误的目标芯片
if (!pox.begin()) {
Serial.println("FAILED");
for(;;);
} else {
Serial.println("SUCCESS");
}
// IR LED 的默认电流为 50mA,可以更改
// 通过取消注释以下行。检查 MAX30100_Registers.h 以了解所有
// 可用选项。
// pox.setIRLedCurrent(MAX30100_LED_CURR_7_6MA);
// 为节拍检测注册一个回调
pox.setOnBeatDetectedCallback(onBeatDetected);
}
void loop()
{
pox.update();
Blynk.run();
BPM = pox.getHeartRate();
SpO2 = pox.getSpO2();
if (millis() - tsLastReport > REPORTING_PERIOD_MS)
{
Serial.print("Heart rate:");
Serial.print(BPM);
Serial.print(" bpm / SpO2:");
Serial.print(SpO2);
Serial.println(" %");
Blynk.virtualWrite(V7, BPM);
Blynk.virtualWrite(V8, SpO2);
tsLastReport = millis();
}
}
开启“人工智能”——贝尔金WeMo智能插座套装拆解
2014-05-23
iPhone 6 plus最专业传感器深入解析
2014-10-22
智能手机里面都装着哪些传感器?它们都记录了你的什么?
2016-04-11
NXP开发板不知道选什么,看这里就对了!
2016-07-28
盘点全球知名传感器芯片巨头Top10
2015-08-21
这套工业物联网解决方案把乐高变成了一座智慧城市
2019-06-24
[项目实录]全流程LoRaWAN开发
2019-07-22
【视频秀】用STM32和光传感器控制电机马达开关窗户
2019-06-12
一款小尺寸、高性能的智能家居设备
2019-06-21
无线传感器网络——传感器原理与应用系列课程
2019-07-24
讨论