IR Thermometer Using Arduino

DIY IR Thermometer Using Arduino: Build Your Own Contactless Temperature Measurement Tool

Introduction

Infrared (IR) thermometers are widely used today, especially for non-contact temperature measurement. These handy devices are commonly seen in medical settings, industrial applications, and even in our daily lives. But have you ever wondered how they work? In this guide, we’ll not only explain the working principle behind IR thermometers but also walk you through the process of designing one using Arduino and the MLX90614ESF IR temperature module. Let’s get started!

Working Principle of an IR Thermometer

Infrared thermometers work by detecting the infrared radiation emitted by an object. Every object with a temperature above absolute zero emits infrared radiation. The higher the temperature of an object, the more radiation it emits.

This radiation is captured by a sensor, such as the thermopile used in IR thermometers. The thermopile absorbs infrared light, which generates heat, and this heat is then converted into electrical signals. These signals are passed to the Arduino, which calculates and displays the object’s temperature based on the readings received from the sensor.

Components Needed for Building an IR Thermometer

To build your own IR thermometer using Arduino, you will need the following components:

Hardware Components:

  • Arduino Uno or Arduino Nano
  • MLX90614ESF Non-Contact IR Temperature Sensor
  • OLED Display
  • Connecting wires

Software Components:

  • Arduino IDE

Assembling Your IR Thermometer

Once you have gathered all the required components, it’s time to assemble them. For ease of troubleshooting, it’s recommended to first set up the circuit on a breadboard. Once the system works as expected, you can transfer the circuit to a PCB for a more permanent setup.

In this project, we will use an OLED display to show the temperature readings. The MLX90614ESF sensor will measure the infrared radiation emitted by the object and send the data to the Arduino.

MLX90614ESF Sensor Overview

The MLX90614ESF is a non-contact temperature sensor capable of measuring human body temperature and object temperature. It provides two output modes: PWM (Pulse Width Modulation) and TWI (I2C). The I2C output mode offers greater accuracy (0.04°C) compared to PWM (0.14°C).

Key Features of the MLX90614ESF:

  • Operates with a voltage range of 3.3V to 5V
  • Built-in power regulator for easy integration
  • Standard I2C interface with built-in pull-up resistors
  • High accuracy: ±0.5°C over a wide range (0 to +50°C for both ambient and object temperature)
  • Medical-grade accuracy of 0.1°C available on request
  • Resolution of 0.01°C for precise temperature readings
  • Wide temperature range: -40°C to +125°C for ambient temperature and -70°C to +380°C for object temperature

How the MLX90614ESF IR Sensor Works with Arduino

We will interface the MLX90614ESF sensor with Arduino using I2C communication, which allows for accurate temperature readings. The sensor will provide temperature data for both the ambient temperature and the object temperature.

Here’s how the components should be connected:

  1. Connect the VCC pin of the MLX90614ESF to the 5V pin of the Arduino.
  2. Connect the GND pin to the ground (GND) of the Arduino.
  3. Connect the SCL and SDA pins of the sensor to the A5 (SCL) and A4 (SDA) pins on the Arduino (for Uno/Nano).

Circuit Diagram for DIY IR Thermometer

The diagram below illustrates how to connect the MLX90614ESF sensor and the OLED display to the Arduino.

(Insert actual image link here)

Arduino Code for IR Thermometer

Now let’s look at the Arduino code that reads the temperature from the MLX90614ESF sensor and displays it on the OLED display.

cpp

CopyEdit

#include <SPI.h>

#include <Wire.h>

#include <Adafruit_GFX.h>

#include <Adafruit_SSD1306.h>

#include <stdint.h>

#include <Adafruit_MLX90614.h>

#define OLED_RESET 4

Adafruit_SSD1306 display(OLED_RESET);

Adafruit_MLX90614 mlx = Adafruit_MLX90614();

void setup() {

  Serial.begin(57600);

  Serial.println(“IR Thermometer Test”);

  mlx.begin();

  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

}

void loop() {

  display.clearDisplay();

  display.setTextSize(1);

  display.setTextColor(WHITE);

  display.setCursor(0, 0);

  display.print(“Ambient Temp: “);

  display.print(mlx.readAmbientTempC());

  display.print(” C”);

  display.setCursor(0, 10);

  display.print(“Object Temp: “);

  display.print(mlx.readObjectTempC());

  display.print(” C”);

  display.display();

  delay(2000);

}

Conclusion

By following this guide, you have learned how to design your own contactless IR thermometer using Arduino and the MLX90614ESF IR sensor. This project not only demonstrates the power of Arduino but also shows how easy it is to measure temperature without making physical contact with the object. Whether you’re working on a DIY project or learning about sensors, this IR thermometer is a great tool to add to your electronics toolkit.

Get Your Components from Regent Electronics

If you’re ready to build your own IR thermometer, Regent Electronics offers a wide range of components including Arduino boards, sensors like the MLX90614ESF, OLED displays, and more. Visit us today to get all the tools you need for your next project!

4o mini

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top