# ext2-ul-max30102 **Repository Path**: mind-plus/ext2-ul-max30102 ## Basic Information - **Project Name**: ext2-ul-max30102 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-30 - **Last Updated**: 2026-10-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MAX30102心率传感器 MAX30102心率传感器 是一个适用于 Mind+ V2 的传感器扩展,由 Mind+ V1 用户库 `max30102`(`boss-max30102-thirdex` V0.0.2)转换而来。 该扩展通过 I2C 读取 MAX30102 脉搏血氧传感器模块的红外光强,检测脉搏跳动并计算实时心率与平均值,可用于心率监测、手指按压检测等场景。 ## 积木 扩展提供 6 个积木,与 V1 版本的积木一一对应(opcode 与类型保持一致,可直接打开 V1 项目): | 积木 | 类型 | 说明 | 对应 V1 函数 | | --- | --- | --- | --- | | 初始化 MAX30102 传感器 | 命令 | 引入 MAX30105/heartRate 库,创建传感器对象并在 `setup()` 中完成初始化与 LED 亮度设置 | `max30102.init` | | 更新心率采样数据 | 命令 | 读取红外值,检测脉搏并更新实时心率与 4 点平均心率 | `max30102.update` | | 获取实时心率 (BPM) | 报告 | 返回 `beatsPerMinute` | `max30102.getBPM` | | 获取平均心率 (Avg BPM) | 报告 | 返回最近 4 次有效心跳的平均值 `beatAvg` | `max30102.getAvgBPM` | | 检测到手指按压? | 布尔 | 红外值大于 50000 时判定为有手指按压 | `max30102.isFingerPresent` | | 获取红外光强 (IR) | 报告 | 返回 `particleSensor.getIR()` | `max30102.getIR` | 积木颜色沿用 V1 的主色 `#E65100`。 ## 示例程序 源库未附带示例程序,本仓库也不包含示例文件。基础用法如下: 1. 在 `setup` 阶段放置一次「初始化 MAX30102 传感器」积木。 2. 在重复执行(`loop`)中放置「更新心率采样数据」积木,并以「检测到手指按压?」作为前置条件。 3. 用「获取实时心率 (BPM)」或「获取平均心率 (Avg BPM)」积木配合串口打印观察结果。 生成的 Arduino 代码会包含: ```cpp #include #include "MAX30105.h" #include "heartRate.h" MAX30105 particleSensor; byte rates[4]; byte rateSpot = 0; long lastBeat = 0; float beatsPerMinute = 0; int beatAvg = 0; void setup() { particleSensor.begin(Wire, I2C_SPEED_FAST); particleSensor.setup(); particleSensor.setPulseAmplitudeRed(0x1F); particleSensor.setPulseAmplitudeGreen(0); } ``` ## 支持列表 源库 `config.json` 的 `asset.arduinoC.board` 声明了以下主板:`arduino`、`arduinounor3`、`arduinonano`、`mega2560`、`esp32`(V1 中 `esp32` 指掌控板)。 | 主板型号 | 实时模式 | ArduinoC | MicroPython | 备注 | | --- | --- | :---: | --- | --- | | dev-DFRobot-arduinoUno | | ✓ | | 源库声明 `arduinounor3` | | dev-DFRobot-arduinoNano | | ✓ | | 源库声明 `arduinonano` | | dev-DFRobot-arduinoMega2560 | | ✓ | | 源库声明 `mega2560` | | dev-DFRobot-handpyEsp32 | | ✓ | | 源库声明 `esp32`(V1 内置 `esp32` 指掌控板) | ## 更新日志 ### V0.0.2 - 由 Mind+ V1 用户库 `boss-max30102-thirdex` V0.0.2 转换为 Mind+ V2 上传模式扩展 - 保留 V1 的 6 个积木、opcode、积木类型与生成代码行为 - 新增 `en.json` / `zh-cn.json` 双语资源(V1 仅有 `zh-cn`) - 本地库随扩展打包到 `public/libraries/max30102/` ## 开发指南 更详细的 Mind+ V2 扩展开发说明请参考:[Mind+官方扩展开发文档](https://mindplus.dfrobot.com.cn/mp2/Extensions/)