Arduino-Code und Video für DHT22-Temperatur- und Feuchtigkeitssensor mit TM1637-Display und Relais
In diesem Tutorial untersuchen wir, wie man einen DHT22-Temperatur- und Luftfeuchtigkeitssensor zusammen mit einem TM1637-Display und einem Relais verwendet, um eine Wechselstromlast, wie etwa eine Heizung oder einen Ventilator, zu steuern. Ziel ist es, die Last einzuschalten, wenn die Temperatur 50 Grad Celsius erreicht, und sie auszuschalten, wenn sie unter diese Schwelle fällt. Diese Einrichtung ist ideal, um gewünschte Temperaturwerte in einer kontrollierten Umgebung aufrechtzuerhalten.

Um dies zu erreichen, werden wir ein Arduino-Programm schreiben, das Temperatur- und Feuchtigkeitsdaten vom DHT22-Sensor liest, die Temperatur auf dem TM1637-Display anzeigt und das Relais anhand der Temperaturmesswerte steuert. Zur besseren Veranschaulichung können Sie sich das Video (ab 10:00) ansehen.
Hardware erklärt
Die Hauptkomponenten dieses Projekts sind der DHT22-Sensor, das TM1637-Display, das Relaismodul und ein Arduino-Board. Der DHT22-Sensor ist dafür verantwortlich, Temperatur und Luftfeuchtigkeit zu messen und liefert digitale Signale, die das Arduino-Board leicht auslesen kann. Das TM1637-Display wird verwendet, um die Temperaturwerte in einem benutzerfreundlichen Format anzuzeigen, während das Relaismodul es uns ermöglicht, Hochspannungsgeräte wie Heizungen und Ventilatoren sicher zu steuern.
Der DHT22-Sensor hat drei Pins: VCC (Stromversorgung), GND (Masse) und DATA (Ausgang). Das TM1637-Display verwendet vier Pins für Stromversorgung, Masse, Takt und Datenkommunikation. Das Relaismodul wird an den Arduino angeschlossen und fungiert als Schalter für die Wechselstromlast, wodurch ein sicherer Betrieb beim Steuern von Geräten gewährleistet wird, die höhere Spannung benötigen.
Details zum Datenblatt
| Hersteller | Adafruit |
|---|---|
| Teilenummer | DHT22 |
| Logik-/I/O-Spannung | 3,3 V - 5,5 V |
| Versorgungsspannung | 3.3 V - 6 V |
| Ausgangsstrom (pro Kanal) | 0.5 mA |
| Spitzenstrom (pro Kanal) | 2,5 mA |
| Hinweise zur PWM-Frequenz | nicht zutreffend |
| Schwellenwerte der Eingangslogik | 0.3 V - 0.7 V |
| Spannungsabfall / RDS(on)/ Sättigung | Nicht zutreffend |
| Thermische Grenzwerte | -40 °C bis 80 °C |
| Paket | 3-poliges Gehäuse |
| Notizen / Varianten | Auch bekannt als AM2302 |
- Stellen Sie sicher, dass der DHT22 die richtige Versorgungsspannung (3.3 V - 6 V) erhält.
- Verwenden Sie bei Bedarf Pull-up-Widerstände an der Datenleitung.
- Warten Sie, bis sich die Sensorwerte stabilisiert haben, um genaue Daten zu erhalten.
- Überprüfen Sie die Pinverbindungen doppelt, um Fehlkommunikation zu vermeiden.
- Achten Sie bei Wechselstromlasten auf ordnungsgemäße Isolierung und Sicherheit.
- Sorgen Sie für eine Wärmeableitung am Relais, wenn hohe Lasten geschaltet werden.
- Verwenden Sie bei Bedarf Entprelltechniken, wenn Sie Sensordaten auslesen.
- Schützen Sie den DHT22-Sensor vor direktem Sonnenlicht, um genaue Messwerte zu erhalten.
Verdrahtungsanleitung

