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

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

С этим товаром обычно покупают

Цифровой датчик температуры и влажности DHT11. с подключением по однопроводной шине.

Основные технические характеристики:

  • Интерфейс: 1-проводный;
  • Внешние компоненты: подтягивающий резистор на линии данных (в зависимости от длины кабеля);
  • Питание: от 3.5 до 5.5 В;
  • Измерение температуры:
  • Допустимый диапазон: 0°C. +50° C;
  • Максимальная погрешность: ±2°C@0..+50°C;
  • Разрешение шкалы: 1°C ;
  • Измерение относительной влажности:
      Датчик температуры dht11 8216 8216
    • Допустимый диапазон: 20..95%
    • Минимальная погрешность: ±4%@+25°C
    • Максимальная погрешность: ±5%
    • Разрешение шкалы: 1%
    • Минимальное время между считываниями показаний: 1 сек
    • Расстояние между выводами: 2.54 мм
    • DHT11 – Датчик влажности и температуры

      DHT11 недорогой цифровой датчик температуры и влажности. Он использует емкостной датчик влажности и терморезистор для измерения температуры окружающего воздуха, данные выдает в цифровой форме по шине типа 1-wire. В использовании он довольно прост, но требует точного определения длительности временных сигналов, чтобы декодировать данные. Единственный недостаток это возможность получения данных не чаще 1 раза в две секунды.

      Особенности.

      · Температурная компенсация во всем диапазоне работы

      Габаритные размеры и подключение:

      Питание DHT11 составляет 3-5.5V DC. После подачи питания на датчик, необходимо выдержать паузу длительностью не менее 1 секунды перед началом считывания данных. Для фильтрации напряжения питания можно добавить один конденсатор 0,1 мкФ между Vdd и Vss.

      Последовательный интерфейс (Single-Wire Двусторонний)

      Весь обмен данными выполняется по одной одному проводу (шине). На шине может присутствовать только один датчик. Для получения высокого уровня используется подтягивающий резистор (5-10 кОм), т.е в пассивном состоянии на шине высокий уровень. Формат обмена данными может быть разделен на три этапа:

      2) Преамбула.

      3) Передача данных.

      Инициализация.

      Процесс чтения данных начинается с импульса инициализации который формирует микроконтроллер. Он должен установить на шине низкий уровень на время не менее 18 mS, для инициализации  DHT-11.

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

      Микроконтроллер после формирования импульса инициализации должен сразу перевести порт в режим чтения (режим приема данных). Если датчик готов к передачи данных, он ответит сформировав преамбулу. Один период меандра длительностью

      Микроконтроллер получив ответ от датчика, может начать чтение данных.

      Передача данных.

      Данные представляют собой 5 байт данных, которые читаются по битно микроконтроллером, т.е всего 40 бит.

      Первые два байта данные влажности (относительная влажность), целая и дробная часть. Третий и четвертый температура (градусы Цельсия), целая и дробная часть и пятый последний байт контрольная сумма, которая равна сумме первых 4 байт. К сожалению хотя и присутствуют байты отвечающие за десятые доли градуса и процента, реально контроллер датчика их не вычисляет (хотя это и понятно при такой точности это бесполезно), поэтому  в них всегда присутствуют нули. Если реально считывать эти байты то мы увидим, например:

      bait0 = 41    // влажность

      bait2 = 31    // температура

      bait4 = 72    // контрольная сумма

      Но нет худа без добра, если в этих байтах всегда нули, то можно это значение (аналогично как для контрольной суммы) использовать для достоверности передачи данных.

      Данные кодируются длительностью высокого уровня в каждом бите, бит начинается стробом низкого уровня длительностью приблизительно 50-54uS, после строба идет высокий уровень, если длительность высокого уровня в пределах 24 uS, то это передается “0”, если в пределах 70 uS – передается “1”.

      Бит ‘0 ‘:

      Бит ‘1 ‘:

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

      Логика чтения данных может быть следующая.

      Вид передачи полностью:

      Датчик подключается ко входу который может формировать прерывания по изменению уровня на входе. Для определения длительности импульса можно использовать таймер микроконтроллера.

      Для демо проекта используем плату ILLISSI_B4_primum с установленным микроконтроллером PIC16F1936. Для индикации данные будем выводить, через USB порт на терминал программы AN1310 Microchip .

      Вариант построение программа для чтения данных с датчика для компилятора MPLAB® XC8 Compiler v1.20. Для измерение длительности мы применим таймер Timer0. А для контроля моментов изменения сигнала на входах будем использовать возможность микроконтроллера формировать прерывания по изменению состояния на входах. Всё декодирование данных будет выполняться в прерывании (благо там минимум работы), поэтому для основной программы остается только дать “толчек” для выдачи данных и обработать их когда данные будут готовы.

      Настройка прерывание для работы с датчиком

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

      Автор: Internet. Опубликовано в Неопределено

      При цене в 2$ датчик DHT11 является самым дешевым цифровым датчиком, позволяющий измерять температуру и влажность окружающей среды.

      Технические характеристики: Предел измерения температур: 0-50°С (±2°С)

      Предел измерения влажности: 20-80% ( ±5%)

      Напряжение питания: 3-5,5V

      Энергопотребление:    Измерение: 0,5-2,5мА

      Передача данных: 0,2-1мА

      Ожидание: 0,1-0,15 мА

      Опрос датчика с частотой не чаще 1   раз в секунду

      Получил посылку из Китая. Датчики приехали.

      Датчики я заказывал на DealExtreme, 15 долларов за 5 штук.

      Даташит на них имеется, но исключительно на китайском (иероглифы).

      Как показало вскрытие, датчики работают по протоколу 1Wire.  Для связи с контроллером используется однопроводная шина с открытым коллектором, поэтому обязательна подтяжка резистором 5-10кОм к плюсу питания.

      Их я и использовал для написания своего кода.

      Сами датчики выглядят так:

                          

      Привинтил датчик к свей любимой девборде на Тини2313+индикаторы.

      На фото первый вариант испытаний, видно температуру (левый индикатор) и влажность воздуха (правый).

      Сам проект сильно сырой, делался только чтобы посмотреть работу датчика.

      Вот конечный результат.

      На экране с интервалом в три секунды меняются показания температуры и влажности.

      Проект на Си в CodeVision  прилагаю. Там в проекте есть маленько мусора в файлах, но это на полёт не влияет, издержки экспериментирования.

      Автор ewgeny.

      Рекомендуем также прочитать
      Автор Тема: Известные глюки и хитрости (тонкости) автомобилей Skoda  (Прочитано 27302 раз) 0 Пользователей и 1 Гость просматривают эту тему.
      EugeneSO › Блог › Диагностика скрепкой Что бы самому не забыть и другим полезно было: Скрепой диагностируются следующие моторы:
      Mitsubishi Pajero Sport "PATTAYA" › Бортжурнал › Отсутствие передач на АКПП за исключением 2-ой и R Киев, Украина