Accueil | esp8266 | Déballage : shield SHT30 (température et humidité) pour Wemos D1 Mini

Déballage : shield SHT30 (température et humidité) pour Wemos D1 Mini

Le capteur de température et d’humidité DHT22 (et son petit frère le DHT11) sont omniprésents dans les tutoriels Arduino / ESP8266 / Raspberry Pi. Vous connaissez également très certainement de Dallas DS18b20 qui utilise le protocole 1-Wire. Wemos nous propose une nouvelle carte d’extension, le Shield SHT30. Le Sensirion SHT30 est un capteur miniature. Outre sa très petite taille qui permet d’obtenir un shield extra-plat, le SHT30 communique avec la Wemos d1 mini sur le bus I2C. C’est un très grand avantage pour l’ESP8266 qui possède beaucoup moins de broches que l’Arduino.

Déballage du shield SHT30

Vendu moins de 3€ en direct d’Asie, le shield SHT30 est livré dans une pochette anti-statique. Contrairement aux autres Shields de la famille, il n’est livré qu’avec un seul type de connecteur au pas de 2.54mm.

deballage shield sht30 wemos d1 mini

Caractéristiques techniques

La documentation technique du fabricant Sensirion est disponible ici. Le SHT30 (et son grand frère, le SHT31) est capable de mesurer la température dans une plage de -40°C à +125°C. L’humidité peut être mesurée de 0 à 100%. La précision de mesure varie en fonction de la température. Autour de l’ambiant (de -10°C à +55°C), la précision de mesure de la température est de ±0,3°C.

shield sht30 wemos d1 mini courbe precision mesure temperature
Source : https://www.wemos.cc/sites/default/files/2016-11/SHT30-DIS_datasheet.pdf

Remarque. Le SHT31 offre une meilleure précision de mesure de l’humidité.

Montage du Shield SHT30 sans soudure :

Lorsque j’ai eu le shield dans mes mains, j’ai trouvé dommage de souder les connecteurs. J’ai donc essayé d’étamer les bords des broches GND, 3V3, D1 et D2 (utilisées par le bus I2C). J’ai ensuite empilé la carte sur un Shield OLED. On obtient ainsi une assemblage extrêmement compact. De bas en haut :

shield sht30 wemos d1 mini stack oled battery

Attention. Le montage sans soudure peut empêcher le Shield SHT30 de fonctionner correctement. En cas de problème, revenez à un montage classique

Librairie SHT30 pour IDE Arduino

Wemos a mis a disposition une librairie que l’on peut récupérer sur GitHub ici. Téléchargez d’abord le dépôt avant de le décompresser dans le dossier Library de l’IDE Arduino. Relancez l’IDE pour que ce dernier prenne en compte la librairie.

Programme de base

Un exemple basique (SHT30_Shield.ino) est livré avec la librairie. Il montre comment récupérer la mesure de température et d’humidité. On appel la librairie WEMOS_SHT3X en début de programme

Par défaut, le SHT30 est accessible à l’adresse 0x45. Pour utiliser l’adresse 0x44, il faudra faire un point de soudure sur le jumper ADDR

Ensuite, il suffit d’appeler la fonction sht30.get()  pour récupérer les mesures. On dispose enfin de trois classes publiques qui permettent de récupèrer les mesures :

  • sht30.cTemp pour la température en Celcius
  • sht30.fTemp pour avoir la température en Fahrenheit
  • sht30.humidity pour l’humidity

Sonde de température avec affichage OLED 64×48 pixels

Le Shield étant installé en dessous d’un Shield OLED (présenté précédemment), je vous propose un petit programme permettant d’afficher la température et l’humidité sur ce dernier. Pour fonctionner, il est nécessaire d’inclure manuellement la librairie Adadruit_SSD1306 modifiée par Mike Causer disponible sur Github ici.

Le Shield SHT30 a donc de nombreux atouts. Son prix est équivalent au Shield DHT22 (environ 2,90€ au lieu de 2,77€). Il utilise le bus I2C pour communiquer avec la Wemos ce qui permet d’économiser une broche. Enfin, le Shield est extrêmement compact. Il pourra être intercalé entre 2 autres shields. Petit bémol pour les débutants, ce capteur étant moins répondu, vous trouverez moins d’exemples et aucun plugin ESP Easy n’a encore été développé.