电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>WizFi360 EVB Mini脉搏血氧仪开源

WizFi360 EVB Mini脉搏血氧仪开源

2023-02-03 | zip | 10.37 MB | 次下载 | 免费

资料介绍

描述

介绍

WizFi360-EVB-Mini 硬件概述

感谢 WIZnet 使用 WizFi360-EVB-Mini 硬件支持该项目。

dsc00332_FMdJMiHggv.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
WizFi360-EVB-Mini
 

本文档描述了 WizFi360-EVB-Mini。WizFi360-EVB-Mini是一款用于WizFi360实验、测试和验证的紧凑型开发板。WizFi360-EVB-Mini 的外形尺寸与 NodeMCU V2 相同。WizFi360是一款低成本、低功耗的工业级WiFi模块。兼容IEEE802.11 b/g/n标准,支持SoftAP、Station、SoftAP+Station模式。串口波特率最高可达2Mbps,满足各种应用需求。

MAX30102

MAX30102 是一款集成脉搏血氧计和心率监测传感器它集成了一个红色LED和一个红外LED、光电探测器光学器件和具有环境光抑制功能的低噪声电子电路。标准的 I2C 兼容通信接口可以将采集到的值传输到 WizFi360-EVB-Mini 进行心率和血氧计算。

dsc00355_IK4rlaeysC.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
 
  • 光溶法
  • 透光率转换成电信号

将 MAX30102 模块和 WizFi360-EVB-Mini 连接到 Raspberry Pi Pico

  • 将 VCC 引脚连接到电源,GND 连接到 GND。
  • 将 SCL 引脚连接到 I2C 时钟引脚,将 SDA 引脚连接到 Raspberry Pi Pico 上的 I2C 数据引脚。
dsc00360_K8KxnpkTSE.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
 
  • 将 Vin 引脚连接到电源,GND 连接到 GND。
  • 将 TXD1 引脚连接到 IO9 引脚,将 RXD1 引脚连接到 Raspberry Pi Pico 上的 IO8 引脚。
dsc00365_LNZ9v4LaNg.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
 

编程MAX30102模块

最好使用橡皮筋或 Velcro 将传感器固定在手指上。当您将手指按在传感器上时,它的变化足以导致手指中的血液流动不同,从而使传感器读数不稳定。

  • 从 Sparkfun 安装 MAX30102 库
screenshot_(1)_wlnSiVnIgf.png?auto=compress%2Cformat&w=740&h=555&fit=max
 
  • 手指存在:

我们不断打印增量值以找出差异

void loop()
{
  samplesTaken++;

  Serial.print("IR[");
  Serial.print(particleSensor.getIR());
  Serial.print("] Hz[");
  Serial.print((float)samplesTaken / ((millis() - startTime) / 1000.0), 2);
  Serial.print("]");

  long currentDelta = particleSensor.getIR() - unblockedValue;

  Serial.print(" delta[");
  Serial.print(currentDelta);
  Serial.print("]");

  if (currentDelta > (long)100)
  {
    Serial.print(" Something is there!");
  }

  Serial.println();
}

如图所示打印串行输出。

 
 
 
ss1_jFYqw25GDz.png?auto=compress%2Cformat&w=740&h=555&fit=max
 
1 / 2
 
  • 显示心跳波形

Arduino 串行绘图仪上显示心跳图。单击工具->串行绘图仪

#include 
#include "MAX30105.h"

MAX30105 particleSensor;

void setup()
{
  Serial.begin(115200);
  Serial.println("Initializing...");

  // Initialize sensor
  if (!particleSensor.begin(Wire, I2C_SPEED_FAST)) //Use default I2C port, 400kHz speed
  {
    Serial.println("MAX30105 was not found. Please check wiring/power. ");
    while (1);
  }

  //Setup to sense a nice looking saw tooth on the plotter
  byte ledBrightness = 0x1F; //Options: 0=Off to 255=50mA
  byte sampleAverage = 8; //Options: 1, 2, 4, 8, 16, 32
  byte ledMode = 3; //Options: 1 = Red only, 2 = Red + IR, 3 = Red + IR + Green
  int sampleRate = 100; //Options: 50, 100, 200, 400, 800, 1000, 1600, 3200
  int pulseWidth = 411; //Options: 69, 118, 215, 411
  int adcRange = 4096; //Options: 2048, 4096, 8192, 16384

  particleSensor.setup(ledBrightness, sampleAverage, ledMode, sampleRate, pulseWidth, adcRange); //Configure sensor with these settings

  //Take an average of IR readings at power up
  const byte avgAmount = 64;
  long baseValue = 0;
  for (byte x = 0 ; x < avgAmount ; x++)
  {
    baseValue += particleSensor.getIR(); //Read the IR value
  }
  baseValue /= avgAmount;

  //Pre-populate the plotter so that the Y scale is close to IR values
  for (int x = 0 ; x < 500 ; x++)
    Serial.println(baseValue);
}

