[РУКОВОДСТВО] Аналоги и замена микросхем Практика поставок Проверено

DHT11 и DHT22 (AM2302): датчик температуры и влажности, чем отличаются и как заменить

IC
Служба поставок ICBOMS · Склад в Шэньчжэне, экспресс DDP и подбор аналогов
[ПРОВЕРЕНО] Экспертиза
Прямой ответ службы закупок

DHT11 и DHT22 — это два датчика температуры и влажности на одном и том же однопроводном интерфейсе, с одинаковой распиновкой и почти одинаковым способом опроса, но с разными возможностями. DHT11 — дешёвый датчик для помещений: целые градусы, небольшой диапазон и влажность с точностью до единиц процентов. DHT22, он же AM2302, — более точный и более широкий по диапазону, с одним знаком после запятой. На плате они взаимозаменяемы — выводы совпадают один в один, — но в коде это не одна и та же замена: протокол у обоих один, а расчёт значений разный, поэтому просто вставить DHT22 вместо DHT11 и не трогать прошивку нельзя, показания будут неверными. И ещё одна вещь, которую путают чаще всего: это не тот однопроводной протокол, что у Dallas, то есть датчик не сядет на шину 1-Wire вместе с DS18B20, у него свой собственный побитовый обмен по одному проводу данных.

Содержание руководства (10 разделов)

Один протокол, разные возможности

Оба датчика общаются по единственному проводу данных: контроллер коротким импульсом просит измерение, а датчик отвечает последовательностью импульсов, в которой длительность каждого импульса кодирует бит. Это собственный протокол производителя, а не стандартный 1-Wire от Dallas, поэтому с датчиками DS18B20 в одну шину он не совместим.

Данные приходят одним пакетом из пяти байт: влажность целой частью и дробной, температура целой и дробной, и контрольная сумма. У DHT11 дробные байты всегда нулевые, потому что он меряет только целыми значениями, у DHT22 они несут знак после запятой.

Между выводом данных и питанием рекомендуется подтяжка около 10 кОм. У модулей с DHT22 резистор часто уже распаян на плате, но лишний не мешает, а вот без подтяжки линия висит и датчик читается нестабильно.

DHT11 и DHT22: в чём разница

  • Диапазон температуры: у DHT11 от 0 до +50 °C, у DHT22 от −40 до +80 °C.
  • Точность температуры: у DHT11 ±2 °C, у DHT22 ±0,5 °C.
  • Диапазон влажности: у DHT11 от 20 до 80 % RH, у DHT22 от 0 до 100 % RH.
  • Точность влажности: у DHT11 ±5 % RH, у DHT22 от ±2 до ±5 % RH.
  • Разрешение: DHT11 отдаёт целые значения, DHT22 — с одним знаком после запятой.
  • Частота опроса: DHT11 примерно раз в секунду, DHT22 — раз в две секунды.

AM2302 — это DHT22

DHT22 и AM2302 — это один и тот же датчик под двумя названиями. AM2302 обычно так называют вариант в корпусе с выводами, а DHT22 — тот же чувствительный элемент в маленьком корпусе с прорезями, но по характеристикам и по протоколу это одно и то же.

Встречается и название AM2301 — это фактически тот же датчик в другом корпусе, и в библиотеках и прошивках его обычно выбирают тем же пунктом, что и DHT22.

На это стоит обращать внимание при замене в готовом устройстве: если на корпусе написано AM2302, а в прошивке выбран DHT11, то датчик, скорее всего, работает, но отдаёт мусор, потому что формат данных разный.

Замена и когда брать другой датчик

По плате DHT22 ставится вместо DHT11 без переразводки: та же распиновка (VCC, данные, не подключен, GND), только корпус крупнее. Обязательное условие — в прошивке поменять тип датчика, иначе значения будут считаться по чужой формуле.

Если нужна не разовая замена, а более надёжное измерение, смотрят в сторону датчиков на I2C — SHT30, SHT31, BME280. Они точнее, у них цифровая шина с контрольной суммой и нет капризной однопроводной синхронизации, но и интерфейс, и плата другие.

Для помещений, где важен просто факт «тепло и не слишком сухо», DHT11 остаётся самым дешёвым вариантом; там, где нужны отрицательные температуры или влажность за пределами 20–80 %, DHT22/AM2302 — минимум, с которого стоит начинать.

Характеристики

  • Оба датчика: однопроводной интерфейс производителя, распиновка VCC — данные — не подключен — GND.
  • Питание 3,3…5 В, рекомендуемая подтяжка линии данных около 10 кОм.
  • DHT11: 0…+50 °C, ±2 °C, влажность 20…80 % RH, целые значения, опрос около 1 Гц.
  • DHT22/AM2302: −40…+80 °C, ±0,5 °C, влажность 0…100 % RH, один знак после запятой, опрос около 0,5 Гц.

Частые вопросы

  • Чем отличается DHT11 от DHT22 — диапазоном, точностью и разрешением; DHT22 меряет шире, точнее и с десятыми, DHT11 — только целыми и в узком диапазоне.
  • AM2302 и DHT22 — это одно и то же — да, это один датчик под двумя названиями.
  • Можно ли просто поменять DHT11 на DHT22 — по плате да, по коду нет: нужно выбрать другой тип датчика в прошивке.
  • Это тот же 1-Wire, что у DS18B20 — нет, это собственный однопроводной протокол, с шиной Dallas он не совместим.
  • Когда брать SHT или BME280 вместо них — когда нужна точность, отрицательные температуры или шина I2C вместо капризной однопроводной линии.

Детали, названные в этом руководстве

Каталог
Все производители →

Каждая позиция — это деталь или семейство, о которых идёт речь в руководстве, со ссылкой на карточку в каталоге: параметры, корпус, стадия жизненного цикла и datasheet, если он у нас локализован. Там, где в тексте названо семейство, в таблице стоит конкретный заказной партномер со склада. Если позиции из руководства в списке нет — значит, её у нас сейчас нет: пришлите номер, и она уйдёт в подбор вместе с остальными.

ПартномерПроизводительОписание
DHT11UNIVERSAL-SOLDER Electronics Ltd—
BME280DatasheetBosch Sensortec—
[ЗАКАЗ] Комплектация BOM и экспресс-поставка

Примените это к своей спецификации

Отправьте партномера или файл спецификации (Excel / CSV). По каждой строке проверим складские остатки в Шэньчжэне, наличие заводской упаковки и проверенные аналоги — с отгрузкой единой партией.

Открыть форму запроса →

Как написано это руководство

Руководство написано службой поставок ICBOMS в Шэньчжэне и выверено по документам производителей и стандартам, на которые ссылается текст. Формулировки ограничены тем, что делает эта служба, и тем, как оценивают деталь — без ориентировочных цен, сроков поставки и остатков: всё это считается по каждой строке отдельно, по факту проверки. Дата последней вычитки стоит в начале страницы.