A minimal library for the DHT11.

Fork of DHT11 by Eric Fossum

Committer:
amithy
Date:
Fri Nov 10 20:28:29 2017 +0000
Revision:
2:1460b7a50ec0
t

Who changed what in which revision?

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