探索黑夜中的森林
产品咨询热线:182-9666-6638

arduino热成像仪怎么制作

发布时间:2023-04-25 06:35:30 人气:

制作基于Arduino的热成像仪

介绍

热成像技术在现代工业、航空、医疗等各个领域均有广泛的应用,而随着Arduino等开源硬件的流行,我们可以便捷地自行搭建一个低成本的热成像仪。本文将介绍如何使用Arduino、热像传感器和LCD显示屏构建一个能够测量温度分布的热成像仪。

材料

- Arduino Uno控制板 x1

- 热像传感器 MLX90640 x1

- 2.2寸TFT LCD显示屏 x1

- 20P Pin插头 x2

- 面包板 x1

- 杜邦线若干

- 3D打印外壳 x1

组装连接

首先将Arduino Uno控制板插在面包板上,然后连接热像传感器。热像传感器MLX90640有24个Pin,我们只需要连接其中GND、3.3V和SDA、SCL四个Pin。将热像传感器的GND连接到Arduino控制板的GND,将3.3V连接到3.3V,SDA连接到A4,SCL连接到A5。接下来连接LCD显示屏,将Pin插头焊接到Arduino控制板上,然后将LCD屏幕插到Pin插头上即可。

代码编写

接下来我们需要写一个能够读取热像传感器数据并将其在LCD屏幕上显示出来的代码。我们可以使用Adafruit提供的MLX90640库来读取热像传感器数据,并利用Adafruit_GFX库和Adafruit_ST7789库来显示图像。具体代码如下:

```

include

include

include

include

define BL_PIN 13

define SCREEN_WIDTH 240

define SCREEN_HEIGHT 320

Adafruit_MLX90640 mlx = Adafruit_MLX90640();

Adafruit_ST7789 tft = Adafruit_ST7789(10, 9, 8);

void setup() {

Serial.begin(115200);

mlx.begin();

mlx.setMode(MLX90640_CHESS);

tft.init(SCREEN_WIDTH, SCREEN_HEIGHT);

tft.setRotation(1);

pinMode(BL_PIN, OUTPUT);

digitalWrite(BL_PIN, HIGH);

}

void loop() {

mlx.getFrame();

float* frame = mlx.getFrameData();

tft.fillScreen(ST77XX_BLACK);

for (int y = 0; y < 24; y++) {

for (int x = 0; x < 32; x++) {

int i = y * 32 + x;

float temp = frame[i];

tft.fillRect(x * 8, y * 8, 8, 8, getColor(temp));

}

}

}

uint16_t getColor(float temp) {

if (temp < 20) {

return ST77XX_BLUE;

} else if (temp < 30) {

return ST77XX_CYAN;

} else if (temp < 40) {

return ST77XX_GREEN;

} else if (temp < 50) {

return ST77XX_YELLOW;

} else if (temp < 60) {

return ST77XX_ORANGE;

} else {

return ST77XX_RED;

}

}

```

代码的主要作用是获取热像传感器的温度数据并将其绘制在LCD显示屏上。其中getFrame函数获取一帧温度数据,getFrameData函数返回一个长度为768的float数组,代表24行32列的温度矩阵。我们将这个温度矩阵绘制在LCD屏幕上,使用getColor函数将温度值映射成颜色,并使用fillRect函数绘制矩形。

测试

将Arduino控制板连接到电脑,打开串口监视器并上传代码。如果一切正常,串口监视器应该会输出一些调试信息,并在LCD显示屏上显示一个温度分布图像。我们可以用手或者吹风机等热源测试一下热成像仪的性能。

外壳制作

最后我们可以使用3D打印技术制作一个外壳,将Arduino控制板、热像传感器和LCD显示屏组装在一起。这样我们就完成了一个基于Arduino的热成像仪的制作。

结论

通过简单的硬件组装和代码编写,我们可以制作出一个低成本、实用的热成像仪。这个热成像仪在工业、航空、医疗等领域都有广泛的应用,可以帮助我们更好地了解温度分布情况,从而更好地进行热工调节和维护。

TAG标签:arduino 热成像仪 temp 传感器
花 2000 元买 FLIR ONE 热成像手机壳的人都在想些啥?
为何手机不允许安装热成像技术?看完拍出的画面你就会明白!

在线留言