实时监测你的健康,热敏打印血氧信息
现在人们越来越重视自己的健康,实时监控身体数据,发现异常就可以早日就医,市面上各种手环类的产品就是以此作为主要的卖点作为一个创客,我们可以自行DIY一个用于监控自己身体数据的设备恰逢DFRobot推出血氧检测传感器,我就用它和热敏打印机做了一个简单的检测装置
主要硬件:
热敏打印机x1;
血氧传感器x1;
Arduno Unox1;
主要软件:
Arduino IDE;
血氧传感器库;
首先,我们需要搭建硬件电路热敏打印机需要外接5-9V电源,然后另一边的IO口需要将蓝色的TX线接在Arduino开发板的10脚上,绿色的RX线接在11脚上,分别对应我们待会在代码中设定的RX脚和TX脚,接着再将血氧传感器连接在IIC接口上。如下图所示
建一个hz.c的文件,文件内容为新建一个字符数组(关于如何新建.c文件:建立一个.txt文件,然后修改后缀为.c就行)。
constchar hz[] 实际上是声明了一个字符串数组,每个字符串不能超过32字节(GB2312编码的汉字16个),如果你要显示的汉字特别长,请修改32这个数字;此种方法实际上是将汉字全部提出到一个数组中,应用此类方式很容易实现国际版程序,即切换数组就可以实现不同语种的显示;【注意】:建立这个外挂文件的目的就是为了解决使用IDE编程环境无法编辑GB2312内码汉字的问题,请勿使用IDE编程环境打开编辑此文件,这样操作会将此文件改写为UTF8内码的文件!然后打印出来就是乱码。。。
const char hz[]={"您的血氧值为:", //0
"您的心率值为:" //1
};
然后下载血氧传感器库将下方的代码复制到Arduino中上传
#include"E:\Arduino\libraries\DFRobot_MAX30102\hz.c" //引用将之前新建的hz.c文件,引号内容为hz.c文件索引地址,需要根据hz.c实际位置作出相应修改
#include <SoftwareSerial.h>
#include <DFRobot_MAX30102.h>
DFRobot_MAX30102 particleSensor;
SoftwareSerial mySerial(10, 11); // RX, TX
void setup()
{
//串口初始化
Serial.begin(115200);
mySerial.begin(9600);
while (!particleSensor.begin()) {
Serial.println("MAX30102 was not found");
delay(1);
}
particleSensor.sensorConfiguration(/*ledBrightness=*/60, /*sampleAverage=*/SAMPLEAVG_8, \
/*ledMode=*/MODE_MULTILED, /*sampleRate=*/SAMPLERATE_400, \
/*pulseWidth=*/PULSEWIDTH_411, /*adcRange=*/ADCRANGE_16384);
}
int32_t SPO2; //血氧浓度
int8_t SPO2Valid; //显示SPO2计算是否有效的标志
int32_t heartRate; //心率
int8_t heartRateValid; //显示心率计算是否有效的标志
void loop()
{
particleSensor.heartrateAndOxygenSaturation(/**SPO2=*/&SPO2, /**SPO2Valid=*/&SPO2Valid, /**heartRate=*/&heartRate, /**heartRateValid=*/&heartRateValid);
//打印结果
mySerial.println();
mySerial.print(hz);
mySerial.println(SPO2);
mySerial.print(hz);
mySerial.println(heartRate);
}
}
我们就能看见打印机在输出你的身体数据了
中文没有显示出来 hnyzcj 发表于 2020-10-20 16:46
中文没有显示出来
其实现在产品还没上线,上线了我重新拍一下照片,更新一下链接 347945801 发表于 2020-10-20 17:32
其实现在产品还没上线,上线了我重新拍一下照片,更新一下链接
啥产品? 我把它稍加修改就可以打印凭条了
{:5_122:}
页:
[1]