Grid-EYE click
Grid-EYE click

Description of product

Grid-EYE click is a 8x8 thermal array sensor-detector that carries the AMG8853 infrared array sensor from Panasonic. The click is designed to run on either 3.3V or 5V power supply. It communicates with the target MCU over I2C interface.

Use the Grid-EYE click to detect absolute surface temperature without any contact. Or use it to detect the movement of people and objects.

Take a look at how Panasonic's AMG8853 64 thermal sensors see a moving hand:

AMG8853 sensor features

The AMG8853 is made out of 64 individual thermal sensors. It can build an image according to the heat it detects. You don’t need light to form a picture.

The temperature measuring range is from -20°C to +100°C

The detecting distance is 5m, the viewing angle 60 degrees.

The AMG8853 has a built-in thermistor for suppressing ambient temperature noise. 

The I2C levels and address are jumper selectable, while the AMG8853 is supplied with designated voltage.

Infrared sensor

Infrared waves are outside the visible spectrum of the human eye, just like radio waves. Even though people can’t see infrared waves, they can certainly feel them, in the form of heat.

Our bodies emit heat or infrared radiation, and the AMG8853 thermal array sensor can detect it.

Specifications

TypeIR,Temperature
ApplicationsThermal imaging systems, detecting movement of people and objects, etc
MCUAMG8853 thermal array sensor from Panasonic
Key Features5 m detecting distance, 60 degrees viewing angle, 64 individual thermal sensors
Key BenefitsDetect absolute surface temperature without any contact
InterfaceGPIO,I2C
Input Voltage3.3V or 5V
CompatibilitymikroBUS
Click board sizeM (42.9 x 25.4 mm)

Pinout diagram

This table shows how the pinout on Grid-EYE click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).

NotesPin           Mikrobus logo.png                   Pin       Notes
NC1ANPWM16NC
NC2RSTINT15INTINT out to MCU
NC3CSTX14NC
NC4SCKRX13NC
NC5MISOSCL12SCLI2C SCK
NC6MOSISDA11SDAI2C data
Power supply+3.3V73.3V5V10+5VPower supply
GroundGND8GNDGND9GNDGround

Jumpers and settings

Designator Name  Default Position Default Option Description
JP1LOGIC SEL Left3.3VLogic Level Voltage Selection, left position 3.3V, right position 5V
JP2ADDR SELRight0I2C address selection, right 0 (0b1101 000) Left 1 (0b1101 001)

Buttons and LEDs

DesignatorNameTypeDescription
PWRPowerLEDPower supply LED, lights green when power is on.

Maximum ratings

DescriptionMin Typ Max Unit 
Supply Voltage (with AMG8853 module) 55V
I2C Levels (JP1 select)05V
INT out (JP1 select)05V

Programming

Code examples for Grid-EYE click, written for MikroElektronika hardware and compilers are available on Libstock.

Code snippet

This code converts the grid array sensor data to temperature [in C] and fills the grid array drawn on the TFT display by the appropriate color, depending on the temperature detected.

01 void main() {
02   // Initialize pins as digital I/O
03   AD1PCFG = 0xFFFF;
04   JTAGEN_bit = 0;
05 
06   // Initialize I2C2 module
07   I2C2_Init(100000);
08   Delay_ms(100);
09 
10   // Draw screen
11   DrawScreen();
12 
13   // variable declaration
14   x_start = 80;
15   element_dimension = 20;
16   j = 0;
17 
18   // Set AMG88 sensor registers
19   GridEye_WriteByte(0x00,0x00);  // Normal mode
20   GridEye_WriteByte(0x01,0x30);  // Flag reset
21   GridEye_WriteByte(0x02,0x00);  // Frame mode 10FPS
22   Delay_ms(100);                 // small delay
23 
24   GridEye_WriteByte(0x08,0x30);  // INTHL
25   GridEye_WriteByte(0x09,0x00);  // INTHH
26 
27   GridEye_WriteByte(0x0A,0x15);  // INTLL
28   GridEye_WriteByte(0x0B,0x00);  // INTLH
29 
30   GridEye_WriteByte(0x0C,0x20);  // IHYSL
31   GridEye_WriteByte(0x0D,0x00);  // IHYSH
32   Delay_ms(100);                 // small delay
33 
34   // Temperature register value
35   register_address = 0x80;
36 
37   while(1) {
38     // Reading grid temperature
39     for(i = 0; i < 64; i++) {
40       // multiply the values with 0.25 to get temperature in [C]
41       gridArray[i] = (float)GridEye_ReadWord(register_address) * 0.25L;
42       // increment register address by 2
43       register_address = register_address + 2;
44     }
45 
46     // draw grid
47     for(i = 0; i < 64; i++) {
48       // set row position
49       Set_Row_Position();
50       
51       // set color
52       color = Set_Color();
53       
54       // set grid element number
55       j++;
56       
57       // fill grid element with color
58       TFT_Set_Brush(1, 0, 1, LEFT_TO_RIGHT, color, color);
59       
60       // draw grid element
61       TFT_Rectangle(x_start + (element_dimension * (j - 1)), y_start , x_start + (element_dimension * j), y_end);
62 
63       // if more than 8 elements in the row, reset counter
64       if (j >= 8) {
65         j = 0;
66       }
67     }
68   }
69 }

Downloads