Bemerkung
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 [hier] und treten Sie heute bei!
Lektion 19: Temperatur- und Feuchtigkeitssensor-Modul (DHT11)
In dieser Lektion lernen Sie, wie Sie mit einem DHT11-Sensor und einem Arduino Uno die Temperatur und Luftfeuchtigkeit messen sowie den Hitzeindex berechnen können. Wir werden das Lesen und Interpretieren der Daten vom DHT11-Sensor behandeln und diese Werte zusammen mit dem Hitzeindex sowohl in Celsius als auch in Fahrenheit auf dem seriellen Monitor anzeigen. Dieses Projekt ist perfekt für Arduino-Anfänger geeignet und bietet praktische Erfahrungen mit Sensoren und Datenverarbeitung auf eine einfache und dennoch fesselnde Weise.
Benötigte Komponenten
Für dieses Projekt benötigen wir die folgenden Komponenten.
Es ist definitiv praktisch, ein komplettes Kit zu kaufen. Hier ist der Link:
Name |
ITEMS IN THIS KIT |
LINK |
|---|---|---|
Universal Maker Sensor Kit |
94 |
Sie können sie auch separat über die unten stehenden Links kaufen.
Component Introduction |
Purchase Link |
|---|---|
Arduino UNO R3 or R4 |
|
Verkabelung
Bemerkung
Das Kit kann unterschiedliche Versionen des DHT11-Moduls enthalten. Bitte überprüfen Sie die Verdrahtungsmethode entsprechend dem Modul, das Sie haben.
Code
Bemerkung
Um die Bibliothek zu installieren, verwenden Sie den Arduino Library Manager und suchen nach „DHT sensor library“ und installieren diese.
Code-Analyse
Einbindung der notwendigen Bibliotheken und Definition von Konstanten. Dieser Teil des Codes bindet die DHT-Sensorbibliothek ein und definiert die Pin-Nummer und den Sensortyp, der in diesem Projekt verwendet wird.
Bemerkung
Um die Bibliothek zu installieren, verwenden Sie den Arduino Library Manager und suchen nach „DHT sensor library“ und installieren diese.
#include <DHT.h> #define DHTPIN 2 // Define the pin used to connect the sensor #define DHTTYPE DHT11 // Define the sensor type
Creation of DHT object. Here we create a DHT object using the defined pin number and sensor type.
DHT dht(DHTPIN, DHTTYPE); // Create a DHT object
Diese Funktion wird einmal ausgeführt, wenn der Arduino startet. In dieser Funktion initialisieren wir die serielle Kommunikation und den DHT-Sensor.
void setup() { Serial.begin(9600); Serial.println(F("DHT11 test!")); dht.begin(); // Initialize the DHT sensor }
Hauptschleife. Die
loop()-Funktion läuft kontinuierlich nach der setup-Funktion. Hier lesen wir die Feuchtigkeits- und Temperaturwerte aus, berechnen den Hitzeindex und geben diese Werte auf dem seriellen Monitor aus. Wenn das Auslesen des Sensors fehlschlägt (gibt NaN zurück), wird eine Fehlermeldung ausgegeben.Bemerkung
Der heat index ist eine Methode, um zu messen, wie heiß es sich draußen anfühlt, indem die Lufttemperatur und die Luftfeuchtigkeit kombiniert werden. Er wird auch als „gefühlte Lufttemperatur“ oder „scheinbare Temperatur“ bezeichnet.
void loop() { delay(2000); float h = dht.readHumidity(); float t = dht.readTemperature(); float f = dht.readTemperature(true); if (isnan(h) || isnan(t) || isnan(f)) { Serial.println(F("Failed to read from DHT sensor!")); return; } float hif = dht.computeHeatIndex(f, h); float hic = dht.computeHeatIndex(t, h, false); Serial.print(F("Humidity: ")); Serial.print(h); Serial.print(F("% Temperature: ")); Serial.print(t); Serial.print(F("°C ")); Serial.print(f); Serial.print(F("°F Heat index: ")); Serial.print(hic); Serial.print(F("°C ")); Serial.print(hif); Serial.println(F("°F")); }



