Temperatur und Luftfeuchtigkeit messen

Temperatur Luftfeuchtigkeit, rht03 dht22
Temperatur und Luftfeuchtigkeit messen – Schaltung mit Fritzing erzeugt

Um Temperatur und Luftfeuchtigkeit zu messen, kann man den Sensor RHT03 (auch bekannt als DHT22) benutzen. Es handelt sich um einen vorkalibrierten Sensor, der über eine One-Wire Schnittstelle (MaxDetect), also eine Datenleitung mit nur einem Kabel, angesprochen wird. Der Sensor benötigt außer einem Widerstand keine weiteren Bauteile und arbeitet mit 5V. Legt man den Sensor mit den Gittern vor sich hin, ist der linke Pin der 5V+ Anschluss, der daneben der Datenpin, der noch mit einem Widerstand (4,7kΩ) mit 5V+ verbunden ist. Der ganz rechte Pin ist der GND. Pin 3 muss nicht weiter beachtet werden.

Die Bibliothek, die man benötigt heißt DHT22 und ist hier auf Github herunterladbar. Sie muss in den Library-Ordner des Arduino-Sketchbooks kopiert und in »DHT22« umbenannt werden.

Der Code hier funktioniert, jedoch kann man aus der DHT22 Bibliothek noch mehr, wie z.B. Fehlerauswertung des Sensors, holen. Wer sich dafür interessiert, soll mal in der Arduino-Software das Beispiel Datei>Beispiele>DHT22>Serial öffnen.

Der Sensor kann nur alle ein bis zwei Sekunden ausgelesen werden und benötigt darüber hinaus eine Aufwärmphase von zwei Sekunden – dazu dient das Delay.

#include <LiquidCrystal.h>
#include <DHT22.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int sensorPin = 8;
DHT22 mySensor(sensorPin);

void setup() {
  lcd.begin(16, 2);   
}

void loop() {
  delay(2000);

  mySensor.readData();
  lcd.setCursor(8, 0);
  lcd.print("Tempera.");

  lcd.setCursor(8, 1);
  lcd.print("Humidity");
    
  lcd.setCursor(0, 0);
  lcd.print(mySensor.getTemperatureC());

  lcd.setCursor(0, 1);
  lcd.print(mySensor.getHumidity());
}
FacebookTwitterGoogle+PinterestTumblrWhatsAppWordPressEvernoteDiasporaYahoo MessengerShare

4 Comments

  1. Jörg

    Hallo,
    in dem Schaltbild fehlt der 4,7kΩ Widerstand zwischen +5V und dem Datenpin des Sensors.

    Gruß

    Jörg

  2. jörg

    hallo ich möchte die tempertatur von mehreren räumen erfassen wie bringe ich noch mehr sensoren ein danke im voraus bin absoluter anfänger

  3. Martin Mammele

    zum Thema temperatur und Luftfeuchtigkeit messen

    wie muß das Programm geändert werden, wenn das verwendete Display über I2C angeschlossen wird? zur einsparung von Pins(2 anstatt 6)

  4. Peter

    Hallo
    Ich möchte gerne folgende Schaltung bauen:
    1 Sensor misst die Temperatur
    wenn ein gewisser Schwellwert (zb 30 Grad) überschritten wird, sollen sich Lüfter einschalten (Standardlüfter wie sie in PCs verbaut sind)
    Ist dies mit dem Arduino möglich? Wie muss ich sowas Programmieren und Bauen?

    Danke für die Hilfe

Leave a Reply

Your email address will not be published. Required fields are marked *