Grove - Matriz de Sensor de Temperatura Infravermelha (AMG8833)

O Grove - Matriz de Sensor de Temperatura Infravermelha (AMG8833) é um sensor de matriz infravermelha de alta precisão baseado em tecnologia avançada MEMS. Ele pode suportar detecção de temperatura de uma área bidimensional: 8 × 8 (64 pixels) e distância máxima de detecção de 7 metros.
Fornecemos demonstrações tanto para Arduino quanto para Raspberry Pi para este sensor. Será um módulo perfeito para fazer sua própria câmera termográfica.
Recursos
- Detecção de temperatura de área bidimensional: 8 × 8 (64 pixels)
- Saída I2C (capacidade de saída do valor de temperatura)
- Alta precisão
- Longa distância de detecção
Especificação
| Item | Valor |
|---|---|
| Tensão de operação | 3.3V / 5V |
| Faixa de temperatura do objeto de medição | 0 °C a 80 °C +32 °F a +176 °F |
| Faixa de temperatura de operação | 0 °C a 80 °C +32 °F a +176 °F |
| Faixa de temperatura de armazenamento | −20 °C a 80 °C –4 °F a +176 °F |
| Precisão de temperatura | Típica ±2.5 °C ±4.5 °F |
| Ângulo de visão | Típico 60 ° |
| Desvio do eixo óptico | Dentro de Típico ±5.6 ° |
| Número de pixels | 64 (Matriz Vertical 8 × Horizontal 8) |
| Interface externa | I2C |
| Endereço I2C | 0x68(padrão) \ 0x69(opcional) |
Aplicações Típicas
- Eletrodomésticos de alta funcionalidade (fornos de micro-ondas e aparelhos de ar-condicionado)
- Economia de energia em escritórios (controle de ar-condicionado/iluminação)
- Sinalização digital
- Portas automáticas/elevadores
Visão Geral do Hardware
Pinagem


Esquemático
Alimentação

A tensão típica do AMG8833 é 3.3V, então usamos o chip XC6206P33 para fornecer 3.3V estáveis. A entrada do XC6206P33 varia de 1.8V a 6.0V, portanto você pode usar este módulo com seu Arduino tanto em 3.3V quanto em 5V.
Circuito de conversor de nível bidirecional

Este é um circuito típico de conversor de nível bidirecional para conectar duas seções de tensão diferentes de um barramento I2C. O barramento I2C deste sensor usa 3.3V; se o barramento I2C do Arduino usar 5V, este circuito será necessário. No esquemático acima, Q6 e Q5 são MOSFETs de canal N 2N7002A, que atuam como uma chave bidirecional. Para entender melhor esta parte, você pode consultar o AN10441
Plataformas Suportadas
| Arduino | Raspberry Pi | |||
|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() |
As plataformas mencionadas acima como suportadas são uma indicação da compatibilidade teórica ou de software do módulo. Na maioria dos casos, fornecemos apenas biblioteca de software ou exemplos de código para a plataforma Arduino. Não é possível fornecer biblioteca de software/código de demonstração para todas as possíveis plataformas de MCU. Portanto, os usuários precisam escrever sua própria biblioteca de software.
Primeiros Passos
Brincar com Arduino
Hardware
Materiais necessários
| Seeeduino V4.2 | Base Shield | Matriz de Sensor de Temperatura Infravermelha | 2.8 TFT Touch Shield V2.0 |
|---|---|---|---|
![]() | ![]() | ![]() | |
| Compre Agora | Compre Agora | Compre Agora | Compre Agora |
1 Conecte o cabo USB com cuidado, caso contrário você pode danificar a porta. Use um cabo USB com 4 fios internos, pois cabos com 2 fios não podem transferir dados. Se você não tiver certeza sobre o cabo que possui, você pode clicar aqui para comprar.
2 Cada módulo Grove vem com um cabo Grove quando você o compra. Caso você perca o cabo Grove, você pode clicar aqui para comprar.
-
Passo 1. Conecte o Grove - Matriz de Sensor de Temperatura Infravermelha (AMG8833) à porta I2C do Grove-Base Shield.
-
Passo 2. Conecte o Grove - Base Shield ao Seeeduino.
-
Passo 3. Conecte o 2.8 TFT Touch Shield V2.0 ao Grove - Base Shield.
-
Passo 4. Conecte o Seeeduino ao PC via cabo USB.

