Le SHT31 est un capteur numérique de température et d’humidité conçu par l’entreprise Sensirion. Grâce à sa grande précision, sa stabilité et sa rapidité de réponse, il est largement utilisé dans les systèmes embarqués, la domotique, l’agriculture intelligente ainsi que les projets IoT. Ce capteur permet de mesurer simultanément la température et l’humidité relative de l’air tout en utilisant une communication numérique simple basée sur le protocole I2C.

Le SHT31 appartient à une famille comprenant également les modèles SHT30 et SHT35. Le SHT30 représente une version plus économique avec une précision légèrement inférieure, tandis que le SHT35 offre des performances plus avancées destinées aux applications industrielles et scientifiques. Le SHT31 constitue un excellent compromis entre coût, précision et fiabilité.

Le capteur peut être trouvé sous forme de composant électronique compact ou sous forme de module prêt à l’emploi. Le module possède généralement quatre broches :

  • VCC : alimentation
  • GND : masse
  • SDA : ligne de données I2C
  • SCL : ligne d’horloge I2C

Le SHT31 fonctionne avec une tension comprise entre 2.4V et 5.5V, ce qui le rend compatible avec des microcontrôleurs comme Arduino, ESP32 et ESP8266. Il peut mesurer des températures allant de -40°C à +125°C avec une précision d’environ ±0,3°C. Pour l’humidité relative, sa plage de mesure est comprise entre 0 % et 100 % avec une précision d’environ ±2 %.

Le fonctionnement du capteur repose sur des éléments internes capables de détecter les variations de température et d’humidité. Les données mesurées sont ensuite converties en signaux numériques puis transmises au microcontrôleur via le protocole I2C. Cette méthode permet d’obtenir des mesures précises, stables et peu sensibles aux interférences.

Le branchement du SHT31 avec un ESP32 est relativement simple :

  • VCC → 3.3V
  • GND → GND
  • SDA → GPIO 21
  • SCL → GPIO 22

Avec Arduino Uno :

  • VCC → 5V
  • GND → GND
  • SDA → A4
  • SCL → A5

Le SHT31 est utilisé dans plusieurs applications pratiques comme les stations météorologiques, les maisons intelligentes, les serres connectées, les systèmes industriels et les projets IoT. Il permet de surveiller les conditions environnementales en temps réel et d’automatiser certains équipements selon les valeurs mesurées.

Pour programmer le capteur, il est nécessaire d’installer les bibliothèques et . L’initialisation du capteur se fait avec :Wire.hAdafruit_SHT31.h

#include <Wire.h>
#include "Adafruit_SHT31.h"

Adafruit_SHT31 sht31 = Adafruit_SHT31();

Les valeurs de température et d’humidité sont ensuite lues grâce aux fonctions :

float temperature = sht31.readTemperature();
float humidity = sht31.readHumidity();

Les données peuvent être affichées sur le moniteur série, un écran LCD ou envoyées vers Internet dans des systèmes connectés.