DHT 22

Hallo zusammen,

ich habe eine Frage zum Anschluss eines DHT 22.
Laut Internetsuche muss ich den DHT 22 mit einem Pull-Up anschließen.
Aber wenn ich einen Blick in die Library werfe, dann steht da

void DHT::begin(void) {
  // set up the pins!
  pinMode(_pin, INPUT_PULLUP);
  // Using this value makes sure that millis() - lastreadtime will be
  // >= MIN_INTERVAL right away. Note that this assignment wraps around,
  // but so will the subtraction.
  _lastreadtime = -MIN_INTERVAL;
  DEBUG_PRINT("Max clock cycles: "); DEBUG_PRINTLN(_maxcycles, DEC);
}

Demnach wird bereits der interne Pull-Up des Arduino verwendet. Warum muss ich dann den DHT 22 über einen externen Pull-Up anschließen.

Danke und Gruß

Winnie_Arduino:
... Warum muss ich dann den DHT 22 über einen externen Pull-Up anschließen.

Gute Frage. Funktionieren sollte er so oder so, meine ich. Wenn der interne Pull-up-Widerstand aktiv ist, sollte man keinen externen mehr brauchen und umgekehrt.

Mein Vorschlag: Probier's erstmal ohne ext. Pull-up-Widerstand.

Gruß

Gregor

Der interne Pullup ist je nach Leitungslänge zu hochohmig, daher ist ein externer ggfls. nötig.

Klaus_ww:
Der interne Pullup ist je nach Leitungslänge zu hochohmig, daher ist ein externer ggfls. nötig.

Also je kürzer die Leitung umso hochohmiger muss der Pull-Up sein? Oder andersrum?
Warum ist das so? Und kann ich an den angezeigten Messwerten sehen, ob mein Pull-Up zu hoch oder zu niedrig ist?

Winnie_Arduino:
Also je kürzer die Leitung umso hochohmiger muss der Pull-Up sein? Oder andersrum?

ODER :slight_smile:
uh ... falhcs gelesen. Je kürzer die Leitung, desto weniger ist ein ext. Pull-up-Widerstand nötig.
Gruß

Gregor

PS:

Warum ist das so? Und kann ich an den angezeigten Messwerten sehen, ob mein Pull-Up zu hoch oder zu niedrig ist?

Warum das so ist, schreibt Klaus. Ob der Pull-up-Widerstand zu hoch oder zu niedrig ist, wirst Du an dem, was der Sensor misst, nicht ablesen können.

Zum Verständnis: Ein Pull-up-Widerstand sorgt dafür, dass an einem Pin ein „klarer, eindeutiger und unverwechselbarer“ (und sonstwas) Pegel anliegt. Wenn ein Pin „in der Luft hängt“, ist beim Auslesen nicht sicher, wie dessen „Zustand“ ist.

Danke für die Antworten :slight_smile:
Das Thema ist doch gar nicht sooo einfach und trivial.
Aber dann wäre es ja auch langweilig :smiley: :smiley:

Eine Frage hätte ich noch:

Wenn ich internen und externen Pull-Up gleichzeitig verwende...dann sind beide parallel geschaltet?

Winnie_Arduino:
Wenn ich internen und externen Pull-Up gleichzeitig verwende...dann sind beide parallel geschaltet?

Ja, beide sind mit GND und Plus verbunden.

Gruß

Gregor

Man kann übrigens auch super einen 0603 zwischen die Beinchen löten, wenn man den pull-up vorher vergessen hat.

gregorss:
Ja, beide sind mit GND und Plus verbunden.

Einigen wir uns auf Plus und den Eingang.

Klaus_ww:
Einigen wir uns auf Plus und den Eingang.

Uh ... ja. Feiertage sind hin und wieder verwirrend.

Gruß

Gregor