Aufbau eines Temperatur- und Feuchtigkeitsmonitors mit DHT11/DHT22 und Arduino

Die Überwachung von Umgebungsbedingungen wie Temperatur und Luftfeuchtigkeit ist für verschiedene Anwendungen von der Heimautomatisierung bis zum Treibhausmanagement von wesentlicher Bedeutung. Mit der vielseitigen Arduino -Plattform und Sensoren wie dem DHT11 oder DHT22 ist es sowohl erschwinglich als auch unkompliziert. In diesem Handbuch führen wir Sie durch die erforderlichen Komponenten, den Einrichtungsvorgang und die Codierung, die erforderlich ist, um Ihren Monitor zum Leben zu erwecken.

Komponenten, die Sie benötigen

  • Arduino uno
  • DHT11- oder DHT22 -Sensor
  • 10k Ohm Widerstand
  • Breadboard- und Jumper -Drähte
  • LCD -Anzeige (optional)
  • USB -Kabel

Verständnis der DHT11/DHT22 -Sensoren

Die DHT11 und DHT22 sind beliebte Sensoren für die Messung von Temperatur und Luftfeuchtigkeit. Der DHT11 ist kostengünstig und für grundlegende Anwendungen geeignet und bietet einen Temperaturbereich von 0-50 ° C mit einer Genauigkeit von ± 2 ° C mit einer Genauigkeit von ± 5%. Der DHT22 dagegen bietet einen größeren Temperaturbereich von -40 bis 80 ° C mit einer Genauigkeit von ± 0,5 ° C mit einer Genauigkeit von ± 2-5% und ist ideal für anspruchsvolle Projekte.

Verkabelung des Sensors nach Arduino

Befolgen Sie diese Schritte, um Ihren DHT -Sensor mit dem Arduino zu verbinden:

  1. Stromverbindungen: Schließen Sie den VCC -Stift des DHT -Sensors an den 5 -V -Stift am Arduino und den GND -Stift mit dem Boden (GND) an.
  2. Datenstift: Schließen Sie den Datenstift des DHT -Sensors an einen digitalen Eingangspin am Arduino an (üblicherweise Pin 2).
  3. Pull-up-Widerstand: Platzieren Sie einen 10 -km -Ohm -Widerstand zwischen dem VCC- und Daten -PIN, um eine stabile Datenübertragung sicherzustellen.
  4. LCD -Anzeige (optional): Wenn Sie ein LCD verwenden, verbinden Sie ihn mit den entsprechenden Arduino -Pins zum Anzeigen der Messwerte.

Programmieren des Arduino

Um Daten aus dem DHT -Sensor zu lesen, verwenden wir die DHT.h Bibliothek, die den Prozess vereinfacht. Unten finden Sie ein Beispielcode -Snippet, um Ihnen den Einstieg zu erleichtern:

// Include the DHT library
#include <DHT.h>

// Define the sensor type and the pin it's connected to
#define DHTPIN 2
#define DHTTYPE DHT22 // Change to DHT11 if you're using that model

// Initialize the DHT sensor
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  // Start serial communication
  Serial.begin(9600);
  // Initialize the DHT sensor
  dht.begin();
}

void loop() {
  // Wait a few seconds between measurements
  delay(2000);

  // Read humidity and temperature
  float humidity = dht.readHumidity();
  float temperature = dht.readTemperature();

  // Check if any reads failed
  if (isnan(humidity) || isnan(temperature)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  // Print the results to the Serial Monitor
  Serial.print("Humidity: ");
  Serial.print(humidity);
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.println(" *C");
}

Erläuterung des Code:

  • Der DHT.h Die Bibliothek ist enthalten, um die Kommunikation mit dem Sensor zu erleichtern.
  • Wir definieren den Datenstift und den Sensortyp mithilfe #define.
  • Im setup() Funktion, wir initialisieren die serielle Kommunikation und den DHT -Sensor.
  • Der loop() Funktion liest die Luftfeuchtigkeit und Temperatur alle zwei Sekunden und druckt sie auf den seriellen Monitor.

Daten anzeigen

Für ein benutzerfreundlicheres Setup können Sie die Messwerte auf einem LCD anzeigen. Ändern Sie den Code, um Daten an anstelle des seriellen Monitors an die LCD zu senden. Stellen Sie sicher, dass Sie über die entsprechende LCD -Bibliothek installiert sind, und konfigurieren Sie die Pins entsprechend.

Beispielcode für die LCD -Anzeige:

// Include necessary libraries
#include <DHT.h>
#include <LiquidCrystal.h>

// Define sensor and LCD pins
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);

// Initialize the LCD (adjust pin numbers as needed)
LiquidCrystal lcd(12, 11, 5, 4, 3, 6);

void setup() {
  // Start serial communication
  Serial.begin(9600);
  dht.begin();
  // Initialize the LCD
  lcd.begin(16, 2);
  lcd.print("Temp & Humidity");
}

void loop() {
  delay(2000);

  float humidity = dht.readHumidity();
  float temperature = dht.readTemperature();

  if (isnan(humidity) || isnan(temperature)) {
    lcd.clear();
    lcd.print("Sensor Error");
    return;
  }

  // Display on LCD
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Temp: ");
  lcd.print(temperature);
  lcd.print(" C");
  lcd.setCursor(0, 1);
  lcd.print("Humidity: ");
  lcd.print(humidity);
  lcd.print(" %");
}

Testen Sie Ihr Setup

Öffnen Sie nach dem Hochladen des Codes in Ihr Arduino den seriellen Monitor (falls die serielle Ausgabe) oder beobachten Sie die LCD -Anzeige. Sie sollten Echtzeit-Temperatur- und Feuchtigkeitswerte sehen. Stellen Sie sicher, dass Ihre Verbindungen sicher sind und der Sensor korrekt funktioniert. Wenn Sie auf Probleme stoßen, überprüfen Sie die Verkabelung und überprüfen Sie, ob der richtige Sensortyp in Ihrem Code definiert ist.

Verbesserungen und nächste Schritte

Nachdem Sie eine grundlegende Temperatur- und Feuchtigkeitsmonitor haben, sollten Sie die folgenden Verbesserungen berücksichtigen:

  • Datenprotokollierung: Schließen Sie Ihr Arduino an ein SD -Kartenmodul an, um Daten für die Analyse im Laufe der Zeit zu protokollieren.
  • Drahtlose Überwachung: Verwenden Sie Module wie ESP8266 oder Bluetooth, um Daten an Ihr Smartphone- oder Cloud -Dienste zu senden.
  • Warnungen: Implementieren Sie Schwellenwertwarnungen mithilfe von LEDs oder Summer, um Sie über extreme Bedingungen zu informieren.
  • Mehrere Sensoren: Erweitern Sie Ihr Setup um zusätzliche Sensoren für Parameter wie Luftqualität oder Lichtintensität.

Abschluss

Der Aufbau eines Temperatur- und Feuchtigkeitsmonitors mit DHT11/DHT22 und Arduino ist ein hervorragendes Projekt für Anfänger und Enthusiasten. Es bietet praktische Erfahrungen mit Sensorintegration, Datenverarbeitung und Anzeigetechniken. Ob für den persönlichen Gebrauch oder als Grundlage für komplexere Systeme, dieses Projekt zeigt die Leistung und Flexibilität des Arduino -Ökosystems. Viel Spaß beim Gebäude!

Hinterlasse einen Kommentar

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.