NodeMCU ESP8266 DHT22 liest nan (2147483647)

Ich bin neu in Elektronik und Mikrocontrollern und hoffe, dass dies der richtige Ort auf StackExchange ist. Ich habe mit einem Arduino Micro herumgespielt, verschiedene Sensoren und ein Display angeschlossen und Daten angezeigt.

Ich habe gerade eine NodeMCU gekauft, damit ich Sensorwerte mit einem DHT22 an eine Datenbank senden kann. Dies ist der erste Test, weitere Sensoren werden folgen.

Ich verwende Arduino Studio mit der Board-Konfiguration für dieses Gerät.

Alles funktioniert gut, WLAN, Seriell, aber ich bekomme nur schlechte Messwerte vom Sensor.

  • Ich habe 2 DHT22 mit meinem Arduino überprüft, sie funktionieren.
  • Ich habe gelesen, dass der Arduino Pull-ups integriert hat und ein ESP8266 sie möglicherweise nicht hat, also habe ich 4,7 k und 10 k zwischen Daten und 3,3 V hinzugefügt. Aber ganz sicher bin ich mir da nicht.
  • Der DHT22 verwendet 3,3 V auf der NodeMCU und dem Arduino. Nicht 5V. -> Arduino funktioniert.
  • Ich habe verschiedene D-Pins ausprobiert
  • Ich habe versucht, Codezeilen wie dht.begin, pinMode usw. zu entfernen oder hinzuzufügen.
  • Ich habe das DHTtest-Beispiel verwendet, das auch schlechte Messwerte erhält.
  • Ich habe andere Projekte gefunden - Wetterüberwachung - die ihre Verkabelung zeigten. Einige von ihnen verwendeten auch keinen Pull-up-Widerstand. Ich habe es auch ohne probiert.
  • Verkabelung mehrfach geprüft -> ich hoffe ich bin jetzt nicht blind.
  • Ich habe die hinzugefügten Widerstände gemessen -> ok
  • Spannung zwischen GND und 3,3V gemessen -> ok
  • Ich habe (noch) kein Oszilloskop, also weiß ich nicht, was auf der Datenleitung ist.

Also mache ich hier etwas falsch, aber ich kann nicht herausfinden, was.

Danke für die Hilfe. Sehr geschätzt.

Posten Sie ein Schema und einen Code von dem, was Sie versucht haben. Halten Sie sich vorzugsweise an Beispielcode, den jemand getestet hat.
pastebin.com/f0x5xada - Das Beispiel aus der DHT-Bibliothek. Ich habe nur die DHTPIN geändert
pasteboard.co/IjmFJmf.jpg - Bild ist in Ordnung? i4 und i5 sind 3V und GND. Der Widerstand C6 C7 ist 10k, der andere der 4,7k, der zuvor versucht wurde. e8 ist leer. Wenn es noch etwas gibt, das hilft, stelle ich es gerne zur Verfügung.
In diesem Bild sind Daten mit D3 verbunden. Ich habe den Beispielcode geändert und DHTPIN auf 3 gesetzt.

Antworten (1)

Hatte jetzt nach einiger Zeit etwas Zeit mich um dieses Problem zu kümmern.

Ich habe zufällig den Grund gefunden. Zuerst dachte ich, es sei ein Problem mit dem Steckbrett oder den Überbrückungskabeln. Aber später fand ich heraus, dass ich das DHT22 ausgesteckt hatte, während der Controller eingeschaltet war.

Es ist also das gleiche Problem, da DHT22 einen elektrischen Reset benötigt?