← Alle Bauteile

[B24] DHT11 Temperatur + Luftfeuchte

Sensor

Chipsatz: DHT11 | Kommunikationsprotokoll: 1-Wire Messbereich Luftfeuchtigkeit: 20-90%RH Messbereich Temperatur: 0-50°C Vorteile dieses Sensors ist die Kombination von Temperaturmessung und Luftfeuchtigkeitsmessung in einer kompakten Bauform - der Nachteil ist jedoch die geringe Abtastrate der Messung, so dass nur jede 2 Sekunden ein neues Messergebnis zur Verfügung steht - dieser Sensor ist somit sehr gut für Langzeit- Messungen geeignet.

Tipps: Fuer hoehere Genauigkeit DHT22 nehmen — ist aber teurer.

Technische Daten

KategorieALLNET 40-in-1 / Temperatur
Schnittstelle1-Wire (proprietaer)
PinbelegungVCC, GND, DATA
Anzahl Pins3
MessgroesseTemperatur 0-50 °C, Feuchte 20-90 %RH
BetriebsspannungNoneV – NoneV
DatenblattPDF oeffnen

Anschluss

Arduino Uno R3

Pins: 5V=VCC, GND=GND, D2=DATA

Hinweise: Min. 2 Sekunden zwischen Messungen.

Codebeispiele

ALLNET B24 — Beispiel aus Anleitung Anfaenger

Beispielsketch aus der ALLNET-Anleitung fuer das Modul B24 ([B24] DHT11 Temperatur + Luftfeuchte). Vor dem Hochladen den verwendeten Pin pruefen!

Benoetigte Bibliotheken: DHT sensor library (Adafruit)

// ALLNET Temperature & Humidity/Temp. & Feuchtigkeit
B24
// Information http://www.allnet.de

//Arduino-DHT Iibrary wird hinzugefuegt
#include "DHT.h"

// Arduino-DHT Library wird initialisiert
#define DHTPIN 2
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);

//einmalig ausgeführte SetUp Befehle
void setup()
{
  //Starten der seriellen Übertragung
  Serial.begin(9600);
  Serial.println("DHTxx test!");

  //DHT11 Sensor wird gestartet
  dht.begin();
}

void loop()
{
  //Pause
  delay(2000);

  //Auslesen der Luftfeuchtigkeit
  float h = dht.readHumidity();

//Auslesen der Temperatur in Celsius
  float t = dht.readTemperature();
  //Auslesen der Temperatur in Farenheit
  float f = dht.readTemperature(true);

  //Prüft ob eine Messung fehlerhaft ist und bricht
in dem Fall vorzeitig ab
  //Eine Information darüber wird in der seriellen
Ausgabe bereitgestellt
  if (isnan(h) || isnan(t) || isnan(f))
  {
    Serial.println("Failed to read from DHT
sensor!");
    return;
  }

  //Berechnet den Heat Index in Farenheit
  float hif = dht.computeHeatIndex(f, h);
  //Berechnet den Heat Index in Celsius (isFahreheit
= false)
  float hic = dht.computeHeatIndex(t, h, false);

  //Ausgabe der Sensorwerte
  Serial.print("Luftfeuchtigkeit: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperatur: ");
  Serial.print(t);
  Serial.print(" *C ");
  Serial.print(f);
  Serial.print(" *F\t");
  Serial.print("Heat index: ");
  Serial.print(hic);
  Serial.print(" *C ");
  Serial.print(hif);
  Serial.println(" *F");
}

/
/Auslesen der Temperatur in Celsius
  float t = dht.readTemperature();
  //Auslesen der Temperatur in Farenheit
  float f = dht.readTemperature(true);

  //Prüft ob eine Messung fehlerhaft ist und bricht
in dem Fall vorzeitig ab
  //Eine Information darüber wird in der seriellen
Ausgabe bereitgestellt
  if (isnan(h) || isnan(t) || isnan(f))
  {
    Serial.println("Failed to read from DHT
sensor!");
    return;
  }

  //Berechnet den Heat Index in Farenheit
  float hif = dht.computeHeatIndex(f, h);
  //Berechnet den Heat Index in Celsius (isFahreheit
= false)
  float hic = dht.computeHeatIndex(t, h, false);

  //Ausgabe der Sensorwerte
  Serial.print("Luftfeuchtigkeit: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperatur: ");
  Serial.print(t);
  Serial.print(" *C ");
  Serial.print(f);
  Serial.print(" *F\t");