ESP8266:Примеры/Считывание данных с датчика температуры и влажности DHT11/DHT22 подключенного к модулю ESP-01 с выводом в последовательный порт

Материал из Онлайн справочника
Перейти к: навигация, поиск

Проверка/Оформление/Редактирование: Мякишев Е.А.


Ambox content.png Черновик


Считывание данных с датчика температуры и влажности DHT11/DHT22 подключенного к модулю ESP-01 с выводом в последовательный порт

В этом примере демонстрируется cчитывание данных с датчика температуры и влажности DHT11 подключенного к модулю ESP-01 и вывод полученных данных в последовательный порт.

Для выполнения этого примера вам необходимо:

  • Установить аддон ESP8266 для IDE Arduino;
  • Установить библиотеку DHT;
  • Собрать схему и подключить конвертер USB FTDI к компьютеру, но не подключайте пока перемычку идущую на вывод VCC модуля ESP-01;
  • Вставить код программы в Arduino IDE;
  • Выбрать в меню Иструменты->Порт: соответствующий COM-порт;
  • Выбрать в меню "Инструменты->Плата" плату "Generic ESP8266 Module";
  • Нажать кнопку "Загрузка";
  • Подключить перемычку идущую на вывод VCC модуля ESP-01. Т.к. вывод GPIO0 подключен к земле, модуль при включении перейдет в режим загрузки;
  • Дождаться загрузки;
  • Открыть монитор порта и наблюдать за выводом температуры и влажности;
  • Примечание: Если вы перезагрузили модуль и обнаружили в мониторе порта иероглифы, проверьте отключили ли вы перемычку идущую от GPIO0 к земле(желательно подключить GPIO0 через 10кОм резистор к 3.3В). Отключите перемычку и снова перезагрузите модуль.

Необходимые компоненты

Схема

Esp-01 dht11 rest api 1.png


Pinout ESP8266.jpg

Код

  1. #include "DHT.h"                                       // Подключаем библиотеку DHT
  2.  
  3. #define DHTPIN 2                                       // Объявляем номер вывода для датчика
  4. #define DHTTYPE DHT11                                  // Объявляем тип датчика DHT11(но если у вас DHT22, указывайте его)
  5.  
  6. DHT dht(DHTPIN, DHTTYPE);                              // Создаем объект датчика
  7.  
  8. void setup()
  9. {
  10.   Serial.begin(115200);                                // Инициализируем последовательный порт
  11.   dht.begin();                                         // Инициализируем датчик
  12. }
  13. void loop()
  14. {
  15.   delay(2000);                                         // Пауза 2 секунды
  16.   float h = dht.readHumidity();                        // Считываем влажность
  17.   float t = dht.readTemperature();                     // Считываем температуру в градусах Цельсия
  18.  
  19.   if (isnan(h) || isnan(t)) {                          // Проверяем, нет ли ошибки измерения
  20.     Serial.println("Failed to read from DHT sensor!");
  21.   }
  22.  
  23.   // Выводим считанные данные на печать в последовательный порт
  24.   Serial.print("Humidity: ");
  25.   Serial.print(h);
  26.   Serial.print(" %\t");
  27.   Serial.print("Temperature: ");
  28.   Serial.print(t);
  29.   Serial.println(" *C ");
  30. }

См.также

Внешние ссылки