Beetle 树莓派RP2350基于此开发板的心率监测项目代码篇(二稿)

2025-05-0923
AI 快速预览详细 收起
本文介绍了如何使用Beetle树莓派RP2350开发板进行心率监测项目的代码实现。首先,初始化OLED显示屏并设置波特率以匹配心率传感器。然后,通过SoftwareSerial读取心率传感器的数据,并解析出BPM值。最后,将解析后的BPM值显示在OLED屏幕上。文章提供了详细的代码示例和调试方法,帮助读者快速解决连接和显示问题,适用于初学者和STEM教育场景。

#include
#include
#include

#define OLED_WIDTH 128
#define OLED_HEIGHT 64
#define OLED_ADDR 0x3C

SoftwareSerial hrSerial(18, 19); // RX=18, TX未用
Adafruit_SSD1306 oled(OLED_WIDTH, OLED_HEIGHT, &Wire, -1);

int bpm = 0;

void setup() {
 Serial.begin(9600);
 hrSerial.begin(9600); // 波特率需与传感器匹配
 
 // 初始化OLED
 if (!oled.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR)) {
   Serial.println("OLED初始化失败");
   while (1);
 }
 oled.clearDisplay();
 oled.setTextSize(1);
 oled.setTextColor(SSD1306_WHITE);
 oled.display();
}

void loop() {
 // 读取心率传感器数据
 if (hrSerial.available()) {
   String data = hrSerial.readStringUntil('\n');
   parseBPM(data); // 解析BPM值
   updateDisplay(); // 刷新OLED
 }
}

void parseBPM(String data) {
 // 假设数据格式为"BPM:72"
 int startIdx = data.indexOf("BPM:");
 if (startIdx != -1) {
   String valStr = data.substring(startIdx + 4);
   bpm = valStr.toInt();
 }
}

void updateDisplay() {
 oled.clearDisplay();
 oled.setCursor(0, 0);
 oled.print("心率监测");
 oled.setCursor(0, 20);
 oled.print("BPM: ");
 oled.print(bpm);
 oled.display();
}
 

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -