Это старая версия документа.


Аналоговый датчик температуры TMP36

Описание

Модуль аналогового датчика температуры TMP36. Датчик TMP36 хорош тем что имеет высокую точность измерений при небольшой цене.

TMP36 - низковольтный высокоточный температурный датчик. Он вырабатывает выходное напряжение, пропорциональное температуре в градусах Цельсия. TMP36 не требует использования внешних компонентов для измерения температуры с точностью ±1°C при температуре +25°C и ±2°C в диапазоне от -40°C по +125°C.

TMP36 способен измерять температуру в диапазоне от -40°C до +125°C, обеспечивает на выходе напряжение 750 мВ при температуре 25°C, при этом при 2.7 В питании имеет максимальную рабочую температуру +125°C.

Технические характеристики

  • Диапазон напряжения питания: от 2.7 до 5.5 В
  • Коэффициент преобразования: 10 мВ/C
  • Точность ±1 °C при температуре 25 °C
  • Типовая точность измерения температуры: ±2 °C
  • Максимальная погрешность: ±3 °C
  • Диапазон измеряемой температуры: от -40 °C до +125 °C
  • Потребляемый ток: 0,25 мА

Физические размеры

  • Модуль (Д х Ш х В): 20 х 30 х 15 (мм)

Плюсы использования

  • Хорошая точность при невысокой стоимости
  • Нет необходимости в использовании библиотек при программировании

Минусы использования

  • Недостаточная точность для проектов, где требуется точность до десятых градуса Цельсия.

Файлы для загрузки

Примеры подключения и использования

Пример: В примере демонстрируется подключение модуля датчика к контроллеру (на примере контроллера Smart UNO) и вывод измерений в монитор Serial-порта.

Подключение:

Пример кода:

#define temperaturePin 0  // определение пина подключения модуля датчика
#define VCC 5.0           // определение напряжения питания датчика VCC (5 В или 3.3 В)
 
void setup()
{
   Serial.begin(9600); // инициализация Serial-порта
}
 
void loop()
{
   int data = analogRead(temperaturePin); // получение данных с датчика 
 
   float voltage = data * VCC; // конвертация значения в напряжение
   voltage = voltage / 1024.0; 
 
   float temp = (voltage - 0.5) * 100; // конвертация напряжения в температуру
   Serial.print("Temperature is "); //  вывод показаний в монитор Serial-порта
   Serial.print(temp);
   Serial.println(" °C");
 
   delay(1000); // задержка на одну секунду
}