Zweimal DHT22 Sensor verwenden?

3 Antworten

Jeder Sensor wurde ja an einen unterschiedlichen Pin angeschlossen, daher musst du auch jedes mal einen anderen Pin anschließen.

Weshalb sind dort unterschiedliche in und out-Pins angegeben? Der Sensor hat doch nur einen Datenpin, +3,3V und GND. Sind das die Pins für den Außen- und dem Innensensor?

Du musst jeden Sensor einzeln mit seinem entsprechenden Pin am Anfang initialisieren. (Wahrscheinlich mit: SimpleDHT22 dht22a(pinDHT22in); und SimpleDHT22 dht22b(pinDHT22out);)

dht22a.read2(&temperatureA, &humidityA, NULL)

dht22b.read2(&temperatureB, &humidityB, NULL)

Weshalb heißt die Funktion "read2"?

Kauf dir lieber die HTU21D (werden über I2C angesprochen), die habe ich bei Aliexpress ab 1€ bekommen und sie sind viel genauer als die DHT22 Sensoren. Man kann auch 4 Adressen einstellen um mehrere Sensoren an den I2C Bus anschließen zu können.

Hallo,

eigentlich musst du nichts anderes machen wie ALLE code-zeilen (incl. variablen, excl. include) wo dht22-lib benutzt wird jeweils für innen und für aussen schreiben.

EIn Beispiel für Trennung zwischen in und out =

#include <SimpleDHT.h>
#include <LiquidCrystal.h>
int pinDHT22i = 8;
int pinDHT22o = 9;
int Sensorwert;
const uint8_t rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

SimpleDHT22 dht22i(pinDHT22i);
SimpleDHT22 dht22o(pinDHT22o);

... irgendwo im loop:
float tempi = 0;
float humi = 0;
float tempo = 0;
float humo = 0;