Loliln32 mit DHT22

Hallo zusammen

Irgendwie bin ich im Moment blockiert.

Ich versuche gerade den DHT22 am LOLIN32 zum laufen zu bringen.

Eingang sollte der A2 sein, damit ich den gleichen Code wie beim ESP8266-01 verwenden kann.

Leider finde ich A2 nicht auf der Boardbezeichnung!

Hoffe es kann mir geholfen werden.

Danke Martin

Darter69: Ich versuche gerade den DHT22 am LOLIN32 zum laufen zu bringen.

Was ist ein "LOLIN32" ? Bitte liefer doch mal genaue Informatione, ein Hyperlink sollte das sein.

Der Link zur Wiki.

Ist ein ESP32 Modul

Darter69: Der Link zur Wiki.

Ist ein ESP32 Modul

Ist das auch dein Modul ?

Ist immer besser, wenn man tatsächlich auch das richtige Modul vor sich hat.

Z.B. sieht man hier auch die Anschlussbezeichnung.

Ja es ist mein Modul.

Leider finde ich nirgends ein A2.

Bekomme aber auch auf anderen Eingängen vom DHT kein Signal.

Die gleiche Schaltung funkt mit Arduino Uno und ESP8266-01

Darter69: Ja es ist mein Modul.

Leider finde ich nirgends ein A2

Ok, ist das ein Problem ? Du kannst doch auch einen anderen Pin verwenden und den im Sketch anpassen.

Wie im Post oben schon erwähnt, bekomme ich keine Signal

Darter69: Wie im Post oben schon erwähnt, bekomme ich keine Signal

Ok, dann nimm einen anderen Pin. Der DHT22 arbeitet auch mit anderen digitalen Pins.

Welche Pins hast du versucht ?

Darter69: Ja es ist mein Modul.

Leider finde ich nirgends ein A2.

Bekomme aber auch auf anderen Eingängen vom DHT kein Signal.

Die gleiche Schaltung funkt mit Arduino Uno und ESP8266-01

Wo hat der ESP8266 einen A2?

Gruß Tommy

// Example testing sketch for various DHT humidity/temperature sensors
// Written by ladyada, public domain

#include "DHT.h"

#define DHTPIN 2     // what digital pin we're connected to

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

// Connect pin 1 (on the left) of the sensor to +5V
// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
// to 3.3V instead of 5V!
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

// Initialize DHT sensor.
// Note that older versions of this library took an optional third parameter to
// tweak the timings for faster processors.  This parameter is no longer needed
// as the current DHT reading algorithm adjusts itself to work on faster procs.
DHT dht(DHTPIN, DHTTYPE);

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

  dht.begin();
}

void loop() {
  // Wait a few seconds between measurements.
  delay(2000);

  // Reading temperature or humidity takes about 250 milliseconds!
  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
  float h = dht.readHumidity();
  // Read temperature as Celsius (the default)
  float t = dht.readTemperature();
  // Read temperature as Fahrenheit (isFahrenheit = true)
  float f = dht.readTemperature(true);
/*
  // Check if any reads failed and exit early (to try again).
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
*/
  // Compute heat index in Fahrenheit (the default)
  float hif = dht.computeHeatIndex(f, h);
  // Compute heat index in Celsius (isFahreheit = false)
  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");
}

Dieser Code funktioniert auf Arduino aber auf dem ESP32 nicht.

Der Eingang ist der Richtige.

Den richtigen Port habe ich mit einer LED gefunden. Der ist sicher schon mal richtig.

Und ist richtig ESP8266 hat nur 2 nicht A2

Es gibt eine eigene DHT-Lib für den ESP32. Benutzt Du die? Bitte gib uns einen Link zu Deiner Lib.

Gruß Tommy

Darter69: Und ist richtig ESP8266 hat nur 2 nicht A2

dann verwendest du einen digitalen Pin auf dem Lolin, wie ich schon geschrieben habe. Den musst du nur richtig im Sketch definieren.

DHT-Lib ist die ganz normale vom DHT.

Habe aber bis jetzt nur Lib gefunden für DHT11 und ich verwende DHT22.

Mit der Speziellen liest er jetzt wenigstens etwas aus, aber nicht wirklich das was ich will.

0.0° und 1% Luftfeuchtigkeit. Die Werte kommen wahrscheinlich vom falschen Sensor.

Wenn ich jetzt die Werte noch hinkriege wäre das Ideal.

Link zur Lib

Es hilft manches Mal, sich die Lib anzuschauen, zumindest die Headerdatei (*.h). Du musst natürlich den DHT22 auch einstellen:

dht.setup(dhtPin, DHTesp::DHT22);

Gruß Tommy

Edit: Du musst von dem mitgelieferten Beispiel ausgehen. Dein alter Code hilft Dir mit der neuen Lib nicht viel.

Danke.

Dies habe ich übersehen, weil oben im Text immer DHT11 stand.

Werde dies Morgen versuchen. Muss wieder um 04.00 aufstehen.

Hoffe dass dann die Werte die Richtigen sind.