ESP8266 - DHT11

Dieses Tutorial erklärt dir, wie man den ESP8266 verwendet, um die Temperatur und Luftfeuchtigkeit vom DHT11-Sensor auszulesen. Im Detail werden wir lernen:

Erforderliche Hardware

1×ESP8266 NodeMCU
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×DHT11 Temperatur-Feuchtigkeitssensor-Modul
1×10 kΩ Resistor
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

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 den DHT11-Temperatur- und Feuchtigkeitssensor

Pinbelegung des Temperatur- und Feuchtigkeitssensors

Der DHT11 ist auf dem Markt in zwei Ausführungen erhältlich: Sensor und Modul.

Die DHT11-Sensoren haben vier Pins:

  • GND-Pin: muss mit GND verbunden werden (0V)
  • VCC-Pin: muss mit VCC verbunden werden (5V)
  • DATA-Pin: wird für die Kommunikation zwischen dem Sensor und dem ESP8266 verwendet
  • NC-Pin: Nicht verbunden, dieser Pin kann ignoriert werden
Pinbelegung des DHT11-Temperatur- und Feuchtigkeitssensors

Das DHT11-Modul hat drei Pins:

  • GND-Pin (−): muss mit GND (0V) verbunden werden
  • VCC-Pin (+): muss mit VCC (5V) verbunden werden
  • OUT-Pin: wird für die Kommunikation zwischen dem Sensor und dem ESP8266 verwendet

※ Notiz:

Die Anordnung der Pins auf einem Modul kann je nach Hersteller unterschiedlich sein. Es ist IMPERATIV, die auf dem Modul aufgedruckten Beschriftungen als Referenz zu verwenden. Achten Sie darauf, genau hinzusehen!

Verdrahtungsdiagramm

ESP8266 - DHT11-Sensorverkabelung

Ein Widerstand mit einem Wert zwischen 5 kΩ und 10 kΩ ist notwendig, um die Datenleitung auf einem hohen Pegel zu halten, wodurch die Kommunikation zwischen dem Sensor und dem ESP8266 ermöglicht wird.

ESP8266 NodeMCU DHT11 Temperatur- und Luftfeuchtigkeitssensor Verdrahtungsdiagramm

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

Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.

ESP8266 - DHT11-Modulverkabelung

Die meisten DHT11-Sensor-Module verfügen über einen integrierten Widerstand, wodurch zusätzlicher Verkabelungs- oder Lötaufwand entfällt.

ESP8266 NodeMCU DHT11 Temperatur- und Feuchtigkeitsmodul Verdrahtungsdiagramm

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

So programmieren Sie den DHT11-Temperatursensor

  • Zu Beginn muss die Bibliothek eingebunden werden:
#include "DHT.h"
  • Geben Sie den ESP8266-Pin an, der mit dem DHT11-Sensor verbunden ist.
#define DHT_PIN D7
  • Geben Sie den Typ des Sensors an: DHT11
#define DHT_TYPE DHT11
  • Erstelle ein DHT-Objekt.
DHT dht11(DHT_PIN, DHT_TYPE);
  • Beginnen Sie mit der Einrichtung des Sensors:
dht11.begin();
  • Lies den Feuchtigkeitswert aus.
float humi = dht11.readHumidity();
  • Lies die Temperatur in Grad Celsius aus.
float temperature_C = dht11.readTemperature();
  • Lies die Temperatur in Fahrenheit aus.
float temperature_F = dht11.readTemperature(true);

ESP8266 Code für DHT11

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-dht11 */ #include <DHT.h> #define DHT_SENSOR_PIN D7 // The ESP8266 pin D7 connected to DHT11 sensor #define DHT_SENSOR_TYPE DHT11 DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { Serial.begin(9600); dht_sensor.begin(); // initialize the DHT sensor } void loop() { // read humidity float humi = dht_sensor.readHumidity(); // read temperature in Celsius float temperature_C = dht_sensor.readTemperature(); // read temperature in Fahrenheit float temperature_F = dht_sensor.readTemperature(true); // check whether the reading is successful or not if ( isnan(temperature_C) || isnan(temperature_F) || isnan(humi)) { 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"); } // wait a 2 seconds between readings delay(2000); }

Schnelle Schritte

Um mit dem ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:

  • Schau dir das Tutorial Anleitung zur Einrichtung der ESP8266-Umgebung in der Arduino IDE an, falls du den ESP8266 zum ersten Mal verwendest.
  • Verdrahte die Bauteile gemäß dem Diagramm.
  • Schließe das ESP8266-Board über ein USB-Kabel an deinen Computer an.
  • Öffne die Arduino IDE auf deinem Computer.
  • Wähle das richtige ESP8266-Board aus, z. B. NodeMCU 1.0 (ESP-12E Module), und den jeweiligen COM-Port.
  • Schließe ein USB-Kabel an das ESP8266-Board und den PC an.
  • Öffne die Arduino IDE, wähle das richtige Board und den passenden Port aus.
  • Klicke auf das Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
  • Suche nach „DHT“, und finde dann die DHT-Sensor-Bibliothek von Adafruit.
  • Klicke auf die Installieren-Schaltfläche, um die Installation abzuschließen.
ESP8266 NodeMCU DHT11 Sensorbibliothek
  • Sie werden aufgefordert, weitere Bibliotheksabhängigkeiten zu installieren.
  • Um alle diese Bibliotheken zu installieren, klicken Sie auf die Schaltfläche Alle installieren.
ESP8266 NodeMCU Adafruit Unified Sensor-Bibliothek
  • Kopieren Sie den Code, der dem von Ihnen verwendeten Sensor entspricht, und öffnen Sie ihn mit der Arduino IDE.
  • Klicken Sie in der Arduino IDE auf die Schaltfläche Hochladen, um den Code zu kompilieren und auf den ESP8266 hochzuladen.
  • Verändern Sie die Temperatur in der Umgebung des Sensors.
  • Überprüfen Sie das Ergebnis 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

Lass uns DHT11- und DHT22-Sensoren vergleichen.

Die Gemeinsamkeiten zwischen DHT11 und DHT22

  • Pinouts bleiben gleich.
  • Die Verdrahtung zum ESP8266 bleibt unverändert.
  • Die Programmierung mit Hilfe einer Bibliothek ist vergleichbar und erfordert lediglich, dass eine Codezeile geändert wird.

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

Offensichtlich ist der DHT22 genauer als der DHT11 und hat einen größeren Messbereich und kostet dennoch mehr.

※ 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!