Контроллер гроубокса с датчиком температуры и влажности воздуха DHT22.

Управление поливом и освещением

К предыдущему проекту контроллера гроубокса добавим датчик температуры и влажности воздуха. Статья также может быть полезна, как пример аппаратного и программного подключения датчиков DHT22, DHT11 к микроконтроллеру ESP8266.

Предыдущая статья     Список статей     Следующая статья

Сейчас лето. Банан вырвался на свежий воздух, растет на даче. По 2 новых листа в неделю выпускает.

Японский банан в открытом грунте

Гроубокс не нужен. Все отлично и в открытом грунте растет. Думал отложить продолжение разработки контроллера до осени, но она заинтересовала Игоря из Минска. Он собрал контроллер, активно эксплуатирует и дорабатывает его. В данный момент именно он является движущей силой проекта. Планы по расширению функций контроллера у Игоря большие. Также есть желание разработать новое устройство с гораздо большими функциональными возможностями.

 

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

 

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

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

Датчик DHT22

Главное для пользователя:

  • выполнены в одном миниатюрном корпусе;
  • передают данные измерений в цифровом коде;
  • подключаются к микроконтроллеру по однопроводной линии связи;
  • откалиброваны при производстве;
  • имеют достаточно высокие метрологические параметры.

Различие датчиков DHT22 и DHT11 заключается в том, что DHT22 имеет более высокую точность и более широкий диапазон измерений по сравнению с DHT11. Подключение датчиков к микроконтроллеру, назначение выводов, протоколы обмена совершенно одинаковы.

Оба датчика производятся компанией Aosong(Guangzhou) Electronics Co.,Ltd. Официальную техническую информацию можно посмотреть по ссылкам: DHT22 и DHT11.

Я выделю главные параметры.

Параметры DHT22 DHT11 Ед.
изм.
Мин. Тип. Макс. Мин. Тип. Макс.
Измерение влажности
Диапазон 0 99,9 20 90 %
Разрешающая способность 0,1 1 %
Точность (при 25 C°) ± 2 ± 5 %
Повторяемость ± 0,3 ± 1 %
Стабильность за длительное время ± 0,5 ± 0,5 %/год
Время отклика 5 6 сек
Измерение температуры
Диапазон - 40 80 0 50
Разрешающая способность 0,1 1
Точность (при 25 C°) ± 0,5 ± 1 ± 2
Повторяемость ± 0,2 0,2
Время отклика 10 10 сек
Питание
Напряжение 3,3 5 5,5 3,3 5,5 В
Потребляемый ток в режиме:

  • покоя;
  • измерения;
  • средний
15
500
300
60
300
мкА
Сигналы интерфейса
Выходное напряжение низкого уровня 0 0,3 В
Выходное напряжение высокого уровня 90 100 % Vdd
Входное напряжение низкого уровня 0 30 % Vdd
Входное напряжение высокого уровня 70 100 % Vdd
Сопротивление подтягивающего резистора 30 45 60 кОм
Выходной ток 8 мА

Контроллер допускает подключение датчиков обоих типов, но при использовании DHT22 измерения будут значительно точнее.

 

Подключение датчиков.

Данные измерений передаются микроконтроллеру цифровым кодом по однопроводной линии связи. Поэтому для подключения достаточно одного вывода микроконтроллера. Конечно, еще необходимо на датчик подать питание.

В протоколе обмена разбираться необходимости нет. Будем использовать готовые библиотеки.

Назначение выводов (распиновка) датчиков DHT22 и DHT11 совершенно одинаково.

Распиновка датчиков DHT22 DHT11

Для отладки программы я использовал модуль Node MCU. Датчик подключил к выводу 12 (D6).

Вот полная схема контроллера.

Схема подключения DHT22 к ESP8266

Линия связи датчика имеет выход с “открытым коллектором”, поэтому необходим подтягивающий резистор 5,1 кОм.

Так у меня выглядит собранный макет устройства.

Макет контроллера гроубокса

 

Установка библиотек для работы с датчиками.

В предыдущих уроках мы уже установили в Arduino IDE “Дополнительную ссылку для Менеджера плат”. Если нет, то сделайте это в закладках Файл-> Настройки->.

Arduino IDE дополнительные ссылки

Чтобы установить библиотеки, необходимо перейти по закладкам Инструменты -> Управлять библиотеками и в открывшемся окне выбрать нужные библиотеки.

Нам необходимы следующие 2 библиотеки:

  • Adafruit Unified Sensor;
  • DHT sensor library.

Подключение библиотеки Adafruit Unified Sensor

Подключение библиотеки DHT sensor library

Кстати. Я говорил, что у меня при подключении телефона к сети WiFi гроубокса иногда контроллер зависает на несколько секунд. Игорь из Минска советует установить старую библиотеку поддержки платы. С ней этой проблемы нет.

Подключение старой библиотеки

Теперь можно загружать код в микроконтроллер.

 

Резидентная программа контроллера.

Исходный код программы можно загрузить по ссылке.

  Зарегистрируйтесь и оплатите. Всего 40 руб. в месяц за доступ ко всем ресурсам сайта!  

Интерфейс программы изменился незначительно. В основном окне появились строки:

Строки показания температуры и влажности

Полностью окно программы выглядит так.

Основное окно программы

Остается добавить, что при использовании датчика DHT11 надо строку

DHT dht(DHT_PIN, DHT22);

заменить на

DHT dht(DHT_PIN, DHT11);

Но точность измерений при этом упадет.

 

В следующей статье рубрики “Умное растениеводство” в контроллере появится функция автоматического включения вентиляторов для стабилизации температуры и влажности воздуха.

Предыдущая статья     Список статей     Следующая статья

0

Автор публикации

не в сети 2 дня

Эдуард

214
Комментарии: 1748Публикации: 178Регистрация: 13-12-2015

2 комментария на «Контроллер гроубокса с датчиком температуры и влажности воздуха DHT22.»

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных".