Sensor DHT22 auslesen
Um Temperatur und Luftfeuchtigkeit mit dem Arduino messen zu können, kann der Sensor DHT22 verwendet werden. Diesen gibt es für wenig Geld bei den gängigen Onlinewarenhäusern.
Temperatur und Luftfeuchtigkeit auslesen
Um den Sensor aus zu lesen sind lediglich drei Kabel nötig.
Spannungsversorgung + auf Pin-1, Masse auf Pin2, Pin3 bleibt frei und Datenübertragung auf Pin4.
Soll der Sensor über weitere Entfernungen ausgelesen werden, ist zusätzlich ein 4,7 kOhm Pull-UP Widerstand nötig. Über kurze Entfernungen genügt der auf dem Arduinoboard integrierte Pull-UP.
Um den Sensor ansprechen zu können werden die Libraries
https://github.com/adafruit/DHT-sensor-library
und
https://github.com/adafruit/Adafruit_Sensor
benötigt.
Folgender Sketch kann hierfür verwendet werden :
#include "DHT.h"
#define DHTPIN 52
#define DHTTYPE DHT22 //DHT11, DHT21, DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup()
{
Serial.begin(9600);
Serial.println("DHT22 - Test!");
dht.begin();
}
void loop()
{
float h = dht.readHumidity(); //Luftfeuchte auslesen
float t = dht.readTemperature(); //Temperatur auslesen
// Prüfen ob eine gültige Zahl zurückgegeben wird. Wenn NaN (not a number) zurückgegeben wird, dann Fehler ausgeben.
if (isnan(t) || isnan(h))
{
Serial.println("DHT22 konnte nicht ausgelesen werden");
}
else
{
Serial.print("Luftfeuchte: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperatur: ");
Serial.print(t);
Serial.println(" C");
}
}
Die Bildergalerie zeigt einen Arduino Mega mit DHT22 auf Pin 52 wie im Sketch.