ESP8266-Arduino编程实例-MLX90615红外测温仪驱动

MLX90615红外测温仪驱动

1、MLX90615介绍

MLX90615 是一款用于非接触式温度测量的微型红外温度计。 IR 敏感热电堆探测器芯片和信号调节 ASIC 都集成在同一个微型 TO-46 罐中。
红外测温仪出厂时经过数字 SMBus 输出校准,可在完整温度范围内以 0.02 °C 的分辨率完全访问测量温度。 该传感器在相关医疗温度范围内实现了 ±0.2°C 的精度。 用户可以选择将数字输出配置为 PWM。
在这里插入图片描述
MLX9061具有特性:

  • 在宽温度范围内进行工厂校准:传感器温度为 -20 至 85°C,物体温度为 -40 至 115°C
  • 在宽温度范围内具有 0.5°C 的高精度(Ta 和 To 均为 0…+50 C)
  • 在有限的温度范围内达到 0.2°C 的医疗精度
  • 0.02°C 的测量分辨率
  • 用于快速温度读数和构建传感器网络的 SMBus 兼容数字接口
  • 用于连续读取的可定制 PWM 输出
  • 具有省电模式的 3V 电源电压

2、硬件准备

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

硬件接线如下:

传感器引脚 ESP8266开发板引脚
Vin 3.3v
Gnd Gnd
SCL D1
SDA D2

3、软件准备

  • Arduino IDE或VSCode + PlatformIO

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

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

4、代码实现

本次实例使用如下驱动库:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <Wire.h>
#include <mlx90615.h>
MLX90615 mlx = MLX90615();
void setup() {
Serial.begin(9600);
Serial.println("Melexis MLX90615 infra-red temperature sensor test");
mlx.begin();
Serial.print("Sensor ID number = ");
Serial.println(mlx.get\_id(), HEX);
}
void loop() {
Serial.print("Ambient = ");
Serial.print(mlx.get\_ambient\_temp());
Serial.print(" \*C\tObject = ");
Serial.print(mlx.get\_object\_temp());
Serial.println(" \*C");
Serial.println();
delay(500);
}

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