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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
 
Нет описания правки
 
(не показаны 4 промежуточные версии 2 участников)
Строка 1: Строка 1:
{{ESP8266 панель перехода}}
{{ESP8266 панель перехода}}
{{Myagkij-редактор}}
{{Myagkij-редактор}}
{{Черновик}}


=Считывание данных с датчика температуры и влажности DHT11/DHT22 подключенного к модулю ESP-01 с выводом в последовательный порт=  
=Считывание данных с датчика температуры и влажности DHT11/DHT22 подключенного к модулю ESP-01 с выводом в последовательный порт=  
Строка 20: Строка 18:
* Открыть монитор порта и наблюдать за выводом температуры и влажности;
* Открыть монитор порта и наблюдать за выводом температуры и влажности;


* '''Примечание''': Если вы перезагрузили модуль и обнаружили в мониторе порта иероглифы, проверьте отключили ли вы перемычку идущую от '''GPIO0''' к земле(желательно подключить '''GPIO0''' через '''10кОм''' резистор к '''3.3В'''). Отключите перемычку и снова перезагрузите модуль.
{{Примечание1|1=Если вы перезагрузили модуль и обнаружили в мониторе порта иероглифы, проверьте отключили ли вы перемычку идущую от '''GPIO0''' к земле(желательно подключить '''GPIO0''' через '''10кОм''' резистор к '''3.3В'''). Отключите перемычку и снова перезагрузите модуль.}}


==Необходимые компоненты==
==Необходимые компоненты==
Строка 39: Строка 37:
==Код==
==Код==


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
#include "DHT.h"                                      // Подключаем библиотеку DHT
#include "DHT.h"                                      // Подключаем библиотеку DHT


Строка 77: Строка 75:


<references />
<references />
{{Навигационная таблица/Портал/ESP8266}}


[[Категория:ESP8266]]
[[Категория:ESP8266]]

Текущая версия от 12:31, 18 июня 2023

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


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

См.также

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