DHT11/DHT22 — довольно известные датчики для определения относительной влажности и температуры, состоят из емкостного датчика влажности и термистора. Также, датчик содержит в себе АЦП для преобразования аналоговых значений влажности и температуры.
Эти цифровые датчики основаны на протоколе, который для связи использует один провод/шину с открытым коллектором, поэтому обязательна подтяжка резистором 5-10кОм к плюсу питания. Основное различие между DHT11 и DHT22 заключается в том, что DHT22 имеет более высокое разрешение и более точен по сравнению с DHT11. Помимо этого, распиновка и программирование одинаковы для обоих.
В этой статье рассмотрены основы процесса протокола связи датчиков DHTxx. Кроме того, обратите внимание, что протокол, используемый DHTxx, не является то же, что и 1-проводная (1-Wire/OneWire) шина Dallas Semiconductor.
- 1 Распиновка DHT22 и DHT11
- 2 Технические характеристики — DHT11 vs DHT22
- 3 Подключение датчиков DHT11/DHT22 к Arduino
- 4 Считывание данных с датчиков DHT11/DHT22
- 5 Формат данных DHT11/DHT22
- 6 Библиотеки и пример программы на Arduino
- 7 Материалы и Datasheet
- 8 Купить DHT11 и DHT22 на Aliexpress
- 9 Похожие записи
Распиновка DHT22 и DHT11
Выводы | Описание | |
---|---|---|
1 | Vcc | 3-5В питание |
2 | Data out | Вывод данных |
3 | NC | Не используется |
4 | GND | Общий |
Технические характеристики — DHT11 vs DHT22
Параметры | DHT11 | DHT22 | |
---|---|---|---|
Питание | мин. | 3В | 3В |
макс. | 5.5В | 5.5В | |
Потребляемый ток | мин. | 0.1мА | 0.05мА |
макс. | 2.5мА | 2.5мА | |
Измерение влажности | мин. | 20% | 0% |
макс. | 80-95% | 100% | |
точность | 5% | 2-5% | |
Измерение температуры | мин. | 0°C | -40°C |
макс. | +50°C | +80°C | |
точность | ±2°C | ±0.5°C | |
Частота измерений | 1Гц | 0.5Гц | |
Расстояние между соседними | 0.1″ | 0.1″ | |
Разрешение | 8 бит | 16 бит |
Подключение датчиков DHT11/DHT22 к Arduino
При подключении к микроконтроллеру, вы можете между выводами Vcc и Data разместить подтягивающий (pull-up) резистор номиналом 4.7-10 кОм. Плата Arduino имеет встроенные pull-up, однако они очень слабенькие — порядка 20-150 кОм в зависимости от использованного микроконтроллера.
Считывание данных с датчиков DHT11/DHT22
Микроконтроллер выступает в роли ведущего устройства шины и, следовательно, отвечает за инициирование связи (т. е. чтение). Датчик влажности и температуры DHT11 всегда остаётся в качестве подчиненного устройства и отвечает данными, когда MCU просит его. Протокол, используемый для связи, прост и может быть обобщен следующим образом:
Процесс коммуникации
- Микроконтроллер подаёт стартовый сигнал — прижимает шину к земле на 18-20 мс;
- После этого контроллер отпускает линию и следить за уровнем на ней, примерно 20-40 мкс;
- Датчик, обнаружив сигнал и подождав пока уровень снова станет высоким, сам прижимает шину к земле на 80 мкс, за это время делаются измерения и преобразование результатов;
- Затем DHT11 отпускает линию на 80 мкс, что указывает на то, что он готов отправить данные;
- Затем он отправляет 40 бит данных. Перед отправкой каждого бита датчик прижимает шину к земле на 50 мкс, за которым следует 26-28 мкс для «0» или 70 мкс для «1»;
- По завершении связи линия вытягивается подтягивающим резистором и переходит в состояние ожидания.
Формат данных DHT11/DHT22
Когда датчик влажности и температуры отправляет данные, он сначала отправляет MSb (Most Significant Bit) — старший значащий бит. Данные от датчика передаются в виде посылки, состоящих из 40 бит данных — это 5 байт из которых первых два влажность, следующие 2 температура и байт четности. Байт четности равен сумме предыдущих байт. 1 и 2 байт содержат соответственно целую и дробную часть информации о влажности, 3 и 4 байт содержат целую и дробную часть информации о температуре. Для датчика DHT11 2-й и 4-й байты всегда ноль. Значение этих байтов заключается в следующем:
- 1-й байт: относительная влажность — целая часть в %;
- 2-й байт: десятая часть относительной влажности в % (ноль для DHT11);
- 3-й байт: целая часть температуры в °C;
- 4-й байт: десятая часть температуры в °C (ноль для DHT11);
- 5-й байт: контрольная сумма (последние 8 бит {1-й байт + 2-й байт + 3-й байт + 4-й байт})
Библиотеки и пример программы на Arduino
Для работы с датчиками я использую библиотеки от Adafruit, а именно: Adafruit Unified Sensor Library и DHT Sensor Library.
Пример программы — DHT_Unified_Sensor.ino
// DHT Temperature & Humidity Sensor // Unified Sensor Library Example // Written by Tony DiCola for Adafruit Industries // Released under an MIT license. // Depends on the following Arduino libraries: // - Adafruit Unified Sensor Library: https://github.com/adafruit/Adafruit_Sensor // - DHT Sensor Library: https://github.com/adafruit/DHT-sensor-library #include <Adafruit_Sensor.h> #include <DHT.h> #include <DHT_U.h> #define DHTPIN 2 // Pin which is connected to the DHT sensor. // Uncomment the type of sensor in use: #define DHTTYPE DHT11 // DHT 11 //#define DHTTYPE DHT22 // DHT 22 (AM2302) //#define DHTTYPE DHT21 // DHT 21 (AM2301) // See guide for details on sensor wiring and usage: // https://learn.adafruit.com/dht/overview DHT_Unified dht(DHTPIN, DHTTYPE); uint32_t delayMS; void setup() { Serial.begin(9600); // Initialize device. dht.begin(); Serial.println("DHTxx Unified Sensor Example"); // Print temperature sensor details. sensor_t sensor; dht.temperature().getSensor(&sensor); Serial.println("------------------------------------"); Serial.println("Temperature"); Serial.print ("Sensor: "); Serial.println(sensor.name); Serial.print ("Driver Ver: "); Serial.println(sensor.version); Serial.print ("Unique ID: "); Serial.println(sensor.sensor_id); Serial.print ("Max Value: "); Serial.print(sensor.max_value); Serial.println(" *C"); Serial.print ("Min Value: "); Serial.print(sensor.min_value); Serial.println(" *C"); Serial.print ("Resolution: "); Serial.print(sensor.resolution); Serial.println(" *C"); Serial.println("------------------------------------"); // Print humidity sensor details. dht.humidity().getSensor(&sensor); Serial.println("------------------------------------"); Serial.println("Humidity"); Serial.print ("Sensor: "); Serial.println(sensor.name); Serial.print ("Driver Ver: "); Serial.println(sensor.version); Serial.print ("Unique ID: "); Serial.println(sensor.sensor_id); Serial.print ("Max Value: "); Serial.print(sensor.max_value); Serial.println("%"); Serial.print ("Min Value: "); Serial.print(sensor.min_value); Serial.println("%"); Serial.print ("Resolution: "); Serial.print(sensor.resolution); Serial.println("%"); Serial.println("------------------------------------"); // Set delay between sensor readings based on sensor details. delayMS = sensor.min_delay / 1000; } void loop() { // Delay between measurements. delay(delayMS); // Get temperature event and print its value. sensors_event_t event; dht.temperature().getEvent(&event); if (isnan(event.temperature)) { Serial.println("Error reading temperature!"); } else { Serial.print("Temperature: "); Serial.print(event.temperature); Serial.println(" *C"); } // Get humidity event and print its value. dht.humidity().getEvent(&event); if (isnan(event.relative_humidity)) { Serial.println("Error reading humidity!"); } else { Serial.print("Humidity: "); Serial.print(event.relative_humidity); Serial.println("%"); } }
Результат
Материалы и Datasheet
DHT11 Datasheet
DHT22/AM2302 Datasheet
Basics of Interfacing DHTxx Humidity and Temperature Sensor with MCU
Работа с датчиком влажности DHTxx в Bascom-AVR
Arduino Uno: Датчик температуры и влажности DHTxx
Как сделать чтобы показывал минусовую температуру?
Есть ТЕХНИЧЕСКИЙ вопрос. Хочу использовать DHT11/DHT22 как датчик
температуры, но при НЕПОСРЕДСТВЕННОМ контакте с объектом.
На фото привожу «скальпированный» DHT11: сверху в прозрачном окошке
нечто сложное (мелкоскопа под рукой нет), снизу чёрный чип на печатной
плате. Вопрос — какая часть должна иметь тепловой контакт с объектом?
Подозреваю, что верхняя (где под окошком скорее всего термистор в виде
зигзагообразного напыления)… тогда надо монтировать этой стороной
на объект — так я понимаю (чип будет сверху)..?
пытаюсь подключить DHT11 к orange pi 3 lts, не подскажете где код можно взять для считывания данных?
Купить диплом Барнаул
Передовая индустрия выдвигает строгие требования к транспортировочным механизмам. конвейерные ленты Качественные решения значительно увеличивают эффективность производства.
Как избежать рисков при покупке диплома колледжа или ПТУ в России
Все необходимые решения для вашего бизнеса вы найдете на сайте konvejernye-lenty.by. Ознакомьтесь с подробным описанием оборудования и условиями сотрудничества. Удобный интерфейс поможет быстро найти нужный товар.
Стоимость дипломов высшего и среднего образования и как избежать подделок
Задумались, где выгодно купить ленту конвейерную? У нас представлены различные варианты, которые подходят для производственных нужд. Ознакомьтесь с характеристиками и выберите подходящий продукт уже сегодня.
в компании lenty-konvejerov.by вы найдете качественные товары для транспортировки и производства. Узнайте больше о доступных лентах и получите консультацию.
Как купить аттестат 11 класса с официальным упрощенным обучением в Москве
Доверьтесь в компании con-belt.by, если подыскиваете надежного поставщика. Мы гарантируем лучшие решения для разных задач.
после капельницы от запоя после капельницы от запоя .
Как приобрести аттестат о среднем образовании в Москве и других городах
Купить диплом о среднем полном образовании, в чем подвох и как избежать обмана?
Пошаговая инструкция по официальной покупке диплома о высшем образовании
Современные транспортные решения играют определяющей частью любого производственного механизма. купить ленту конвейерную Специалисты советуют скрупулезно подходить к выбору транспортного комплекса.
Быстрая покупка диплома старого образца: возможные риски
от компании lenty-konvejerov.by вы получите качественные конвейерные ленты. Мы предлагаем доступные цены для всех наших клиентов.
Купить диплом экономиста – оптимальное решение
Покупка диплома о среднем полном образовании: как избежать мошенничества?
Узнайте стоимость диплома высшего и среднего образования и процесс получения
Быстрая покупка диплома старого образца: возможные риски
Как приобрести аттестат о среднем образовании в Москве и других городах
Официальная покупка диплома ПТУ с упрощенной программой обучения
Полезные советы по безопасной покупке диплома о высшем образовании
Приобретение школьного аттестата с официальным упрощенным обучением в Москве
Предлагаем услуги профессиональных инженеров офицальной мастерской.
Еслли вы искали ремонт телевизоров hisense адреса, можете посмотреть на сайте: ремонт телевизоров hisense адреса
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Предлагаем услуги профессиональных инженеров офицальной мастерской.
Еслли вы искали ремонт телевизоров hisense рядом, можете посмотреть на сайте: ремонт телевизоров hisense рядом
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Предлагаем услуги профессиональных инженеров офицальной мастерской.
Еслли вы искали ремонт телевизоров hisense, можете посмотреть на сайте: ремонт телевизоров hisense адреса
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Промышленные комплексы белорусской столицы постоянно обновляют свои технологические комплексы. конвейерная лента в Минске Современное оборудование становится гарантией успешного развития производства.
На на lenty-konvejerov.by собраны качественные товары для производства и транспортировки. Ознакомьтесь с ассортиментом и выберите ленту, которая идеальна для вашего оборудования.
Работаете в столице? У нас вы можете купить конвейерная лента в Минске с удобной оплатой. Посетите наш сайт, чтобы сделать заказ.
Работая с нами, вы получите от компании con-belt.by качественные изделия. Мы предлагаем выгодные решения для различных отраслей.
промокод prodamus промокод prodamus .
Полезные советы по покупке диплома о высшем образовании без риска
продамус промокод скидка на подключение продамус промокод скидка на подключение .
Как правильно купить диплом колледжа и пту в России, подводные камни
Мы предлагаем широкий ассортимент оборудования для производственных процессов. Все продукты от компании konvejernye-lenty.by соответствуют высоким стандартам качества и надежности.
Возможно ли купить диплом стоматолога, и как это происходит
Как получить диплом стоматолога быстро и официально
Купить диплом о среднем полном образовании, в чем подвох и как избежать обмана?
С помощью подходящей лента конвейерная можно существенно увеличить производительность вашего оборудования. Современные технологии обеспечивают долговечность эксплуатации. Ознакомьтесь с вариантами и выберите лучшее для вашего бизнеса.
Пошаговая инструкция по официальной покупке диплома о высшем образовании
Если вы задумались купить конвейерную ленту, предлагаем ознакомиться с нашим предложением. Мы продаем доступные ленты для вашего оборудования.
найти по номеру телефона человека найти по номеру телефона человека .