|
4 | 4 | #include <Adafruit_Sensor.h>
|
5 | 5 | #include <TSL2561.h>
|
6 | 6 | #include <Adafruit_BME280.h>
|
7 |
| -#include <SparkFunTMP102.h> |
| 7 | +#include <Adafruit_HTU21DF.h> |
8 | 8 |
|
9 | 9 | // Configuration
|
10 | 10 | #define WIFI_SSID ""
|
11 | 11 | #define WIFI_PASS ""
|
12 | 12 | #define WEB_SERVER_PORT 80
|
13 | 13 | #define I2C_ADDR_TSL2561 0x39
|
14 | 14 | #define I2C_ADDR_BME280 0x76
|
15 |
| -#define I2C_ADDR_TMP102 0x48 |
16 | 15 |
|
17 | 16 | // Web server
|
18 | 17 | ESP8266WebServer webServer(WEB_SERVER_PORT);
|
19 | 18 |
|
20 | 19 | // Sensors
|
21 | 20 | TSL2561 tsl2561(I2C_ADDR_TSL2561);
|
22 | 21 | Adafruit_BME280 bme280;
|
23 |
| -TMP102 tmp102(I2C_ADDR_TMP102); |
| 22 | +Adafruit_HTU21DF htu21df; |
24 | 23 |
|
25 | 24 | void setup()
|
26 | 25 | {
|
@@ -55,7 +54,7 @@ void handleRoot()
|
55 | 54 | float temperature = readTemperature();
|
56 | 55 |
|
57 | 56 | // Read humidity (%)
|
58 |
| - float humidity = bme280.readHumidity(); |
| 57 | + float humidity = readHumidity(); |
59 | 58 |
|
60 | 59 | // Read pressure (hPa)
|
61 | 60 | float pressure = bme280.readPressure() / 100;
|
@@ -83,11 +82,20 @@ void handleRoot()
|
83 | 82 | webServer.send(200, "application/json", response);
|
84 | 83 | }
|
85 | 84 |
|
86 |
| -float readTemperature() { |
| 85 | +float readHumidity() |
| 86 | +{ |
| 87 | + float bme280Humidity = bme280.readHumidity(); |
| 88 | + float htu21dfHumidity = htu21df.readHumidity(); |
| 89 | + |
| 90 | + return (htu21dfHumidity + bme280Humidity) / 2; |
| 91 | +} |
| 92 | + |
| 93 | +float readTemperature() |
| 94 | +{ |
87 | 95 | float bme280Temperature = bme280.readTemperature();
|
88 |
| - float tmp102Temperature = tmp102.readTempC(); |
| 96 | + float htu21dfTemperature = htu21df.readTemperature(); |
89 | 97 |
|
90 |
| - return (tmp102Temperature + tmp102Temperature + bme280Temperature) / 3; |
| 98 | + return (htu21dfTemperature + bme280Temperature) / 2; |
91 | 99 | }
|
92 | 100 |
|
93 | 101 | void setupWiFi()
|
@@ -123,7 +131,7 @@ void setupSensors()
|
123 | 131 | {
|
124 | 132 | setupSensorTSL2561();
|
125 | 133 | setupSensorBME280();
|
126 |
| - setupSensorTMP102(); |
| 134 | + setupSensorHTU21DF(); |
127 | 135 | }
|
128 | 136 |
|
129 | 137 | void setupSensorTSL2561()
|
@@ -156,12 +164,17 @@ void setupSensorBME280()
|
156 | 164 | Serial.println("[BME280] Connected!");
|
157 | 165 | }
|
158 | 166 |
|
159 |
| -void setupSensorTMP102() |
| 167 | +void setupSensorHTU21DF() |
160 | 168 | {
|
161 |
| - Serial.println("[TMP102] Setup"); |
162 |
| - Serial.println("[TMP102] Connecting.."); |
| 169 | + Serial.println("[HTU21DF] Setup"); |
| 170 | + Serial.print("[HTU21DF] Connecting.."); |
163 | 171 |
|
164 |
| - tmp102.begin(); |
| 172 | + while (!htu21df.begin()) |
| 173 | + { |
| 174 | + delay(200); |
| 175 | + Serial.print("."); |
| 176 | + } |
| 177 | + Serial.println(); |
165 | 178 |
|
166 |
| - Serial.println("[TMP102] Assuming connected!"); |
| 179 | + Serial.println("[HTU21DF] Connected!"); |
167 | 180 | }
|
0 commit comments