Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Problem s kodem v jazyku C pro zobrazeni teploty

Dobry den vespolek.

Chtel bych vas pozadat o pomoc s kodem v jazyku C se kterym jen zacinam kde nedokazu doshanou pozadovaneho vysledku.

Pouzita sonda je klasicky DHT 11 ktery by mel merit teplotu a vlhkost prostredi. Chtel bych se princip naucit na teto sonde a nasledovne vytvorit vlastni venkovni teplomer.
Prvni chyba byla ve zvolenem portu, kde spravny mel byt 9600 ktery jsem opravil, ted se mi vysledek v COM consoli zobrazuje, ale nezobrazuje spravne hodnoty vypise jen sem tam, jinak mi vraci znaky nebo neco takovyho :


??!:*#é#
naměřená hodnota teploty je: 25
naměřená hodnota vhlkosti je: 32
??!:*#**$#
naměřená hodnota teploty je: 25
naměřená hodnota vhlkosti je: 32
??!:*#$#
naměřená hodnota teploty je: 26
45
"'$''!!:$*

Momentalne kod v jazyku C vypada nejak tak :


#include "DHT.h"
DHT dht;
void setup()
{
 Serial.begin(9600);
 dht.setup(2);
}
void loop()
{
 delay(500);
 Serial.print("naměřená hodnota vhlkosti je: ");
 Serial.print(dht.getHumidity()); 
 Serial.print(("naměřená hodnota teploty je: "));
 Serial.println(dht.getTemperature()); 
}

Dekuji za kazdou radu.

Předmět Autor Datum
Váš digitální snímač teploty má vzorkovací frekvenci 1Hz, což znamená že může zobrazit požadovanou i…
poradnaviktor 13.11.2019 17:01
poradnaviktor
Aha, no s delay(2000) to vypada ze to funguje. Ale dival jsem se teda po drazsim DHT 22 a u neho je…
Vann 13.11.2019 18:07
Vann
Rozdíl mezi typem DHT11 a DHT22 je v rozsahu měření a jeho citlivosti, kdy levnější typ DHT11 měří t…
Wikan 13.11.2019 18:09
Wikan
Tady máš ukázku zdrojového kódu, také tam mají na konci čekací pauzu 2000 milisekund. Takže to je kr…
host 13.11.2019 18:12
host
Ale dival jsem se teda po drazsim DHT 22 a u neho je napsany ze ma 0,5 Hz, takze muzu zobrazit teplo…
poradnaviktor 13.11.2019 18:14
poradnaviktor
No, to zni logicky, diky.
Vann 13.11.2019 18:24
Vann
No uz teda funguje jak ma, pozmenil jsem jen delku te smycky. Dekuji (vsem) za pomoc a pridane infor…
Vann 13.11.2019 18:23
Vann
Venkovní teplomer musí byť inštalovaný hodne ďaleko od vykurovaného objektu aby to ukazovalo venkovn… poslední
Kilo.Viktor 13.11.2019 19:12
Kilo.Viktor

Váš digitální snímač teploty má vzorkovací frekvenci 1Hz, což znamená že může zobrazit požadovanou informaci jen v intervalu 1x za 1s, u 0.5Hz by jste ji mohl zobrazit jen jednou za co 2s atd.

Jazyk C není má silná stranka ale možná bych začal změnou :

delay(500)

na zkoušku (jelikož ten požadavek bude rychlejší jak možnosti toho snímače) pozměněním za alespoň :

delay(2000) 

(aby ten snímač měl dostatečně času na zobrazení požadované informace. Ruku do ohně za to nedám, jen bez toho aniž bych viděl váše presné zapojení typuji)

Rozdíl mezi typem DHT11 a DHT22 je v rozsahu měření a jeho citlivosti, kdy levnější typ DHT11 měří teplotu v rozsahu 0 – 50 stupňů Celsia s přesností ±1 °C a vlhkost v rozmezí 20 – 90 % s přesností ±4 %. Pokročilejší měřící modul DHT22 umožňuje měřit teplotu v rozsahu -40 až +80 stupňů Celsia s přesností ±0,5 °C a vlhkost vzduchu v rozsahu 0-100 % s přesností ±2 %.

https://navody.arduino-shop.cz/navody-k-produktum/teplotni-senzor-dht11.html

Ale dival jsem se teda po drazsim DHT 22 a u neho je napsany ze ma 0,5 Hz, takze muzu zobrazit teplotu jenom jednou co 2 sekundy je tak ?
Proc je teda drazsi ?

Ta kvalita nebude záležet od toho jestli to zobrazí za 1s nebo 5s, venku se ta teplota nezmění během par vteřin z 30 na 20C° jestli mě rozumíte.

Ten DHT 22 podle datasheet o proti vašemu DHT 11 umí zobrazit teploty v rozhraní :
DHT 22:

- 40 až 80C°

DHT 11:

jen 0 až 50C°

Přesnost měření s 0.5C° odchylkou pro DHT22 a u DHT11 rozdíl až 2.0C°
Tak ten rozdíl ceny nebude v tom jak rychle zobrazí
naměřené informace, ale o kvalitě a přesnosti.

Venkovní teplomer musí byť inštalovaný hodne ďaleko od vykurovaného objektu aby to ukazovalo venkovní teplotu. Ďalšia vec a podla mňa dosť dôležitá je to, či je ten teplomer nakilbrovaný alebo len zostavený zo súčiastok.

Zpět do poradny Odpovědět na původní otázku Nahoru