当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]触碰 PulseSensor,PulseTerrain 就会绘制接收到的 PulseWave,然后构建一个动态的 3D FFT 历史记录。每一处山脊代表一个分析窗口:频率从左到右延伸,归一化振幅变为高度,最新数据显示在最前方。

触碰 PulseSensor,PulseTerrain 就会绘制接收到的 PulseWave,然后构建一个动态的 3D FFT 历史记录。每一处山脊代表一个分析窗口:频率从左到右延伸,归一化振幅变为高度,最新数据显示在最前方。

拖动以旋转地形,使用修饰键滚动进行缩放。向下滚动可查看实时频谱和峰值分析。

整个系统工作原理:

StickS3 每 250 Hz 采样一次 GPIO2,并通过蓝牙低功耗(BLE)发送 12 位读数批次。Chrome 浏览器绘制原始轨迹,缓冲样本,应用汉宁窗,执行 FFT 并将每个结果添加到地形中。

该构建使用一个 M5Stack StickS3、一个 PulseSensor 开发套件、三个跳线连接、配备 Web Bluetooth 的桌面 Chrome 浏览器,以及 UIFlow2 v2.4.9。浏览器视图由本地运行的单个 HTML 文件提供,无需额外的浏览器包或 JavaScript 构建步骤。

连接 PulseSensor:

断开 USB 电源后,完成以下三组连接:

•信号 / 紫色 → G2 / GPIO2

•VCC / 红色 → 3V3

•GND / 黑色 → GND

仅使用3.3 V为PulseSensor供电,切勿将红色线连接至5 V。

加载并连接设备

安装mpremote,克隆仓库,并复制relay文件作为main.py:

重置StickS3;它会自动进行广告。在另一个终端中,运行浏览器文件:

地形大约需要八秒才能填充第一个FFT窗口。此后,每秒大约出现七次新行。

读取地形数据

•左 → 右:频率范围0–4 Hz

•高度:归一化FFT振幅

•前 → 后:最近的分析历史

•琥珀色 / 青绿色 / 紫色:固定频率区域

•虚线f0、2f–5f路径:候选基频及检测到的倍频

颜色表示固定频率区域,但无法确定峰值产生的原因。PulseTerrain采用最强峰值作为f0候选值。只有当附近峰值同时超过噪声底和相对于f0的最小振幅时,才会绘制虚线倍频。

•频谱:0–4 Hz范围内各峰位置

•谐波序列:通过检测器的倍频

•前五强峰值:最强的峰值,无论是否相关

•分类:哪些峰值属于候选序列

•可能来源:宽频带提示

“可能的源”面板使用了心率基频、心脏谐波、呼吸调制、运动以及传感器噪声等宽频带启发式方法。这些标签并非经过验证的测量值或诊断结果。

BLE数据包故意设计得较小。

首次采样索引使浏览器报告缺失的通知,而非静默压缩时间。

在无硬件情况下尝试查看

若想在没有硬件的情况下探索界面,请在URL中添加 ?demo=1。PulseTerrain 会将结果标记为合成预览,并在每次运行时生成相同信号。该预览仅展示渲染效果,不提供传感器数据证据。

限制说明

PulseTerrain 每次仅支持一个 BLE 连接,不会记录或上传传感器数据。它不报告经验证的心率、呼吸频率、准确度或诊断结果。它是一种教育性质的信号可视化工具,而非医疗设备。

PulseTerrain 是 StickS3 系列的第三部分:PulseLink 将脉搏波显示在可穿戴设备屏幕上,Tab5 远程显示屏将其移动到触摸仪表盘,而 PulseTerrain 则将原始频谱转化为景观图像。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