Arduino Nano - DHT22

Dieses Tutorial zeigt Ihnen, wie Sie den Arduino Nano verwenden, um die Temperatur und Luftfeuchtigkeit vom DHT22-Sensor auszulesen. Im Detail werden wir lernen:

Wir schlagen vor:

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×DHT22 Temperatur-Feuchtigkeitssensor-Modul
1×10 kΩ Resistor
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über DHT22-Temperatur- und Luftfeuchtigkeitssensor

Die Pinbelegung des DHT22-Temperatur- und Feuchtigkeitssensors

Der DHT22 auf dem Markt wird in zwei Varianten angeboten: Sensor und Modul.

Der DHT22-Sensor hat vier Pins:

  • GND-Pin: muss mit GND (0 V) verbunden werden
  • VCC-Pin: muss mit VCC (5 V) verbunden werden
  • DATA-Pin: wird zur Kommunikation zwischen dem Sensor und dem Arduino Nano verwendet
  • NC-Pin: ist nicht notwendig, dieser Pin kann ignoriert werden
Pinbelegung des DHT22-Temperatur- und Feuchtigkeitssensors

Das DHT22-Modul hat drei Pins:

  • GND-Pin (-): muss mit GND (0V) verbunden werden
  • VCC-Pin (+): muss mit VCC (5V) verbunden werden
  • OUT-Pin: Wird zur Kommunikation zwischen dem Sensor und dem Arduino Nano verwendet

※ Notiz:

Die Anordnung der Pins auf einem Modul kann von Hersteller zu Hersteller unterschiedlich sein. Es ist wichtig, sich beim Verwenden des Moduls stets auf die auf dem Modul aufgedruckten Beschriftungen zu beziehen. Schauen Sie genau hin!

Verdrahtungsdiagramm

Arduino Nano - DHT22-Sensorverdrahtung

Ein Widerstand mit einem Wert zwischen 5 kΩ und 10 kΩ ist notwendig, um die Datenleitung auf einen hohen Pegel zu halten und so die Kommunikation zwischen dem Sensor und dem Arduino Nano zu ermöglichen.

Arduino Nano DHT22 Temperatur- und Luftfeuchtigkeitssensor Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Arduino Nano - DHT22-Modulverkabelung

Das DHT22-Sensor-Modul verfügt über einen integrierten Widerstand, wodurch kein zusätzlicher Verdrahtungsaufwand oder Lötaufwand mehr nötig ist. Das spart uns Zeit und Mühe.

Arduino Nano DHT22 Temperatur- und Feuchtigkeitsmodul Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.

Wie man den DHT22-Temperatursensor programmiert

  • Der erste Schritt besteht darin, die Bibliothek einzubinden:
#include "DHT.h"
  • Geben Sie den Pin des Arduino Nano an, der mit dem DHT22-Sensor verbunden ist.
#define DHT_PIN 3 // Arduino Nano-Pin mit DHT22-Sensor verbunden
  • Geben Sie den Sensortyp an: DHT22
#define DHT_TYPE DHT22
  • Erstelle ein DHT-Objekt.
DHT dht22(DHT_PIN, DHT_TYPE);
  • Beginnen Sie mit der Sensor-Einrichtung:
dht22.begin();
  • Lies den Luftfeuchtigkeitswert aus.
float humi = dht22.readHumidity();
  • Lies die Temperatur in Grad Celsius ab.
float temperature_C = dht22.readTemperature();
  • Lies die Temperatur in Fahrenheit ab.
float temperature_F = dht22.readTemperature(true);

Arduino Nano-Code für DHT22

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-nano/arduino-nano-dht22 */ #include "DHT.h" #define DHT_PIN 3 // The Arduino Nano pin connected to DHT22 sensor #define DHT_TYPE DHT22 DHT dht22(DHT_PIN, DHT_TYPE); void setup() { Serial.begin(9600); dht22.begin(); // initialize the sensor } void loop() { // wait a few seconds between measurements. delay(2000); // read humidity float humi = dht22.readHumidity(); // read temperature as Celsius float temperature_C = dht22.readTemperature(); // read temperature as Fahrenheit float temperature_F = dht22.readTemperature(true); // check if any reads failed if (isnan(humi) || isnan(temperature_C) || isnan(temperature_F)) { Serial.println("Failed to read from DHT sensor!"); } else { Serial.print("Humidity: "); Serial.print(humi); Serial.print("%"); Serial.print(" | "); Serial.print("Temperature: "); Serial.print(temperature_C); Serial.print("°C ~ "); Serial.print(temperature_F); Serial.println("°F"); } }

Schnelle Schritte

  • Schließen Sie ein USB-Kabel an den Arduino Nano und an den PC an.
  • Öffnen Sie die Arduino IDE, wählen Sie das passende Board und den Port aus.
  • Klicken Sie auf das Bibliotheken-Symbol in der linken Seitenleiste der Arduino IDE.
  • Suchen Sie nach „DHT“ und finden Sie die DHT-Sensor-Bibliothek von Adafruit.
  • Klicken Sie auf die Installieren-Schaltfläche, um die Bibliothek zu installieren.
Arduino Nano DHT22 Sensorbibliothek
  • Sie werden aufgefordert, einige weitere Bibliotheksabhängigkeiten zu installieren.
  • Um alle zu installieren, klicken Sie einfach auf die Alle installieren-Schaltfläche.
Arduino Nano Adafruit einheitliche Sensor-Bibliothek
  • Kopieren Sie den Code für Ihren Sensor und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie auf die Hochladen-Schaltfläche in der Arduino IDE, um den Code zu kompilieren und auf den Arduino Nano hochzuladen.
  • Verändern Sie die Temperatur in der Umgebung des Sensors.
  • Überprüfen Sie die Ergebnisse im Serial Monitor.
COM6
Send
Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 32.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F Humidity: 32.00% | Temperature: 29.00°C ~ 84.20°F Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

Zusätzliches Wissen

Lassen Sie uns DHT11- und DHT22-Sensoren vergleichen.

Die Gemeinsamkeiten zwischen DHT11 und DHT22

  • Pinbelegungen bleiben unverändert.
  • Die Verdrahtung zu einem Arduino Nano ist identisch.
  • Die Programmierung, mit Hilfe einer Bibliothek, ist vergleichbar, wobei nur eine Zeile Code unterschiedlich ist.

Die Unterschiede zwischen DHT11 und DHT22

DHT11 DHT22
Price ultra low cost low cost
Temperature Range 0°C to 50°C -40°C to 80°C
Temperature Accuracy ± 2°C ± 0.5°C
Humidity Range 20% to 80% 0% to 100%
Humidity Accuracy 5% ± 2 to 5%
Reading Rate 1Hz (once every second) 0.5Hz (once every 2 seconds)
Body size 15.5mm x 12mm x 5.5mm 15.1mm x 25mm x 7.7mm

Es ist offensichtlich, dass der DHT22 genauer ist als der DHT11, einen größeren Messbereich hat und teurer ist.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!