Sensirion SHT11 library
sht11.h@0:56bbfad2d592, 2015-04-19 (annotated)
- Committer:
- timm
- Date:
- Sun Apr 19 01:09:46 2015 +0000
- Revision:
- 0:56bbfad2d592
initial version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
timm | 0:56bbfad2d592 | 1 | /** |
timm | 0:56bbfad2d592 | 2 | @file sht11.h |
timm | 0:56bbfad2d592 | 3 | |
timm | 0:56bbfad2d592 | 4 | @brief Header file containing member functions and variables |
timm | 0:56bbfad2d592 | 5 | |
timm | 0:56bbfad2d592 | 6 | */ |
timm | 0:56bbfad2d592 | 7 | |
timm | 0:56bbfad2d592 | 8 | #ifndef __SHT11_H__ |
timm | 0:56bbfad2d592 | 9 | #define __SHT11_H__ |
timm | 0:56bbfad2d592 | 10 | |
timm | 0:56bbfad2d592 | 11 | #include "mbed.h" |
timm | 0:56bbfad2d592 | 12 | |
timm | 0:56bbfad2d592 | 13 | /** |
timm | 0:56bbfad2d592 | 14 | @brief Simple library for interfacing with Sensirion SHT11 |
timm | 0:56bbfad2d592 | 15 | |
timm | 0:56bbfad2d592 | 16 | @brief Revision 1.0 |
timm | 0:56bbfad2d592 | 17 | |
timm | 0:56bbfad2d592 | 18 | @author Tim Meese |
timm | 0:56bbfad2d592 | 19 | @date January 201 |
timm | 0:56bbfad2d592 | 20 | * |
timm | 0:56bbfad2d592 | 21 | * Example: |
timm | 0:56bbfad2d592 | 22 | * @code |
timm | 0:56bbfad2d592 | 23 | |
timm | 0:56bbfad2d592 | 24 | #include "mbed.h" |
timm | 0:56bbfad2d592 | 25 | #include "sht11.h" |
timm | 0:56bbfad2d592 | 26 | |
timm | 0:56bbfad2d592 | 27 | // clk, dat |
timm | 0:56bbfad2d592 | 28 | SHT11 sht(p7, p8); |
timm | 0:56bbfad2d592 | 29 | |
timm | 0:56bbfad2d592 | 30 | int main() { |
timm | 0:56bbfad2d592 | 31 | |
timm | 0:56bbfad2d592 | 32 | // initialise display |
timm | 0:56bbfad2d592 | 33 | lcd.init(); |
timm | 0:56bbfad2d592 | 34 | // print a string in top-left corner |
timm | 0:56bbfad2d592 | 35 | lcd.printString("Hello, World!",0,0); |
timm | 0:56bbfad2d592 | 36 | // move cursor to 4th row |
timm | 0:56bbfad2d592 | 37 | lcd.setXYAddress(0,3); |
timm | 0:56bbfad2d592 | 38 | // print character |
timm | 0:56bbfad2d592 | 39 | lcd.printChar('X'); |
timm | 0:56bbfad2d592 | 40 | |
timm | 0:56bbfad2d592 | 41 | while(1); |
timm | 0:56bbfad2d592 | 42 | } |
timm | 0:56bbfad2d592 | 43 | |
timm | 0:56bbfad2d592 | 44 | * @endcode |
timm | 0:56bbfad2d592 | 45 | */ |
timm | 0:56bbfad2d592 | 46 | |
timm | 0:56bbfad2d592 | 47 | class SHT11 |
timm | 0:56bbfad2d592 | 48 | { |
timm | 0:56bbfad2d592 | 49 | |
timm | 0:56bbfad2d592 | 50 | private: |
timm | 0:56bbfad2d592 | 51 | DigitalOut* clk; |
timm | 0:56bbfad2d592 | 52 | DigitalInOut* data; |
timm | 0:56bbfad2d592 | 53 | float lastTemperature; |
timm | 0:56bbfad2d592 | 54 | float lastHumidity; |
timm | 0:56bbfad2d592 | 55 | |
timm | 0:56bbfad2d592 | 56 | void sendTransmissionStart(); |
timm | 0:56bbfad2d592 | 57 | void connectionReset(); |
timm | 0:56bbfad2d592 | 58 | void softReset(); |
timm | 0:56bbfad2d592 | 59 | int writeByte(unsigned char writeData); |
timm | 0:56bbfad2d592 | 60 | int readByte(unsigned char *pReadData, bool doAck); |
timm | 0:56bbfad2d592 | 61 | int readStatus(unsigned char *pRetStatus); |
timm | 0:56bbfad2d592 | 62 | int writeStatus(unsigned char writeValue); |
timm | 0:56bbfad2d592 | 63 | int measureTemp(unsigned short *pRetTempRaw); |
timm | 0:56bbfad2d592 | 64 | int measureHumid(unsigned short *pRetHumidRaw); |
timm | 0:56bbfad2d592 | 65 | float convertTempCelsius(unsigned short rawTempIn); |
timm | 0:56bbfad2d592 | 66 | float convertTempFahrenheit(unsigned short rawTempIn); |
timm | 0:56bbfad2d592 | 67 | float convertHumid(unsigned short rawHumidIn, unsigned short rawTempIn); |
timm | 0:56bbfad2d592 | 68 | |
timm | 0:56bbfad2d592 | 69 | public: |
timm | 0:56bbfad2d592 | 70 | /** Create a SHT11 object connected to the specified pins |
timm | 0:56bbfad2d592 | 71 | * |
timm | 0:56bbfad2d592 | 72 | * @param clkPin Pin connected to clk |
timm | 0:56bbfad2d592 | 73 | * @param dataPin Pin connected to data |
timm | 0:56bbfad2d592 | 74 | * |
timm | 0:56bbfad2d592 | 75 | */ |
timm | 0:56bbfad2d592 | 76 | SHT11(PinName clkPin, PinName dataPin); |
timm | 0:56bbfad2d592 | 77 | |
timm | 0:56bbfad2d592 | 78 | /** Initialise SHT11 |
timm | 0:56bbfad2d592 | 79 | * |
timm | 0:56bbfad2d592 | 80 | */ |
timm | 0:56bbfad2d592 | 81 | void init(); |
timm | 0:56bbfad2d592 | 82 | int getTemperature(float * pRetTemperature); |
timm | 0:56bbfad2d592 | 83 | int getTempHumid(float * pRetTemperature, float * pRetHumidity); |
timm | 0:56bbfad2d592 | 84 | }; |
timm | 0:56bbfad2d592 | 85 | |
timm | 0:56bbfad2d592 | 86 | #endif /* __SHT11_H__ */ |