DHT22 Temperatur und Luftfeuchtigkeit auf einem 7-Segment-Display mit Arduino RJT43
Dieses Projekt zeigt, wie man mit einem Arduino ein einfaches, aber effektives System zum Anzeigen von Temperatur- und Feuchtigkeitswerten auf einer 7-Segment-Anzeige baut. Diese Einrichtung ist nützlich für verschiedene Anwendungen, bei denen die Überwachung der Umweltbedingungen entscheidend ist. Das Projekt kombiniert den DHT22-Temperatur- und Feuchtigkeitssensor mit einer TM1637-7-Segment-Anzeige und liefert eine klare und leicht ablesbare Anzeige.


Projektideen:
- Überwachung einer Wohnumgebung für optimalen Komfort.
- Überwachung der Bedingungen in einem Gewächshaus oder Terrarium.
- Eine einfache Wetterstation bauen.
- Anzeige von Temperatur und Luftfeuchtigkeit in einem Datenaufzeichnungsprojekt.
Hardware/Komponenten
Um dieses Projekt zu bauen, benötigen Sie die folgenden Komponenten:
- Arduino Uno (oder ein kompatibles Board)
- DHT22 Temperatur- und Feuchtigkeitssensor
- TM1637 7-Segment-Anzeige
- Verbindungsdrähte
- Breadboard (optional, aber empfohlen)
Verdrahtungsanleitung



Die Verkabelung ist unkompliziert. Siehe das Video (bei 01:51) für eine visuelle Anleitung. Die wichtigsten Anschlüsse sind:
- TM1637-Anzeige:VCC an 5V, GND an GND, CLK an Arduino-Pin 2, DIO an Arduino-Pin 3 (im Video bei 02:00).
- DHT22-Sensor:VCC an 5V, GND an GND, DATA an Arduino-Pin 9 (im Video bei 02:20). Hinweis: Im Video wird Arduino-Pin 8 verwendet, um dem Sensor 5V zu liefern (im Video bei 02:41).
Erklärung des Codes
Der Arduino-Code verwendet zwei Bibliotheken: TM1637Display für die 7-Segment-Anzeige und DHT für den DHT22-Sensor. Die konfigurierbaren Parameter des Codes befinden sich hauptsächlich am Anfang:
// Module connection pins (Digital Pins)
#define CLK 2
#define DIO 3
#define DHTPIN 9 // DHT22 data pin
#define DHTTYPE DHT22 // DHT sensor type
Diese Zeilen definieren die Arduino-Pins, die mit dem Display und dem DHT22-Sensor verbunden sind. Möglicherweise müssen Sie diese anpassen, wenn Sie andere Pins verwenden. DasgetTemp()Die Funktion (im Video bei 07:03) ist entscheidend. Sie ermöglicht es Ihnen, verschiedene Werte vom DHT22-Sensor abzurufen, indem Sie ein String-Argument übergeben:
float getTemp(String req) {
// ... (Sensor reading code) ...
if(req =="c"){ return t; } // Celsius
else if(req =="f"){ return f; } // Fahrenheit
// ... (Other options for Kelvin, humidity, heat index) ...
}
Diese Funktion vereinfacht das Auslesen verschiedener Daten vom Sensor (Celsius, Fahrenheit, Luftfeuchtigkeit, Hitzeindex). Die Hauptschleife verwendet diese Funktion, um die Daten abzurufen und auf der 7-Segment-Anzeige darzustellen, wobei Gleitkommawerte für Anzeigezwecke auf ganze Zahlen gerundet werden (im Video bei 07:14).
Live-Projekt/Demonstration
Das Video (bei 00:32) zeigt eine Live-Demonstration des Projekts. Die 7-Segment-Anzeige zeigt deutlich die Temperatur in Fahrenheit. Das Video zeigt außerdem, wie der Code geändert werden kann, um Werte in Celsius, Kelvin, Luftfeuchtigkeit und Hitzeindex anzuzeigen (bei 08:21).
Kapitel
- [00:06] Einführung und Projektübersicht
- [00:53] Erste Schritte und Komponentenübersicht
- [01:51] Verdrahtung des TM1637-Displays
- [02:20] Verdrahtung des DHT22-Sensors
- [03:14] Code-Erklärung: TM1637-Einrichtung
- [04:00] Code-Erklärung: DHT22-Einrichtung
- [05:54] Code-Erklärung: Hauptschleife und Anzeigefunktion
- [07:03] Code-Erklärung: getTemp()-Funktion
- [08:21] Vorführung und verschiedene Ausgabeoptionen
Ressourcen & Referenzen
Noch keine Ressourcen vorhanden.
Dateien📁
Arduino-Bibliotheken (zip)
-
DHT22 PCB-Modul rot
DHT22-module-red.fzpz0.01 MB
Fritzing-Datei
-
DHT22 Feuchtigkeits- und Temperatursensor
DHT22 Humidity and Temperature Sensor.fzpz0.01 MB -
DHT22 PCB-Modul rot
DHT22-module-red.fzpz0.01 MB -
DHT22 Modul weiß
DHT22-module-white.fzpz0.01 MB -
TM1637 Sieben-Segment-Modul
TM1637.fzpz0.01 MB -
DHT11 Feuchtigkeits- und Temperatursensor (3 Pins)
DHT11 Humitidy and Temperature Sensor (3 pins).fzpz0.20 MB
|||Benutzerhandbuch
-
DHT22 Temperatur- und Luftfeuchtigkeitssensor Benutzerhandbuch
robojax-DHT22_manual.pdf0.36 MB