====== Аналоговый термометр (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)]]