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

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

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


Pixel Art Mini Meow Animated.gif Черновик


Считывание данных с датчика температуры и влажности 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 }

См.также

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