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

Не дорогой датчик температуры с шиной I2C, датчик применяется в системах термозащиты.

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

  • Диапазон температур:  -55°C … +125°C ±2
  • Разрешение: 9bit для LM75, 11bit для LM75A .
  • Напряжение питания: 2.8V … 5.5V
  • Связь по I2C, Поддерживает до восьми датчиков LM75 на шине I2C.
  • Имеет «встроенный термостат» функцию управления цифровым выходом в зависимости от температуры.

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

Датчик имеет выход с открытым коллектором, в даташине называется O.C., выход «срабатывает» по достижению заданной в регистре датчика температуры, датчик можно использовать как термостат, для аварийного выключения устройства, автоматического включения вентилятора охлаждения и тд. Аналогичная функция есть в датчике TMP102.



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

Датчик имеет интерфейс I2C и подключается как любое другое устройство с I2C, на контакты SDA и SCL.

Это в случаи если у вас готовый модуль, вроде тех что продаются на али. У меня в наличии были микросхемы, пришлось собирать плату модуля самостоятельно.

На плате по мимо микросхемы, установлены подтягивающие резисторы на 10к, светодиод со своим резистором и конденсатор фильта. Плата в формате .lay

Распиновка микросхемы из даташита.


Установка адреса на шине:

Для установки адреса на шине отвечают выходы, A0, A1 и A2, это младшие биты адреса, подавая на них логический 0 или 1 изменяем адрес микросхемы на шине.


Софт:

Для работы есть библиотека, скачать можно тут. После установки открываем единственный пример:

В строе инициализации объекта нужно задать адрес микросхемы на шине

LM75 sensor;  // initialize an LM75 object
// You can also initiate with another address as follows:
//LM75 sensor(LM75_ADDRESS | 0b001);  // if A0->GND, A1->GND and A2->Vcc

для этого закомментируем строку «LM75 sensor;» и раскоментируем строку где устанавливается адрес, в зависимости от состояния ног A0, A1 и A2 зададим адрес, на моем модуле они соединены с массой, значит и адрес заканчивается на 000.

//LM75 sensor;  // initialize an LM75 object
// You can also initiate with another address as follows:
LM75 sensor(LM75_ADDRESS | 0b000);  // if A0->GND, A1->GND and A2->Vcc

Загружаем код в Arduino

Открываем «монитор порта» и видим текущую температуру и настройки выхода O.C.


Видео: