MLX90615 infrared thermometer and Chipkit

In this article we will look at the mlx90615 infrared thermometer connect it to a chipkit, in this case we used a chipKit Max32 but the other boards should work as well

The MLX90615 is a miniature infrared thermometer for non-contact temperature measurements. Both the IR sensitive thermopile detector chip and the signal conditioning ASIC are integrated in the same miniature TO-46 can.

The infrared thermometer comes factory calibrated with a digital SMBus output giving full access to the measured temperature in the complete temperature range(s) with a resolution of 0.02 °C. The sensor achieves an accuracy of ±0.2°C within the relevant medical temperature range. The user can choose to configure the digital output to be PWM.

Features

Factory calibrated in wide temperature range: -20 to 85°C for sensor temperature and -40 to 115°C for object temperature
High accuracy of 0.5°C over wide temperature range (0..+50 C for both Ta and To)
Medical accuracy of 0.2°C in a limited temperature range
Measurement resolution of 0.02°C
SMBus compatible digital interface for fast temperature readings and building sensor networks
Customizable PWM output for continuous reading
3V supply voltage with power saving mode

Layout

Here is a layout which shows how to connect the sensor to a chipkit

max32 and ml90615

Code

This particular example comes from the following library which I installed for testing – https://github.com/skiselev/MLX90615

[codesyntax lang=”cpp”]

#include <Wire.h>
#include <mlx90615.h>

MLX90615 mlx = MLX90615();

void setup() 
{
  Serial.begin(9600);
  Serial.println("Melexis MLX90615 infra-red temperature sensor test");
  mlx.begin();
  Serial.print("Sensor ID number = ");
  Serial.println(mlx.get_id(), HEX);
}

void loop() 
{
  Serial.print("Ambient = ");
  Serial.print(mlx.get_ambient_temp());
  Serial.print(" *C\tObject = ");
  Serial.print(mlx.get_object_temp());
  Serial.println(" *C");
  delay(500);
}

[/codesyntax]

 

Output

Open the serial monitor and you should see something like this displayed

Melexis MLX90615 infra-red temperature sensor test
Sensor ID number = 876736
Ambient = 19.13 *C Object = 20.55 *C
Ambient = 19.13 *C Object = 20.55 *C
Ambient = 19.09 *C Object = 20.49 *C
Ambient = 19.09 *C Object = 20.49 *C
Ambient = 19.09 *C Object = 20.61 *C
Ambient = 19.09 *C Object = 20.65 *C
Ambient = 19.09 *C Object = 20.49 *C
Ambient = 19.13 *C Object = 20.45 *C
Ambient = 19.13 *C Object = 22.91 *C

Links

https://www.melexis.com/-/media/files/documents/datasheets/mlx90615-datasheet-melexis.pdf

1PCS MLX90615 Digital Infrared Temperature Sensor for Arduino

Related posts

Chipkit Max32 and ADXL335 accelerometer example

Chipkit Max32 and LSM303 Accelerometer example

Chipkit Max32 and LSM303 Magnetometer example

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Read More