Un capteur numérique de température et d’humidité, câblé et calibré en usine
L’AM2302 est la version câblée du capteur DHT22 : la même électronique, mais sortie du circuit imprimé et montée dans un boîtier plastique ajouré, avec trois fils déjà soudés et repérés par des couleurs. Il mesure la température et l’humidité relative de l’air et renvoie les deux valeurs sous forme numérique sur un seul fil de données, ce qui évite tout réglage ou étalonnage côté montage : la calibration est faite en usine et la bibliothèque transforme directement la trame en degrés Celsius et en pourcentage d’humidité.
Le boîtier est percé de fentes pour laisser l’air circuler autour de la sonde, ce qui le rend plus représentatif de la température ambiante que les capteurs enfermés dans un boîtier étanche. Le câble évite de devoir souder le composant sur une plaque : les trois fils se plantent directement dans une plaque d’essai ou se raccordent à un bornier.
Caractéristiques techniques
| Référence | AM2302 (équivalent DHT22, version câblée) |
|---|---|
| Tension d’alimentation | 3,3 V à 5,5 V continu — fonctionne aussi bien en logique 3,3 V qu’en 5 V |
| Interface | Numérique, bus unique propriétaire (un seul fil de données) |
| Plage de température | -40 °C à +80 °C |
| Précision en température | ± 0,5 °C |
| Plage d’humidité | 0 % à 100 % d’humidité relative |
| Précision en humidité | ± 2 % HR en conditions usuelles, ± 5 % aux extrémités de la plage |
| Résolution | 0,1 °C et 0,1 % HR |
| Fréquence de mesure | une mesure toutes les 2 secondes (0,5 Hz), pas au-delà |
| Consommation | environ 1 mA pendant une mesure, quelques dizaines de microampères au repos |
| Sortie | 3 fils : alimentation, données, masse |
Brochage du câble
Les trois fils suivent le repérage d’usine ci-dessous. Si votre exemplaire porte d’autres couleurs, fiez-vous à l’ordre des fils sur le connecteur du capteur et non aux couleurs : le fil d’alimentation et le fil de masse sont aux deux extrémités, le fil de données au centre.
| Fil rouge | VCC — alimentation, 3,3 V ou 5 V |
|---|---|
| Fil jaune | DATA (aussi noté SDA ou OUT) — fil de données, à relier à une broche numérique du microcontrôleur |
| Fil noir | GND — masse commune avec la carte |
Le fil de données doit être tiré vers l’alimentation par une résistance de 10 kΩ : sur beaucoup de versions câblées cette résistance est déjà montée sur le petit circuit imprimé caché dans la gaine, au ras du capteur, mais pas sur toutes. Un montage qui renvoie systématiquement une lecture impossible a presque toujours ce tirage manquant — ajouter une 10 kΩ entre le fil de données et l’alimentation règle le problème. Un fil court (quelques dizaines de centimètres) reste préférable : au-delà de deux ou trois mètres, la trame se dégrade et les lectures deviennent intermittentes.
Mini-projet : lire la température et l’humidité sur le moniteur série
Objectif : afficher une mesure toutes les deux secondes dans le moniteur série de l’IDE Arduino. C’est le montage de mise en route du capteur, celui qui confirme le câblage avant d’aller plus loin.
Matériel
- un capteur AM2302 ;
- une carte Arduino Uno (ou toute carte compatible) et son cordon USB ;
- trois fils de liaison ;
- une résistance de 10 kΩ si le capteur n’intègre pas le tirage.
Câblage
- fil rouge du capteur vers la broche 5 V de la carte ;
- fil noir du capteur vers une broche GND ;
- fil jaune du capteur vers la broche numérique 2 ;
- résistance de 10 kΩ entre la broche numérique 2 et la broche 5 V.
Programme
La bibliothèque DHT sensor library d’Adafruit est disponible dans le gestionnaire de bibliothèques de l’IDE Arduino ; elle prend en charge les deux types DHT11 et DHT22, il suffit d’indiquer lequel est utilisé.
/* Mesure de temperature et d'humidite avec un capteur AM2302 (DHT22)
* Composants, brochage et fiche complete : www.marocproduits.com
*/
#include "DHT.h"
#define BROUCHE_DONNEES 2
#define MODELE_CAPTEUR DHT22
DHT capteur(BROUCHE_DONNEES, MODELE_CAPTEUR);
void setup() {
Serial.begin(9600);
capteur.begin();
}
void loop() {
delay(2000); // une mesure toutes les 2 secondes au maximum
float humidite = capteur.readHumidity();
float temperature = capteur.readTemperature();
if (isnan(humidite) || isnan(temperature)) {
Serial.println("Lecture impossible : verifiez le cablage et la resistance de tirage");
return;
}
Serial.print("Temperature : ");
Serial.print(temperature, 1);
Serial.println(" C");
Serial.print("Humidite : ");
Serial.print(humidite, 1);
Serial.println(" %");
}Ouvrir le moniteur série à 9600 bauds. Les deux valeurs s’affichent à chaque tour de boucle. Si le message de lecture impossible revient en permanence : vérifier l’ordre des fils, contrôler la présence de la résistance de tirage, et s’assurer que la masse du capteur est bien commune avec celle de la carte.
Aller plus loin : afficher les mesures sur un écran
Le même programme alimente un afficheur LCD à interface I2C : au lieu d’écrire sur le moniteur série, on écrit sur l’écran, avec le même appel aux fonctions readTemperature() et readHumidity(). Seul le mode d’affichage change. C’est le montage d’une station météo de bureau, ou d’un poste de contrôle de serre.
Points d’attention
- respecter la pause de deux secondes entre deux lectures : interrogé plus vite, le capteur renvoie l’ancienne valeur, voire une trame invalide ;
- ne pas confondre ce capteur avec un DHT11, dont la précision et la plage de mesure sont nettement plus réduites ;
- la trame du DHT22 n’est pas compatible avec la bibliothèque OneWire des sondes DS18B20 : ce sont deux protocoles distincts malgré la ressemblance des noms ;
- sur une carte en 3,3 V, alimenter le capteur en 3,3 V et non en 5 V, faute de quoi le niveau du fil de données dépasse ce que la carte accepte en entrée ;
- éviter de placer le capteur juste au-dessus d’une source de chaleur (régulateur, transformateur) : la mesure d’humidité et la mesure de température en seraient faussées toutes les deux.
Questions fréquentes
Quelle différence avec le DHT22 sur circuit imprimé ?
Aucune sur le plan de la mesure : c’est le même composant. La version câblée se distingue par son boîtier ajouré et ses fils déjà soudés, ce qui la rend utilisable sans soudure et plus simple à placer loin de la carte.
Combien de capteurs peut-on brancher sur une même carte ?
Autant que de broches numériques disponibles : chaque capteur occupe un fil de données et sa propre résistance de tirage. Le bus n’est pas adressable, donc un capteur par broche.
Peut-on l’alimenter en permanence ?
Oui, sa consommation est faible. Sur un montage sur pile, prévoir malgré tout de ne l’interroger qu’à intervalles espacés et d’utiliser la mise en veille du microcontrôleur : c’est la carte qui consomme, pas le capteur.
À combiner avec
- Uno R3 et son cordon USB — la carte qui lit le capteur et affiche les mesures sur le moniteur série ;
- Afficheur LCD 16 x 02 à interface I2C — pour transformer le montage en station météo autonome, sans ordinateur ;
- Résistances 1/4 W de 10 kΩ — la résistance de tirage du fil de données, à prévoir si votre exemplaire n’en intègre pas ;
- Sonde DS18B20 en acier inoxydable — pour une mesure de température en milieu humide ou dans un liquide, là où le capteur d’air ne convient plus ;
- Capteur de température LM35 — solution analogique plus simple quand seule la température compte ;
- ESP32 WROOM dual core — pour publier les mesures sur un réseau Wi-Fi et consulter la température à distance.