void loop()
{
  Serial.println(particleSensor.getIR()); //Send raw data to plotter
}

使用串行绘图仪绘制波形。

ss4_sBOwBFoicq.png?auto=compress%2Cformat&w=740&h=555&fit=max
输出
 
  • 心率和 SPO2 测量

在 Arduino 串行监视器上显示心率和 SPO2。理想心率(成人):60~100次/分,理想SPO2:95~100。

dsc00361_D8Jzvgz1Cq.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
 
{
      while (particleSensor.available() == false) //do we have new data?
        particleSensor.check(); //Check the sensor for new data

      digitalWrite(readLED, !digitalRead(readLED)); //Blink onboard LED with every data read

      redBuffer[i] = particleSensor.getRed();
      irBuffer[i] = particleSensor.getIR();
      particleSensor.nextSample(); //We're finished with this sample so move to next sample

      //send samples and calculation result to terminal program through UART
      Serial.print(F("red="));
      Serial.print(redBuffer[i], DEC);
      Serial.print(F(", ir="));
      Serial.print(irBuffer[i], DEC);

      Serial.print(F(", HR="));
      Serial.print(heartRate, DEC);

      Serial.print(F(", HRvalid="));
      Serial.print(validHeartRate, DEC);

      Serial.print(F(", SPO2="));
      Serial.print(spo2, DEC);

      Serial.print(F(", SPO2Valid="));
      Serial.println(validSPO2, DEC);
    }
ss5_UIhaOvS8MK.png?auto=compress%2Cformat&w=740&h=555&fit=max
输出
 

完整代码添加在项目博客末尾的代码部分。一定要坚持到最后才能理解这个项目。

编程 WizFi360-EVB-Mini

我们将使用 AT 命令对 WizFi360-EVB-Mini 进行编程。我们将使用多个串行端口USB 和 WizFi360-EVB-Mini 进行通信

Serial2.println("AT\r\n"); //Handshaking with WizFi360-EVB-Mini

如图所示,WizFi360-EVB-MIni 响应 AT 命令。

ss6_ALHemD7oek.png?auto=compress%2Cformat&w=740&h=555&fit=max
 

现在,我们可以按照文档向 WizFi360-EVB-Mini 发送 AT 命令WizFi360有普通传输模式和透传模式。如果 WizFi360 是普通命令模式,WizFi360 执行 AT 命令。通过输入 AT\r\n 并返回 \r\nOK\r\n 确认正常命令模式。在透明模式下,WizFi360 不执行 AT 命令。仅与对等方发送和接收数据。如果输入是“+++”,切换到普通命令模式。

我们已经从 Wiznet 安装了 WizFi360 和WiFiEsp 库,将模块连接到 WiFi,然后连接到 Blynk。

screenshot_(16)_JVJxMvxbus.png?auto=compress%2Cformat&w=740&h=555&fit=max
WizFi360 库
 

物联网脉搏血氧仪设置 Blynk 应用程序

screenshot_(17)_ERF5HyIi06.png?auto=compress%2Cformat&w=740&h=555&fit=max
Blynk库
 
  • 如下所示设置数据流
screenshot_(27)_erfDMb4aJ8.png?auto=compress%2Cformat&w=740&h=555&fit=max
 
  • 更新草图中的 SSID、密码、设备 ID、Auth Token 并将其上传到 Arduino。WizFi360 现在已连接到我的 WiFi 路由器。
screenshot_(28)_Lpwjsm2dCO.png?auto=compress%2Cformat&w=740&h=555&fit=max
 
  • 将元素添加到仪表板以制作 UI。现在设备已准备好使用 WizFi360 从 Raspberry Pi 接收数据。心率、SpO2 和手指存在数据被发送到 Blynk 控制台和连接到它们的设备。
ss2_S8T9Z2pfRq.png?auto=compress%2Cformat&w=740&h=555&fit=max
仪表板
 

 

dsc00377_PdWPPkZ1Yj.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
项目工作
 

资源


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费