Datasheet

0xBEE0,0xBEE0,0xC6E0,0xC6E0,0xCEE0,0xCEE0,0xD6E0,0xD700,0xDF00,0xDEE0,
0xDEC0,0xDEA0,0xDE80,0xDE80,0xE660,0xE640,0xE620,0xE600,0xE5E0,0xE5C0,
0xE5A0,0xE580,0xE560,0xE540,0xE520,0xE500,0xE4E0,0xE4C0,0xE4A0,0xE480,
0xE460,0xEC40,0xEC20,0xEC00,0xEBE0,0xEBC0,0xEBA0,0xEB80,0xEB60,0xEB40,
0xEB20,0xEB00,0xEAE0,0xEAC0,0xEAA0,0xEA80,0xEA60,0xEA40,0xF220,0xF200,
0xF1E0,0xF1C0,0xF1A0,0xF180,0xF160,0xF140,0xF100,0xF0E0,0xF0C0,0xF0A0,
0xF080,0xF060,0xF040,0xF020,0xF800,};
uint16_t displayPixelWidth, displayPixelHeight;
void setup() {
if (!arcada.arcadaBegin()) {
Serial.print("Failed to begin");
while (1);
}
arcada.displayBegin();
// Turn on backlight
arcada.setBacklight(255);
Serial.begin(115200);
//while (!Serial);
arcada.display->fillScreen(ARCADA_BLACK);
displayPixelWidth = arcada.display->width() / 32;
displayPixelHeight = arcada.display->width() / 32; //Keep pixels square
delay(100);
Serial.println("Adafruit MLX90640 Camera");
if (! mlx.begin(MLX90640_I2CADDR_DEFAULT, &Wire)) {
arcada.haltBox("MLX90640 not found!");
}
Serial.println("Found Adafruit MLX90640");
Serial.print("Serial number: ");
Serial.print(mlx.serialNumber[0], HEX);
Serial.print(mlx.serialNumber[1], HEX);
Serial.println(mlx.serialNumber[2], HEX);
mlx.setMode(MLX90640_CHESS);
mlx.setResolution(MLX90640_ADC_18BIT);
mlx.setRefreshRate(MLX90640_8_HZ);
Wire.setClock(1000000); // max 1 MHz
}
void loop() {
uint32_t timestamp = millis();
if (mlx.getFrame(frame) != 0) {
Serial.println("Failed");
return;
}
int colorTemp;
for (uint8_t h=0; h<24; h++) {
for (uint8_t w=0; w<32; w++) {
float t = frame[h*32 + w];
// Serial.print(t, 1); Serial.print(", ");
t = min(t, MAXTEMP);
© Adafruit Industries https://learn.adafruit.com/adafruit-mlx90640-ir-thermal-camera Page 16 of 30