项目简介
本项目是基于ESP32和MLX90640红外传感器的热成像仪。借助高分辨率ADC、高斯插值以及ESP32的双核特性,达成了高质量的热成像显示与数据处理。同时,该项目支持把原始数据保存到SD卡,还能在桌面端做进一步处理。
项目的主要特性和功能
- 高分辨率ADC:支持19位ADC分辨率,可提供高精度的温度测量。
- 图像平滑处理:通过10倍过采样和高斯插值,实现图像的平滑显示。
- 数据存储:支持将原始热成像数据保存到SD卡,方便后续分析。
- 实时温度显示:能显示当前图像中的最低、最高和平均温度。
- 多模式支持:设计中包含灰度和正常热成像模式,虽未完全实现。
- 双核优化:利用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】