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

AMG8833热成像stm32

发布时间:2023-04-25 18:00:30 人气:

AMG8833热成像stm32

概述:

AMG8833是一款8x8像素红外热像传感器芯片,可以用于非接触式的温度测量,适用于人类或移动物体。现在,有很多热成像的应用在人类生活当中,如热成像拍照、红外热成像摄像机等。本文主要介绍如何在STM32系列控制板上对AMG8833进行驱动,实现温度测量、热成像拍照等功能。

一、硬件平台介绍

1.1 硬件平台选用

本次研究使用的硬件平台是基于STM32开发的板子。因为STM32系列的处理器主频高、运行速度快、内存较大等特点,是实现热成像应用较为理想的开发板。

2.2 硬件连接介绍

图1. 热成像模块与STM32F103C8T6连接示意图

二、软件开发

3.1 软件平台

芯片厂商和商家都会提供开发相关的SDK、API等,这些API是对硬件进行操作的函数库。这里我们选择在Arduino平台上进行开发,因为Arduino提供了非常完整的API库和开源应用实例供用户参考使用,并且兼容STM32开发板。

3.2 软件开发

本次软件开发涉及到的主要功能有

①对AMG8833的IIC总线访问

②对AMG8833的内部寄存器进行地址映射及寄存器读写

③温度数据合成

④热成像数据读取

⑤热成像图像显示

其中,涉及到IIC访问、寄存器读写、温度数据合成等操作都需要使用到硬件驱动。这里我们使用标准库提供的函数来实现硬件驱动逻辑。

三、代码实现

4.1 IIC驱动

函数实现

```C

IIC_Start(void)

IIC_Stop(void)

IIC_SendByte(unsigned char SendByte)

IIC_ReadByte(unsigned char address)

```

4.2 AMG8833驱动

4.2.1 IIC设备地址宏定义

```C

define AMG8833_ADDR 0x69

```

4.2.2 AMG8833 内部寄存器地址宏定义

```C

define Power_Register 0x00

define Reset_Register 0x01

define FPSC_Register 0x02

define Interrupt_Register 0x03

define Status_Register 0x04

define Thermistor_Register_H 0x0E

define Thermistor_Register_L 0x0F

define Pixel_Register_First 0x80

```

4.2.3 读寄存器函数实现

函数实现

```C

AMG8833_Read(void)

```

4.3 显示驱动

4.3.1 SSD1306驱动

SSD1306是一种针对128x64和128x32 OLED显示驱动芯片,它可以通过IIC/SPI总线与MCU连接,同时也支持多种显示模式,例如水平、垂直和IDI模式。因此,我们在此使用SSD1306作为显示设备。

4.3.2 SSD1306函数库

SSD1306函数库是目前非常流行的一种OLED驱动函数库,该函数库主要用于将数据流从MCU发送到OLED屏幕,实现图像、图标和文本的高速更新。

4.4 完整代码

完整代码可以访问Github仓库: https://github.com/your-repo

四、结果与分析

本次实验实现了基于STM32平台的AMG8833热成像应用。通过对AMG8833的驱动和SSD1306的显示,能够快速实现热成像图像的采集和显示。同时,通过调整多种功能参数,可以得到更多的实际应用效果。

五、结论

在本次实验中,我们成功地使用STM32开发板实现了基于AMG8833的热成像应用,展示了在普通嵌入式开发板之上进行热成像实验的可能性。本次实验的成功实现,以期鼓励更多的开发者参与到嵌入式热成像领域的工作之中,提高嵌入式开发的水平。

TAG标签:热成像 stm32 iic
打猎用哪个牌子的热成像好?
热成像和夜视仪该如何选择?
人们在亲吻时,哪个部位最热?(接吻热成像)

在线留言