11//
22// FILE: DHT12.ino
33// AUTHOR: Rob Tillaart
4- // VERSION: 0.3.0
4+ // VERSION: 0.3.1
55// PURPOSE: Demo for DHT12 I2C humidity & temperature sensor
66//
7- // HISTORY:
8- // 0.1.0 2017-12-11 initial version
9- // 0.1.1 2020-04-11 minor changes
10- // 0.3.0 2020-12-19 compatible new version
7+ // HISTORY:
8+ // 0.1.0 2017-12-11 initial version
9+ // 0.1.1 2020-04-11 minor changes
10+ // 0.3.0 2020-12-19 compatible new version
11+ // 0.3.1 2021-10-25 add lastRead
12+
1113
1214#include " DHT12.h"
1315
1416DHT12 DHT (&Wire);
1517
18+
1619void setup ()
1720{
1821 DHT.begin ();
@@ -28,35 +31,38 @@ void setup()
2831 Serial.println (" Type,\t Status,\t Humidity (%),\t Temperature (C)" );
2932}
3033
34+
3135void loop ()
3236{
33- // READ DATA
34- Serial.print (" DHT12, \t " );
35- int status = DHT.read ();
36- switch (status)
37+ if (millis () - DHT.lastRead () >= 2000 )
3738 {
38- case DHT12_OK:
39- Serial.print (" OK,\t " );
40- break ;
41- case DHT12_ERROR_CHECKSUM:
42- Serial.print (" Checksum error,\t " );
43- break ;
44- case DHT12_ERROR_CONNECT:
45- Serial.print (" Connect error,\t " );
46- break ;
47- case DHT12_MISSING_BYTES:
48- Serial.print (" Missing bytes,\t " );
49- break ;
50- default :
51- Serial.print (" Unknown error,\t " );
52- break ;
39+ // READ DATA
40+ Serial.print (" DHT12, \t " );
41+ int status = DHT.read ();
42+ switch (status)
43+ {
44+ case DHT12_OK:
45+ Serial.print (" OK,\t " );
46+ break ;
47+ case DHT12_ERROR_CHECKSUM:
48+ Serial.print (" Checksum error,\t " );
49+ break ;
50+ case DHT12_ERROR_CONNECT:
51+ Serial.print (" Connect error,\t " );
52+ break ;
53+ case DHT12_MISSING_BYTES:
54+ Serial.print (" Missing bytes,\t " );
55+ break ;
56+ default :
57+ Serial.print (" Unknown error,\t " );
58+ break ;
59+ }
60+ // DISPLAY DATA, sensor has only one decimal.
61+ Serial.print (DHT.getHumidity (), 1 );
62+ Serial.print (" ,\t " );
63+ Serial.println (DHT.getTemperature (), 1 );
5364 }
54- // DISPLAY DATA, sensor has only one decimal.
55- Serial.print (DHT.getHumidity (), 1 );
56- Serial.print (" ,\t " );
57- Serial.println (DHT.getTemperature (), 1 );
58-
59- delay (2000 );
6065}
6166
62- // -- END OF FILE --
67+
68+ // -- END OF FILE --
0 commit comments