MLX90614红外测温传感器使用arduino采集温度数据OLED显示

这篇具有很好参考价值的文章主要介绍了MLX90614红外测温传感器使用arduino采集温度数据OLED显示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MLX90614 红外测温模块


arduino 红外测温探头,arduino专栏,单片机,嵌入式硬件

点击图片购买

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 红外测温探头,arduino专栏,单片机,嵌入式硬件

点击图片购买


arduino 红外测温探头,arduino专栏,单片机,嵌入式硬件
点击图片购买

项目搭建

接线

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

arduino 红外测温探头,arduino专栏,单片机,嵌入式硬件

开发

为了方便开发本项目会用到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() function
  u8g2.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();

arduino 红外测温探头,arduino专栏,单片机,嵌入式硬件

通过按下按键改变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;
    }
}

项目验证展示

  1. 点击开始测温后被测温目标再进入测温区域,判断为测温失败

测温失败演示

  1. 正确测温演示

Arduino - MLX90614非接触式测温文章来源地址https://www.toymoban.com/news/detail-780283.html


测得温度为36.25摄氏度

到了这里,关于MLX90614红外测温传感器使用arduino采集温度数据OLED显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Arduino UNO的线路跟随机器人车,L298N驱动器,红外传感器

    原文 一些机器人制作项目 展示如何使用 Arduino UNO 和 2 个红外传感器模块制作线路跟随机器人汽车 。 Line follower 名称表示全自动 汽车 。这遵循嵌入任何地板或任何表面上的视觉线(很可能是白色或黑色)。 该项目基于Arduino微控制器。是一条基本的 线路跟随机器人项目 。

    2024年02月11日
    浏览(29)
  • Arduino Uno零基础入门学习笔记——智能时钟(可以显示温湿度)【LCD1602+DS1302+温湿度传感器+红外接收器+LED+蜂鸣器】

    需要以下几个外设 LCD1602(IIC驱动) DS1302 1-WIRE温湿度检测器 红外接收器 遥控器 两个LED(一红一蓝) 蜂鸣器 LCD1602IIC引脚 Arduino引脚 VCC 5V GND GND SDA A4 SCL A5 我这里的LCD1602是IIC的,所以只需要4根线 传感器引脚 Arduino引脚 - GND S 8 + 5V 中间的线是要接5V的 红外接收器引脚 Arduino引脚 -

    2024年02月06日
    浏览(34)
  • 红外人体感应传感器SR602模块使用说明

    ​一.HC-SR602模块         红外人体感应传感器HC-SR602是基于红外线技术的自动控制模块,专用于感应周围人体的存在。该模块相较于HC-SR501,灵敏度较高,抗干扰能力大,且简单易用。 二.HC-SR602模块主要参数 工作电压:3.3V-15V; 静态电流:20uA; 感应距离:最大5M;建议0-

    2024年02月06日
    浏览(29)
  • MLX90614红外温度计介绍

    MLX90614是一款红外非接触温度计。TO-39金属封装里同时集成了红外感应热电堆探测器芯片和信号处理专用集成芯片。 由于集成了低噪声放大器、17位模数转换器和强大的数字信号处理单元,使得高精度和高分辨度的温度计得以实现。温度计具备出厂校准化,有数字PWM和SMBus(系

    2023年04月08日
    浏览(39)
  • 【传感器模块】 HC-SR501 人体红外感应模块 热释电 红外传感器

    HC-SR501是基于红外线技术的自动控制模块,采用德国原装进口LHI778 探头设计,灵敏度高,可靠性强,超低电压工作模式,广泛应用于各类自动感应电器设备,尤其是干电池供电的自动控制产品。 1、全自动感应:人进入其感应范围则输出高电平, 人离开感应范围则自动延时关闭

    2023年04月26日
    浏览(27)
  • STM32实现MLX90614非接触测温串口显示(标准库与HAL库实现)

    目录 模块选择 编程环境  MLX90614基本原理 通信协议(SMBus通信,类IIC通信) 代码实现 STM32与模块之间接线表 1.标准库实现温度采集 2.HAL库实现温度采集 模块选择         ·STM32F103C8T6         ·MLX90614 非接触式红外测温传感器 编程环境         ·KEIL5(μVision V5.30.0.0) 其它

    2024年02月16日
    浏览(27)
  • 红外传感器

    目录  一、什么是红外传感器 二、LM393比较器(红外传感器最重要的一环) ​编辑 三、红外传感器的用途 红外传感器是一种能够接收和感应红外线信号的电子器件,主要通过变化光强来检测目标物体的存在。由于黑色具有较强的吸光能力,所以红外传感器接收管接收到的红

    2024年01月21日
    浏览(25)
  • Arduino驱动MiCS-4514气体传感器(气体传感器篇)

    目录 1、传感器特性 2、控制器和传感器连线图 3、驱动程序

    2024年02月11日
    浏览(29)
  • Arduino驱动BME680环境传感器(环境传感器篇)

    目录 1、传感器特性 2、硬件原理图 3、控制器和传感器连线图 4、驱动程序

    2024年02月13日
    浏览(41)
  • 【STM32篇】驱动MXL90614红外测温模块

    本次实验使用的测温模块型号GY-906-DCC模块,测距为10cm左右。 MLX90614 是一款红外非接触温度计。TO-39 金属封装里同时集成了红外感应热电堆探测器芯片和信处理专用集成芯片。 由于集成了低噪声放大器、17 位模数转换器和强大的数字信号处理单元,使得高精度和高分辨度的温

    2024年04月28日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包