====== Аналоговый термометр (Troyka-модуль) ======
Для измерения температуры окружающей среды можно воспользоваться простым электронным аналоговым [[amp>product/troyka-temperature-sensor|термометром]] на основе микросхемы TMP36.
{{ :продукты:troyka:temperature-sensor-photo.1.jpg?nolink350 }}
===== Элементы платы =====
{{ :продукты:troyka:thermo_annotation2.png?nolink }}
==== Контакты подключения 3-проводного шлейфа ====
Модуль подключается к управляющей электронике по [[сенсоры:3-провода|трём проводам]].
Назначение контактов 3-проводного шлейфа:
* Питание (Vсс) — красный провод. На него должно подаваться напряжение 5 В (или 3,3 В).
* Земля (GND) — чёрный провод. Должен быть соединён с землёй микроконтроллера.
* Сигнальный (S) — жёлтый провод. Подключается к аналоговому (!) входу. Через него термометр передает значение напряжения, которое зависит от окружающей температуры.
==== Микросхема TMP36 ====
Микросхема TMP36 — это низковольтный, прецизионный температурный датчик, который на выходе выдает [[сенсоры:аналоговые|аналоговый сигнал]]. Он вырабатывает выходное напряжение, которое линейно зависит от окружающей температуры. С помощью этого термометра можно измерять температуру с точностью ±1°C при температуре +25°C и ±3°C в диапазоне от −40°C до +125°C (см. рисунок).
{{ :продукты:troyka:Err_T.png?nolink }}
Для вычисления температуры в градусах Цельсия на основании показаний датчика нужно использовать формулу: $ T = (V_{out} - 0.5)\times 100 $ (°C), где $ V_{out} $ — выходное напряжение с датчика в вольтах.
===== Пример использования =====
Будем измерять температуру воздуха в комнате с помощью микроконтроллера, такого как Arduino. Для этого сначала соберем схему, как показано на рисунке. Желтый сигнальный провод нужно подключить к аналоговому входу A0.
{{ :продукты:troyka:troyka_shield_thermo1.png?nolink }}
// указываем аналоговый пин A0 в качестве входа
#define sensorPin 0
// Определяем напряжение питания Vcc (5 В или 3.3 В)
#define Vcc 5.0
void setup()
{
// открываем последовательный порт
// и задаем стандартную скорость передачи равную 9600 б/с
Serial.begin(9600);
}
void loop()
{
// объявляем и сразу инициализируем переменную reading
// в которую считываем показания с датчика
int reading = analogRead(sensorPin);
// конвертируем показания в значение напряжения
float voltage = reading * Vcc;
voltage /= 1024.0;
// выдаем на Serial Monitor значение напряжения
Serial.print(voltage);
Serial.println(" volts");
// конвертируем напряжение в температуру в градусах Цельсия
// и выдаем значение температуры на Serial Monitor
float tempC = (voltage - 0.5) * 100;
Serial.print(tempC);
Serial.println(" degrees C");
// ждем одну секунду
delay(1000);
}
===== Характеристики =====
|Напряжение питания|от 2,7 В до 5,5 В|
|Потребляемый ток|50 мкА|
|Диапазон измеряемой температуры| −40…+125 °C|
|Точность| ±1 °C при температуре 25 °C, ±3 °C во всём диапазоне измерения|
===== Ресурсы =====
[[http://files.amperka.ru/datasheets/TMP35_36_37.pdf|Datasheet на микросхему TMP36 (pdf)]]