Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь. |
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В). Отключите перемычку и снова перезагрузите модуль.
Необходимые компоненты
- Модуль с ESP-01, 1шт.;
- Источник питания 3,3 В, 1 шт.;
- Конвертер USB/TTL на базе чипа FT232RL от FTDI, 1 шт.;
- Датчик DHT11/DHT22, 1 шт.;
- Резистор 10кОм, 1 шт.;
Схема
Код
- #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 ");
- }
См.также
Внешние ссылки