NodeMCU ESP8266 DHT22 leyendo nan (2147483647)

Soy nuevo en electrónica y microcontroladores y espero que este sea el lugar correcto en StackExchange. He estado jugando con un Arduino Micro, conectando diferentes sensores y una pantalla y datos de visualización.

Acabo de comprar un NodeMCU para poder enviar los valores de los sensores a una base de datos usando un DHT22. Esta es la primera prueba, seguirán otros sensores.

Estoy usando Arduino Studio con la configuración de la placa para este dispositivo.

Todo funciona bien, Wifi, Serial, pero solo obtengo malas lecturas del sensor.

  • Revisé 2 DHT22 con mi Arduino, funcionan.
  • Leí que Arduino tiene pull-ups integrados y es posible que un ESP8266 no los tenga, así que agregué 4.7k y 10k entre datos y 3.3V. Pero no estoy completamente seguro de esto.
  • El DHT22 está usando 3.3V en NodeMCU y Arduino. No 5V. -> Arduino funciona.
  • Probé diferentes pines D
  • Intenté eliminar o agregar líneas de código como dht.begin, pinMode, etc.
  • Usé el ejemplo de DHTtest que también obtiene malas lecturas.
  • Encontré otros proyectos, Monitoreo del clima, que mostraban su cableado. Algunos de ellos tampoco usaron una resistencia pull-up. También lo probé sin.
  • El cableado se revisó varias veces -> Espero no estar ciego en este momento.
  • Medido las resistencias que agregué -> ok
  • Medido el voltaje entre GND y 3.3V -> ok
  • No tengo un osciloscopio (todavía), así que no sé qué hay en la línea de datos.

Así que estoy haciendo algo mal aquí, pero no puedo entender qué.

Gracias por la ayuda. Muy apreciado.

Publique un esquema y un código de lo que ha intentado. Preferiblemente, apéguese al código de muestra que alguien probó.
pastebin.com/f0x5xada - El ejemplo de la biblioteca DHT. Cambié solo el DHTPIN
pasteboard.co/IjmFJmf.jpg - ¿La imagen está bien? i4 e i5 es 3V y GND. La resistencia C6 C7 es de 10k, la otra de 4.7ki probé antes. e8 está vacío. Si hay algo más que ayude, con gusto se lo proporcionaré.
En esta imagen, los datos están conectados a D3. Modifiqué el código de ejemplo y configuré DHTPIN en 3.

Respuestas (1)

Ahora tuve algo de tiempo después de un tiempo para ocuparme de este problema.

Accidentalmente encontré la razón. Al principio pensé que era un problema con el protoboard o los cables de puente. Pero luego descubrí que desconecté el DHT22 mientras el controlador estaba encendido.

Entonces, ¿es el mismo problema que DHT22 necesita reinicio eléctrico?