基本概述
STM32F103RCT6使用IIC接口与MLX90640采集数据,采集数据后使用LCD将温度转换为像素点输出到TFT-LCD屏幕,温度达到指定数值自动蜂鸣器报警,使用按键关闭报警声,源码文件文末自取。
默认参数时,MLX90640的工作流程如下:
(1)上电,内部初始化(约40ms)
(2)读取工作参数到控制和状态寄存器
(3)开始以2Hz的速率测量实时数据并更新到RAM,自动更新状态寄存器。
测量帧解释:
MLX90640共有768个测量像素点,每次测量其中的一半,称为1帧,故此完成768像素需要测量2帧,用帧0和帧1来表示。即:所谓的1帧数据其实是完整像素的一半。
温度转颜色的方法为:
(1)首先假设温度范围的上下限并将实际的温度数据转换为0~255之间的数值
(2)使用转换后的数值代入下面的伪彩编码计算函数,生成伪彩色
输出图像未使用阵列插值处理-多项式插值算法处理输出图像,锯齿感强烈,如果需要参考文章:阵列插值处理链接
成果展示:
红外LCD显示只有红绿黄色,蓝色未添加,显示的温度在最下面
TMIN:温度最小值
TAver温度平均值
TMax:温度最大值


资源汇总
源码资源包说明:包含:完整Keil程序和接线图
源码文件:https://pan.baidu.com/s/1-0jweH6a0Nsva3nWYX5YYQ?pwd=2023
文章介绍了如何使用STM32F103RCT6通过IIC接口与MLX90640传感器通信,获取温度数据并在LCD屏幕上以像素点形式显示。系统能根据温度自动触发蜂鸣器报警,并允许通过按键关闭报警。MLX90640传感器工作流程包括内部初始化、实时数据测量及更新。温度数据经过转换生成伪彩图像,但未进行阵列插值处理,导致图像有锯齿。成果展示了红外LCD显示的温度信息,包括最小值、平均值和最大值。
1123





