// // FILE: dht_tuning.ino // AUTHOR: Rob Tillaart // VERSION: 0.1.00 // PURPOSE: DHT test sketch for DHT22 && Arduino => find minimum time between reads // URL: // // Released to the public domain // #include dht DHT; #define DHT22_PIN 5 void setup() { Serial.begin(115200); Serial.println("DHT TEST PROGRAM "); Serial.print("LIBRARY VERSION: "); Serial.println(DHT_LIB_VERSION); Serial.println(); Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)\tTime (us)"); } int del = 500; void loop() { // READ DATA Serial.print("DHT22, \t"); uint32_t start = micros(); int chk = DHT.read22(DHT22_PIN); uint32_t stop = micros(); switch (chk) { case DHTLIB_OK: Serial.print("OK,\t"); del -= 10; break; case DHTLIB_ERROR_CHECKSUM: Serial.print("Checksum error,\t"); break; case DHTLIB_ERROR_TIMEOUT: Serial.print("Time out error,\t"); del += 10; break; case DHTLIB_ERROR_CONNECT: Serial.print("Connect error,\t"); break; case DHTLIB_ERROR_ACK_L: Serial.print("Ack Low error,\t"); break; case DHTLIB_ERROR_ACK_H: Serial.print("Ack High error,\t"); break; default: Serial.print("Unknown error,\t"); break; } // DISPLAY DATA Serial.print(DHT.humidity, 1); Serial.print(",\t"); Serial.print(DHT.temperature, 1); Serial.print(",\t"); Serial.print(stop - start); Serial.print(",\t"); Serial.print(del); Serial.println(); delay(del); } // // END OF FILE //