第二十七篇、基于Arduino uno,获取mlx90614非接触式红外测温传感器的温度值——结果导向
0、结果
说明:先来看看串口调试助手显示的结果,第一个值是空气的温度,第二个值是被测量的物体温度,如果是你想要的,可以接着往下看。
1、外观
说明:虽然mlx90614非接触式红外测温传感器形态各异,但是原理和代码都是适用的。
2、连线
说明:只需要连接四根线。
- uno————mlx90614红外测温传感器
- 3.3V--------------VCC
- GND--------------GND
- SCL---------------SCL
- SDA---------------SDA
3、源程序
说明:采用非阻塞方式编写,一定时间检测一次温度,并将对应功能进行函数化,方便移植。
/*********************************mlx90614 part********************************************************************/
/*wiring:VCC------VCCGND------GNDSCL------SCLSDA------SDANote: When measuring the distance of an object, it is best to measure it between 5CM and 15CM
*/
#include <Wire.h> //include library
#include <Adafruit_MLX90614.h> //include libraryAdafruit_MLX90614 mlx = Adafruit_MLX90614(); //Instantiate an object#define mlxTimeInterval 1000 //Detect the time interval of a trip
unsigned long mlxTimes = 0; //Record the device running time
float mlxAmbTemp = 0; //Ambient temperature
float mlxObjTemp = 0; //Body temperature
/****************************************set up and loop part*********************************/
void setup() {Serial.begin(9600); //Set baud ratemlx.begin(); //IIC communication initializationSerial.println("Go online!"); //The device is initialized
}
void loop() {getMlxData(); //Acquired temperature
}
/*********************************mlx90614 part********************************************************************/
/*Acquired temperature*/
void getMlxData() {if (millis() - mlxTimes >= mlxTimeInterval ) { //This command is executed once in a whilemlxTimes = millis();mlxAmbTemp = mlx.readAmbientTempC(); //Acquired temperaturemlxObjTemp = mlx.readObjectTempC() * 0.8; //Acquired temperatureSerial.print("Ambient (C): "); // The serial port displays the corresponding valueSerial.print(mlxAmbTemp); // The serial port displays the corresponding valueSerial.print(" , Objec (C): "); // The serial port displays the corresponding valueSerial.println(mlxObjTemp); // The serial port displays the corresponding value}
}
4、注意事项
说明:需要在线下载对应的库文件才不会编译报错,可以在管理库中很方便的搜到,如果搜不到可以评论@我,我将私发给你。注意接的是3.3V。测得的环境温度很准,但是物体温度偏高,查了资料,发现物体温度的测量数据是线性的,所以乘以了0.8,数值就比较合适。测物体温度的时候,距离最好在5CM~15CM,这样值会比较准,因为红外线的能量会随着距离的增加而逐渐衰减,从而影响传感器的测量精度。
5、基本原理
MLX90614 采用 MEMS 技术制造,并具有两个独立的传感器,一个用于测量环境温度,另一个用于测量物体表面温度。
MLX90614 中采用的是一种主动热式红外测温技术,以保证测量的准确性和稳定性。当传感器靠近目标物体时,目标物体会向传感器发射红外线辐射能量,传感器会接收到这些红外线辐射,并将其转换为电信号。传感器内部会根据电信号的大小进行计算,得出物体表面的温度。
在这个过程中,MLX90614 通过调节其内部的光学滤波器和增益控制器,以保持测量的精度,可以采集到非常细微的变化。同时,在传感器与目标物体之间还有一个特定的距离范围,如果超出了这个范围,就会导致测量误差的产生。因此,在使用 MLX90614 的时候,需要注意选择合适的测量距离和角度,以获得更准确的测量结果。
总体来说,在 Arduino 中使用 MLX90614 传感器时,需要将传感器连接到 Arduino 控制器,并利用 Arduino 提供的库函数进行相关配置和读取数据。通过理解 MLX90614 的工作原理,我们可以更好地掌握它的应用方式。
第二十七篇、基于Arduino uno,获取mlx90614非接触式红外测温传感器的温度值——结果导向相关推荐
- Arduino使用MLX90614 非接触式红外测温传感器
相关资料链接 链接:https://pan.baidu.com/s/1eE0rkaSJsKJMU_RUorS5OA 提取码:3ujh 1.1 介绍: MLX90614是一款由迈来芯公司提供的低成本,无 ...
- GY906 MLX90614 非接触式 红外测温传感器 LabVIEW i2c总线数据读取
GY906使用的红外测温芯片为MLX90614. 使用LabVIEW读取i2c总线数据时,需要知道传感器的地址,出厂默认为0x5A.传感器地址支持自己修改,存放在芯片EEPROM的0x0E位置,可以通 ...
- 基于stm32的非接触式红外测温系统
一.硬件材料清单: 1.STM32核心板 2.OLED显示屏 3.mlx90614 红外测温传感器 4.蜂鸣器 5.按键 二.实现的功能 1.mlx90614红外温度数据的实时检测 2.本地OLED数 ...
- 26、基于51单片机mlx90614(GY-906)非接触式红外测温上下限声光报警系统设计
摘要 门式红外人体测温安检仪与传统的安检系统比较,增加了人体测温功能,在流行病多发季节可以适当的提醒人们减少外出,必要时可采取强制措施禁止出行以减少疾病的传播:并且测温为非接触式,与传统的接触式测温相 ...
- 基于arduino UNO R3的远程可控的红外热释传感器 (转)
首先实物图奉上,比较简陋别见怪啦哈哈 <ignore_js_op> ●实验名称:基于机智云平台的红外热释传感器的应用 ●实验目的:1. 能够在云平台下,手机实时观测传感器返回的AD值: ...
- 【使用笔记】树莓派基于Python操作IIC接口的红外测温传感器
最近在使用红外测温传感器,IIC通信,在单片机上已能读取数据,但是想把数据读取到电脑上用python做一些处理,想到树莓派自带IIC接口,于是尝试直接将红外传感器接到树莓派的IIC管脚. 启用树莓派I ...
- 《基于深度学习模型的非接触式面部视频记录技术用于心房颤动的检测》阅读笔记
目录 一.论文摘要 二.论文十问 Q1: 论文试图解决什么问题? Q
- 【单片机毕业设计】【mcuclub-jk-003】基于单片机的非接触红外测温的设计
最近设计了一个项目基于单片机的非接触红外测温系统,与大家分享一下: 一.基本介绍 项目名:非接触红外测温 项目编号:mcuclub-jk-003 单片机类型:STC89C52.STM32F103C8T ...
- 基于stm32人脸识别和红外测温
目录 一.项目功能 二.原理图 三.实物视频 四.实物图片 五.程序 资料下载地址:基于STM32人脸识别和红外测温 一.项目功能 本系统由stm32f103c8t6单片机最小系统电路+k210人脸识 ...
最新文章
- 高性能mysql:创建高性能的索引
- linux系统的通讯工具,Linux下即时通讯工具:Pidgin 2.5.0正式发布了
- ubuntu 16.04 LTS 搜狗输入法安装
- Matlab | 空间域水印技术:LSB(Least Significant Bit)嵌入(matlab源代码)
- C++11 Lambda表达式(匿名函数)详解
- Codeforces Round #552 (Div. 3) —— B. Make Them Equal
- MySQL子查询嵌套查询
- 性能提升120倍!滴滴东北大学提出自动结构化剪枝压缩算法框架
- 在windows环境中关于 pycharm配置 anaconda 虚拟环境
- 别人家的地铁!长沙地铁全面进入5G时代 下载速率达1Gbps
- mysql 转成树_Mysql树型结构2种方式及相互转换
- CSS高级技巧【学习笔记】
- mybatis动态sql传ist集合參与传数组参数
- 高级Linux程序设计第一章:入门
- Remix恢复已部署的合约
- 知识竞赛时,倒计时字体的大小和位置如何调整?
- STM32内部Flash使用磨损均衡算法(Erase Leveling)
- java gps 纠偏_【实测可用】GPS纠偏算法-Java版
- 0013-图像的阈值化-OTSU、固定阈值法、基于局部的阈值化
- 使用python爬取图书封面