ESP8266-Arduino编程实例-MLX90614红外测温传感器驱动

MLX90614红外测温传感器驱动

1、MLX90614传感器介绍

MLX90614 是一款非接触式红外测温仪,测量范围为 -70 至 +380 摄氏度。
在这里插入图片描述

MLX90614有以下特性:

  • 体积小,成本低
  • 安装在带有两种引脚的分线板上
  • 用于 I2C 接口的 10k 上拉电阻,带有可选的焊接跳线
  • 在宽温度范围内进行工厂校准:
  • -40 ~ + 125 °C 用于传感器温度和
  • -70 ~ + 380 °C 用于物体温度。
  • 在宽温度范围内具有 0.5 °C 的高精度(Ta 和 To 均为 0 … + 50 °C) 高(医疗)精度校准
  • 测量分辨率0.02°C
  • 单区和双区版本
  • SMBus 兼容数字接口
  • 用于连续读取的可定制 PWM 输出
  • 睡眠模式可降低功耗

2、硬件准备

  • ESP8266 NodeMCU开发板一块
  • MLX90614感器模块一个
  • 面板板一个
  • 杜邦线若干
  • 数据线一条

硬件接线图如下:

在这里插入图片描述

3、软件准备

  • Arduino IDE或VSCode + PlatformIO

在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:

ESP8266 NodeMCU的引脚介绍在前面的文章中做了详细的介绍,请参考:

4、代码实现

1)导入依赖头文件

1
2
3
#include <Wire.h>
#include <Adafruit\_MLX90614.h>

本次使用MLX90614传感器驱动库如下:

2)定义MLX90614传感器对象

1
2
3
// MLX90614传感器对象
Adafruit_MLX90614 mlx = Adafruit\_MLX90614();

3)在setup函数中初始化串口、启动传感器

1
2
3
4
5
6
7
void setup() 
{
Serial.begin(115200);
// 启动传感器
mlx.begin();
}

4)在loop函数中读取传感器温度数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void loop() 
{
Serial.print("Ambient = ");
// 读取环境摄氏温度
Serial.print(mlx.readAmbientTempC());
Serial.print("\*C\tObject = ");
// 读取物体摄氏温度
Serial.print(mlx.readObjectTempC());
Serial.println("\*C");
Serial.print("Ambient = ");
// 读取环境华氏温度
Serial.print(mlx.readAmbientTempF());
Serial.print("\*F\tObject = ");
// 读取物体华氏温度
Serial.print(mlx.readObjectTempF());
Serial.println("\*F");

Serial.println();
delay(1000);
}

文章来源: https://iotsmart.blog.csdn.net/article/details/126098182