100% found this document useful (1 vote)
204 views2 pages

Arduino Compatibles: Non-Contact Infrared Temperature Sensor GY-906

This document summarizes an infrared temperature sensor module that can detect temperatures between 70-380°C without contact using infrared light. It has a resolution of 0.02°C and communicates over I2C. Example applications given include HVAC, home appliances, livestock monitoring, and automotive uses. The document also provides specifications, wiring diagrams and Arduino code for reading temperature measurements from the sensor.

Uploaded by

dian
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
204 views2 pages

Arduino Compatibles: Non-Contact Infrared Temperature Sensor GY-906

This document summarizes an infrared temperature sensor module that can detect temperatures between 70-380°C without contact using infrared light. It has a resolution of 0.02°C and communicates over I2C. Example applications given include HVAC, home appliances, livestock monitoring, and automotive uses. The document also provides specifications, wiring diagrams and Arduino code for reading temperature measurements from the sensor.

Uploaded by

dian
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Arduino Compatibles

Controllers, Shields, Modules & Sensors

Non-Contact Infrared
Temperature Sensor GY-906 ARD2-2190

• Detect temperatures between 70°C–380°C without


contact using infrared light
• Perfect for use with Arduino, Raspberry Pi and other
microcontrollers
• Internal 17-bit ADC
• PWM and TWI outputs
• Resolution down to 0.02°C (TWI output)

Description
A non-contact IR (infra-red) temperature sensor, capable of sensing between
70°C–380°C down to a resolution of 0.02°C. This module is based on the
MELEXIS MLX90614ESF-BAA-000-TU-ND temperature sensor.

Possible applications include: temperature sensing for residential,


commercial and industrial air conditioning; windshield defogging; home
appliances with temperature control; livestock monitoring; and automotive
blind angle detection.

Includes unsoldered 4-pin header.

Specifications
Power Supply 5V
Model GY-906
Sensor MLX90614
Operating Temperature 40°C–125°C
Temperature Sensing Range 70°C–380°C
Measurement Resolution (PWM Output) 0.14°C
Measurement Resolution (TWI Output) 0.02°C
Colour Blue
Material Immersion Gold PCB
Weight 3g

www.wiltronics.com.au
Wiltronics Research Pty. Ltd. ABN 26 052 173 154
5 - 7 Ring Road, Alfredton Victoria 3350 | P.O Box 4043, Alfredton, 3350
sales@wiltronics.com.au | Phone: (03) 5334 2513 | Fax: (03) 5334 1845
Arduino Compatibles
Controllers, Shields, Modules & Sensors

NOTE: The I2Cmaster library required to run


Test Code for Arduino
this code can be downloaded for free here.
#include <i2cmaster.h>
To make this code work, before you load the code, or
even open the Arduino program, the “I2Cmaster” folder
void setup(){ must be placed in your Arduino Library.
Serial.begin(9600);
Serial.println(“Setup...”); Default Library Folder Locations
Mac: In (home directory)/Documents/Arduino/libraries
i2c_init(); //Initialise the i2c bus PC: My Documents -> Arduino -> libraries
PORTC = (1 << PORTC4) | (1 << PORTC5);//enable pullups
}
Linux: (home directory)/sketchbook/libraries

void loop(){
int dev = 0x5A<<1; Pinout (except Arduino MEGA)
int data_low = 0;
int data_high = 0; Module Arduino Function
int pec = 0;
VIN 5V Power Supply
i2c_start_wait(dev+I2C_WRITE);
i2c_write(0x07); GND GND Ground Connection

// read
SCL A5 Clock
i2c_rep_start(dev+I2C_READ); SDA A4 Data
data_low = i2c_readAck(); //Read 1 byte and then send ack
data_high = i2c_readAck(); //Read 1 byte and then send ack
pec = i2c_readNak();
i2c_stop(); Pinout (Arduino MEGA)

//This converts high and low bytes together and processes


Module Arduino Function
temperature, MSB is a error bit and is ignored for temps
VIN 5V Power Supply
double tempFactor = 0.02; // 0.02 degrees per LSB
(measurement resolution of the MLX90614) GND GND Ground Connection
double tempData = 0x0000; // zero out the data
int frac; // data past the decimal point SCL D21 Clock
// This masks off the error bit of the high byte, then SDA D20 Data
moves it left 8 bits and adds the low byte.
tempData = (double)(((data_high & 0x007F) << 8) + data_
low);
tempData = (tempData * tempFactor)-0.01;

float celcius = tempData - 273.15;


float fahrenheit = (celcius*1.8) + 32;

Serial.print(“Celcius: “);
Serial.println(celcius);

Serial.print(“Fahrenheit: “);
Serial.println(fahrenheit);

delay(1000); // wait a second before printing again


}

Source: http://bildr.org/2011/02/mlx90614-arduino/

www.wiltronics.com.au
Wiltronics Research Pty. Ltd. ABN 26 052 173 154
5 - 7 Ring Road, Alfredton Victoria 3350 | P.O Box 4043, Alfredton, 3350
sales@wiltronics.com.au | Phone: (03) 5334 2513 | Fax: (03) 5334 1845

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy