第二十五篇、基于Arduino uno,获取max30205人体温度传感器的温度信息——结果导向

0、结果

说明:先来看看串口调试助手显示的结果,显示的是温度值,因为是接触式传感器,可以测量人体体温,如果不接触,测量的就是空气温度。如果是你想要的,可以接着往下看。


1、外观

说明:虽然max30205人体温度传感器形态各异,但是原理和代码都是适用的,可能IIC的地址会不同。


2、连线

说明:只需要连接四根线或者七根线。

  • uno————max30205传感器(四根线的IIC地址是0x4F)
  •    3.3V--------------VCC
  •   GND--------------GND
  •    SCL--------------SCL
  •   SDA--------------SDA
     
  • uno————max30205传感器(七根线的IIC地址是0x48)
  •    3.3V--------------VCC
  •   GND--------------GND
  •    SCL--------------SCL
  •    SDA--------------SDA
  •   GND--------------A0
  •   GND--------------A1
  •   GND--------------A 2

3、源程序

 说明:采用非阻塞方式编写,一定时间检测一次温度,并将对应功能进行函数化,方便移植。

/****************************************max30205 part****************************************/
/*
  wiring:
  VCC------------5V
  GND------------GND
  SCL------------A5/SCL
  SDA------------A4/SDA

  A0、A1、A2-----GND

  Pay attention: If A0, A1, and A2 are connected to GND, the IIC address is 0x48. If no, the IIC address is 0x4f
  Contact measurement of body temperature.
*/
#include <Wire.h>                                                                 //include library
#include "ClosedCube_MAX30205.h"                                                  //include library

ClosedCube_MAX30205 max30205;                                                     //Instantiate an object

#define max30205TimeInterval 1000                                                 //Detect the time interval of a trip                  

unsigned long max30205Times = 0;                                                  //Record the device running time
float max30205Temp = 0;                                                           //Define a variable
/****************************************set up and loop part*********************************/
void setup() {
  Serial.begin(9600);                                                             //Example Set the baud rate of the serial port to 9600

  max30205.begin(0x4F);                                                           //IIC address of the device,If A0, A1, and A2 are connected to GND, the IIC address is 0x48. If no, the IIC address is 0x4f

  Serial.println("Go online!");                                                  // The serial port displays the corresponding value
}
void loop() {
  getMAx30205Data();                                                             //Acquired temperature
}
/****************************************max30205 part****************************************/
/*Acquired temperature*/
void getMAx30205Data() {
  if (millis() - max30205Times >= max30205TimeInterval) {                        //This command is executed once in a while
    max30205Times = millis();

    max30205Temp = max30205.readTemperature();                                   //Gets the temperature value
    Serial.print("Temp: ");                                                      // The serial port displays the corresponding value
    Serial.print(max30205Temp);                                                  // The serial port displays the corresponding value
    Serial.println(" (C)");                                                      // The serial port displays the corresponding value
  }
}

4、注意事项

说明:需要下载对应的库文件才不会编译报错。工作电压是3.3V。接四根线的情况下,默认IIC地址是0x4F;接七根线的情况下,也就是当A0、A1、A2接GND的情况,IIC地址为0x48。可以接触人体皮肤测量人体温度,数据上升或者下降可能有些慢。精度很高。

5、基本原理

        Maxim Integrated推出的MAX30205是一款数字式人体温度传感器,可以在Arduino等开发板上使用。其工作原理如下:
        温度侦测原理:MAX30205使用高精度的微处理器和传感器技术,能够测量人体表面的温度,并将其转化为数字信号。
        数字信号处理:传感器内部的芯片会对收集到的温度数据进行处理,以获得更加高精度和稳定的温度值。
        通信接口:MAX30205具有I2C和SPI接口,可与Arduino等控制器进行通信,从而提供可靠的数据传输。
        反馈机制:MAX30205还具有一种反馈机制,能够自动校准传感器误差,确保温度测量的准确性和可靠性。

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
DIY制作运动心率手表概述: 该运动心率手表基于microduino的BM模块、心率传感器模块、OLED显示模块构成。虽然第一版体积有些大(表盘达到了62mm,使用了一个切割的配件)。 一、OLED显示心率 二、与商业心率表、苹果的iwatch进行了比对,精度令人满意,这一点在跑步中已经得到测试。 三、LED跳动与脉搏同步。 视频展示: 所需模块及元器件: microduino core(328)一块 microduino TTL-USB 一块 microduino BM(电源管理套件,含电源管理板、开关接口小板以及600mah锂电一块) microduino 心率传感器模块(芯片SON7015超低功耗心率传感器) 电阻:220 欧姆 (三只,LED限流) OLED:0.61寸(32*96,来自某宝,支持u8glib) 参考库及例程:来自github,https://github.com/WorldFamousEl ... nsor_Amped_Arduino/ 关于BM模块: 便于安装、电源管理和充电及锂电池与一体。 一是开关接口小板与电源管理板分离,而且带安装孔(直径2mm),所以很方便用于DIY当中。 二是去掉了显示充电进度的分立led,欠压时,红色led显示即可。能耗降低。三是上电后,直接供电,不需要usb激活,这一点是 我最满意的,大大点赞。 从目前看,充电接口和小开关引出来,方便充电、开关电源。带了一块0.61寸的oled和一颗全彩5mm led,加上core。玩了几个小时, 表现还不错。 关于心率模块: 低功耗,厂家介绍耗电为0.2毫安。 从百度中引用:https://baike.baidu.com/link?url= ... ff9_ojMOGAvHug_tUu_ 利用特定波长红外线对血管末端血液微循环产生的血液容积的变化的敏感特性,检测由于心脏的跳动,引起指尖的血液变化, 经过信号放大、调整等电路处理。其中SON1303输出同步于脉搏跳动的脉冲信号,从而计算出脉率, SON7015输出反映指尖血容积变化的完整的脉搏波电压信号。主要应用于临床上脉率的测量、监测和脉搏波的病理分析。 简而言之:一块光电原理的心率传感器,和运行手表常用的电极式(感知皮肤电阻变化)原理不同。 详细的制作,详见附件内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值