closed

Loginbox

Please enter your username and password into the following fields to log in.


  • Username:
  • Password:
  •  
  • Auto log in on every visit.


  •  

DHT22



TheBeginner offline
Schreiberling
Avatar
Gender: n/a
Location: GERMANY  Wunsiedel Bayern
Age: 64
Posts: 599
Registered: 06 / 2013
Private message
Subject: DHT22  -  Posted: 06.09.2021 - 14:05   -  
Moin, hat jmd von euch diesen DHT22 am laufen ?
wenn ja könnte man den Code für ein Xmega bekommen ?



Gruß Frank
------------------------------------------------------------------------
Als Gott mich schuf wollte er angeben.
go down go up
TheBeginner offline
Schreiberling
Avatar
Gender: n/a
Location: GERMANY  Wunsiedel Bayern
Age: 64
Posts: 599
Registered: 06 / 2013
Private message
Subject: Re: DHT22  -  Posted: 11.09.2021 - 20:17   -  
Hat sich erledigt, habe mir selber was Programmiert,
aber was für ein blödes Timing-Signal

Code

20us-24us Positive Signal = 0 
70 us Positive Signal = 1 


Hätte ja auch gerne einen SHT20, aber überall nicht zu bekommen, bei ebay nur über China.


Gruß Frank
------------------------------------------------------------------------
Als Gott mich schuf wollte er angeben.
go down go up
golf offline
Benutzer
Avatar
Gender: male
Location: GERMANY  Donauwörth
Age: 68
Posts: 196
Registered: 11 / 2009
Private message
Subject: Re: DHT22  -  Posted: 12.09.2021 - 05:55   -  
Hallo Frank,
hab leider keine eigene Erfahrungen mit diesen Teilen.
Aber den SHT20 könntest Du über Mouser erhalten. Wobei z.b. der SHTC3 eine besseres Preis-Performance hat (2,68€ statt 5,51€). Beide Typen und auch noch andere sind dort sehr gut verfügbar.
golf

Noch besser und günstiger ist z.b. der SHT40, der ist aber erst wieder ab Okt. verfügbar.
This post has been edited 1-times. Last edit: 12.09.2021 - 06:00 by golf.
go down go up
Harry offline
PowerUser
Avatar
Gender: male
Location: GERMANY  zwischen Augsburg und Ulm
Age: 56
Posts: 1834
Registered: 03 / 2003
Private message
Subject: Re: DHT22  -  Posted: 12.09.2021 - 08:00   -  
Also bei Reichelt gibts 11 Feuchte-/Temp-Module

https://www.reichelt.de/sensoren-module-c9008.html

..... hoffe der Link funktioniert so .... nein tut er nicht. Mußt noch den Filter setzen.

Zu früheren Zeiten hätte ich Rolf gefragt. Immerhin hat er den SHT20 auf seinen EVABoards verbaut.

Gruss
Harry
Elektronik arbeitet mit Rauch - wenn man den Rauch raus läßt, funktioniert es nicht mehr.
Electronics works with smoke - if you let the smoke out, it works no longer.
This post has been edited 2-times. Last edit: 12.09.2021 - 08:05 by Harry.
go down go up
TheBeginner offline
Schreiberling
Avatar
Gender: n/a
Location: GERMANY  Wunsiedel Bayern
Age: 64
Posts: 599
Registered: 06 / 2013
Private message
Subject: Re: DHT22  -  Posted: 15.09.2021 - 13:51   -  
Hallo Harry, ich habe jetzt endlich einen SHT31 für wenig Geld beim Eckstein gefunden.

Ich hoffe ich kann den Code vom Demo SHT20 nehmen, der SHT31 hat auch I2C


Gruß Frank
------------------------------------------------------------------------
Als Gott mich schuf wollte er angeben.
go down go up
pvs-deck offline
PowerUser
Avatar
Gender: male
Location: GERMANY 
Age: 50
Posts: 1222
Registered: 02 / 2009
Homepage Private message
Subject: Re: DHT22  -  Posted: 16.09.2021 - 09:52   -  
Quote by TheBeginner

Hallo Harry, ich habe jetzt endlich einen SHT31 für wenig Geld beim Eckstein gefunden.

Ich hoffe ich kann den Code vom Demo SHT20 nehmen, der SHT31 hat auch I2C


Gruß Frank


Hallo Frank,

die arbeiten alle nach dem selben Prinzip. Du musst nur immer kleine Anpassungen gem. Datenblatt des Typs machen.

Gruß
Thorsten
---------------------------------------------------------
Nichts ist unmöglich in der Elektronik und der Software, die Grenzen
setzt nur das Budget, Zeit und der Entwickler! ( P V S - D E C K )
go down go up
TheBeginner offline
Schreiberling
Avatar
Gender: n/a
Location: GERMANY  Wunsiedel Bayern
Age: 64
Posts: 599
Registered: 06 / 2013
Private message
Subject: Re: DHT22  -  Posted: 16.09.2021 - 11:21   -  
Guten morgen Thorsten,
mein SHT31 ist gerade vor 10 min angekommen.

Eine Antwort habe ich schon

Code

  //SHT31 = $44
  if TWIstatC(SHT31) then
      gDrawString(10, 110, 1, 2, TxtRot0, 'Antwort Ja ' );
  else
      gDrawString(10, 110, 1, 2, TxtRot0, 'Antwort Nein' );
  endif;


>> Antwort Ja


ja ich habe es schon gesehen, meiner sendet mehr Byte als der SHT20.

Nur mit der Berechnung der Werte die ich von Chip bekomme, da komme ich gar nicht klar.

Gruß Frank
You must be logged in or your permissions are to low to see this Attachment(s).
------------------------------------------------------------------------
Als Gott mich schuf wollte er angeben.
go down go up
Merlin offline
Administrator
Avatar
Gender: male
Location: UNITED KINGDOM 
Age:
Posts: 1035
Registered: 03 / 2005
Private message
Subject: Re: DHT22  -  Posted: 16.09.2021 - 12:10   -  
What a strange way to put the formulae! 2**16 - 1 = $FFFF, equivalent to -1 in 16 bits. So I guess 32 bits is required. But I can't help feeling that there is a 16 bit workaround that would be faster. If measurement values (ST) don't go above $7FFF then you could use (deg C)

Code
TC = -45 -175*S[i]T[/i] 


and rely on wrap around, I think
Merlin.

:magic:

Software is a black art.
go down go up
TheBeginner offline
Schreiberling
Avatar
Gender: n/a
Location: GERMANY  Wunsiedel Bayern
Age: 64
Posts: 599
Registered: 06 / 2013
Private message
Subject: Re: DHT22  -  Posted: 16.09.2021 - 12:38   -  
Hallo Merlin, ich habe etwas gefunden, aber nur in C++

Code


//T[C] = -45 +175 * ST / 2^16 -1 <-- Formel aus Datasheet
float sht31_calculate_temperature(SHT31 *sensor) {
  return (((sensor->read_buffer[0] << 8)| sensor->read_buffer[1]) * 175.0) / 65535.0 - 45.0;
}
//RH = 100 * SRH / 2^16 -1
float sht31_calculate_humudity(SHT31 *sensor) {
  return (((sensor->read_buffer[3] << 8) | sensor->read_buffer[4])) * 100.0 / 65535.0;
}



Gruß Frank
------------------------------------------------------------------------
Als Gott mich schuf wollte er angeben.
go down go up
Harry offline
PowerUser
Avatar
Gender: male
Location: GERMANY  zwischen Augsburg und Ulm
Age: 56
Posts: 1834
Registered: 03 / 2003
Private message
Subject: Re: DHT22  -  Posted: 16.09.2021 - 16:55   -  
Hi Frank,

mußte erst ein Datenblatt runter laden .....

RH:=100-(HVar/65535)

RT:=-45+(175*(TVar/65535))

HVar ist der 16Bit-Registerwert des Sensors (Luftfeuchte) als Float oder Fix64
TVar das selbe für die Temperatur
RT und RH sind logischerweise auch Float oder Fix64

