在本文中,我将使用 ESP32-S2 并行 TFT 触摸屏和 MLX90640 热像仪 DIY 一个热像仪。
想为我们办公室做一个疫情期间的热像仪已经很久没有了。但是阵列热传感器在 2020 年曾经非常昂贵,因为对 COVID-19 有巨大的需求,我不得不暂停我的计划,直到最近,我才有机会这样做。当然,从市场上买一个也不错,但价格昂贵,实际上还不如我的设计。在硬件和固件上都开源。
1.我用的是什么?想为我们办公室做一个疫情期间的热像仪已经很久没有了。但是阵列热传感器在 2020 年曾经非常昂贵,因为对 COVID-19 有巨大的需求,我不得不暂停我的计划,直到最近,我才有机会这样做。当然,从市场上买一个也不错,但价格昂贵,实际上还不如我的设计。在硬件和固件上都开源。
●基于ESP32-S2 的并行TFT Touch,分辨率为320*240:
我使用这个触摸的原因是:
1.)它的刷新率比SPI 显示器高很多,查看对比视频。
2.) 基于ESP32-S2,带WIFI,可以直接将数据/结果传输到本地网络,进行远程监控。
● 以及我专门为此应用设计的MLX90640 红外热像仪。
● 以及为此设计的一套亚克力外壳,带有激光切割:
2.硬件组装
热像仪使用 I2C 与控制器通信,I2C 地址为 0x33,而 ESP32-S2 Parallel TFT 具有用于外部传感器的内置连接器(I2C/GPIO),因此很容易将热像仪连接到 TFT,通过简单的即插即用电缆:
将 SD 卡插入 SD 插槽进行数据存储:
3.固件:
固件是这个应用程序的核心工作,对于 MLX90640,我使用了Adfruit_MLX90640 Lib。此外,由于 MLX90640 得到的原始数据是 32*24 的数据,带有噪声,我们需要对其进行更多处理
:过滤数据,使它们显示平滑,否则显示会很刺眼。
湾。查看所有原始数据中的最高温度。通常,最高温度指向我们感兴趣的地方,它告诉我们一个人的健康状况是否好/不好。
C。原始数据的线性插值算法,使其看起来不那么像素,并且适合显示(我将其显示在320x240区域,显示区域的50%)。
:过滤数据,使它们显示平滑,否则显示会很刺眼。
湾。查看所有原始数据中的最高温度。通常,最高温度指向我们感兴趣的地方,它告诉我们一个人的健康状况是否好/不好。
C。原始数据的线性插值算法,使其看起来不那么像素,并且适合显示(我将其显示在320x240区域,显示区域的50%)。
没有/有线性插值算法的输出对比:
代码可在:Makerfabs Github获得。
烧录完成后,通过USB-C型5V电源给系统供电,显示正常,温度检测:
可以将所有温度存入SD卡存储。