Se não tivermos o Grove Base Shield, também podemos conectar este módulo diretamente ao Seeeduino como abaixo.
| Seeeduino | Cabo Grove | Grove - Matriz de Sensor de Temperatura Infravermelha (AMG8833) |
|---|---|---|
| GND | Preto | GND |
| 5V ou 3.3V | Vermelho | VCC |
| SDA | Branco | SDA |
| SCL | Amarelo | SCL |
Software
Se esta é a primeira vez que você trabalha com Arduino, recomendamos fortemente que veja Getting Started with Arduino antes de começar.
-
Passo 1. Baixe a biblioteca Seeed_AMG8833 do Github.
-
Passo 2. Consulte How to install library para instalar a biblioteca para Arduino.
-
Passo 3. Reinicie a IDE do Arduino. Abra o exemplo; você pode abri-lo das seguintes três maneiras:
- Abra-o diretamente na IDE do Arduino pelo caminho: File --> Examples --> Grove IR Matrix Temperature sensor AMG8833 --> TFT_screen_demo.

- Abra-o no seu computador clicando em TFT_screen_demo.ino, que você pode encontrar na pasta XXXXArduino\libraries\Seeed_AMG8833-master\examples\TFT_screen_demo, onde XXXX é o local onde você instalou a IDE do Arduino.

- Ou, você pode simplesmente clicar no ícone
no canto superior direito do bloco de código para copiar o código a seguir para um novo sketch na IDE do Arduino.
#include <stdint.h>
#include <TFTv2.h>
#include <SPI.h>
#include "Seeed_AMG8833_driver.h"
AMG8833 sensor;
#define TFT_PIXELS_NUM 30
void parse_int_status(u8* status)
{
u8 val=0;
for(u32 i=0;i<8;i++)
{
if(status[i])
{
for(u32 j=0;j<8;j++)
{
if(status[i]&((1<<j)))
{
Serial.print("pixel ");
Serial.print(8*i+j+1);
Serial.println("interrupt is generated!!!");
}
}
}
}
}
void print_status(u8* status)
{
for(u32 i=0;i<8;i++)
{
Serial.print(status[i],HEX);
Serial.print(" ");
}
Serial.println(" ");
}
void setup()
{
Serial.begin(115200);
sensor.init();
TFT_BL_ON;
/*2.8 TFT screen. url:https://www.seeedstudio.com/2.8-TFT-Touch-Shield-V2.0-p-1286.html*/
Tft.TFTinit();
}
void loop()
{
u8 val=0;
float pixels_temp[PIXEL_NUM]={0};
u16 color[PIXEL_NUM]={0};
/*Read temperature*/
sensor.read_pixel_temperature(pixels_temp);
/*Different temperature correspond to different color.*/
for(u32 i=0;i<PIXEL_NUM;i++)
{
if(pixels_temp[i]<29)
{
color[i]=BLUE;
}
else if((pixels_temp[i]>=29)&&(pixels_temp[i]<30))
{
color[i]=GREEN;
}
else if((pixels_temp[i]>=30)&&(pixels_temp[i]<31))
{
color[i]=YELLOW;
}
else if((pixels_temp[i]>=31)&&(pixels_temp[i]<33))
{
color[i]=0xfd00;
}
else
{
color[i]=RED;
}
}
/*Use a TFT screen to display.*/
for(u32 i=0;i<PIXEL_NUM;i++)
{
Tft.fillScreen(TFT_PIXELS_NUM*(i%8),TFT_PIXELS_NUM*(i%8+1),TFT_PIXELS_NUM*(8-i/8),TFT_PIXELS_NUM*(7-i/8),color[i]);
}
}
O arquivo de biblioteca pode ser atualizado. Este código pode não ser aplicável ao arquivo de biblioteca atualizado, portanto, recomendamos que você use os dois primeiros métodos.
- Passo 4. Carregue o demo. Se você não sabe como carregar o código, verifique How to upload code.
Se tudo correr bem, você verá que a tela TFT mostra o mapa de temperatura.

Brincar com Raspberry
Se esta é a primeira vez que você brinca com um raspberry pi, consulte o Get start with a raspberry Pi.
Hardware
Materiais necessários
| Raspberry Pi | Grove Base Hat para Raspberry Pi | Matriz de Sensor de Temperatura Infravermelho | Tela Touch Capacitiva de 5 polegadas 800x480 |
|---|---|---|---|
![]() | ![]() | ![]() | |
| Adquira Agora | Adquira Agora | Adquira Agora | Adquira Agora |
Se você não tiver uma Pi-Screen, pode usar o monitor do PC, ou pode usar o VNC Viewer para exibir o resultado remotamente.
-
Passo 1. Conecte o Grove - Infrared Temperature Sensor Array (AMG8833) à porta I2C do Grove Base Hat para Raspberry Pi.
-
Passo 2. Conecte o Grove Base Hat para Raspberry Pi ao Raspberry Pi.
-
Passo 3. Conecte a Tela Touch Capacitiva de 5 polegadas 800x480 ao Raspberry Pi por meio do cabo HDMI.
-
Passo 4. Conecte o Raspberry Pi ao PC por meio de um cabo micro-USB, alimente a Tela Touch Capacitiva de 5 polegadas 800x480 por meio de outro cabo micro-USB.

Software
- Passo 1. Abra a interface I2C do seu raspberry pi. Você pode abrir um terminal e digitar o seguinte comando.
sudo raspi-config

- Passo 2. Quando você ver a imagem acima, escolha Interfacing Options, então escolha I2C para habilitar a interface I2C.

- Passo 3. Quando terminar, você pode usar o seguinte comando para verificar.
sudo i2cdetect -y 1

Você pode ver o endereço I2C, o que significa que o raspberry detectou o sensor. Se não, por favor faça novamente o passo 1~3. Ok, vamos continuar.
- Passo 4. Digite os seguintes comandos no terminal para instalar as dependências relacionadas.
sudo apt-get update
sudo apt-get install -y build-essential python-pip python-dev python-smbus git
sudo apt-get install -y python-scipy python-pygame
sudo pip install colour
- Passo 5. Baixe a Seeed AMG8833 Python Library.
git clone https://github.com/Seeed-Studio/Seeed_AMG8833_Raspberry_Python.git
- Passo 6. Entre na pasta AMG8833 e execute o demo.
pi@raspberrypi:~ $ cd Seeed_AMG8833_Raspberry_Python/
pi@raspberrypi:~/Seeed_AMG8833_Raspberry_Python $ ls
driver.py README.md Seeed_AMG8833.pyc
driver.pyc Seeed_AMG8833.py thermal_cam.py
pi@raspberrypi:~/Seeed_AMG8833_Raspberry_Python $ python thermal_cam.py
Se tudo correr bem, você verá.

Visualizador de Esquemático Online
Recursos
-
[Zip] Grove - Infrared Temperature Sensor Array (AMG8833) Arquivos Eagle
-
[PDF] AMG8833 DATASHEET
-
[PDF] XC6206 DATASHEET
Projeto
Este é o vídeo de introdução deste produto, demos simples, você pode experimentar.
Suporte Técnico & Discussão de Produto
Atualizável para Sensores Industriais
Com o SenseCAP S2110 controller e o S2100 data logger, você pode facilmente transformar o Grove em um sensor LoRaWAN®. A Seeed não só ajuda você na prototipagem, mas também oferece a possibilidade de expandir seu projeto com a série SenseCAP de robustos sensores industriais.
A carcaça IP66, a configuração por Bluetooth, a compatibilidade com a rede global LoRaWAN®, a bateria interna de 19 Ah e o forte suporte do APP fazem do SenseCAP S210x a melhor escolha para aplicações industriais. A série inclui sensores para umidade do solo, temperatura e umidade do ar, intensidade de luz, CO2, EC e uma estação meteorológica 8-em-1. Experimente o mais recente SenseCAP S210x para o seu próximo projeto industrial de sucesso.