Um die Komponenten zu verkabeln, beginnen Sie damit, den DHT22-Sensor anzuschließen. Verbinden Sie den VCC-Pin mit dem 5V-Pin am Arduino, den GND-Pin mit der Masse (GND) und den DATA-Pin mit dem digitalen Pin 9 am Arduino.
Als Nächstes verdrahten Sie das TM1637-Display. Verbinden Sie den VCC-Pin mit dem 5V-Pin des Arduino, den GND-Pin mit Masse, den CLK-Pin (Takt) mit dem digitalen Pin 2 und den DIO-Pin (Daten) mit dem digitalen Pin 3. Für das Relaismodul verbinden Sie den VCC-Pin mit dem 5V-Pin, den GND-Pin mit Masse und den Steuerpin (Signal) mit dem digitalen Pin 7. Stellen Sie abschließend sicher, dass die Wechselstromlast (AC) gemäß den Herstellerangaben sicher an das Relaismodul angeschlossen ist.
Codebeispiele & Schritt-für-Schritt-Anleitung
Der folgende Code initialisiert den DHT22-Sensor und das TM1637-Display. Er richtet die benötigten Pins ein und bereitet das Auslesen der Temperaturdaten vor.
#include
#define CLK 2
#define DIO 3
#define DHTPIN 9
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
pinMode(RELAY, OUTPUT);
dht.begin();
}
In diesem Ausschnitt binden wir die notwendigen Bibliotheken ein und definieren die Pins für das TM1637-Display und den DHT22-Sensor. Die setup-Funktion initialisiert die serielle Kommunikation und setzt den Relais-Pin als Ausgang.

Die Loop-Funktion liest die Temperatur aus und steuert das Relais anhand des Messwerts. Wenn die Temperatur 50 Grad überschreitet, wird das Relais aktiviert.
void loop() {
delay(TEST_DELAY);
int temp = round(getTemp("c"));
display.showNumberDec(temp, false, 3, 1);
if(temp > 50) {
digitalWrite(RELAY, LOW);
} else {
digitalWrite(RELAY, HIGH);
}
}
Dieser Codeausschnitt zeigt, wie man die Temperatur liest, sie anzeigt und das Relais steuert. Die Temperatur wird gerundet und auf dem TM1637 angezeigt, und das Relais wird je nach Temperaturschwelle ein- oder ausgeschaltet.
Für ein umfassenderes Verständnis sehen Sie sich bitte den vollständigen Code an, der unter dem Artikel geladen ist.
Demonstration / Was Sie erwartet
Wenn Sie das Programm ausführen, wird die Temperatur auf dem TM1637 angezeigt. Überschreitet sie 50 °C, schaltet das Relais ein und die angeschlossene Wechselstromlast wird eingeschaltet. Fällt die Temperatur unter 50 °C, schaltet das Relais ab und die Last wird ausgeschaltet. Achten Sie auf verpolte Anschlüsse und stellen Sie korrekte Verbindungen sicher, um Beschädigungen der Bauteile zu vermeiden (im Video bei 12:30).
Video-Zeitstempel
- 00:00- Einführung
- 02:15- Erläuterung der Verdrahtung
- 05:00- Code-Durchgang
- 10:00- Demonstration
- 12:30- Häufige Probleme
Dinge, die Sie vielleicht brauchen
-
Amazon4 Channel Relay module on Amazonamzn.to
-
AliExpressPurchase 5v 12v 1 2 4 6 8 channel channel relay moduls.click.aliexpress.com
Ressourcen & Referenzen
-
Extern
Dateien📁
Arduino-Bibliotheken (zip)
-
DHT22 PCB module red
application/zip0.01 MB
Fritzing-Datei
-
Temperature Sensor DHT11
application/zip0.01 MB -
DHT22 Humidity and Temperature Sensor
application/zip0.01 MB -
DHT22 PCB module red
application/zip0.01 MB -
DHT22 module white
application/zip0.01 MB -
TM1637 Seven Segment module
application/zip0.01 MB -
DHT11 Humitidy and Temperature Sensor (3 pins)
application/zip0.20 MB
|||Benutzerhandbuch
-
DHT22 Temperature and Humidity sensor user's manual
application/pdf0.36 MB