Arduino und DHT22 Temperatur- und Feuchtigkeitssensorunterstützung
Das Modul DHT22 dient zur Messung von Lufttemperatur und Luftfeuchtigkeit. Das vorgestellte Beispiel zeigt, wie man seine Fähigkeiten über Arduino nutzt.
Das Beispiel verwendet die folgenden Elemente:
DHT22 mit Arduino verbinden:
Um die Temperatur- und Feuchtigkeitswerte aus dem Sensor auszulesen, verbinden Sie das System wie folgt mit dem Arduino:
Stift DHT22 | Arduino-Stift |
---|---|
VCC | 5 V |
DATUM | 2 |
Masse | Masse |
Beim Sensor nur ohne Modul muss die Datenleitung zusätzlich über einen Widerstand, in diesem Fall 4,7 kΩ , auf Vcc hochgezogen werden (wie im Bild unten). |
Anschlussplan des DHT22-Sensors mit dem Arduino Uno.
Anschlussplan des DHT22-Sensors (Version mit dem Modul) mit dem Arduino Uno.
Programm für Arduino
Zunächst sollte die Bibliothek zur Arduino-Umgebung hinzugefügt werden (Sketch -> Include Library -> Add .ZIP Library ...).
Im Beispiel wurde folgender Code verwendet:
#include "dht.h" dht DHT22; #define DHT22PIN 2 // Arduino Pin 2 als Sensorwert zuweisen Void-Setup () { Serial.begin (115200); // Initialisierung des seriellen Monitors Serial.println ("DHT22-Testprogramm"); Serial.println (); } leere Schleife () { int chk = DHT22.read (DHT22PIN); // Überprüfen Sie den Zustand des Sensors und zeigen Sie dann eine Nachricht auf dem seriellen Monitor an Serial.print ("Sensorstatus:"); Schalter (chk) { Fall DHTLIB_OK: Serial.print ("OKt"); brechen; Fall DHTLIB_ERROR_CHECKSUM: Serial.println ("Prüfsummenfehler"); brechen; Fall DHTLIB_ERROR_TIMEOUT: Serial.println ("Timeout Ende - Keine Antwort"); brechen; Ursprünglich: Serial.println ("Unbekannter Fehler"); brechen; } Serial.print ("Feuchtigkeit (%):"); // den Feuchtigkeitswert anzeigen Serial.print ((Float) DHT22.Feuchtigkeit, 2); Serial.print ("tt"); Serial.print ("Temperatur (C):"); // Anzeige der Temperatur Serial.println ((float) DHT22.temperature, 2); Verzögerung (1000); // Verzögerung zwischen aufeinanderfolgenden Lesungen - 1 s }
Das Ergebnis dieses Programms ist auf dem Bildschirm zu sehen:
Screenshot des seriellen Monitors.