Feuchtigkeitsmessung mit DHT11/22 Sensor - Z-Uno - SmartHome Z-Wave Modul

Direkt zum Seiteninhalt

Feuchtigkeitsmessung mit DHT11/22 Sensor

-> Feuchtigkeitssensor
Beschreibung:
Diese Z-Wave-Baugruppe realisiert eine Temperatur-/ Feuchtigkeitsmessung über den DHT22 Sensor, der sich mehrere Meter vom Z-Uno entfernt befinden kann (aber nur bedingt im Freien).
Der DHT Sensor verträgt keine kondensierende Feuchtigkeit.
Beim Einsatz des DHT11 muss der Code angepasst werden (siehe Kommentar), beim AM2303 sind die Pull-Up Widerstände bereits im Gehäuse integriert.
Sollte die Baugruppe mit einer Batterie betrieben werden, ist auf Grund der langen Messzeit ein langes Report-Intervall zu wählen, um die Batterie zu schonen.

Der DHTxx Sensor ist sehr preiswert, dafür muss man mit gewissen Einschränkungen leben (Messzeit, Genauigkeit, keine kondensierende Feuchtigkeit (wie im Außenbereich).

Weitere Beispiele unter: http://z-uno.z-wave.me/examples/
Schaltplan:
(Fritzing)

Arduino Code: (Arduino 1.6.5)

Download Code (folgt bald)


// demo sketch for connecting DHT11 humidity and 
// temperature sensor to Z-Uno

// add library
#include "ZUNO_DHT.h"
// pin connection
#define DHTPIN1 11  // first sensor
#define DHTPIN2 12  // second sensor

 
DHT dht1(DHTPIN1, DHT22);
DHT dht2(DHTPIN2, DHT22);
 
int humidity1=11;     // here we will store humidity of first sensor
int temperature1=1;   // here we will store temperature of first sensor
int humidity2=22;     // here we will store humidity of second sensor
int temperature2=2;   // here we will store temperature of second sensor
 
ZUNO_SETUP_SLEEPING_MODE(ZUNO_SLEEPING_MODE_SLEEPING);
// set up channels
ZUNO_SETUP_CHANNELS(
      ZUNO_SENSOR_MULTILEVEL_TEMPERATURE(getterTemperature1),
      ZUNO_SENSOR_MULTILEVEL_HUMIDITY(getterHumidity1),
      ZUNO_SENSOR_MULTILEVEL_TEMPERATURE(getterTemperature2),
      ZUNO_SENSOR_MULTILEVEL_HUMIDITY(getterHumidity2)
);
 
void setup() {
  delay(500);
  dht1.begin();
  dht2.begin();
  Serial.begin();
  Serial.println("start");
}
 
void loop() {
  delay(2000);
  // obtaining readings from the sensor DHT
  humidity1 = dht1.readHumidity();
  temperature1 = dht1.readTemperature();
  humidity2 = dht2.readHumidity();
  temperature2 = dht2.readTemperature();
  Serial.print("Humidity = ");
  Serial.print(humidity1);
  Serial.println(" %  ");
  Serial.print("Humidity = ");
  Serial.print(humidity2);
  Serial.println(" %  ");
  Serial.print("Temperature = ");
  Serial.print(temperature1);
  Serial.println(" *C");
  Serial.print("Temperature = ");
  Serial.print(temperature2);
  Serial.println(" *C");
  // send data to channels
  zunoSendReport(1);
  zunoSendReport(2);
  zunoSendReport(3);
  zunoSendReport(4);
  zunoSendDeviceToSleep();

}
 
word getterTemperature1() {
  return temperature1;
}
 
byte getterHumidity1() {
  return humidity1;
}
word getterTemperature2() {
  return temperature2;
}
 
byte getterHumidity2() {
  return humidity2;
}
Copyright 2018 Michael Prüfer
Zurück zum Seiteninhalt