Датчики температуры и влажности

Содержание

Существует большое число разновидностей датчиков для измерения температуры с разной точностью, степенью защиты от внешних условий и другими параметрами. Кроме описанных ниже датчиков, есть ещё модели TMP36, MAX6675, MAX31855, DS18B20.

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

Датчик температуры LM35 позволяет очень просто получать значения температуры. Вам нужно получить показания с аналогового вывода, сделать несложные математические вычисления и получить готовый результат.

У датчик три вывода: питание и земля по краям и средний для вывода данных.

LM35

Точность составляет почти 0.75-1 градусов. Интервал показаний от -55 до +150. Но в большинстве случаев используются показания от 0 до 105. Если вам нужны отрицательные температуры, то используйте датчик TMP36.

Скетч для работы с датчиком.

Запускаем скетч и наблюдаем за результатами в Serial Monitor. Датчик считается очень медленным, поэтому не следует делать слишком маленькую задержку, в примере используется пауза на две секунды.

Показания DHT11

Пример проверялся летом в жаркий день. Результаты вполне правдоподобны. Если подышать на датчик (помните в детстве мы дышали на стекло?), то влажность увеличится (и температура). Через какое-то время показания будут медленно возвращаться к первоначальным.

В составе библиотеки также есть файл с именами функций.

DHT Класс датчика. Объявляем объект класса: DHT dht(DHTPIN, DHTTYPE);. В первом параметре объявляем пин, во втором — тип датчика begin() Запускаем датчик readTemperature() Без параметров функция измеряет в градусах Цельсия. Вызов readTemperature(true) вернёт значения в градусах Фаренгейта convertCtoF() Конвертирует из одной системы в другую convertFtoC() Конвертирует из одной системы в другую computeHeatIndex() Выводит индекс жары. По умолчанию используется индекс на основе градусов Фаренгейта, где нужно указать градусы и влажность. Для температуры по Цельсию нужно указывать три параметра computeHeatIndex(t, h, false) readHumidity() Функция для измерения влажности read() Что-то считывает

Дополнительные материалы для DHT

Fritzing-Library/DHT11 Humitidy and Temperature Sensor.fzpz at master · adafruit/Fritzing-Library · GitHub — в составе Fritzing нет датчика Dh21. Скачайте данный файл и перетащите его на окно программы. Теперь вы сможете составлять схемы с его участием (смотри мой скриншот выше). В программе он будет находиться в разделе MINE.

Датчик температуры и влажности DHT11 (DHT22) — здесь дана дополнительная информация о работе датчика в модульном исполнении, ссылка на даташиты, примеры кода без библиотеки, графики.

Модуль датчика температуры KY-001

KY-001

Модуль состоит из датчика температуры воздуха с цифровым представлением данных. Основной компонент – микросхема DS18B20, преобразующая температуру корпуса в информацию передаваемую по последовательной двухпроводной шине данных 1-Wire. На шину данных можно установить несколько датчиков. Можно применять для измерения температуры воздуха в помещении и на открытом воздухе.

Также на модуле установлен резистор сопротивлением 4,7 кОм и светодиодный индикатор включения питания.

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

  • Питание: напряжение 3…5,5 В, ток 10 мА
  • Диапазон измерения температуры -55…125 °С/-57°F to 257°F
  • Разрешающая способность: 9…12 бит
  • Точность ±0,5 °С в диапазоне -10…+85 °С
  • Время измерения при разрешающей способности 12 бит составляет 0,75 с

Имеет три вывода:

Для работы с модулем используются дополнительные две библиотеки.

Модуль датчика температуры KY-013

Датчик является аналоговым, но использовать его нужно не для измерения конкретных температур, а для слежения за превышением пороговых значений. В модуле используется PTC-термисторы — при повышении температуры растёт и сопротивление.

KY-013

При работе с датчиком пробуйте менять местами землю и питание, часто маркировка ошибочна.

Основной элемент датчика – терморезистор, который соединён со входом микросхемы компаратора LM393YD. С помощью подстроечного резистора выполняется настройка порога срабатывания компаратора. Так устанавливается температурный порог. При превышении температурой установленного порога на цифровом выходе D0 будет высокий уровень напряжения. Если температура мала, то на выходе D0 низкий уровень.

Датчик содержит два светодиодных индикатора. Индикатор L1 сообщает о подаче питания. Светодиод L2 включается при превышении температурой окружающего воздуха установленного порога. С его помощью удобно проводить настройку модуля.

При включении на выходе A0 присутствует напряжение соответствующее температуре в комнате. Эта температура известна лишь приблизительно. Для повышения точности можно использовать температуру тела (сожмите терморезистор пальцами), в этом случае мы узнаем напряжение аналогового выхода при температуре 36,6°C. На эти данные можно опираться в дальнейшем. Другой вариант — температура таяния льда 0°C. Используйте пакетик с таящим льдом или снегом из холодильника, чтобы получить новое значение напряжения, которому можно верить.


Источник: www.developer.alexanderklimov.ru