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

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

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


Считывание данных с датчика температуры и влажности 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В). Отключите перемычку и снова перезагрузите модуль.

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

Схема


Код

#include "DHT.h"                                       // Подключаем библиотеку DHT

#define DHTPIN 2                                       // Объявляем номер вывода для датчика
#define DHTTYPE DHT11                                  // Объявляем тип датчика DHT11(но если у вас DHT22, указывайте его)

DHT dht(DHTPIN, DHTTYPE);                              // Создаем объект датчика

void setup() 
{
  Serial.begin(115200);                                // Инициализируем последовательный порт
  dht.begin();                                         // Инициализируем датчик
}
void loop() 
{
  delay(2000);                                         // Пауза 2 секунды
  float h = dht.readHumidity();                        // Считываем влажность
  float t = dht.readTemperature();                     // Считываем температуру в градусах Цельсия

  if (isnan(h) || isnan(t)) {                          // Проверяем, нет ли ошибки измерения
    Serial.println("Failed to read from DHT sensor!");
  }
  
  // Выводим считанные данные на печать в последовательный порт
  Serial.print("Humidity: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(t);
  Serial.println(" *C ");
}

См.также

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