测温不用碰、招招手就能读,这就是红外测温的魅力。MLX90614是一枚非接触红外温度传感器,靠检测热物体发出的红外辐射来得出温度,不需要直接贴上就能读,测体温、测热水壶外壁、做无接触门禁都很方便。这篇把它的接线和注意事项讲明白。
MLX90614是怎么“隔空”测温的
模块内部除了常用的硅测温元件,正面那颗带透镜的红外探测器专门接收前方物体发出的红外辐射,芯片据此算出被测物体的温度,同时还能读出环境温度。它输出的两个值都很直接:环境温度TA和物体温度TO。

温度分辨率能到0.02℃左右,非接触测体温时,传感器的正面要正对着被测量物,因为它有效视野大约90度,斜着或离太远都会影响读数准确度。
MLX90614怎么接线到Arduino
走I2C,四根线搞定:VCC接电源、GND接地、SDA接A4、SCL接A5(UNO的硬件I2C脚)。供电要先看清模块版本,3V版本接3.3V,5V版本接5V,别搞混。

库用Adafruit_MLX90614,初始化后loop里调readAmbientTempC()拿环境温度、调readObjectTempC()拿被测物体温度,测一次就出两个数。
两个必须记住的避坑点
第一点,这个传感器地址是固定的(默认0x5A),一块单片机只能挂一个MLX90614,别像别的I2C器件那样想多接几个分流。第二点,它的I2C通信用了“重复起始(repeated start)”的非标准机制,用Arduino没问题,但换别的开发平台前要先确认对方支持这种请求方式。
再提醒一句使用场景:它是靠红外辐射测物体表面温度的黑体式测温,隔着玻璃或对着风环境会测不准,读数容易偏高或偏低。接线看清版本、头部正对被测物,一个方便的非接触测温就立起来了。




要正对着被测物,斜着读出来会差好几度
3V版和5V版供电别接反,接线前先看清版本
地址是固定的,一块板子只能挂一个这传感器