本项目基于MAX78000开发板实现了一个心率血氧监测系统,具有以下功能:
心率和血氧饱和度实时监测
OLED显示界面
实时时钟显示
菜单交互系统
MAX78000 是由 Analog Devices Inc.(ADI) 推出的一款超低功耗边缘人工智能(AI)微控制器(MCU),专为在资源受限的物联网(IoT)设备中高效运行神经网络而设计。其核心特点是通过硬件加速实现高能效的 AI 推理,同时保持极低的能耗。 OLED,通过I2C在0.96寸屏幕上显示相关信息
MAXREFDES117# 是由 Maxim Integrated(现为 Analog Devices 子公司) 推出的光学心率与血氧饱和度(SpO₂)监测参考设计模块,专为可穿戴健康设备开发而设计。
开发过程帖子开箱:
点亮RGB:
驱动OLED:[Let'sdo2025第二期活动
驱动MAXREFDES117:[Let'sdo2025第二期活动
系统框图控制模块显示模块传感器模块菜单切换按键输入功能选择菜单显示SSD1306 OLED数据显示时间显示心率检测MAX30102 传感器血氧检测温度检测MAX78000 MCURGB LED内部RTC硬件连接I2C总线连接
OLED显示器 (SSD1306)
SCL: P0.16
SDA: P0.17
VCC: 3.3V
GND: GND
MAX30102传感器
SCL: P0.16
SDA: P0.17
VCC: 3.3V
GND: GND
INT: P0.22
SW1: P0.2 (上拉输入)
SW2: P1.7 (上拉输入)
SW3: P3.1 (上拉输入)
RGB LED通过PMIC控制
BLUE: 左移5位
RED: 左移4位
GREEN: 左移3位
FTHR_I2C/主要功能模块1. OLED显示模块
├── main.c # 主程序
├── oled.c/h # OLED驱动模块
├── key.c/h # 按键处理模块
├── my_rtc.c/h # RTC时间模块
├── max30102.c/h # 心率传感器模块
└── algorithm.c/h # 数据处理算法
使用SSD1306 OLED显示器
I2C通信,地址0x3C
128x64分辨率
支持文本居中对齐
实现了显示缓冲区,减少闪烁
心率检测范围:30-250 BPM
血氧饱和度范围:70-100%
温度检测功能
数据采样率可调
24小时制时间显示
时分秒显示
支持时间设置
主菜单
时间显示界面
心率监测界面
按键导航
# 编译项目2. 操作说明
make
# 下载到开发板
make flash
SW1: 切换到时间显示
SW2: 切换到心率监测
SW3: 返回主菜单
主菜单界面
+--------------+
| Main Menu |
| |
| SW1: Time |
| SW2: Heart |
| |
+--------------+时间显示界面
+--------------+
| Current Time |
| |
| 12:34:56 |
| |
|SW2:Heart Rate|
+--------------+心率监测界面
+--------------+
|Heart Monitor |
| |
|Rate: 75 BPM |
|SPO2: 98% |
|Temp: 36.5°C |
| |
| SW1: Time |
+--------------+
硬件连接
确保I2C总线上拉电阻正确
检查电源供电稳定性
注意MAX30102传感器放置位置
软件配置
检查I2C频率设置
确认中断配置正确