Code Arduino et vidéo pour le capteur de température et d'humidité DHT22 avec affichage TM1637 et relais
Dans ce tutoriel, nous verrons comment utiliser un capteur de température et d'humidité DHT22 conjointement avec un afficheur TM1637 et un relais pour contrôler une charge en courant alternatif (AC), comme un chauffage ou un ventilateur. L'objectif est d'activer la charge lorsque la température atteint 50 degrés Celsius et de la désactiver lorsqu'elle redescend en dessous de ce seuil. Cette configuration est idéale pour maintenir les niveaux de température souhaités dans un environnement contrôlé.

Pour cela, nous écrirons un programme Arduino qui lit les données de température et d'humidité du capteur DHT22, affiche la température sur l'afficheur TM1637 et commande le relais en fonction des lectures de température. Pour plus de clarté, vous pouvez consulter la vidéo (dans la vidéo à 10:00).
Matériel expliqué
Les principaux composants de ce projet comprennent le capteur DHT22, l'afficheur TM1637, le module relais et une carte Arduino. Le capteur DHT22 est chargé de mesurer la température et l'humidité, fournissant une sortie numérique que l'Arduino peut lire facilement. L'afficheur TM1637 sert à afficher les mesures de température dans un format convivial, tandis que le module relais permet de contrôler en toute sécurité des appareils à haute tension comme des chauffages et des ventilateurs.
Le capteur DHT22 possède trois broches : VCC (alimentation), GND (masse), et DATA (sortie). L'afficheur TM1637 utilise quatre broches pour l'alimentation, la masse, l'horloge et la communication de données. Le module relais se connecte à l'Arduino et agit comme un interrupteur pour la charge en courant alternatif (AC), assurant un fonctionnement sûr lors du contrôle d'appareils nécessitant une tension plus élevée.
Détails de la fiche technique
| Fabricant | Adafruit |
|---|---|
| Numéro de pièce | DHT22 |
| Tension logique/E/S | 3,3 V - 5,5 V |
| Tension d'alimentation | 3,3 V - 6 V |
| Courant de sortie (par canal) | 0,5 mA |
| Courant de crête (par canal) | 2,5 mA |
| Consignes de fréquence PWM | Sans objet |
| Seuils logiques d'entrée | 0,3 V - 0,7 V |
| Chute de tension / RDS(on)/ saturation | Non applicable |
| Limites thermiques | -40 °C à 80 °C |
| Paquet | boîtier à 3 broches |
| Notes / variantes | Également connu sous le nom d'AM2302 |
- Assurez une alimentation adéquate (3,3 V - 6 V) pour le DHT22.
- Utilisez des résistances pull-up sur la ligne de données si nécessaire.
- Laissez les relevés du capteur se stabiliser pour obtenir des données précises.
- Vérifiez à nouveau les connexions des broches pour éviter toute erreur de communication.
- Soyez prudent avec les charges en courant alternatif ; assurez une isolation et une sécurité adéquates.
- Prévoyez un dissipateur thermique pour le relais si celui-ci commande des charges élevées.
- Utilisez des techniques d'anti-rebond si nécessaire lors de la lecture des données des capteurs.
- Maintenez le capteur DHT22 à l'abri de la lumière directe du soleil pour des mesures précises.
Instructions de câblage

Pour câbler les composants, commencez par connecter le capteur DHT22. Connectez la broche VCC à la broche 5V de l'Arduino, la broche GND à la masse (GND) et la broche DATA à la broche numérique 9 de l'Arduino.
Ensuite, câblez l'afficheur TM1637. Connectez la broche VCC à la broche 5V de l'Arduino, la broche GND à la masse, la broche CLK (horloge) à la broche numérique 2 et la broche DIO (données) à la broche numérique 3. Pour le module relais, connectez la broche VCC à la broche 5V, la broche GND à la masse et la broche de commande (signal) à la broche numérique 7. Enfin, veillez à ce que la charge en courant alternatif (AC) soit raccordée en toute sécurité au module relais en suivant les consignes du fabricant.
Exemples de code et tutoriel pas à pas
Le code suivant initialise le capteur DHT22 et l'afficheur TM1637. Il configure les broches nécessaires et prépare la lecture des données de température.
#include
#define CLK 2
#define DIO 3
#define DHTPIN 9
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
pinMode(RELAY, OUTPUT);
dht.begin();
}
Dans cet extrait, nous incluons les bibliothèques nécessaires et définissons les broches pour l'afficheur TM1637 et le capteur DHT22. La fonction setup initialise la communication série et configure la broche du relais comme sortie.

La fonction loop récupère la température et contrôle le relais en fonction de la valeur mesurée. Si la température dépasse 50 degrés, le relais est activé.
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);
}
}
Ce fragment de code montre comment lire la température, l'afficher et contrôler le relais. La température est arrondie et affichée sur le TM1637, et le relais est activé ou désactivé en fonction du seuil de température.
Pour une compréhension plus approfondie, veuillez consulter le code complet affiché sous l'article.
Démonstration / À quoi s'attendre
Lorsque vous exécutez le programme, vous devriez voir la température affichée sur le TM1637. Lorsque la température dépasse 50 degrés Celsius, le relais s'activera, alimentant la charge AC connectée. Inversement, lorsque la température redescend en dessous de 50 degrés, le relais se désactivera, coupant l'alimentation de la charge. Faites attention à la polarité inversée et assurez-vous que les connexions sont correctes pour éviter d'endommager les composants (dans la vidéo à 12:30).
Horodatages vidéo
- 00:00- Introduction
- 02:15- Explication du câblage
- 05:00- Parcours du code
- 10:00- Démonstration
- 12:30- Problèmes courants
Ce dont vous pourriez avoir besoin
-
Amazon
-
AliExpressAcheter un module de relais 5v 12v 1 2 4 6 8 canauxs.click.aliexpress.com
Ressources et références
-
Externe
Fichiers📁
Bibliothèques Arduino (zip)
-
Module PCB DHT22 rouge
DHT22-module-red.fzpz0.01 MB
Fichier Fritzing
-
Capteur de température DHT11
Temperature Sensor DHT11.fzpz0.01 MB -
Capteur d'humidité et de température DHT22
DHT22 Humidity and Temperature Sensor.fzpz0.01 MB -
Module PCB DHT22 rouge
DHT22-module-red.fzpz0.01 MB -
Module DHT22 blanc
DHT22-module-white.fzpz0.01 MB -
Module à sept segments TM1637
TM1637.fzpz0.01 MB -
Capteur d'humidité et de température DHT11 (3 broches)
DHT11 Humitidy and Temperature Sensor (3 pins).fzpz0.20 MB
Manuel de l'Utilisateur
-
Manuel de l'utilisateur du capteur de température et d'humidité DHT22
robojax-DHT22_manual.pdf0.36 MB