资料介绍
描述
概述:物联网脉搏血氧仪
在这个项目中,您将学习使用 NodeMCU ESP8266、MAX30100和Blynk应用程序制作基于物联网的脉搏血氧仪。在今天的项目中,我们可以使用 Blynk IoT 云平台从世界任何地方监控这些值。
感谢 NextPCB
本项目在NextPCB的帮助和支持下顺利完成。伙计们,如果您有 PCB 项目,请访问他们的网站并获得令人兴奋的折扣和优惠券。
5-10 件 PCB 原型仅需 0 美元:(单击此处)
注册并从 NextPCB 获得 100 美元:(点击这里)
所需组件
要制作这款基于物联网的脉搏血氧仪,您需要 NodeMCU ESP8266 开发板。一个0.96 英寸 SSD1306 OLED 显示屏、MAX30100脉搏血氧计传感器、少量跨接电缆和面包板。您可以从下面提供的亚马逊链接购买所有这些组件。
材料:
- ESP8266
- 脉搏血氧仪 Max30100
- OLED显示屏
- 面包板
- 跳线
MAX30100脉搏血氧仪传感器的工作王
该传感器有两个 LED,一个发出红光,另一个发出红外光。脉率需要红外线。但是,测量血液中的SpO2水平需要红光和红外光。
当心脏泵血时,氧气水平会增加,因为有更多的血液。但是,当心脏休息时,含氧血液会减少。因此,脉率是通过获得含氧血液上升和下降之间的时间来确定的。
含氧血液吸收更多的红外光并通过更多的红光。但是,脱氧血液会吸收红光并通过更多的红外光。基本上,MAX30100传感器读取两个光源的吸收水平并将它们存储在可通过I2C引脚读取的缓冲区中。
连接 MAX30100 和 OLED 显示器与 ESP8266
电路:-按照电路图进行连接。
为 IoT 脉搏血氧计设置 Blynk 应用程序
现在从适用于 Android 和 iOS 的 Play 商店/应用商店下载此Blink 应用程序。使用您的电子邮件地址和密码注册 Blynk IoT 云。
现在,单击新项目为您的项目命名。我给“物联网脉搏血氧仪”选择NodeMCU板,然后将连接类型设置为WiFi 。最后,点击创建按钮。
Blynk 身份验证令牌将发送到您的电子邮件地址。我们稍后会在编程时用到它。
点击主屏幕上的加号 (+)图标并添加两个仪表,然后我们将添加两个值显示小部件。
一个会显示BPM值,另一个会显示氧气水平 (Sp02)。对于 BPM 我们将选择虚拟引脚V1 ,并将值设置为0 到 130 ,您还可以设置此仪表的颜色。现在我们将设置值显示。我们将在值显示中添加相同的值,因为它们的行为相同。
现在我们将做氧气水平。我们将选择虚拟V2引脚,我们将选择从0 到 100的值,给它一些颜色,我给它蓝色,我们将设置一秒刷新率。我们将对具有相同引脚的值显示设置执行相同的操作,即V2相同的值0 到 100以及一秒的刷新率和颜色。
代码:物联网脉搏血氧仪
//nextpcb
#include
#include "MAX30100_PulseOximeter.h"
#define BLYNK_PRINT Serial
#include
#include
#include
#include "Wire.h"
#include "Adafruit_GFX.h"
#include "OakOLED.h"
#define REPORTING_PERIOD_MS 1000
OakOLED oled;
char auth[] = "--------------------"; // Authentication Token Sent by Blynk
char ssid[] = "--------"; //WiFi SSID
char pass[] = "--------"; //WiFi Password
// Connections : SCL PIN - D1 , SDA PIN - D2 , INT PIN - D0
PulseOximeter pox;
float BPM, SpO2;
uint32_t tsLastReport = 0;
const unsigned char bitmap [] PROGMEM=
{
0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x18, 0x00, 0x0f, 0xe0, 0x7f, 0x00, 0x3f, 0xf9, 0xff, 0xc0,
0x7f, 0xf9, 0xff, 0xc0, 0x7f, 0xff, 0xff, 0xe0, 0x7f, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xf7, 0xff, 0xf0, 0xff, 0xe7, 0xff, 0xf0, 0xff, 0xe7, 0xff, 0xf0, 0x7f, 0xdb, 0xff, 0xe0,
0x7f, 0x9b, 0xff, 0xe0, 0x00, 0x3b, 0xc0, 0x00, 0x3f, 0xf9, 0x9f, 0xc0, 0x3f, 0xfd, 0xbf, 0xc0,
0x1f, 0xfd, 0xbf, 0x80, 0x0f, 0xfd, 0x7f, 0x00, 0x07, 0xfe, 0x7e, 0x00, 0x03, 0xfe, 0xfc, 0x00,
0x01, 0xff, 0xf8, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00, 0x3f, 0xc0, 0x00,
0x00, 0x0f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
void onBeatDetected()
{
Serial.println("Beat Detected!");
oled.drawBitmap( 60, 20, bitmap, 28, 28, 1);
oled.display();
}
void setup()
{
Serial.begin(115200);
oled.begin();
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(1);
oled.setCursor(0, 0);
oled.println("Initializing pulse oximeter..");
oled.display();
pinMode(16, OUTPUT);
Blynk.begin(auth, ssid, pass);
Serial.print("Initializing Pulse Oximeter..");
if (!pox.begin())
{
Serial.println("FAILED");
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(1);
oled.setCursor(0, 0);
oled.println("FAILED");
oled.display();
for(;;);
}
else
{
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(1);
oled.setCursor(0, 0);
oled.println("SUCCESS");
oled.display();
Serial.println("SUCCESS");
pox.setOnBeatDetectedCallback(onBeatDetected);
}
// The default current for the IR LED is 50mA and it could be changed by uncommenting the following line.
//pox.setIRLedCurrent(MAX30100_LED_CURR_7_6MA);
}
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(" SpO2:");
Serial.print(SpO2);
Serial.println(" %");
Blynk.virtualWrite(V7, BPM);
Blynk.virtualWrite(V8, SpO2);
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(1);
oled.setCursor(0,16);
oled.println(pox.getHeartRate());
oled.setTextSize(1);
oled.setTextColor(1);
oled.setCursor(0, 0);
oled.println("Heart BPM");
oled.setTextSize(1);
oled.setTextColor(1);
oled.setCursor(0, 30);
oled.println("Spo2");
oled.setTextSize(1);
oled.setTextColor(1);
oled.setCursor(0,45);
oled.println(pox.getSpO2());
oled.display();
tsLastReport = millis();
}
}
现在将您的 ESP8266 NodeMCU 板与您的计算机连接起来。复制上面的源代码。首先,在配置应用程序时输入眨眼发送给您的身份验证令牌。现在,输入您的WiFi 名称和 WiFi 密码。最后选择NodeMCU 12 E-board的板子,选择COM口,上传代码。
测试物联网脉搏血氧仪
结论
这就是使用 ESP8266 和 Blynk 的基于物联网的脉搏血氧仪的全部内容。所以朋友们,我希望你们喜欢这个教程。
请与您的朋友分享。如果您遇到此项目的任何问题,请随时在下面发表评论。
- 血氧仪方案介绍
- 带有Blynk和IR的Arduino ESP8266控制继电器
- 智能脉搏血氧仪(IoT)的构建
- WizFi360 EVB Mini脉搏血氧仪开源
- 用于健身和医疗应用脉搏血氧仪 8次下载
- 基于ESP8266的WiFi车 10次下载
- DIY心率监测器和脉搏血氧仪
- 使用NodeMCU ESP8266和Blynk 2.0的智能家居
- 使用Esp32的基于物联网的脉搏血氧仪
- 如何快速设计脉搏血氧仪?德州仪器来支招!
- 基于蓝牙技术的便携式脉搏血氧仪 56次下载
- 中移合物固件ESP8266软件下载 8次下载
- 指夹式脉搏血氧仪的拆解分析
- 机智云ESP8266模组固件资料下载 65次下载
- ESP8266系列模块选型 37次下载
- ESP8266红外信号收发实验 1678次阅读
- ESP8266硬件 4143次阅读
- 如何使用MAX30102血氧心律脉搏传感器量测心跳和血氧呢 6604次阅读
- ESP8266/ESP32自动下载原理 4249次阅读
- 如何使用ESP8266制作可配置的Web服务器 1.2w次阅读
- ESP8266上运行代码如何实现 2768次阅读
- 如何利用ESP8266实现智能手表的设计 2999次阅读
- 采用MSP430FG437微控制器实现非侵入式可视脉搏血氧计的设计 3570次阅读
- 采用ADuC7024精密模拟微控制器的ADI脉搏血氧仪解决方案 4946次阅读
- STM32系列设计,ESP8266联网授时时钟 7825次阅读
- esp8266中文资料汇总(esp8266引脚图_与单片机连接_串口wifi实例) 22.4w次阅读
- esp8266固件如何升级_ESP8266WIFI模块固件升级 4.2w次阅读
- ESP8266 Wi-Fi到底传多远_esp8266 wifi信号强度测距 5.1w次阅读
- esp8266 at指令集详解 14.1w次阅读
- esp8266串口wifi实例 1.8w次阅读
下载排行
本周
- 1Keysight B1500A 半导体器件分析仪用户手册、说明书 (中文)
- 19.00 MB | 4次下载 | 免费
- 2使用TL431设计电源
- 0.67 MB | 2次下载 | 免费
- 3BT134双向可控硅手册
- 1.74 MB | 2次下载 | 1 积分
- 4一种新型高效率的服务器电源系统
- 0.85 MB | 1次下载 | 1 积分
- 5LabVIEW环形控件
- 0.01 MB | 1次下载 | 1 积分
- 6PR735,使用UCC28060的600W交错式PFC转换器
- 540.03KB | 1次下载 | 免费
- 751单片机核心板原理图
- 0.12 MB | 1次下载 | 5 积分
- 8BP2879DB支持调光调灭的非隔离低 PF LED 驱动器
- 1.44 MB | 1次下载 | 免费
本月
- 1开关电源设计原理手册
- 1.83 MB | 54次下载 | 免费
- 2FS5080E 5V升压充电两串锂电池充电管理IC中文手册
- 8.45 MB | 23次下载 | 免费
- 3DMT0660数字万用表产品说明书
- 0.70 MB | 13次下载 | 免费
- 4UC3842/3/4/5电源管理芯片中文手册
- 1.75 MB | 12次下载 | 免费
- 5ST7789V2单芯片控制器/驱动器英文手册
- 3.07 MB | 11次下载 | 1 积分
- 6TPS54202H降压转换器评估模块用户指南
- 1.02MB | 8次下载 | 免费
- 7STM32F101x8/STM32F101xB手册
- 1.69 MB | 8次下载 | 1 积分
- 8基于MSP430FR6043的超声波气体流量计快速入门指南
- 2.26MB | 7次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935119次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73807次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65987次下载 | 10 积分
评论
查看更多