test

Dependents:   gather_sensor_data

Committer:
readysteadygo2006
Date:
Thu Sep 08 14:05:43 2016 +0000
Revision:
0:1570961902a8
test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
readysteadygo2006 0:1570961902a8 1 /*
readysteadygo2006 0:1570961902a8 2 * DHT Library for Digital-output Humidity and Temperature sensors
readysteadygo2006 0:1570961902a8 3 *
readysteadygo2006 0:1570961902a8 4 * Works with DHT11, DHT21, DHT22
readysteadygo2006 0:1570961902a8 5 * SEN11301P, Grove - Temperature&Humidity Sensor (Seeed Studio)
readysteadygo2006 0:1570961902a8 6 * SEN51035P, Grove - Temperature&Humidity Sensor Pro (Seeed Studio)
readysteadygo2006 0:1570961902a8 7 * AM2302 , temperature-humidity sensor
readysteadygo2006 0:1570961902a8 8 * RHT01,RHT02, RHT03 , Humidity and Temperature Sensor (Sparkfun)
readysteadygo2006 0:1570961902a8 9 *
readysteadygo2006 0:1570961902a8 10 * Copyright (C) Wim De Roeve
readysteadygo2006 0:1570961902a8 11 * based on DHT22 sensor library by HO WING KIT
readysteadygo2006 0:1570961902a8 12 * Arduino DHT11 library
readysteadygo2006 0:1570961902a8 13 *
readysteadygo2006 0:1570961902a8 14 * Permission is hereby granted, free of charge, to any person obtaining a copy
readysteadygo2006 0:1570961902a8 15 * of this software and associated documnetation files (the "Software"), to deal
readysteadygo2006 0:1570961902a8 16 * in the Software without restriction, including without limitation the rights
readysteadygo2006 0:1570961902a8 17 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
readysteadygo2006 0:1570961902a8 18 * copies of the Software, and to permit persons to whom the Software is
readysteadygo2006 0:1570961902a8 19 * furished to do so, subject to the following conditions:
readysteadygo2006 0:1570961902a8 20 *
readysteadygo2006 0:1570961902a8 21 * The above copyright notice and this permission notice shall be included in
readysteadygo2006 0:1570961902a8 22 * all copies or substantial portions of the Software.
readysteadygo2006 0:1570961902a8 23 *
readysteadygo2006 0:1570961902a8 24 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
readysteadygo2006 0:1570961902a8 25 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
readysteadygo2006 0:1570961902a8 26 * FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
readysteadygo2006 0:1570961902a8 27 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
readysteadygo2006 0:1570961902a8 28 * LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
readysteadygo2006 0:1570961902a8 29 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
readysteadygo2006 0:1570961902a8 30 * THE SOFTWARE.
readysteadygo2006 0:1570961902a8 31 */
readysteadygo2006 0:1570961902a8 32
readysteadygo2006 0:1570961902a8 33 #ifndef MBED_DHT_H
readysteadygo2006 0:1570961902a8 34 #define MBED_DHT_H
readysteadygo2006 0:1570961902a8 35
readysteadygo2006 0:1570961902a8 36 #include "mbed.h"
readysteadygo2006 0:1570961902a8 37
readysteadygo2006 0:1570961902a8 38 enum eType{
readysteadygo2006 0:1570961902a8 39 DHT11 = 11,
readysteadygo2006 0:1570961902a8 40 SEN11301P = 11,
readysteadygo2006 0:1570961902a8 41 RHT01 = 11,
readysteadygo2006 0:1570961902a8 42 DHT22 = 22,
readysteadygo2006 0:1570961902a8 43 AM2302 = 22,
readysteadygo2006 0:1570961902a8 44 SEN51035P = 22,
readysteadygo2006 0:1570961902a8 45 RHT02 = 22,
readysteadygo2006 0:1570961902a8 46 RHT03 = 22
readysteadygo2006 0:1570961902a8 47 } ;
readysteadygo2006 0:1570961902a8 48
readysteadygo2006 0:1570961902a8 49 enum eError {
readysteadygo2006 0:1570961902a8 50 ERROR_NONE = 0,
readysteadygo2006 0:1570961902a8 51 BUS_BUSY =1,
readysteadygo2006 0:1570961902a8 52 ERROR_NOT_PRESENT =2 ,
readysteadygo2006 0:1570961902a8 53 ERROR_ACK_TOO_LONG =3 ,
readysteadygo2006 0:1570961902a8 54 ERROR_SYNC_TIMEOUT = 4,
readysteadygo2006 0:1570961902a8 55 ERROR_DATA_TIMEOUT =5 ,
readysteadygo2006 0:1570961902a8 56 ERROR_CHECKSUM = 6,
readysteadygo2006 0:1570961902a8 57 ERROR_NO_PATIENCE =7
readysteadygo2006 0:1570961902a8 58 } ;
readysteadygo2006 0:1570961902a8 59
readysteadygo2006 0:1570961902a8 60 typedef enum {
readysteadygo2006 0:1570961902a8 61 CELCIUS =0 ,
readysteadygo2006 0:1570961902a8 62 FARENHEIT =1,
readysteadygo2006 0:1570961902a8 63 KELVIN=2
readysteadygo2006 0:1570961902a8 64 } eScale;
readysteadygo2006 0:1570961902a8 65
readysteadygo2006 0:1570961902a8 66
readysteadygo2006 0:1570961902a8 67 class DHT {
readysteadygo2006 0:1570961902a8 68
readysteadygo2006 0:1570961902a8 69 public:
readysteadygo2006 0:1570961902a8 70
readysteadygo2006 0:1570961902a8 71 DHT(PinName pin,int DHTtype);
readysteadygo2006 0:1570961902a8 72 ~DHT();
readysteadygo2006 0:1570961902a8 73 int readData(void);
readysteadygo2006 0:1570961902a8 74 float ReadHumidity(void);
readysteadygo2006 0:1570961902a8 75 float ReadTemperature(eScale Scale);
readysteadygo2006 0:1570961902a8 76 float CalcdewPoint(float celsius, float humidity);
readysteadygo2006 0:1570961902a8 77 float CalcdewPointFast(float celsius, float humidity);
readysteadygo2006 0:1570961902a8 78
readysteadygo2006 0:1570961902a8 79 private:
readysteadygo2006 0:1570961902a8 80 time_t _lastReadTime;
readysteadygo2006 0:1570961902a8 81 float _lastTemperature;
readysteadygo2006 0:1570961902a8 82 float _lastHumidity;
readysteadygo2006 0:1570961902a8 83 PinName _pin;
readysteadygo2006 0:1570961902a8 84 bool _firsttime;
readysteadygo2006 0:1570961902a8 85 int _DHTtype;
readysteadygo2006 0:1570961902a8 86 int DHT_data[6];
readysteadygo2006 0:1570961902a8 87 float CalcTemperature();
readysteadygo2006 0:1570961902a8 88 float CalcHumidity();
readysteadygo2006 0:1570961902a8 89 float ConvertCelciustoFarenheit(float);
readysteadygo2006 0:1570961902a8 90 float ConvertCelciustoKelvin(float);
readysteadygo2006 0:1570961902a8 91
readysteadygo2006 0:1570961902a8 92 };
readysteadygo2006 0:1570961902a8 93
readysteadygo2006 0:1570961902a8 94 #endif