/* https://wokwi.com/projects/406690699742710785
https://journals.ametsoc.org/view/journals/bams/86/2/bams-86-2-225.xml
Td = t - ((100 - RH)/5.)
where Td is dew point temperature (in degrees Celsius),
t is observed temperature (in degrees Celsius),
and RH is relative humidity (in percent).
Apparently this relationship is fairly accurate for relative humidity values above 50%.
*/
#include <DHT22.h>
//define pin data
#define pinDATA SDA // SDA, or almost any other I/O pin
DHT22 dht22(pinDATA);
float t;
float RH;
float Td;
void setup() {
Serial.begin(115200); //1bit=10µs
Serial.println("\Simulation DTH22");
}
void loop() {
Serial.println(dht22.debug()); //optionnal
t = dht22.getTemperature();
RH = dht22.getHumidity();
Td = t - ((100 - RH)/5);
if (dht22.getLastError() != dht22.OK) {
Serial.print("last error :");
Serial.println(dht22.getLastError());
}
Serial.print("RH="); Serial.print(RH,1); Serial.print("\t");
Serial.print("t="); Serial.print(t,1); Serial.print("\t");
Serial.print("D.P.=");Serial.println(Td,1);
delay(2000); //Collecting period should be : >1.7 second
}