Wish List 0

Tmp102 Digital Temperature Sensor Module

Rs. 104.00 Rs. 125.00

  • Brand: https://www.ti.com/product/TMP102
  • Product Code: SEN-TEMP
  • SKU -
  • Availability: In Stock
  • Price in reward points: 3
  • For Bulk Order 9962060070
    Quick support on WhatsApp (+919962060070) only between morning 11am-4pm, no call will be answered
  • The TMP102 device is a digital temperature sensor ideal for NTC/PTC thermistor replacement where high accuracy is required. The device offers an accuracy of ±0.5°C without requiring calibration or external component signal conditioning. Device temperature sensors are highly linear and do not require complex calculations or lookup tables to derive the temperature. The on-chip 12-bit ADC offers resolutions down to 0.0625°C. The module (HCMODU0100) provides header pins for power (3.3V), and to its digital I2C interface including bus pullup resistors. 

Features:

-Accuracy Without Calibration:

-2.0°C (max) from –25°C to 85°C

-3.0°C (max) from –40°C to 125°C

-Low Quiescent Current:

-10-μA Active (max)

-1-μA Shutdown (max)

-Supply Range: 1.4 to 3.6 V 

-Resolution: 12 Bits

-Digital Output: I2C interface Compatibility


SPECIFICATIONS:

-Uses the I2C interface

-12-bit, 0.0625°C resolution

-Typical temperature accuracy of ±0.5°C

-3.3V sensor

-Supports up to four TMP102 sensors on the I2C bus at a time

OVERVIEW:

The TMP102 device is a digital temperature sensor ideal for NTC/PTC thermistor replacement where high accuracy is required. The device offers an accuracy of ±0.5°C without requiring calibration or external component signal conditioning.


PACKAGE INCLUDES:

1 PCS x Tmp102 Digital Temperature Sensor Module


//SOURCE CODE TAKEN FROM BELOW LINK

//http://arduinolearning.com/amp/code/arduino-and-tmp102-digital-sensor-example.php

#include "Wire.h"

#define TMP102_I2C_ADDRESS 72 /* This is the I2C address for our chip. This value is correct if you tie the ADD0 pin to ground. See the datasheet for some other values. */

 

 

void setup() 

{

  Wire.begin(); // start the I2C library

  Serial.begin(115200); //Start serial communication at 115200 baud

}

 

 

void loop() 

{

  getTemp102();

  delay(5000); //wait 5 seconds before printing our next set of readings. 

}

 

void getTemp102()

{

  byte firstbyte, secondbyte; //these are the bytes we read from the TMP102 temperature registers

  int val; /* an int is capable of storing two bytes, this is where we "chuck" the two bytes together. */ 

  float convertedtemp; /* We then need to multiply our two bytes by a scaling factor, mentioned in the datasheet. */ 

  float correctedtemp; 

 

  /* Reset the register pointer (by default it is ready to read temperatures)

You can alter it to a writeable register and alter some of the configuration - 

the sensor is capable of alerting you if the temperature is above or below a specified threshold. */

 

  Wire.beginTransmission(TMP102_I2C_ADDRESS); //Say hi to the sensor. 

  Wire.write(0x00);

  Wire.endTransmission();

  Wire.requestFrom(TMP102_I2C_ADDRESS, 2);

  Wire.endTransmission();

 

 

  firstbyte      = (Wire.read()); 

  /*read the TMP102 datasheet - here we read one byte from

   each of the temperature registers on the TMP102*/

  secondbyte     = (Wire.read()); 

  /*The first byte contains the most significant bits, and 

   the second the less significant */

    val = firstbyte;

    if ((firstbyte & 0x80) > 0) 

    {

      val |= 0x0F00;

    } 

    val <<= 4; 

 /* MSB */

    val |= (secondbyte >> 4);    

/* LSB is ORed into the second 4 bits of our byte.

Bitwise maths is a bit funky, but there's a good tutorial on the playground*/

    convertedtemp = val*0.0625;

    correctedtemp = convertedtemp - 5; 

    /* See the above note on overreading */

 

 

  Serial.print("firstbyte is ");

  Serial.print("\t");

  Serial.println(firstbyte, BIN);

  Serial.print("secondbyte is ");

  Serial.print("\t");

  Serial.println(secondbyte, BIN);

  Serial.print("Concatenated byte is ");

  Serial.print("\t");

  Serial.println(val, BIN);

  Serial.print("Converted temp is ");

  Serial.print("\t");

  Serial.println(val*0.0625);

  Serial.print("Corrected temp is ");

  Serial.print("\t");

  Serial.println(correctedtemp);

  Serial.println();

}

 

15 DAYS 

Write a review

Please login or register to review