Humidité relative
Intéressons-nous maintenant à la mesure de l'humidité relative de l'air à l'aide du capteur DHT11. Il s'agit d'un capteur très bon marché qui produit une sortie numérique contenant l'humidité relative, ainsi que la température de l'air. Comparé au LM35, il est bien moins précis pour la mesure de température. Il s'agit d'un capteur très simple à utiliser et qui ne nécessite pas de calibration préalable à son utilisation. La figure 11 montre une photo du DHT11 de la société Aosong.
Pour connaitre les caractéristiques du DHT11, son mode de fonctionnement et les instructions sur comment l'utiliser, on se réfère de nouveau à sa datasheet. La figure 12 montre la première page de cette dernière. On y retrouve une description générale du capteur et une liste de ses principales caractéristiques.
Caractéristique
Le DHT11 produit une sortie numérique qui contient les mesures d'humidité relative et de température, chacune encodée sur 16 bits, en utilisant le protocole de transmission 1-Wire. Le capteur inclut notamment une petite puce électronique très basique pour réaliser la conversion analogique/numérique pour produire le résultat de sortie envoyé sur le bus 1-Wire. Enfin, le capteur utilise entre 1 mA et 1,5 mA lorsqu'il est en mode mesure et entre 40 µA et 50 µA lorsqu'il est en stand-by. La figure 13 reprend les principales caractéristiques du capteur, que l'on peut retrouver dans sa datasheet.
Caractéristique | Valeur |
---|---|
Grandeur physique mesurée | Humidité relative en % |
Plage de mesures | 20 % ... 90 % |
Étendue de mesure | 70 % |
Résolution | 1 % |
Précision | ±5 % |
Utilisation
L'utilisation du capteur DHT11 est un peu plus complexe que celle du LM35, car il ne prend pas de mesure en permanence et que la sortie numérique qu'il produit nécessite quelques traitements. Pour mesurer une humidité relative, et également une température, il faut tout d'abord alimenter le capteur avec une tension comprise entre 3,3 V et 5,5 V pour qu'il se mette à fonctionner.
De base, le capteur ne prend aucune mesure et se trouve dans un mode dit en stand-by. Dans ce mode, il ne fait rien et ne consomme d'ailleurs quasi pas de courant. Pour activer le capteur, et récupérer une mesure, il faut passer par deux étapes :
-
On commence par envoyer un signal de départ via le bus 1-Wire, correspondant à un signal bas, pendant une durée d'au moins 1 ms à 10 ms, et on attend ensuite la réponse du capteur pendant entre 20 µs et 40 µs, en plaçant un signal haut sur le bus. Le capteur répond au signal de départ en alternant entre un signal bas sur le bus, pendant 80 µs, suivi d'un signal haut de la même durée.
-
Pendant les $80$ dernières µs, le capteur ayant mesuré l'humidité relative et la température, il s'est préparé à envoyer le résultat de la mesure sur le bus 1-Wire. Ce résultat est encodé sous la forme d'une trame de 40 bits : les 16 premiers bits encodent l'humidité relative, les 16 suivants la température et les 8 derniers correspondent à une somme de contrôle pour vérifier que la transmission s'est bien déroulée sans erreur.
Les 40 bits sont transmis l'un après l'autre, par le capteur. Pour chaque bit transmis, il commence par envoyer un signal bas pendant 50 µs et puis un signal haut pendant entre 26 µs et 28 µs pour encoder un « $0$ » ou de 70 µs pour encoder un « $1$ ».
La figure 14 montre deux chronogrammes représentant les deux phases de la communication avec le capteur DHT11 sur son bus 1-Wire. Le premier chronogramme représente l'envoi du signal de départ pour demander une mesure, et la réponse du capteur, et le deuxième chronogramme représente l'envoi du résultat de la mesure par le capteur.
Enfin, la figure 15 montre un tout simple circuit utilisant ce capteur. Il ne faut pas oublier d'ajouter une résistance pull-up de 10 kΩ entre le bus 1-Wire et $V_{CC}$, qui permet de stabiliser le signal sur le bus pour qu'il soit possible et facile de lire les états haut et bas du signal numérique sur ce dernier.