Сайт Алексея Пахомова
  pakhom
  • Главная
  • Работа
  • Путешествия
    • Россия
    • Украина
    • Белоруссия
    • Турция
    • Египет
    • Греция
    • Владимир
  • Увлечения
    • Электроника
    • Опубликовано в ...
    • Arduino
    • ESP8266
    • Английский
    • Программирование
  • Деревня
    • Дом
    • Вокруг дома
    • Досуг
    • Природа
    • Ракеты
  • Автомобиль
  • Общение
    • Диалог
    • Обратная связь

Подключение датчика влажности DHT11

Picture
             "Играясь" с температурным датчиком DS18B20, попутно я обнаружил в интернет-магазинах не слишком дорогой приборчик для измерения температуры и влажности DHT11. Не слишком "крутой" по параметрам, но довольно интересный в плане использования в домашних самоделках. Простой интерфейс и алгоритм работы. Датчик хорошо "прописан" в интернете. 
             В работе я использовал хорошие статьи "безымянного автора" и ... еще одного "анонима". Надо сказать что целью было не столько подключить датчик, сколько продолжить работу с ЖКИ из электросчетчика в плане упрощения программирования. В качестве базы для работы я использовал Arduino UNO и ЖКИ с контроллером на HT-1621B.

Первым делом, мне захотелось упростить процедуру вывода информации на экран ЖКИ. Хотелось создать процедуру типа print() - чтоб строку вывел и она "засветилась". В примере обратите внимание на процедуры writeString(char Str[25]) и writeSymbol(byte pos, byte val, byte und, byte pnt). Первая выводит на индикатор восемь символов из строки Str. Вторая выводит символ val в заданную позицию pos. Если pnt = 1, то в разряде "включается" точка; если und = 1, то в данном разряде "включается" нижний элемент - подчеркивание/указатель (этот сегмент - особенность имевшегося у меня ЖКИ). 
В строке, выводимой на индикатор процедурой writeString() можно управлять "этим подчеркиванием" - для его включения перед выводимым символом надо поставить восклицательный знак! Процедура рассчитана на вывод символов из первой части таблицы ASCII с кодами от 0х20 до 0х5F, конечно "в меру возможностей семисегментного индикатора" (это можно посмотреть в массиве byte arrASCII[48][3]). Пример выводит на индикатор мигающую надпись "HELLO I " и ничего не значащие цифры...

Picture
Теперь, собственно, о DHT11...
Схема подключения датчика DHT11 показана слева. Так как шина данных напоминает 1-Wire, то требуется подтягивающий резистор около 5КОм. Пять вольт - вполне комфортное для датчика напряжение питания.
Библиотеку для работы с DHT11 я брал тут. Впервые (!) библиотека заработала сразу - никакой доработки или исправлений не потребовалось... Пример скетча я взял готовый с упомянутого выше сайта... 
Подключил, залил, включил монитор СОМ порта и... узнал какая в комнате температура и влажность! (Оказалось слишком сухо для комфортного обитания...)


          Дальше я подключил к Arduino UNO жидкокристаллический индикатор с контроллером HOLTEK HT-1621B как описано в предыдущей статье.
          Добавил в скетч библиотеку для HT-1621, вышеописанные процедуры вывода данных и получился такой примерчик.
          Результат работы программы показан на фото справа.
На соседней картинке видны провода схемы подключения.
... получился готовый прибор для измерения температуры и влажности...
Picture
Picture
Picture
Picture
На достигнутом останавливаться не стал. Вспомнил, что есть еще Bluetooth модуль HC-06, описанный ранее...
Подключаем модуль к последовательному интерфейсу Arduino UNO:  Pin 0(Rx) и Pin 1(Tx).
Скетч даже переписывать не нужно (хотя "служебный мусор" не мешало бы убрать). 
Теперь наша "метеостанция" не только "измеряет и показывает", но и по Bluetooth передает данные любому желающему при наличии у него "блютусовского терминала". На фото показан Android телефончик с открытой терминальной программой и результатами замера температуры и влажности...
опубликовано 28.02.2014
При поддержке
✕