Le DHT22 est un capteur sensible, il suffit de s’en approcher pour voir immédiatement quelques dixièmes de degrés supplémentaires apparaître. Comme il est soudé sur la carte, l’électronique à proximité va perturber les mesures bien que l’ESP32-C3 soit sobre en consommation: rien ne chauffe. Malgré tout, une petite dérive s’installe et il faut procéder à une calibration pour compenser cette dérive.
Principe
Il faudra vous équiper d’un thermomètre de référence, de préférence un tout simple non électronique au mercure. Le principe est de prendre 2 mesures assez éloignées avec 4 ou 5°C d’écart (une dans la pièce courante, et une à l’extérieur). Ensuite la calibration consiste à faire une interpolation linéaire à partir de ces 2 mesures.
Procédure
- Il faut tout d’abord régler sur Off la calibration (elle est sur On par défaut avec mes propres mesures): dans le programme dht22.py mettez la variable en ligne 6 QUALIBRATION = False (à la place de QUALIBRATION=True)
- Ensuite prenez vos deux mesures éloignées de quelques degrès, attendez bien à chaque fois un bon 1/4 d’h pour que les mesures soient stabilisées. Notez-les (T_DHT1, T_R1) et (T_DHT2, T_R2), T_DHTx étant la température indiquée par le DHT22, et T_Rx étant celle indiquée par votre thermomètre de référence.
- Reportez les valeurs dans le programme dht22.py, lignes 7 à 10, et remettez la variable QUALIBRATION = True en ligne 6
Le programme va alors calibrer la température T mesurée par le DHT22 selon cette formule:
Tc = r * T + T0
r = (T_R2 - T_R1) / (T_DHT2 - T_DHT1)
T0 = TR2 - r * T_DHT2
Et voilà la calibration est terminée: la température affichée par le DHT22 devrait être équivalente à celle du thermomètre de référence dans vote pièce principale.