Аналоговый термометр (Troyka-модуль)
Для измерения температуры окружающей среды можно воспользоваться простым электронным аналоговым термометром на основе микросхемы TMP36.
Элементы платы
Контакты подключения 3-проводного шлейфа
Модуль подключается к управляющей электронике по трём проводам. Назначение контактов 3-проводного шлейфа:
- Питание (Vсс) — красный провод. На него должно подаваться напряжение 5 В (или 3,3 В).
- Земля (GND) — чёрный провод. Должен быть соединён с землёй микроконтроллера.
- Сигнальный (S) — жёлтый провод. Подключается к аналоговому (!) входу. Через него термометр передает значение напряжения, которое зависит от окружающей температуры.
Микросхема TMP36
Микросхема TMP36 — это низковольтный, прецизионный температурный датчик, который на выходе выдает аналоговый сигнал. Он вырабатывает выходное напряжение, которое линейно зависит от окружающей температуры. С помощью этого термометра можно измерять температуру с точностью ±1°C при температуре +25°C и ±3°C в диапазоне от −40°C до +125°C (см. рисунок).
Для вычисления температуры в градусах Цельсия на основании показаний датчика нужно использовать формулу: <latex>$ T = (V_{out} - 0.5)\times 100 $</latex> (°C), где <latex>$ V_{out} $</latex> — выходное напряжение с датчика в вольтах.
Пример использования
Будем измерять температуру воздуха в комнате с помощью микроконтроллера, такого как Arduino. Для этого сначала соберем схему, как показано на рисунке. Желтый сигнальный провод нужно подключить к аналоговому входу A0.
- thermometer.ino
// указываем аналоговый пин 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 во всём диапазоне измерения |