MLX90614红外测温传感器使用arduino采集温度数据OLED显示
基于Arduino制作非接触式测温仪
- MLX90614 红外测温模块
- MLX90614 简介
- MLX90614 参数
- 项目介绍
- 项目搭建
- 接线
- 开发
- 项目验证展示
MLX90614 红外测温模块
MLX90614 简介
MLX90614是一款由迈来芯公司提供的低成本,无接触温度计。输出数据和物体温度呈线性比例,具有高精度和高分辨率。TO-39金属封装里同时集成了红外感应热电堆探测器芯片MLX81101(温度是通过PTC或是PTAT元件测量)和信号处理专用集成芯片MLX90302,专门用于处理红外传感器输出信号。用以阻碍可见光和近红外光辐射的光学滤波器(可传播长波)集成在封装内提供对环境和日光的免疫。滤波器的波长通带为5.5到14μm。由于集成了低噪声放大器、17位模数转换器和强大的数字信号处理芯片 MLX90302,使得高精度和高分辨度的温度计得以实现。一个附加的片上温度传感器用来测量芯片的温度。测量完两个传感器的输出后,对应的环境温度和物体温度被计算出。计算所得物体温度和环境温度存储在MLX90302的RAM单元,温度分辨率为0.01℃,并可通过两线 SMBus(系统管理总线)兼容协议接口(IIC与之兼容)(0.02℃分辨率)或是10位PWM(脉宽调制)输出模式输出。MLX90614出厂温度范围都进行过校准,传感器测量的温度为视场里所有物体温度的平均值。
MLX90614 参数
探头直径8.2mm
数字接口类型:IIC(从模式)
温度测量范围:-70℃~382.2℃
温度测量误差:±0.5℃ (室温下)分辨率0.02℃
工作电压:3.3V~5V
使用环境温度-40~125℃
项目介绍
本项目将以Arduino作为主控,按键触发,搭配MLX90614红外测温传感器制作一个非接触式,测温距离在1CM左右的人体手腕测温仪,测量到的温度用OLED显示屏打印出来 。
项目搭建
接线
Arduino | MLX90614 | OLED | 按键 |
---|---|---|---|
A4 | SDA | ||
A5 | SCL | ||
5V | VIN | VCC | |
GND | GND | GND | OUT |
D3 | IN | ||
D8 | RES | ||
D9 | DC | ||
D10 | CS | ||
D11 | D1 | ||
D12 | D2 |
开发
为了方便开发本项目会用到MLX90614库和U8g2库
#include <U8g2lib.h>
#include <Adafruit_MLX90614.h>
项目上电后初始化完成后,在串口和OLED屏幕上打印项目名称"Contactless Temperature Measurement",由于屏幕宽度有限,使用OLED显示器分行打印
Serial.println("Contactless Temperature Measurement"); //串口打印项目名称u8g2.enableUTF8Print(); // enable UTF8 support for the Arduino print() functionu8g2.setFont(u8g2_font_ncenB14_tr); //字体选择u8g2.setFontDirection(0); //绘制/显示方向u8g2.clear(); //清空显示和缓冲u8g2.setCursor(7, 15); //移动光标位置u8g2.print("Contactless"); //OLED打印内容u8g2.setCursor(0, 35);u8g2.print("Temperature");u8g2.setCursor(0, 55);u8g2.print("Measurement");u8g2.sendBuffer();
通过按下按键改变D3引脚电平状态触发测温
int Start()
{int B=1;B=digitalRead(Bottom);delay(30);return B;}
获取温度—为了提高温度的可靠性 读取了5次温度存放在一个数组里,数组里的输出通过可靠性判断和处理后就可以打印输出了
void gTemp()
{for (int i = 0; i < 5; i++){t[i] = mlx.readObjectTempC();Serial.println(t[i]);delay(300);}
}
主程序
void loop(void) {while(!Start()) //测温循环{u8g2.clear();Serial.println("start"); //串口打印开始信息delay(1000);gTemp(); //测温 读取5次温度值 保存再t数组里面if(dTemp()>0) // 判断数据有效性{u8g2.clear(); //清屏u8g2.setCursor(3, 20);u8g2.print("temperature");u8g2.setCursor(40, 50);u8g2.print(prantTemp()); //打印温度值Serial.println(prantTemp()); - u8g2.sendBuffer();}else{Serial.println("read fail"); //串口打印测温错误信息//五次温度处理后判断为无效数据u8g2.clear(); //清屏u8g2.setCursor(23 ,17); //OLED打印位置u8g2.print("read fail"); //OLED打印读取失败信息 OLED打印测温错误信息//五次温度处理后判断为无效数据u8g2.setCursor(19, 37); //OLED打印位置u8g2.print("please try"); //OLED打印读取失败信息u8g2.setCursor(35, 55); //OLED打印位置u8g2.print("again"); //OLED打印读取失败信息u8g2.sendBuffer();}delay(5000);u8g2.clear(); //清屏break;}
}
项目验证展示
- 点击开始测温后被测温目标再进入测温区域,判断为测温失败
测温失败演示
- 正确测温演示
Arduino - MLX90614非接触式测温
测得温度为36.25摄氏度
MLX90614红外测温传感器使用arduino采集温度数据OLED显示相关推荐
- 4Gwifi无线远程非接触红外测温传感器mqtt/http推送数据
1产品概述 DAQ-GP-IRT4G无线红外测温传感器终端是上海数采物联网科技有限公司推出的一款无线非接触红外测温产品.本产品红外探测器(热敏探测器和光电探测器)将红外辐射能量测出并转变成电信号,再根 ...
- 第二十七篇、基于Arduino uno,获取mlx90614非接触式红外测温传感器的温度值——结果导向
0.结果 说明:先来看看串口调试助手显示的结果,第一个值是空气的温度,第二个值是被测量的物体温度,如果是你想要的,可以接着往下看. 1.外观 说明:虽然mlx90614非接触式红外测温传感器形态各异, ...
- MLX90614红外测温模块使用
一.MLX90614介绍(官方介绍,很官方) MLX90614 是一款红外非接触温度计.TO-39 金属封装里同 时集成了红外感应热电堆探测器芯片和信号处理专用集成芯 片. 由于集成了低噪声放大器.1 ...
- ESP32设备驱动-MLX90614红外测温传感器驱动
MLX90614红外测温传感器驱动 1.MLX90614介绍 MLX90614 是一款用于非接触式温度测量的红外温度计.IR 敏感型热电堆检测器芯片和信号调节 ASIC 都集成在同一 TO-39 罐封 ...
- 红外测温传感器的现状
主流传感器: 1.迈来芯-比利时 非接触式 MLX90614 红外测温模块 温度传感器模块 该MLX90615是一个红外线非接触式温度探测感应头,这个敏感的红外热电堆探测器芯片和信号调理ASIC的集成 ...
- STM32驱动MLX90614红外测温模块
简介:STM32F103C8T6驱动MLX90614红外测温模块源码介绍. 开发平台:KEIL ARM MCU型号:STM32F103C8T6 传感器型号:MLX90614 特别提示:驱动内可能使用了 ...
- GY-906-DCI红外测温传感器
有大佬玩过Mlx90614的GY-906-DCI红外测温传感器吗 这个传感器通电之后背后的灯会亮的吗,我这个不亮的,一直读不出温度怕是硬件问题 ,
- 【使用笔记】树莓派基于Python操作IIC接口的红外测温传感器
最近在使用红外测温传感器,IIC通信,在单片机上已能读取数据,但是想把数据读取到电脑上用python做一些处理,想到树莓派自带IIC接口,于是尝试直接将红外传感器接到树莓派的IIC管脚. 启用树莓派I ...
- Arduino使用MLX90614 非接触式红外测温传感器
相关资料链接 链接:https://pan.baidu.com/s/1eE0rkaSJsKJMU_RUorS5OA 提取码:3ujh 1.1 介绍: MLX90614是一款由迈来芯公司提供的低成本,无 ...
- GY906 MLX90614 非接触式 红外测温传感器 LabVIEW i2c总线数据读取
GY906使用的红外测温芯片为MLX90614. 使用LabVIEW读取i2c总线数据时,需要知道传感器的地址,出厂默认为0x5A.传感器地址支持自己修改,存放在芯片EEPROM的0x0E位置,可以通 ...
最新文章
- 触手可得的云原生 | 阿里云中间件发布多项新功能
- html中图片只是一个小图标,如何用css显示一个图片中多个小图标?
- Linux内核常见FAQ
- php面向对象全攻略 (十四),php面向对象全攻略 (十四) php5接口技术
- AI:2020年6月21日北京智源大会演讲分享之14:50-15:15穗志方教授《从语言到知识——构建语言智能的基石》
- 2020年下信息系统项目管理师合格分数线通知
- android 图片存sd卡上,android打开,保存图片到sd卡,显示图片
- 关于System.FormatException异常
- 小米手机怎么在图片显示定位服务器,小米浏览器中,图片导致fixed定位的元素无法显示...
- Oracle 11g 表空间管理
- 我对SAP培训的理解(转)
- C#反射Activator
- 数学专业偏向算法智力题的面试题
- 高精度定位网络PAS的经济模式_RTK基站网络共享奖励模式
- IT项目经理沟通技巧的重要性
- 喏,你们要的58条 Allegro 使用技巧汇总整理好了
- php 打开word显示无法打开文件,phpword 生成doc文件 特殊符号 无法打开
- Z04 - 999、Flink与电商指标分析
- cefsharp内嵌资源html的读取,C#(csharp)用CefSharp开发实现一个浏览器,抓取网站任意资源...
- 程序员创业必读的几本书
热门文章
- 带你走进多媒体世界:视频文件是怎么播放出来的
- TortoiseCVS 安装遇到的一些问题
- ddwrt 扩张linux分区,FON2405e在引进自定义固件OpenWRTDDWRT.doc
- win10计算机网络共享设置密码,Win10使用技巧:给共享文件夹添加密码
- 计算机金额函数,Excel数字转大写金额方法 一个隐藏函数搞定
- 【读书笔记】计算广告(第3部分)
- 金融行业比较有名气的公司
- 基于8086的16位键盘操作系统仿真设计-基于8086LCD1602显示仿真设计-基于8086的LED中文显示屏显示设计-基于8086方波锯齿波三角波发生器-基于8086的LED点阵汉字流水显示设计
- 鸿雪因缘--穿越千年的朋友圈
- ORACLE解析SOAPXML报文,xmltype extractvalue extract LPX-00210 中文乱码