Датчик температуры для умного дома: DHT22 или DS18B20
DHT22 умеет мерить влажность, DS18B20 — выживает на морозе и в воде. Сравниваем два самых популярных датчика по даташитам и выбираем под задачу.
Содержание
DHT22 (AM2302) нужен, когда нужна влажность: он измеряет температуру от −40 до 80 °C и влажность с точностью ±2 %RH (максимум ±5 %RH). DS18B20 измеряет только температуру, но от −55 до +125 °C, с точностью ±0,5 °C в диапазоне от −10 до +85 °C, и позволяет вешать много датчиков на один провод.
Для улицы, жидкостей и зимнего подвала берите DS18B20, для комнатной влажности — DHT22. Опрашивать DHT22 нужно не чаще раза в 2 секунды, а у DS18B20 преобразование занимает до 750 мс при 12 битах.
Оба датчика цифровые, оба подключаются тремя проводами и работают с любым контроллером. Выбор делает не цена, а место, где датчик будет висеть.
Ниже — таблица параметров из даташитов, как выбрать датчик под задачу, схема подключения и ошибки, которые чаще всего приводят к отказам.
Зачем это нужно
Для умного дома датчик температуры — основа правил: включить отопление, открыть форточку, предупредить о замерзании. Датчик, который врёт или отваливается зимой, хуже, чем его отсутствие: автоматика принимает решения по неверным данным.
Что говорят даташиты

Данные из даташита AM2302 (DHT22) и даташита DS18B20 от Analog Devices (Maxim):
| Параметр | DHT22 (AM2302) | DS18B20 |
|---|---|---|
| Что измеряет | Температуру и влажность | Только температуру |
| Питание | 3,3–6 В | 3,0–5,5 В |
| Диапазон температуры | −40…+80 °C | −55…+125 °C |
| Точность температуры | ±0,5 °C | ±0,5 °C в диапазоне −10…+85 °C |
| Точность влажности | ±2 %RH (максимум ±5 %RH) | — |
| Разрешение | 0,1 °C (влажность 0,1 %RH) | Выбирается от 9 до 12 бит |
| Время опроса | Период сбора данных не менее 2 с | Преобразование до 750 мс при 12 бит |
| Интерфейс | Один провод, собственный протокол | 1-Wire, несколько датчиков на одной линии |
Для DS18B20 каждый экземпляр имеет уникальный 64-разрядный код, поэтому на один пин контроллера можно повесить несколько датчиков. Для DHT22 каждому датчику нужен свой пин.
Как выбрать

Выбор зависит от задачи. Ниже — типовые случаи.
- Нужна влажность(ванная, подвал, теплица). Берите DHT22: у DS18B20 влажности нет.
- Улица, холодильник, труба, зимний подвал.Берите DS18B20: диапазон до −55 °C и герметичные варианты в стальной гильзе.
- Много точек измерения(тёплый пол, батареи по комнатам). DS18B20 на одной шине.
- Частый опрос.Если нужно опрашивать чаще, чем раз в 2 секунды, DHT22 не подойдёт.
Для комнатной температуры есть и другие варианты: смотрите датчик температуры воздуха на LM35, если нужен аналоговый выход.
Подключение

Три провода, но у линии данных есть подтяжка к питанию. Таблица показывает выводы.
| Датчик | Вывод | Куда |
|---|---|---|
| DS18B20 | VDD | 3,3 В |
| DS18B20 | GND | GND |
| DS18B20 | DQ | GPIO и подтяжка к VDD резистором 4,7 кОм |
| DHT22 | VCC | 3,3–5 В |
| DHT22 | DATA | GPIO; подтяжка к VCC, если на модуле нет своей |
| DHT22 | GND | GND |
Резистор подтяжки на линии данных DS18B20 обязателен: 1-Wire без него не работает. На функциональной схеме даташита стоит 4,7 кОм. Для DHT22 схему подключения смотрите в даташите: на готовых модулях подтяжка обычно уже есть.
Длина линии
Даташит DHT22 заявляет дальность передачи сигнала до 100 метров, но отмечает, что качество проводов влияет на связь и дальность, и рекомендует экранированный провод. Даташит не даёт расчёта для любого кабеля.
У DS18B20 линия 1-Wire требует подтяжки, а для длинной линии резистор подбирают. Длина линии зависит от кабеля и числа датчиков: проверяйте её на месте.
Типовые ошибки
- Нет подтяжки на линии DS18B20.Датчик «не находится», хотя всё припаяно.
- Опрос DHT22 чаще раза в 2 секунды.Возвращаются ошибки или старые значения.
- Длинная линия без экранирования.Пропадания связи; даташит рекомендует экранированный провод.
- 85,0 °C от DS18B20 принято за реальную температуру.Это значение после включения, пока преобразование не выполнено.
- Датчик у стены с батареей или на ветру.Он показывает температуру места, а не комнаты.
- DHT22 в сырых местах без защиты.Даташит рекомендует избегать использования при конденсате и указывает дрейф влажности ±0,5 %RH в год.
Короткий вывод
DHT22 берите, когда нужна влажность в помещении. DS18B20 — для всего остального: улица, жидкости, много точек и честные минус пятьдесят.
В сомнении ставьте DS18B20 для температуры и отдельный датчик влажности только там, где она действительно нужна.
Частые вопросы
Можно ли питать DS18B20 по линии данных?
Можно: по даташиту датчик умеет работать в режиме «паразитного питания» от линии данных. Но надёжнее подать питание отдельным проводом.
Если линия длинная или датчиков много, паразитное питание работает хуже. Если сомневаетесь, используйте три провода.
Какой датчик взять для улицы зимой в России?
DS18B20: он рассчитан на температуры до −55 °C, а нижняя граница DHT22 — −40 °C. В холодные зимы это важно.
Берите герметичный вариант в стальной гильзе. DHT22 лучше оставить для помещений, где нужна влажность.
Почему DS18B20 показывает 85 °C?
Это значение, с которым датчик стартует до первого преобразования. Если оно остаётся, значит, преобразование не выполнено или не хватает питания.
Проверьте подтяжку, питание и время ожидания результата: при 12 битах до 750 мс.
Сколько DS18B20 можно подключить к одному пину?
Несколько: у каждого свой 64-разрядный код. Предел зависит от длины линии, кабеля и питания.
Точное число в даташите не приводится. Начните с небольшого числа и проверьте стабильность связи.
Чем отличается голый DHT22 от модуля на плате?
У модуля на плате обычно уже есть подтяжка линии данных, и подключение получается проще. У голого датчика подтяжку нужно ставить самому.
AM2302 — это название DHT22 в корпусе с проводами, а не отдельная плата. В российских магазинах радиодеталей продаются все варианты. Берите модуль, если нет опыта.


















