Невозможно использовать DHT11 с NodeMCU (esp8266)

Я пытаюсь использовать NodeMCU как Arduino, пытаюсь считать температуру и влажность с помощью DHT11, но когда я когда-либо проверяю последовательный монитор, он выводит: nan, Может ли кто-нибудь помочь мне найти проблему. (Контакт данных это D4 на NodeMCU)

    #include "DHT.h"

DHT dht2(2,DHT11);

    void setup()
    {
      Serial.begin(9600);

    }


void loop()
{

    Serial.println("Temperature: ");
    Serial.println((dht2.readTemperature( )));
    Serial.println("Humidity");
    Serial.println((dht2.readHumidity( )));
    delay(5000);

}

, 👍0

Обсуждение

используйте D1 или D2. D4 имеет подтягивающий резистор, @Juraj

Спасибо, манхх, ты молодец!!, @Akshay Raj


1 ответ


1

Контакты конфигурации загрузки esp8266 0, 2, 15 требуют подтяжки вверх/вниз, чтобы обеспечить требуемое состояние при загрузке. Плата (в данном случае NodeMCU) имеет подтягивающий резистор на io0 и io2 и подтягивающий резистор на контакте 15. Контакты MCU io0, io2 и io16 — это контакты NodeMCU D3, D4 и D8. Вы можете использовать эти контакты в скетче, но только для подключения устройств, которые не конфликтуют с требуемым состоянием загрузки и не нарушаются подтягиванием/вытягиванием вниз.

Обзор выводов и ввода-вывода NodeMCU и "Wemos D1 R2 and Mini" esp8266


Серийный

RX io1 RX0

TX io3 TX0


выводы конфигурации загрузки с подтягиванием или опусканием на плате

D3 io0 PULLUP (LOW для загрузки в режим прошивки)

D4 io2 TX1 PULLUP (Serial1 TX. Нет RX для Serial1)

D8 io15 PULLDOWN (вывод SS, если esp8266 является подчиненным SPI)


безопасные GPIO с дополнительной функцией для шины I2C или SPI:

Вывод D1 io5 по умолчанию для I2C SCL

Вывод D2 io4 по умолчанию для I2C SCA

D5 io14 SPI CLK

D6 io12 SPI MISO

D7 io13 SPI MOSI


Контакт RTC для выхода из глубокого сна по времени (если он подключен к контакту сброса)

D0 io16 — необязательная внутренняя подтяжка, внутренняя подтяжка недоступна


не используется: контакты Sx io 6 и io 11 подключают флэш-память QIO SPI (в режиме флэш-памяти DIO 2 контакта QIO могут использоваться как gpio) (в очень специальная настройка, шина SPI может использоваться с другим устройством SPI)

примечание: большинство цифровых операций ввода-вывода начинаются с INPUT_PULLUP

,