Problem mit DHT22

Ein freundliches Hallo in die Runde :slight_smile:

Ich habe da ein kleines Problem mit dem DHT22-Sensor. Und zwar habe ich ja meine Terrarien automatisiert, und im Falle eines Stromausfalls sollten sie wieder normal starten, sobald die Sicherung wieder drin ist. Mir ist aber aufgefallen, dass der DHT22 keine Daten sendet, wenn man die Versorgung kappt und wieder einschaltet. Folge: der Arduino denkt, im Terrarium seien 0Grad, und er regelt die Lampen auf volle Beleuchtung. (ung├╝nstig im Sommer....)
Erst wenn ich dann den Reset-Taster am Arduino bet├Ątige sendet der DHT22 die Daten so, wie er soll.
Dachte schon, der Sensor braucht etwas Zeit, um zu "starten".... aber ein 50ms-Delay vor dem dht.setup bewirkt nichts....
Was ├╝bersehe ich? :-[

dht22.begin();

Ich denke mal, diese Zeile hier in void setup, initialisiert den DHT.
Wenn null Grad, dann Init, wenn Init 3x fehlgeschlagen, dann Sensor kaputt oder wirklich null Grad.
Oder du verbaust noch einen DS18B20 und guckst, was der macht. Wenn beide null, dann wirklich null, wenn der DS18B20 nicht antwortet, dann sinds, glaube ich, 89┬░C, wenn das Datenpaket nicht lesbar ist, dann sinds 127┬░C... So in der Art dann ein Ausschlussverfahren. Wenn beide das Gleiche liefern in einem gewissen Toleranzfenster, dann ist der gemessene Wert plausibel, wenn einer der oben genannten Werte kommt, und der andere was anderes zeigt, dann den unlogischen Wert verwerfen...
Wird aufwendiger, aber so lassen sich Fehler abfangen.

Hallo,
ich kann mir nicht vorstellen, das man einen DHT nach einem Spannungsverlust des Arduino nur durch
Reset wieder zum laufen bekommt.

F├╝r diesen Sensor gibt es doch ganz einfache Beispiele zur Lib.
Nimm doch einmal nur Deinen Sensor und so ein Beispiel, funktioniert das?
Gru├č und Spa├č
Andreas

Wenn beide null, dann wirklich null

-->in einem Tropenterrarium bei 30Grad, Zimmertemperatur 25 Grad, und nach nem Neustart dann wieder 30? Wohl kaum^^
Die Temperatur wird mir ja die ganze Zeit angezeigt, nur halt falsch, wenn der Arduino durch Spannungsversorgung gestartet wird.

ich kann mir nicht vorstellen, das man einen DHT nach einem Spannungsverlust des Arduino nur durch
Reset wieder zum laufen bekommt.

-->Ich verstehe es halt auch nicht.

F├╝r diesen Sensor gibt es doch ganz einfache Beispiele zur Lib.
Nimm doch einmal nur Deinen Sensor und so ein Beispiel, funktioniert das?

-->Gleiche Symptomatik: habe den ganz normalen Beispielcode genommen, und dann noch hinzugef├╝gt, dass die LED bei Pin13 leuchtet, sobald die Temperatur unter 10Grad ist. St├Âpsel ich den Versorgungsstecker ab und wieder dran, dann leuchtet die LED (also ├╝bermittelt er wieder 0 Grad). Dr├╝cke ich den Resettaster, leuchtet sie nicht mehr, also funktioniert die Daten├╝bertragung wieder. Das Ganze kann ich wiederholen wie ich lustig bin, das Ergebnis wiederholt sich immer wieder. Macht mich irgendwie fuchsig >:(

Tu dir selber einen Gefallen, schmei├č die Arduinoplatine raus! Als Entwicklungswerkzeug ist sie ganz praktisch, aber f├╝r ein fertiges Projekt ist sie "suboptimal", um das man vorsichtig auszudr├╝cken. Zum einen kann der Bootloader Nebenwirkungen haben, dann ist die Stromversorgung ungl├╝cklich gel├Âst, so das man 5V nicht einfach von einem Steckernetzteil bereitstellen kann, dann scheint der Power on Reset auch nicht optimal zu sein. Lege einen 10K Widerstand vom Reset (Pin 1) nach + und einen 100n KerKo auf Masse. Nach dem Einschalten zieht der Kondensator Reset kurz nach Masse, so das er definiert gestartet wird. Das Ganze l├Ąuft dann auch stabiler.