summaryrefslogtreecommitdiff
path: root/devices/DHT22_DHT11_Parallel_auslesen/DHT22_DHT11_Parallel_auslesen.ino
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);
}