Heute frage ich in die Runde, ob wer eine Idee hat, was ich mit einem rumzickenden DHT22 Temperatur/Luftfeuchte-Sensor noch probieren könnte. Ich benutze die Adafruit DHT-sensor-library-master 1.3.4. Mit der 1.3.0 trat der Fehler auch auf.
Was läuft schief?
Ein Bild sagt mehr als viele Worte, die grüne Linie ist die Temperaturmessung eines DHT22:
Mein Problem:
Jedes Mal, wenn ich Firmware flashe oder den Arduino resete oder das ganze System (Yun) neustarte, hängt einer meiner beiden DHT22 bei konstanten 8,01°C. Sonst funktioniert alles.
Ziehe ich dann im laufenden Betrieb das Datenkabel des betroffenen Sensors aus dem Pin und stecke es wieder rein, dann liest er korrekt ab ab dann.
Hardwarefehler oder sowas wie bei @clemens kann ich ausschließen, da ich zwei DHT22 drin hängen habe und, wenn ich sie vertausche, dann liefert der andere den Fehler.
Der gesamt Sketch ist hier in meinem dev-repo.
Mit diversen delays an verschieden Stellen hab ich experimentiert. Half nix.
Hier die DHT22-Ausschnitte aus dem sketch:
...
#include "DHT.h"
#define DHT1PIN 2
#define DHT2PIN 3
#define DHT1TYPE DHT22
#define DHT2TYPE DHT22
DHT dht1(DHT1PIN, DHT1TYPE);
DHT dht2(DHT2PIN, DHT2TYPE);
...
void setup()
{
...
dht1.begin();
dht2.begin();
... }
void loop()
{
...
h1 = dht1.readHumidity();
t1 = dht1.readTemperature();
h2 = dht2.readHumidity();
t2 = dht2.readTemperature();
...
}
...
Das ganze ist kein Riesenproblem, aber es nervt ein bisschen, weil ich ja mit dem Yun fernwarten will, und dann nicht an den Pins rumspielen kann…
Ich freu mich, wenn wer eine Idee hat und träume schon mal davon.
Gute Nacht!