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, если он у нас локализован. Там, где в тексте названо семейство, в таблице стоит конкретный заказной партномер со склада. Если позиции из руководства в списке нет — значит, её у нас сейчас нет: пришлите номер, и она уйдёт в подбор вместе с остальными.
| Партномер | Производитель | Описание |
|---|---|---|
| DHT11 | UNIVERSAL-SOLDER Electronics Ltd | — |
| BME280Datasheet | Bosch Sensortec | — |
Примените это к своей спецификации
Отправьте партномера или файл спецификации (Excel / CSV). По каждой строке проверим складские остатки в Шэньчжэне, наличие заводской упаковки и проверенные аналоги — с отгрузкой единой партией.
Запрос успешно отправлен!
Ваш запрос по позиции (ICBOMS) зарегистрирован. Номер заявки:
1. Служба закупок в Шэньчжэне проверяет реальные физические остатки на складах и Data Code.
2. Официальный расчет с ценами, сроками и условиями DDP будет отправлен на в течение 2-24 ч.
Как написано это руководство
Руководство написано службой поставок ICBOMS в Шэньчжэне и выверено по документам производителей и стандартам, на которые ссылается текст. Формулировки ограничены тем, что делает эта служба, и тем, как оценивают деталь — без ориентировочных цен, сроков поставки и остатков: всё это считается по каждой строке отдельно, по факту проверки. Дата последней вычитки стоит в начале страницы.