blob: 1225a7753911ce4b7fa79bf76c1a1ecbc0046507 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
// Including the DHT library
#include "DHT.h"
const int DATA_PIN_DHT22 = D4;
const int DATA_PIN_DHT11 = D2;
// Initialize DHT sensor.
DHT dht22(DATA_PIN_DHT22, DHT22);
DHT dht11(DATA_PIN_DHT11, DHT11);
float readTemperature(DHT dht) {
float t = dht.readTemperature();
if (isnan(t)) {
Serial.println("Failed to read temperature from DHT sensor");
}
return t;
}
float readHumidity(DHT dht) {
float h = dht.readHumidity();
if (isnan(h)) {
Serial.println("Failed to read humidity from DHT sensor");
}
return h;
}
void printValues(String sensorType, float humidity, float temperature) {
Serial.print("Sensor: ");
Serial.println(sensorType);
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println("%");
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println("°C");
}
void readAndPrintValues(char* sensorType) {
DHT dht(0,0);
if ("DHT11" == sensorType) {
dht = dht11;
} else if ("DHT22" == sensorType) {
dht = dht22;
}
float temperature = readTemperature(dht);
float humidity = readHumidity(dht);
printValues(sensorType, humidity, temperature);
}
void setup() {
Serial.begin(115200);
Serial.println("Read humidity and temperature from DHT11 and DHT22");
dht22.begin();
delay(1000);
dht11.begin();
delay(10000);
}
void loop() {
readAndPrintValues("DHT11");
delay(1000);
readAndPrintValues("DHT22");
delay(5000);
}
|