A minimal library for the DHT11.

Fork of DHT11 by Eric Fossum

Committer:
amithy
Date:
Fri Nov 10 01:00:56 2017 +0000
Revision:
2:cc518592dbdb
for testing export

Who changed what in which revision?

UserRevisionLine numberNew contents of line
amithy 2:cc518592dbdb 1 #ifndef DHT22_H
amithy 2:cc518592dbdb 2 #define DHT22_H
amithy 2:cc518592dbdb 3
amithy 2:cc518592dbdb 4 #include "mbed.h"
amithy 2:cc518592dbdb 5
amithy 2:cc518592dbdb 6 #define DHTLIB_OK 0
amithy 2:cc518592dbdb 7 #define DHTLIB_ERROR_CHECKSUM -1
amithy 2:cc518592dbdb 8 #define DHTLIB_ERROR_TIMEOUT -2
amithy 2:cc518592dbdb 9
amithy 2:cc518592dbdb 10 /** Class for the DHT22 sensor.
amithy 2:cc518592dbdb 11 *
amithy 2:cc518592dbdb 12 * Example:
amithy 2:cc518592dbdb 13 * @code
amithy 2:cc518592dbdb 14 * #include "mbed.h"
amithy 2:cc518592dbdb 15 * #include "Dht22.h"
amithy 2:cc518592dbdb 16 *
amithy 2:cc518592dbdb 17 * Serial pc(USBTX, USBRX);
amithy 2:cc518592dbdb 18 * Dht22 sensor(PTD7);
amithy 2:cc518592dbdb 19 *
amithy 2:cc518592dbdb 20 * int main() {
amithy 2:cc518592dbdb 21 * sensor.read()
amithy 2:cc518592dbdb 22 * pc.printf("T: %f, H: %d\r\n", sensor.getFahrenheit(), sensor.getHumidity());
amithy 2:cc518592dbdb 23 * }
amithy 2:cc518592dbdb 24 * @endcode
amithy 2:cc518592dbdb 25 */
amithy 2:cc518592dbdb 26 class Dht22
amithy 2:cc518592dbdb 27 {
amithy 2:cc518592dbdb 28 public:
amithy 2:cc518592dbdb 29 /** Construct the sensor object.
amithy 2:cc518592dbdb 30 *
amithy 2:cc518592dbdb 31 * @param pin PinName for the sensor pin.
amithy 2:cc518592dbdb 32 */
amithy 2:cc518592dbdb 33 Dht22(PinName const &p);
amithy 2:cc518592dbdb 34
amithy 2:cc518592dbdb 35 /** Update the humidity and temp from the sensor.
amithy 2:cc518592dbdb 36 *
amithy 2:cc518592dbdb 37 * @returns
amithy 2:cc518592dbdb 38 * 0 on success, otherwise error.
amithy 2:cc518592dbdb 39 */
amithy 2:cc518592dbdb 40 int read();
amithy 2:cc518592dbdb 41
amithy 2:cc518592dbdb 42 /** Get the temp(f) from the saved object.
amithy 2:cc518592dbdb 43 *
amithy 2:cc518592dbdb 44 * @returns
amithy 2:cc518592dbdb 45 * Fahrenheit float
amithy 2:cc518592dbdb 46 */
amithy 2:cc518592dbdb 47 float getFahrenheit();
amithy 2:cc518592dbdb 48
amithy 2:cc518592dbdb 49 /** Get the temp(c) from the saved object.
amithy 2:cc518592dbdb 50 *
amithy 2:cc518592dbdb 51 * @returns
amithy 2:cc518592dbdb 52 * Celsius int
amithy 2:cc518592dbdb 53 */
amithy 2:cc518592dbdb 54 int getCelsius();
amithy 2:cc518592dbdb 55
amithy 2:cc518592dbdb 56 /** Get the humidity from the saved object.
amithy 2:cc518592dbdb 57 *
amithy 2:cc518592dbdb 58 * @returns
amithy 2:cc518592dbdb 59 * Humidity percent int
amithy 2:cc518592dbdb 60 */
amithy 2:cc518592dbdb 61 int getHumidity();
amithy 2:cc518592dbdb 62
amithy 2:cc518592dbdb 63 private:
amithy 2:cc518592dbdb 64 /// percentage of humidity
amithy 2:cc518592dbdb 65 int _humidity;
amithy 2:cc518592dbdb 66 /// celsius
amithy 2:cc518592dbdb 67 int _temperature;
amithy 2:cc518592dbdb 68 /// pin to read the sensor info on
amithy 2:cc518592dbdb 69 DigitalInOut _pin;
amithy 2:cc518592dbdb 70 /// times startup (must settle for at least a second)
amithy 2:cc518592dbdb 71 Timer _timer;
amithy 2:cc518592dbdb 72 };
amithy 2:cc518592dbdb 73
amithy 2:cc518592dbdb 74 #endif