.. note:: Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten. **Warum beitreten?** - **Expertenunterstützung**: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams. - **Lernen & Teilen**: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern. - **Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken. - **Spezialrabatte**: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte. - **Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil. 👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [|link_sf_facebook|] und treten Sie heute bei! .. _ar_humiture: 2.32 DHT11-Modul ================== Überblick -------------- In dieser Lektion lernen Sie, wie Sie das DHT11-Modul verwenden. Der DHT11 ist ein einfacher, extrem kostengünstiger digitaler Temperatur- und Feuchtigkeitssensor. Es verwendet einen kapazitiven Feuchtigkeitssensor und einen Thermistor, um die Umgebungsluft zu messen, und gibt ein digitales Signal an den Datenpin aus (es werden keine analogen Eingangspins benötigt). Erforderliche Komponenten ---------------------------- .. image:: img/Part_two_32.png * :ref:`cpn_mega2560` * :ref:`cpn_wires` * :ref:`cpn_humiture` Fritzing-Schaltung ---------------------- In diesem Beispiel können wir die Pins des DHT11-Moduls direkt mit den Pins des Mega 2560-Boards verbinden, und wir verwenden Pin 4, um das Signal des DHT11-Moduls zu lesen. Verbinden Sie den Pin「+」des DHT11-Moduls mit 5V, den Pin「-」 mit GND und den Pin OUT mit Pin 4. .. image:: img/image241.png :align: center **Wiring Diagram** -------------------- .. image:: img/image242.png :align: center Code ---------- .. note:: * Sie können die Datei ``2.32_dhtModule.ino`` unter dem Pfad ``sunfounder_vincent_kit_for_arduino\code\2.32_dhtModule`` direkt öffnen. * Oder kopieren Sie diesen Code in Arduino IDE. * Hier wird die Bibliothek ``DHT sensor library`` verwendet. Sie können sie über den **Library Manager** installieren. .. image:: img/lib_dht11.png :align: center .. raw:: html Nachdem die Codes auf die Mega2560-Platine hochgeladen wurden, gibt der serielle Monitor weiterhin die aktuellen Temperatur- und Feuchtigkeitswerte der Umgebung aus. Code-Analyse ------------------- #. Die Bibliothek ``DHT.h`` wird eingebunden, die Funktionen zur Interaktion mit den DHT-Sensoren bereitstellt. Anschließend wird der Pin und der Typ für den DHT-Sensor festgelegt. .. code-block:: arduino #include "DHT.h" #define DHTPIN 14 // Set the pin connected to the DHT11 data pin #define DHTTYPE DHT11 // DHT 11 DHT dht(DHTPIN, DHTTYPE); #. Initialisiert die serielle Kommunikation mit einer Baudrate von 115200 und initialisiert den DHT-Sensor. .. code-block:: arduino void setup() { Serial.begin(115200); Serial.println("DHT11 Test!"); dht.begin(); } #. In der ``loop()``-Funktion werden Temperatur- und Luftfeuchtigkeitswerte vom DHT11-Sensor gelesen und auf dem seriellen Monitor ausgegeben. .. code-block:: arduino void loop() { // Wait a few seconds between measurements. delay(2000); // Reading temperature or humidity takes about 250 milliseconds! // Sensor readings may also be up to 2 seconds 'old' (it's a very slow sensor) float humidity = dht.readHumidity(); // Read temperature as Celsius (the default) float temperture = dht.readTemperature(); // Check if any reads failed and exit early (to try again). if (isnan(humidity) || isnan(temperture)) { Serial.println("Failed to read from DHT sensor!"); return; } // Print the humidity and temperature Serial.print("Humidity: "); Serial.print(humidity); Serial.print(" %\t"); Serial.print("Temperature: "); Serial.print(temperture); Serial.println(" *C"); } * Die Funktion ``dht.readHumidity()`` wird aufgerufen, um den Luftfeuchtigkeitswert vom DHT-Sensor zu lesen. * Die Funktion ``dht.readTemperature()`` wird aufgerufen, um den Temperaturwert vom DHT-Sensor zu lesen. * Die Funktion ``isnan()`` wird verwendet, um zu überprüfen, ob die Messwerte gültig sind. Wenn entweder der Luftfeuchtigkeits- oder Temperaturwert NaN (keine Zahl) ist, deutet dies auf ein fehlgeschlagenes Lesen vom Sensor hin, und eine Fehlermeldung wird ausgegeben. Phänomen Bild ----------------------- .. image:: img/image243.jpeg :align: center