MicroPython - Pilote pour capteur SHT3x (SHT31-F) pour relevé d'humidité relative et la température

Bonjour à tous,
Cette fois, nous délivrons un nouveau pilote MicroPython sur le dépôt esp8266-upy (pilotes MicroPython multi-plateforme).
Cette fois, nous nous penchons sur le SHT31-F, capteur d'humidité relative (et température) de précision.
Capteur Humidité SHT31-F sur carte breakout

Le SHT31-F est un capteur I2C. Il n'utilise donc que deux fils (SDA et SCL) pour communiquer avec le microcontrôleur.
Le relevé d'humidité relative se fait entre 0 et 100% RH @ +/- 2% tandis que la température est mesurée entre 0 et 90°C @ +/- 0.2°C.

Outre sa précision, l'intérêt du SHT31-F dans la gamme des capteurs SHT3x est:
  • qu'il est résistant à la poussière (IP67) avec son film de protection (blanc)
  • qu'il dispose d'un élément chauffant pouvant être activé si besoin. L'activation de celui-ci est vivement recommandée lors de mesures en milieu humide (pour éviter de fausser les relevés).

Pyboard ou PYBStick : comment brancher

Nous avons préparé le schéma de raccordement pour nos deux cartes MicroPython préférées... la Pyboard et la PYBStick.
Source: pilote sht3x du dépôt esp8266-upy

Source: pilote sht3x du dépôt esp8266-upy

Du code pour le peuple

Après avoir copié le pilote sht3x.py sur la carte MicroPython, il suffira d'utiliser les méthodes et propriétés disponibles pour obtenir les informations du capteurs.
L'exemple ci-dessous reprend les différentes méthodes disponibles pour accéder aux données.
NB: dans les deux cas, le capteur est branché sur le bus I2C(1), le code fonctionne donc aussi bien avec la Pyboard qu'avec la PYBStick.
from machine import I2C
from sht3x import SHT3x, REPEATABILITY_HIGH, REPEATABILITY_LOW

i2c = I2C(1)
sht = SHT3x( i2c )
print( "Chip Serial Number %s" % hex(sht.serial_number) )


if sht.soft_reset():
	print( "Software Reset done")

# Active le heater (uniquement nécessaire dans les environnement humides)
sht.heater( enabled=True )

# Lecture de température et humidité avec un répétabilité donnée
temp,rh = sht.read_all( REPEATABILITY_LOW )

# lecture avec REPEATABILITY_HIGH (par défaut)
temp,rh = sht.tmp_rh
print( "Temp: %s, %%Humidity: %s" % (temp,rh) )


# lecture de la température uniquement
temp = sht.temperature
print( "temperature : %s" % temp )
# lecture de l'humidity uniquement (initie une seconde lecture sur l'I2C)
rh = sht.humidity
print( "humidity : %s" % rh )

Voilà, ce n'est pas plus compliqué que cela!

Où acheter


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible. 

SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Aucun commentaire