基于STM32F1和MLX90640的红外热像仪

文章介绍了如何使用STM32F103RCT6通过IIC接口与MLX90640传感器通信,获取温度数据并在LCD屏幕上以像素点形式显示。系统能根据温度自动触发蜂鸣器报警,并允许通过按键关闭报警。MLX90640传感器工作流程包括内部初始化、实时数据测量及更新。温度数据经过转换生成伪彩图像,但未进行阵列插值处理,导致图像有锯齿。成果展示了红外LCD显示的温度信息,包括最小值、平均值和最大值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本概述

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

评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值