Dht22 Temperatur bricht plötzlich ein

Hallo Zusammen,

Ich habe folgendes Problem:
Ich möchte mal wieder eine Temperaturabhängige Schaltung aufbauen welche Relais schaltet.

Die Programmierung ist kein Problem aber der DHT22 Sensor.
Angeblich sollte dieser bis 80 grad auswerten können, steigt die Temperatur über 50 grad, zeigt er (sowol im Display als auch im seriellen Monitor) plötzlich nurnoch 0,200 grad an.

Der arduino wird aktuell nur per USB betrieben, habe gerade kein Netzteil mehr da.
Außer der relaiskarte (2 Relais schalten immer gleichzeitig) und einem kleinen i2c Display sind keine weiteren Teile am arduino angeschlossen.

Edit: einen defekten Sensor kann man ausschließen, bei 2 weiteren trat das selbe Problem auf.

Kennt jemand dieses Problem ?
Danke euch schonmal.

Bisher nicht bekannt.

  • Was verwendest Du für eine lib?
  • Hast Du die dortigen Example benutzt um das zu reproduzieren?
  • Mal das Ganze ohne Display und Relais nur mit dem seriellen Monitor betrieben um Einbrüche der Versorgung auszuschliessen?

Und der erforderliche Pullup-Widerstand ist auch eingebaut ?

Oh wieder mal das Ratespiel "wer errät den richtigen Fehler". Hübsch. Hoffe zu gewinnen. :wink: :wink:

Oder benutzt Du den falschen Variablentyp der in Überlauf gerät?

1 Like

Ich verwende die Standard DHT-lib.
Den Sensortyp habe ich auch eingestellt.
Ich habe es bisher mit abgesteckter relaiskarte probiert, dass das 16x2 LCD display so viel verbraucht ist eher unwahrscheinlich, oder?
Lasse mich gerne belehren!

Danke dir schonmal!

Benutze eine float variable.

Die Aufforderung war: zeig uns mal den verwendeten Sketch.
Grüße Uwe

Benutze den Sensor der auf eine Platine aufgelötet ist, nicht einzeln.

Ich gehe daher davon aus. :slight_smile:

So wirst du immer mal Probleme haben.
Das solltest du genau prüfen, ich kann es hier nicht sehen.

Ich will niemanden belehren. Nur Ausschlußverfahren.
Daher: Ein Example-Sketch nehmen. Bei der Adafruit-Lib ist es DHTtester.
Wenn da das selbe passiert, würde ich auf ein Hardwareproblem schliessen.

WIe gesagt, er zeigt die Temperatur normal an und erst ab ca. 50 Grad treten die Probleme auf.



#include "DHT.h"
#define DHTPIN 22                                                     //Sensor an PIN 22   
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);


//Pinbelegung

int Relais1 = 49;                                                        
int Relais2 = 50;                                                       
int Relais3 = 51;                                                        
int Relais4 = 52;                                                         


void setup() {
  pinMode (Relais1, OUTPUT);
  pinMode (Relais2, OUTPUT);
  pinMode (Relais3, OUTPUT);
  pinMode (Relais4, OUTPUT);

  Serial.begin(9600);

  dht.begin();

  lcd.init();
  lcd.backlight();

  
  delay(1000); 


}

void loop() {

 float Temperatur = dht.readTemperature();                             
  
  Serial.print("Temperatur: ");
  Serial.print(Temperatur);
  Serial.println(" Grad Celsius");
  lcd.setCursor(0, 0);
  lcd.print("Temperatur:");
  lcd.print(Temperatur);
  
  
if (Temperatur < 50.00)                                                 
{
  digitalWrite (Relais1, LOW);
  digitalWrite (Relais2, LOW);
  digitalWrite (Relais3, LOW);
  digitalWrite (Relais4, LOW);

  lcd.setCursor(0, 1);
  lcd.print("Luefter      aus");
  }


if (Temperatur > 55.00)                                   
{ digitalWrite (Relais1, HIGH);                                                    
  digitalWrite (Relais2, HIGH);
  digitalWrite (Relais3, LOW);
  digitalWrite (Relais4, LOW);

  lcd.setCursor(0, 1);
  lcd.print("Luefter-Stufe: 1");}
  

  
  if (Temperatur > 70.00)                                                    
{ digitalWrite (Relais1, LOW);                                                   
  digitalWrite (Relais2, LOW);
  digitalWrite (Relais3, HIGH);
  digitalWrite (Relais4, HIGH);
  
  lcd.setCursor(0, 1);
  lcd.print("Luefter-Stufe: 2");}
  


delay(2000); 

}

Bin immer wieder von der Hilfsbereitschaft hier im Forum überrascht! :grinning:

Ja , es gibt so Antwortstoßzeiten, da antworten wir um die Wette. :innocent:
Also ich sehe mich schon als 4. Gewinner (Patzerpreis) . :wink:
Grüße Uwe

1 Like

Ich tippe da auch auf einen Fehler der Sensoren. Evtl. Ausschußware, die dein Händler (wer) geliefert hat.
Zur reinen Temperaturmessung empfehle ich die DS18B20. Sind einfach zu händeln und genau.

Habe die vor über einem Jahr mal Bequemlichkeitshalber auf Amazon bestellt.
Welcher Händler die genau geliefert hat lässt sich nichtmehr nachvollziehen..

Bei anderen Projekten haben die auch problemlos ihren Dienst getan.

Hat sonst niemand eine Idee?
Habe auf einen Fehler meinerseits gehofft. :grinning:
Falls nicht hab ich immerhin nichts falsch gemacht.

Grüße

Hast Du keinen zweiten Sensor den Du versuchsweise benutzen kannst?

Wenn Du die Relais nicht ansteuerst, hast Du dann auch die Probleme?

Grüße Uwe

Hey, war im Urlaub und krank daher kam so lange nichts.
Andere Sensoren habe ich nicht, außer den 3 schon verwendeten.
Das mit den Relais werde ich die Tage probieren .

Grüße

Hoffe nicht gleichzeitig sondern hintereinander.
Grüße Uwe

Mei Tipp:
Baue einen einfachen Sketch, der nur den Sensor ausliest und den gemessenen Wert im seriellen Monitor anzeigt.
Wenn das auch über 50 Grad funktioniert, um das LCD erweitern. Danach die Relaissteuerung bauen.