最近我入手了一个MAX30102血氧心率脉搏传感器模块,店家宣称其内嵌测算算法,用户可以直接通过串口读取血氧心率数据

物流速度很快,我在前天中午下单,今天上午就拿到了模块。每到这时候,尘封已久的开发板们就该出来干活了,这次我请出的是DCcduino UNO开发板(它和Arduino UNO开发板是互相兼容的)

接着我在Arduino UNO示例SoftwareSerialExample.ino的基础上进行修改,编写了一个简单的测试程序
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
char ch;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(115200);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial.println("Hello,I'm DCcduino UNO!");
// set the data rate for the SoftwareSerial port
mySerial.begin(9600);
mySerial.print("STOP\r\n");
delay(50);
mySerial.print("START\r\n");
delay(50);
//清空串口缓存
while (mySerial.read() >= 0) {};
}
void loop() {
//获取传感器心率数据
mySerial.print("HR\r\n");
while (mySerial.available()) {
ch = mySerial.read();
Serial.print(ch);
}
delay(50);
//获取传感器血氧饱和度数据
mySerial.print("SPO2\r\n");
while (mySerial.available()) {
ch = mySerial.read();
Serial.print(ch);
}
delay(50);
delay(1000);
}
烧录后查看串口监视器信息

将食指指腹紧贴于传感器模块发出红光的地方,继续观察串口监视器打印出的信息

在之后的多次测试过程中,模块一直运行正常,检测速度较快,在几秒种内就能测算出心率血氧数据且数据稳定可靠
开发板:DCcduino UNO
集成开发环境:Arduino IDE 2.0