4432| 4
|
[进阶] 实时监测你的健康,热敏打印血氧信息 |
现在人们越来越重视自己的健康,实时监控身体数据,发现异常就可以早日就医,市面上各种手环类的产品就是以此作为主要的卖点作为一个创客,我们可以自行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] 实际上是声明了一个字符串数组,每个字符串不能超过32字节(GB2312编码的汉字16个),如果你要显示的汉字特别长,请修改32这个数字;此种方法实际上是将汉字全部提出到一个数组中,应用此类方式很容易实现国际版程序,即切换数组就可以实现不同语种的显示;【注意】:建立这个外挂文件的目的就是为了解决使用IDE编程环境无法编辑GB2312内码汉字的问题,请勿使用IDE编程环境打开编辑此文件,这样操作会将此文件改写为UTF8内码的文件!然后打印出来就是乱码。。。 [mw_shl_code=c,false]const char hz[][32]={"您的血氧值为:", //0 "您的心率值为:" //1 };[/mw_shl_code] 然后下载血氧传感器库将下方的代码复制到Arduino中上传 [mw_shl_code=cpp,false]#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[0]); mySerial.println(SPO2); mySerial.print(hz[1]); mySerial.println(heartRate); } }[/mw_shl_code] 我们就能看见打印机在输出你的身体数据了 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed