123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
-
-
- #if defined(ARDUINO) && ARDUINO >= 100
- #include "Arduino.h"
- #else
- #include "WProgram.h"
- #endif
-
- #include <Wire.h>
-
- #ifndef SHT2X_H
- #define SHT2X_H
-
-
- #define HTDU21D_ADDRESS 0x40
-
- #define TRIGGER_TEMP_MEASURE_HOLD 0xE3
- #define TRIGGER_HUMD_MEASURE_HOLD 0xE5
- #define TRIGGER_TEMP_MEASURE_NOHOLD 0xF3
- #define TRIGGER_HUMD_MEASURE_NOHOLD 0xF5
-
- #define WRITE_USER_REG 0xE6
- #define READ_USER_REG 0xE7
- #define SOFT_RESET 0xFE
-
- #define ERROR_CRC 998
- #define ERROR_TIMEOUT 999
-
- class SHT2x {
- public:
- SHT2x(uint8_t _addr = HTDU21D_ADDRESS, TwoWire* _wire = &Wire);
- void begin();
- bool GetAlive(void);
- float GetHumidity(void);
- float GetTemperature(void);
- void setResolution(uint8_t resBits);
- uint8_t read_user_register(void);
- uint16_t readSensor(uint8_t command);
-
- private:
- uint8_t check_crc(uint16_t message_from_sensor, uint8_t check_value_from_sensor);
-
- uint8_t addr;
- TwoWire* wire;
- };
-
- #endif
|