3.3 V to 5 V
3.3 V to 5 V
15 mA (typical)
-40C to 125C
0.5C (typical)
<100 ms (typical)
Up to 400 kHz
SMD (Surface Mount Device)
-40C to 125C
-40C to 150C
Conclusion
The MLX90614ESF Infrared IR Temperature Sensor Module offers a high-accuracy, compact, and reliable solution for non-contact temperature measurement applications. Its wide temperature range, fast response time, and low power consumption make it an ideal choice for various industries and applications.
MLX90614ESF Infrared IR Temperature Sensor Module DocumentationOverviewThe MLX90614ESF is a non-contact infrared temperature sensor module that measures the temperature of an object without touching it. It uses a thermopile detector to sense the infrared radiation emitted by an object, and converts it into an electrical signal that is proportional to the object's temperature. This module is widely used in various applications, including industrial automation, medical devices, and consumer electronics.Technical SpecificationsTemperature range: -40C to 125C
Accuracy: 1C ( typical )
Resolution: 0.02C
Response time: 10ms
Supply voltage: 3.3V to 5V
Communication protocol: I2C (Inter-Integrated Circuit)PinoutVCC: Power supply (3.3V to 5V)
GND: Ground
SCL: I2C clock
SDA: I2C data
Vin: Input voltage (optional)Code Examples### Example 1: Using the MLX90614ESF with an Arduino UnoIn this example, we will use the MLX90614ESF to measure the temperature of an object and display it on the serial monitor.```cpp
#include <Wire.h>#define MLX90614ESF_I2C_ADDRESS 0x5Avoid setup() {
Serial.begin(9600);
Wire.begin();
}void loop() {
byte data[2];
Wire.beginTransmission(MLX90614ESF_I2C_ADDRESS);
Wire.write(0x07);
Wire.endTransmission();
Wire.requestFrom(MLX90614ESF_I2C_ADDRESS, 2);
data[0] = Wire.read();
data[1] = Wire.read();float temperature = (data[0] 256 + data[1]) 0.02 - 273.15;Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println("C");delay(1000);
}
```### Example 2: Using the MLX90614ESF with a Raspberry Pi (Python)In this example, we will use the MLX90614ESF to measure the temperature of an object and display it on the terminal.```python
import smbus
import timebus = smbus.SMBus(1)
address = 0x5adef read_temperature():
bus.write_byte(address, 0x07)
time.sleep(0.1)
data = bus.read_i2c_block_data(address, 0x07, 2)
temperature = (data[0] 256 + data[1]) 0.02 - 273.15
return temperaturewhile True:
temperature = read_temperature()
print("Temperature: {:.2f}C".format(temperature))
time.sleep(1)
```Note: Make sure to install the necessary libraries and modules for your platform before running the code examples.Tips and ConsiderationsMake sure to connect the VCC pin to a stable power supply (3.3V to 5V) and the GND pin to a common ground.
Use a level shifter or voltage divider if your microcontroller operates at a different voltage level.
The MLX90614ESF has a built-in LED indicator that can be used to indicate the presence of an object or the temperature measurement process.
When using the MLX90614ESF with an Arduino or other microcontrollers, make sure to use a pull-up resistor for the SCL and SDA lines.
Follow proper safety precautions when handling the module, as it can be damaged by static electricity or excessive voltage.I hope this documentation helps you in your project!