Description
THERMAL is a thermal imager Unit contains a thermopile sensors named MLX90640. It can be used to measure the surface temperature of an object and form a thermographic image by a temperature gradient composed of different surface temperatures. The image resolution is 32 x 24.
The MLX90640 Infrared (IR) sensor array combines high resolution and reliable operation in harsh environments, providing a cost-effective alternative to more expensive high-end thermal imaging cameras. Unlike the case of a microbolometer, the sensor does not require frequent recalibration, ensuring continuous monitoring and reducing system cost.
The field of view (FoV) option includes a standard 55° x 35° version and a wide angle version of 110° x 75° for distances up to 7m. This Unit is 110°×75° FoV, also known as the BAA package.
The Unit communicates with the M5Core through the Grove A interface, IIC address is 0x33
Product Features
- Operating Voltage: 3V ~ 3.6V
- Current Consumption: 23mA
- Field of View: 55°x35°
- Measurement Range: -40°C ~ 300°C
- Resolution: ±1.5°C
- Refresh Rate: 0.5Hz-64Hz
- Operating temperature: -40°C ~ 85°C
- Two Lego-compatible holes
Kit includes
- 1x THERMAL Unit
- 1x Grove Cable
Application
- High precision non-contact temperature measurements
- Intrusion / Movement detection
- Visual IR thermometers
Documents
- Datasheet - MLX90640
Learn
Example
Arduino IDE
The code below is incomplete. To get complete code, please click here。
/*
MLX90640.ino
*/
#include <M5Stack.h>
#include <Wire.h>
#include "MLX90640_API.h"
#include "MLX90640_I2C_Driver.h"
// declaration
uint16_t eeMLX90640[832];//32 * 24 = 768
int SetRefreshRate;
// initialization
/* load system parameter */
MLX90640_DumpEE(MLX90640_address, eeMLX90640);
/* load extraction parameter */
MLX90640_ExtractParameters(eeMLX90640, &mlx90640);
SetRefreshRate = MLX90640_SetRefreshRate(0x33, 0x05);
M5.Lcd.fillScreen(TFT_BLACK);
infodisplay();
// display heat map
M5.update();
infodisplay();
interpolate_image(reversePixels,ROWS,COLS,dest_2d,\
INTERPOLATED_ROWS,INTERPOLATED_COLS);
More information
Schematic
PinMap
M5Core (GROVE A) | GPIO22 | GPIO21 | 5V | GND |
THERMAL Unit | SCL | SDA | 5V | GND |