DHT11 funktioniert nicht

Hallo,

ich möchte beginnen einige Projekte mit einem Arduino Uno zu machen. Dafür möchte ich zuerst alle Sensoren, die ich so habe ausprobieren. Zur Zeit hänge ich am DHT11 fest.
Ich habe einen, bei dem aber schon die 4 Anschlüsse auf 3 reduziert wurden. (Siehe Foto)

Außerdem habe ich die Bibliothek geladen und den Test Code verwendet. Dort habe ich die Version ausgewählt und den Pin geändert.

#include "DHT.h"

#define DHTPIN 8     

// Uncomment whatever type you're using!
#define DHTTYPE DHT11   // DHT 11
//#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  Serial.println("DHTxx test!");

  dht.begin();
}

void loop() {

  delay(2000);
  float h = dht.readHumidity();

  float t = dht.readTemperature();

  float f = dht.readTemperature(true);

  
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

 
  float hif = dht.computeHeatIndex(f, h);
 
  float hic = dht.computeHeatIndex(t, h, false);

  Serial.print("Humidity: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(t);
  Serial.print(" *C ");
  Serial.print(f);
  Serial.print(" *F\t");
  Serial.print("Heat index: ");
  Serial.print(hic);
  Serial.print(" *C ");
  Serial.print(hif);
  Serial.println(" *F");
}

(Aufbau siehe Foto)

Ich erhalte keinen Fehler. Aber es kann nicht vom Sensor gelesen werden.
Ich habe es mit einem zweiten Sensor versucht, falls der erste kaputt sein sollte, aber auch das ging nicht. Bei beiden erhalte ich die Meldung:

Failed to read from DHT sensor!

Nun weiß ich nicht mehr, woran es noch liegen könnte.

Ich hoffe, dass ihr mir helfen könnt.

Danke, TinaG

Ich habe einen, bei dem aber schon die 4 Anschlüsse auf 3 reduziert wurden. (Siehe Foto)

Dein Modul scheint ja den Pullup-Widerstand drauf zu haben. Sonst fällt mir nicht viel ein, ausser
Auch 3 Pins wollen richtig angeschlossen werden :wink:

Liefern denn alle 3 Werteabfragen den Fehlerwert NaN ?

Mach mal einen PullUp Widerstand von ca. 2,2 Kiloohm vom Dateneingang gegen +5V, dann sollte es funktionieren. Der ist nicht in jedem Tutorial erwähnt.

Ich habe es schon mit und ohne PullUp Widerstand versucht.

(Das Bild vom Aufbau war wohl zu groß, deshalb jetzt -hoffentlich- nochmal mit)

#define DHTPIN 8

Ich sehe ihn an 10.

Wenn du in die DHT Library einsteigen willst, kannst du spasseshalber

#define DHT_DEBUG

vor die Zeile

#include "DHT.h"

schreiben und gucken, ob überhaupt irgendwas sinnvolles passiert.

michael_x:
Ich sehe ihn an 10.

Das ist richtig, ich hatte ihn, als ich das Foto gemacht habe, noch auf der 10. Beim zweiten Aufbau, mit dem Test Code habe ich ihn dann umgesteckt :wink:

Da ich noch nicht viel Erfahrung mit Programmieren habe.. was sollte denn passieren, wenn ich die Zeile einfüge?
Bzw. wo sollte ich da nachschauen?

Ich habe es jetzt einfach mit der Zeile erneut gestartet und bekomme die gleiche Fehlermeldung.

Hallo,

es gibt zwei Versionen der DHT11 auf Platine. Die einen haben den Datapin in der Mitte, die andere an der Seite, wo S steht. Du hast die zweite Version. Deshalb hast du den Sensor falsch angeschlossen. Richtiger Anschluss: DHT11-Pinout-for-three-pin.jpg
und how-to-set-up-the-dht11-humidity-sensor-on-an-arduino/

Hoffentlich hat der Sensor den falschen Anschluss überlebt.

Vielen Dank, jetzt funktioniert es :slight_smile:

Theseus:
Hoffentlich hat der Sensor den falschen Anschluss überlebt.

Ja hat er zum Glück :slight_smile: