DHT22 senzor

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Croatian to

Threaded View
Bok,


Igram se sa ESP8266 i Thingspeakom, tu sve radi, podaci se uploadaju na  
server no ima jedan problem. DHT22 pokazuje postotak relativne vlaznosti  
zraka 80%, iako drugi referentni senzori pokazuju 55%. Probao sam zakaciti  
senzor na Raspberry Pi i ista prica. Sluti li netko u cemu bi mogao biti  
problem? Neispravan senzor?

Hvala!

BladeRunner  


Re: DHT22 senzor
On 3.11.2018. 18:49, BladeRunner wrote:
Quoted text here. Click to load it

I ja se igrah s tim, ali samo sa temperaturnim senzorima i "one wire",  
uglavnom je bilo velikih odstupanja u temperaturi, a 2 senzora jedan  



Re: DHT22 senzor
says...
Quoted text here. Click to load it




Senzori su u 99% slucajeva jako tocni. Problem zna biti da se neki  
library za komunikaciju s odredjenim senzorom koji je u startu bio  
predvidjen za ATmega seriju mikrokontrolera pocne koristiti i kao  
driver za ESP8266 processor koji je 32 bit-ni pa onda moze doci do  
svakakvih pogresnih 'ocitanja'.

Ovo je primjer drivera za DS1621 temperaturni senzor koji je na AVR  
mikrokontrolerima radio ispravno ali na ESP8266 nije sve dok nisam  
autoru library-ja poslao ispravak kojega je nakon toga uvrstio u  
repozitorij i driver sad radi ispravno i za ESP8266:

http://tinyurl.com/jh7mabh

Problem je bio u tome da autor kada je library pisao nije racunao na to  
da bi int mogo zauzimati i 32 bita pa je umejsto maske 0xFFFFFF00  
koristio masku 0xFF00.

Osim toga se moze vidjeti i da sam u library-ju ispravio i gresku koja  
je uzrokovala da se je svaka temperatura koja je manja od -1 stupanj  
ocitala kao 0.5 stupnja veca od stvarne.

Mislim da smo prosle godine raspravljali bas o tome :-)
--  
Let There Be Light
Custom LED driveri prema specifikacijama
We've slightly trimmed the long signature. Click to see the full one.
Re: DHT22 senzor
Quoted text here. Click to load it

A koji si ti referentni i koliko ih ima? Mozda reference ne valjaju?

I koju temperaturu ti pokazuje DHT22 u odnosu na referentne okolo?
(rel.vlaga ovisi o temperaturi zraka, a i preciznost je ovisna o temperaturi)

Koliko je udaljen DHT22 od referentnih (pogotovo visinski), i na sto su
montirani (razne zone - DHT22 koji visi u zraku ne bude davao isto kao neki
sobni naslonjen na hladan zid, npr.)

Kak se ponasa DHT22 i ostali kada im stavis vlage (lonac s vrelom vodom ispod)

A uz sve to, ti svi ebay senzori i nisu bas tak pouzdani izgleda :(

Ne samo da ima primjetnih razlika u mjerenjima (offset), nego i polude:
http://www.kandrsmith.org/RJS/Misc/Hygrometers/dht22_first_failure.html#figure1


--  
Opinions above are GNU-copylefted.

Re: DHT22 senzor

Quoted text here. Click to load it
a ako zakljucis da je senzor strgan, prije nego ga bacis mozes probati ovo:
http://www.kandrsmith.org/RJS/Misc/Hygrometers/calib_many_afterbake.html

--  
Opinions above are GNU-copylefted.

Re: DHT22 senzor


"Matija Nalis"  wrote in message  

wrote:
Quoted text here. Click to load it

A koji si ti referentni i koliko ih ima? Mozda reference ne valjaju?

I koju temperaturu ti pokazuje DHT22 u odnosu na referentne okolo?
(rel.vlaga ovisi o temperaturi zraka, a i preciznost je ovisna o  
temperaturi)

Koliko je udaljen DHT22 od referentnih (pogotovo visinski), i na sto su
montirani (razne zone - DHT22 koji visi u zraku ne bude davao isto kao neki
sobni naslonjen na hladan zid, npr.)

Kak se ponasa DHT22 i ostali kada im stavis vlage (lonac s vrelom vodom  
ispod)

A uz sve to, ti svi ebay senzori i nisu bas tak pouzdani izgleda :(

Ne samo da ima primjetnih razlika u mjerenjima (offset), nego i polude:
http://www.kandrsmith.org/RJS/Misc/Hygrometers/dht22_first_failure.html#figure1


--  
Opinions above are GNU-copylefted.

Imam 2 mjeraca temp i vlage, jedan je stand alone sa Sensirion DHT senzorom  
We've slightly trimmed the long signature. Click to see the full one.
Re: DHT22 senzor
snipped-for-privacy@mailREMOVE.inet.hr> says...
Quoted text here. Click to load it


Da li to znaci da si eliminirao problem s driverima za razne senzore  
pisanima za AVR mikrokontrolere u kombinaciji s 32 bitnim processorima  
ko sta su ESP8266 ili ESP32? Mislim na problem kojega sam opisao u  
odgovoru Dakky-ju.
--  
Let There Be Light
Custom LED driveri prema specifikacijama
We've slightly trimmed the long signature. Click to see the full one.
Re: DHT22 senzor



snipped-for-privacy@mailREMOVE.inet.hr> says...
Quoted text here. Click to load it


Da li to znaci da si eliminirao problem s driverima za razne senzore
pisanima za AVR mikrokontrolere u kombinaciji s 32 bitnim processorima
ko sta su ESP8266 ili ESP32? Mislim na problem kojega sam opisao u
odgovoru Dakky-ju.


Srecom postoje libraries koje su spremne za rad sa ESP8266.


Nego, imam jedan problemcic, slozio sam si vremensku stanicu s esp i max7219  
modulima i stvar funkcionira, no sat pokazuje +1H.

Vjerujem koliko malo se kuzim u kodiranje da je do ovog:

void updateTime()
{
  long curEpoch = localEpoc + ((millis() - localMillisAtUpdate) / 1000);
  long epoch = round(curEpoch + 3600 * utcOffset + 86400L) % 86400L;
  h = ((epoch  % 86400L) / 3600) % 24;
  m = (epoch % 3600) / 60;
  s = epoch % 60;
}

s naglaskom na utcOffset + 86400L ?

Inace podatke vuce sa api.openweathermap.org.

Hvala svima na odgovorima btw :)

BladeRunner



Re: DHT22 senzor
snipped-for-privacy@mailREMOVE.inet.hr> says...
Quoted text here. Click to load it

Ovo 86400 (sekundi) je 'plus jedan dan' a sat vise je ovo:

3600 * utcOffset

To znaci da variabla utcOffset ne uzima u obzir pomak sata pa treba  
negdje prije sloziti da se u obzir uzme i to ili jednostavno stavis:

round(curEpoch + 3600 * (utcOffset - 1) + 86400L) % 86400L;

Ako se variabla utcOffset update-a u svakom prolazu kroz petlju onda  
mozes staviti i:

long epoch = round(curEpoch + 3600 * --utcOffset + 86400L) % 86400L;

Znaci, umjesto utcOffset stavis --utcOffset

Ali ako se ta variabla negdje podesava samo jedanput onda ne mozes  
koristiti -- jer bi se onda vrijednost te variable stalno mijenjala.

Epoch vrijeme je Unix-ov nacin racunanja vremena gdje se svaki datum  
gleda kao broj sekundi proteklih od 01.01.1970.

86400 sekundi je jedan dan a 3600 sekundi je jedan sat tako da  
korekciju sati radis tamo gdje se mnozi s 3600.
--  
Let There Be Light
Custom LED driveri prema specifikacijama
We've slightly trimmed the long signature. Click to see the full one.
Re: DHT22 senzor



snipped-for-privacy@mailREMOVE.inet.hr> says...
Quoted text here. Click to load it

Ovo 86400 (sekundi) je 'plus jedan dan' a sat vise je ovo:

3600 * utcOffset

To znaci da variabla utcOffset ne uzima u obzir pomak sata pa treba
negdje prije sloziti da se u obzir uzme i to ili jednostavno stavis:

round(curEpoch + 3600 * (utcOffset - 1) + 86400L) % 86400L;

Ako se variabla utcOffset update-a u svakom prolazu kroz petlju onda
mozes staviti i:

long epoch = round(curEpoch + 3600 * --utcOffset + 86400L) % 86400L;

Znaci, umjesto utcOffset stavis --utcOffset

Ali ako se ta variabla negdje podesava samo jedanput onda ne mozes
koristiti -- jer bi se onda vrijednost te variable stalno mijenjala.

Epoch vrijeme je Unix-ov nacin racunanja vremena gdje se svaki datum
gleda kao broj sekundi proteklih od 01.01.1970.

86400 sekundi je jedan dan a 3600 sekundi je jedan sat tako da
korekciju sati radis tamo gdje se mnozi s 3600.
--  
Let There Be Light
Custom LED driveri prema specifikacijama
We've slightly trimmed the long signature. Click to see the full one.
Re: DHT22 senzor



snipped-for-privacy@mailREMOVE.inet.hr> says...
Quoted text here. Click to load it

Ovo 86400 (sekundi) je 'plus jedan dan' a sat vise je ovo:

3600 * utcOffset

To znaci da variabla utcOffset ne uzima u obzir pomak sata pa treba
negdje prije sloziti da se u obzir uzme i to ili jednostavno stavis:

round(curEpoch + 3600 * (utcOffset - 1) + 86400L) % 86400L;

Ako se variabla utcOffset update-a u svakom prolazu kroz petlju onda
mozes staviti i:

long epoch = round(curEpoch + 3600 * --utcOffset + 86400L) % 86400L;

Znaci, umjesto utcOffset stavis --utcOffset

Ali ako se ta variabla negdje podesava samo jedanput onda ne mozes
koristiti -- jer bi se onda vrijednost te variable stalno mijenjala.

Epoch vrijeme je Unix-ov nacin racunanja vremena gdje se svaki datum
gleda kao broj sekundi proteklih od 01.01.1970.

86400 sekundi je jedan dan a 3600 sekundi je jedan sat tako da
korekciju sati radis tamo gdje se mnozi s 3600.
--  
Let There Be Light
Custom LED driveri prema specifikacijama
We've slightly trimmed the long signature. Click to see the full one.

Site Timeline