Урок ESP8266. DHT11 Подключение к ESP8266.

Разработка проектов под заказ

Цель данного урока - показать, как подключить датчик DHT11 к ESP8266 и написать простую программу для измерения температуры и влажности. Будем использовать Arduino IDE для программирования ESP8266.

Аппаратные средства урока DHT11 Подключение к ESP8266.

Для урока нам понадобиться модуль DHT11. Как подключить модуль DHT11 к Arduino у меня на сайте есть отдельный урок KY-015 - Модуль с датчиком температуры и влажности DHT11. Подключение к Arduino. Кроме этого вы можете найти подробный урок по выводу значений температуры и влажности с датчика DHT11 в браузер. А сегодня мы рассмотрим самый простой пример использования датчика DHT11 с отладочной платой ESP8266.

пример использования датчика DHT11 с отладочной платой ESP8266.

DHT11 может измерять как температуру, так и влажность, и идеально подходит для простых проектов по мониторингу окружающей среды. Он имеет точность измерения 1ºC для температуры и 1% RH (относительной влажности). И диапазон измерения температуры от 0 ° C до 50 ° C.

Подключение датчика к ESP8266 очень простое, как показано на рисунке ниже. В этом случае мы предполагаем использование GPIO2 (который является одним из немногих, доступных при использовании платы ESP-01 ). Тем не менее, вы можете подключить его к другому контакту GPIO. В случае использования платы NodeMCU примите во внимание, что порядок выводов на плате не соответствует выводам ESP8266, что может привести к ошибочным результатам (вы можете проверить распиловку ESP-01и NodeMCU здесь ).

Также примите во внимание, что разные модули DHT11 могут иметь разное расположение сигнального контакта «S».

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

Как указывалось ранее, предполагаем использование IDE Arduino для программирования ESP8266. Пожалуйста, ознакомьтесь с подробным руководством здесь, если вы еще не настроили его для поддержки плат ESP8266.

Существует несколько библиотек для Arduino, которые упрощают нашу задачу взаимодействия с DHT11. Библиотека датчиков Simple DHT очень проста в использовании и хорошо работает с ESP8266. Эту библиотеку можно легко установить с помощью диспетчера библиотек Arduino IDE Library, как показано на рисунке.

диспетчера библиотек Arduino IDE Library

Библиотека датчиков Simple DHT

Код для вывода температуры с датчика DHT11.

Чтобы импортировать только что установленную библиотеку, поместите следующий include в начало кода:

#include <SimpleDHT.h>

Также объявите глобальную переменную с номером вывода GPIO, чтобы упростить изменение. В этом примере будем использовать GPIO2:

int DHTpin = 2;

Чтобы разрешить отправку данных на компьютер, запустите последовательное соединение в функции настройки:

Serial.begin(115200);

В основном цикле объявим две байтовые переменные, одну для температуры, а другую для влажности:

byte temperature;
byte humidity;

Мы используем байтовые переменные, поскольку DHT11 имеет разрешение всего 8 бит, как для температуры, так и для влажности.

Наконец, также в функции основного цикла считываем значения и отправляем их в последовательный порт:

if ((err = dht11.read(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
    Serial.print("temperature: "); Serial.print((int)temperature); Serial.println("ºC");
    Serial.print("Humidity: "); Serial.print((int)humidity); Serial.println("%");
  } else {
    Serial.print("Failed.");
  }

Всегда проверяйте, возвращает ли функция чтения ошибку, прежде чем пытаться использовать или отправлять данные другому объекту. Кроме того, как указывалось ранее, дважды проверьте подключение датчика DHT11, особенно если вы используете nodeMCU. Например, в этом случае я тестировал код, используя именно плату NodeMCU, и номер контакта 4 («D4») платы - это тот, который соответствует GPIO2 ESP8266. Для NodeMCU можно использовать подключение к контакту 4, для этого в коде прописываем контакт подключения не «GPIO2», а «D4».

 который соответствует GPIO2 ESP8266. Для NodeMCU

Кроме этого, не забудьте установить задержку между чтениями показаний с датчика.

delay(2000);

Если откроете последовательный монитор Arduino IDE, вы должны увидеть что-то похожее на это.

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

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

подключить DHT11 к ESP8266


Заключение.

Как видите, подключить DHT11 к ESP8266 довольно просто. Хотя в этом руководстве объясняется только, как отправлять данные на компьютер с помощью последовательного соединения, очень легко адаптировать код для отправки измерений на удаленный сервер, используя функции ESP8266. Вы можете посмотреть здесь, пример регистратора температуры, который отправляет данные на веб-сервер, используя ESP32, ESP8266 и DHT11.

Понравился Урок DHT11 Подключение к ESP8266? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

Спасибо за внимание!

Технологии начинаются с простого!

Фотографии к статье

Файлы для скачивания

Код для вывода температуры с датчика DHT11 Код для вывода температуры с датчика DHT11.ino1 Kb 7 Скачать

Комментарии

Ваше Имя*