

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.
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 :
na zkoušku (jelikož ten požadavek bude rychlejší jak možnosti toho snímače) pozměněním za alespoň :
(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)
Aha, no s delay(2000) to vypada ze to funguje.
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 ?
https://navody.arduino-shop.cz/navody-k-produktum/teplotni-senzor-dht11.html
Tady máš ukázku zdrojového kódu, také tam mají na konci čekací pauzu 2000 milisekund. Takže to je krok správným směrem.
http://www.uugear.com/portfolio/read-dht1122-temperature-humidity-sensor-from-raspberry-pi/
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:
DHT 11:
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.
No, to zni logicky, diky.
No uz teda funguje jak ma, pozmenil jsem jen delku te smycky. Dekuji (vsem) za pomoc a pridane informace.
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.