AMG8833 is an infrared array sensor product from Panasonic. It is very popular among Arduino users.
- Arduino IDE on RasPi 3.
- vi and g++ on RasPi 3.
- OpenCV3 for thermography GUI development.
Note: you have to install OpenCV3 on Raspi3. In my case, I built OpenCV3 on RasPi3 taking a half day.
[GUI/RasPi3]/dev/ttyACM0----VCP/USB----[Arduino]----I2C----[AMG8833]
The program on Arduino transfers 8x8 pixel image data to RasPi over VCP/USB at 10fps in the following data format:
[BEGIN(0xFE)][byte#0]...[byte#63][END(0xFF)]
=> schematic
Note: the shield is powered by 3V3 pin on Arduino UNO. Although Arduino UNO is a 5V system, the circuit works.
This is me!
$ cd raspi
$ make
$ bin/thermo -m 64 -t -b
GUI developed in a native language (C/C++) runs fast on RasPi 3!
The resolution of AMG8833 is only 8x8 pixels. I applied bicubic interpolation to the original 8x8 pixel image for higher resolution.
This is my right hand.
$ bin/thermo -m 1 -i 3
With "-H" option, the GUI uses COLORMAP_HOT instead COLORMAP_JET:
$ bin/thermo -m 3 -i 2 -H -b
The GUI supports binarization, useful for counting the number of people in a room:
$ bin/thermo -m 32 -H -B
The GUI supports image diff between frames, useful for detecting motion of something:
Waving my hand over the sensor.
$ bin/thermo -m 32 -d