Датчик температуры TMP102

TMP102 — это простой в использовании цифровой датчик температуры от Texas Instruments, имеет миниатюрные размеры, высокую точность и стабильность работы, для связи использует шину I2C.



 

Характеристики датчика:

  • Диапазон температур:  –40 … 125°C  ±1.0, –25 … 85°C  ±0.5
  • Разрешение: 12 Бит, до 0.0625 °C
  • Напряжение питания: от 1,4 В до 3,6 В
  • Связь по I2C, Поддерживает до четырех датчиков TMP102 на шине I2C одновременно
  • Имеет режимы энергосбережения.
  • Имеет «встроенный термостат» функцию управления цифровым выходом в зависимости от температуры.

Дополнительные возможности:

Модуль имеет выход ALT, в даташите на сенсор он указан как ALERT, это выход с открытым коллектором и распаянным на модуле подтягивающим резистором, датчик может формировать на этом выходе логическую единицу или ноль по достижению заданной в регистре температуры.


Подключение датчика к Arduino:

Модуль подключается как и любое другое устройство с шиной I2C, нужно соединить линии SDA и SCL модуля с arduino. На arduino UNO, выходы SDA и SCL дублируются на аналоговый A4 и A5, можно подключать как на картинки ниже.

Но в случаи с leonardo, SDA и SCL находятся на 2 и 3 цифровых пинах, но лучше подключать к дополнительным пинам, где выведена шина I2C, как на картинки ниже, чтобы избежать путаницы.

Питание у модуля строго 3,3 вольт. Выход ALT подключать не обязательно, в данном случаи он подключен для демонстрации работы, для отображения состояния выхода в «мониторе порта».


Установка адреса модуля на шине I2C:

На шине может находится до четырех модулей TMP102, для установки адреса на модуле выведен пин ADD0, который запаян на массу.

В таком виде модуль имеет адрес 0x48, если перемычку отпаять и соединить ADD0 с VCC адрес будет 0x49, с SDA — 0x4A, с SCL — 0x4B соответственно.


Софт:

Библиотека от SparkFun https://github.com/sparkfun/Digital_Temperature_Sensor_Breakout_-_TMP102/tree/V_H13.0/Libraries/Arduino/SparkFun_TMP102_Arduino_Library

Замечаний по настройки и работе библиотеки нет, всё начинает работать с первого раза, но вывод температуры в монитор порта в градус Фаренгейта, но оставлены закомментированные строки для вывода в Цельсиях. Ниже скриншет работы примера SparkFun_TMP102_Breakout_Example.ino.

 


Видео: