littlebot
Published on 2025-04-10 / 0 Visits
0

【源码】基于ESP32和MLX90640的便携式热成像仪

项目简介

本项目是基于ESP32和MLX90640红外传感器的热成像仪。借助高分辨率ADC、高斯插值以及ESP32的双核特性,达成了高质量的热成像显示与数据处理。同时,该项目支持把原始数据保存到SD卡,还能在桌面端做进一步处理。

项目的主要特性和功能

  1. 高分辨率ADC:支持19位ADC分辨率,可提供高精度的温度测量。
  2. 图像平滑处理:通过10倍过采样和高斯插值,实现图像的平滑显示。
  3. 数据存储:支持将原始热成像数据保存到SD卡,方便后续分析。
  4. 实时温度显示:能显示当前图像中的最低、最高和平均温度。
  5. 多模式支持:设计中包含灰度和正常热成像模式,虽未完全实现。
  6. 双核优化:利用ESP32的双核特性,优化图像处理和显示性能。

安装使用步骤

1. 下载依赖库

  • 下载并安装ESP32相关的依赖库。
  • 下载并安装Adafruit相关的依赖库。
  • 下载并安装自定义的FreeRTOS Helper库。

2. 链接库文件

  • Linux/Unix/BSD系统:使用符号链接将库文件链接到Arduino库目录。示例命令如下: bash ln -s "/Users/YourUserFolderName/Documents/Repos/Git/ThermalCam/mxl90640_lib" "/Users/YourUserFolderName/Documents/Arduino/libraries/mxl90640_lib" ln -s "/Users/YourUserFolderName/Documents/Repos/Git/FreeRTOS-Helper" "/Users/YourUserFolderName/Documents/Arduino/libraries/FreeRTOS-Helper"
  • Windows系统:直接将库文件复制到Documents/Arduino/libraries/目录下。

3. 编译和上传

  • 打开Arduino IDE,选择正确的开发板和端口。
  • 编译并上传代码到ESP32开发板。

4. 运行和测试

  • 连接MLX90640传感器和ST7735 TFT显示屏。
  • 启动设备,观察热成像图像的显示和温度数据的输出。

已知问题

  • mlx文件夹为空或不存在,会创建一个名为4294967295的文件夹。
  • mlx文件夹中已存在一个文件夹(如0046),则新的文件夹编号将从0000开始。
  • 将帧序列(gif视频)记录到SD卡会导致写入速度下降。
  • 快速多次按下快门按钮可能导致图像损坏。

注意:本项目仍在开发中,可能随时进行更改。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】