Gruss
Harry
Elektronik arbeitet mit Rauch - wenn man den Rauch raus läßt, funktioniert es nicht mehr.
Electronics works with smoke - if you let the smoke out, it works no longer.
This post has been edited 1-times. Last edit: 16.09.2021 - 16:57 by Harry.
go down go up
TheBeginner offline
Schreiberling
Avatar
Gender: n/a
Location: GERMANY  Wunsiedel Bayern
Age: 64
Posts: 599
Registered: 06 / 2013
Private message
Subject: Re: DHT22  -  Posted: 16.09.2021 - 17:12   -  
Hallo Harry, ich habe es heute auch so gemacht wie du es eben geschrieben hast.
Ich denke das ist ok.

Die Temperatur war aber bissel zu hoch, deswegen habe ich das gemacht.
TT:= temp1 - 47; //aus Formel müsste 45 sein

Gruß Frank




Code

   T              : word;
   tLow[@T]       : byte;
   tHigh[@T+1]    : byte;
   temp           : integer;
   tempF1          : fix64;
   temp1          : fix64;

   R              : word;
   rhLow[@R]      : byte;
   rhHigh[@R+1]   : byte;
   RHum           : word;
   RHumF          : fix64;

   TT, RR         : fix64;    //ausgabe TFT
   Bool1          : Boolean;
   dataSHT31      : array[0..5] of byte;
//----------------------------------------------------

{
  SHT31_HIGH_ENABLED     : word = $2C06;
  SHT31_MEDIUM_ENABLED   : word = $2C0D;
  SHT31_LOW_ENABLED      : word = $2C10;
  SHT31_HIGH_DISABLED    : word = $2C00;
  SHT31_MEDIUM_DISABLED  : word = $2C0B;
  SHT31_LOW_DISABLED     : word = $2C16;
}

//============================================================================
Procedure Get_SHT31;
begin

  //SHT31 = $44
  if TWIstatC(SHT31) then
    uDelay(5);
    TWIOutC(SHT31, SHT31_HIGH_ENABLED);  //2C06

    uDelay(5);
    TWIinpC(SHT31, dataSHT31 );

    //Temperatur
    tHigh:=  dataSHT31[0];
    tLow :=  dataSHT31[1];

    rhHigh:= dataSHT31[3];
    rhLow := dataSHT31[4];

    temp1:=  IntToFix64(T);
    temp1:= temp1 / 65534;
    temp1:= temp1 * 175;
    TT:= temp1 - 47;             //<============  alt 45
    
    
    //RH
    temp1:=  IntToFix64(R);
    temp1:=  temp1 / 65534;
    RR:=  temp1 * 100;
    Bool1 := true;

  else
    writeLn(SerOutE0, 'ERROR');
    Bool1 := false;
  endif;

end;








------------------------------------------------------------------------
Als Gott mich schuf wollte er angeben.
go down go up
TheBeginner offline
Schreiberling
Avatar
Gender: n/a
Location: GERMANY  Wunsiedel Bayern
Age: 64
Posts: 599
Registered: 06 / 2013
Private message
Subject: Re: DHT22  -  Posted: 21.09.2021 - 16:48   -  
Pro Contra DHT22 vs SHT31


Der DHT22 ist zwar echt billig und ist auch bei Reichelt oder ebay schnell zu finden.
Aber ich würde ihn nicht mehr kaufen und in meine Schaltung bringen.

DHT22 1wire Leitung, sch....e zu Programmieren.
SHT31 2 wire Leitungen TWI sehr schnell eingebunden.

Ich habe eine E-Zigarette und puste den SHT31 an (Dampf) er reagiert sehr schnell und
kommt auch wieder auf die Luftfeuchte wo er war wenn kein Dampf mehr da ist.

Beim DHT22 war das so, er reagiert auch schnell nach oben, aber wenn ich kein
Dampg mehr bringe dauert es sehr lange bist die RFeuchte wieder da hin kommt
wo er war.
Ich habe sehr viele Minuten gewartet bis die RFeuchte wieder bei 53%

Das war eine kleine Info von mir wenn jmd so ein Teil in seiner Schaltung braucht.


Gruß Frank
------------------------------------------------------------------------
Als Gott mich schuf wollte er angeben.
go down go up
 


Registered users in this topic
Currently no registered users in this section

Delete cookies of this forum  •  FAQ / Help  •  Team page  •  Imprint   |  Local time: 18.10.2021 - 21:48