- Order number: MIKROE-1885
- Manufacturer product ID: MIKROE-1885
Thermo 3 click carries TMP102, a digital temperature sensor IC with a tiny footprint of only 1.6mm x 1.6mm. The click is designed to run on a 3.3V power supply only. It communicates with the target MCU through mikroBUS™ I2C pins (SCL, SDA), and an additional Alert pint (INT on the default mikroBUS™ configuration).
TMP102 digital temperature sensor
Without requiring calibration, TMP102 is accurate within 0.5°C. Measurement range is between -25°C to 85°C. An integrated 12-bit ADC allows for measurement resolutions down to 0.0625°C.
Alert pin
You can set up an overtemperature alert using the ALERT pin (which sends an interrupt to the target board MCU). The sensor creates a highly linear output and therefore simple to use.
The ADD SEL jumper
Thermo 3 click™ has an ADD onboard jumper (zero ohm resistor) for specifying the I2C address.
Application
Because of its accuracy, Thermo 3 click is ideal for thermal-management and thermal protection applications, especially for extended measurements (in thermostats, office machines, industrial instrumentation applications).
Specification
| Type | Temperature,Humidity | 
| Applications | Thermal-management and thermal protection applications, especially for extended measurements (in thermostats, office machines, industrial instrumentation applications) | 
| On-board modules | TMP102, a digital temperature sensor | 
| Key Features | -25°C to 85°C temperature range. Accurate within 0.5°C. Measurement resolution down to0.0625°C | 
| Key Benefits | Small footpring: 1.6mm x 1.6mm | 
| Interface | I2C,GPIO | 
| Input Voltage | 3.3V | 
| Compatibility | mikroBUS | 
| Click board size | S (28.6 x 25.4 mm) | 
Pinout diagram
This table shows how the pinout on Thermo 3 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Programming
Code examples for Thermo 3 click, written for MikroElektronika hardware and compilers are available on Libstock.
This function reads the temperature from the sensor.
01 float Get_Temperature() {
02   char tmp_data[2];
03   int TemperatureSum;
04   float Temperature;
05
06   tmp_data[0] = 0x00;                                        // Address of Temperature register
07   I2C1_Start();                                              // Issue I2C start signal
08   I2C1_Write(TMP102_I2C_ADDR,tmp_data,1,END_MODE_RESTART);   // Send byte (tmp_data[0])
09   I2C1_Read(TMP102_I2C_ADDR,tmp_data,2,END_MODE_STOP);       // Read temperature data and store it in tmp_data
10
11   TemperatureSum = ((tmp_data[0] << 8) | tmp_data[1]) >> 4;  // Justify temperature values
12
13   if(TemperatureSum & (1 << 11))                             // Test negative bit
14     TemperatureSum |= 0xF800;                                // Set bits 11 to 15 to logic 1 to get this reading into real two complement
15
16   Temperature = (float)TemperatureSum * 0.0625;              // Multiply temperature value with 0.0625 (value per bit)
17
18   return Temperature;                                        // Return temperature data
19 } Key features
- TMP102 digital temperature sensor - Temperature range: -25°C to 85°C
- Resolution: 12 Bits
- Low Quiescent Current: - 10-μA Active (max)
- 1-μA Shutdown (max)
 
 
- Interface: I2C
- 3.3V power supply
 
 