基本概述

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:温度最大值
Alt
在这里插入图片描述

资源汇总

源码资源包说明:包含:完整Keil程序和接线图
源码文件:https://pan.baidu.com/s/1-0jweH6a0Nsva3nWYX5YYQ?pwd=2023

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