ESP8266:Примеры/Считывание данных с датчика температуры и влажности DHT11/DHT22 подключенного к модулю ESP-01 с выводом в последовательный порт
Перейти к навигации
Перейти к поиску
Поддержать проект | Содержание | Введение | Модули | AT-команды | Прошивки | Примеры | Проекты | Типовые проблемы | Библиотеки |
Проверка/Оформление/Редактирование: Мякишев Е.А.
![]() |
Черновик |
Содержание
Считывание данных с датчика температуры и влажности 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, 1шт.;
- Источник питания 3,3 В, 1 шт.;
- Конвертер USB/TTL на базе чипа FT232RL от FTDI, 1 шт.;
- Датчик DHT11/DHT22, 1 шт.;
- Резистор 10кОм, 1 шт.;
Схема
Код
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 }
См.также
Внешние ссылки