Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: lib_SHT25.h
- Revision:
- 0:71da3fbfe141
- Child:
- 1:ebd95757fba4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lib_SHT25.h Mon Jun 18 08:05:58 2018 +0000
@@ -0,0 +1,111 @@
+/** SHT25 class
+*
+* @purpose library for SHT25 humidity and temperature sensor
+*
+* Use to get temperature and humidity
+*
+* https://www.sensirion.com/products/humidity-sensor/
+*
+* Example:
+* @code
+* #include "mbed.h"
+* #include "lib_SHT25.h"
+*
+* Serial pc(USBTX, USBRX);
+* SHT25 sensor(p28, p27);
+*
+* int main()
+* {
+* float temperature, humidity;
+* while(1)
+* {
+* sensor.getData(&temperature, &humidity);
+* pc.printf("\rtemperature = %6.2f%cC -|- humidity = %6.2f%%RH", temperature, 248, humidity);
+* wait(0.5);
+* }
+* }
+* @endcode
+* @file lib_SHT25.h
+* @date Jun 2018
+* @author Yannic Simon
+*/
+#ifndef SHT25_H
+#define SHT25_H
+
+#include "mbed.h"
+
+#define SHT_I2C_ADDR 0x80 //Sensor I2C address
+#define SHT_TRIG_TEMP_HOLD 0xE3 //Trigger Temp with hold master
+#define SHT_TRIG_RH_HOLD 0xE5 //Trigger RH with hold master
+#define SHT_TRIG_TEMP 0xF3 //Trigger Temp with no hold master
+#define SHT_TRIG_RH 0xF5 //Trigger RH with no hold master
+#define SHT_WRITE_REG 0xE6 //Write to user register
+#define SHT_READ_REG 0xE7 //Read from user register
+#define SHT_SOFT_RESET 0xFE //Soft reset the sensor
+#define SHT_SELF_HEATING 0x01 //Keep self heating
+#define SHT_PREC_1214 0x00 //RH 12 T 14 - default
+#define SHT_PREC_0812 0x01 //RH 8 T 10
+#define SHT_PREC_1013 0x80 //RH 10 T 13
+#define SHT_PREC_1111 0x81 //RH 10 T 13
+
+/** SHT25 class
+ */
+class SHT25
+{
+ public:
+ /** make new SHT25 instance
+ * connected to sda, scl I2C pins
+ *
+ * @param sda I2C pin
+ * @param scl I2C pin
+ */
+ SHT25(PinName sda, PinName scl);
+
+ /** return Temperature(°C) and Humidity
+ *
+ * @param variable address to return Temperature
+ * @param variable address to return Humidity
+ * @returns none
+ */
+ void getData(float *, float *);
+
+ /** return Temperature(°C)
+ *
+ * @param none
+ * @returns Temperature(°C)
+ */
+ float getTemperature(void);
+
+ /** return Humidity
+ *
+ * @param none
+ * @returns Humidity
+ */
+ float getHumidity(void);
+
+ /** set data precision
+ *
+ * @param precision like SHT_PREC_RHTT (SHT_PREC_1214, SHT_PREC_0812, SHT_PREC_1013, SHT_PREC_1111)
+ * @returns I2C acknoledge
+ */
+ int setPrecision(char precision);
+
+ /** soft reset the sensor
+ *
+ * @param none
+ * @returns boolean on I2C acknoledge
+ */
+ bool softReset(void);
+ protected:
+ I2C _i2c;
+ Timeout _t;
+ private:
+ void readData(float *, float *);
+ float readTemperature(void);
+ float readHumidity(void);
+ void keepSelf(void);
+ float _temperature, _humidity;
+ bool _selfHeat;
+};
+
+#endif
\ No newline at end of file