Senseur SI7005 (NCD) pour MicroPython
Voilà, nous arrivons enfin au moment où nous allons pouvoir utiliser notre premier capteur / senseur NCD avec MicroPython.
NCD SI7005 - Mesure d'humidité relative (%Rel) et température avec MicroPython
Basé sur composant SI7005 de Silicon Lab, le capteur I2C permet de faire un relevé de humidité relative et et température.
Ce qui est intéressant avec ce senseur c'est qu'il est pré-calibré en usine et que ces informations de calibration sont disponibles dans le composant.
Avec l'algorithme de correction adéquat, il est possible d'obtenir des mesured avec un précision de :
Ce suffit de placer le câble entre le port de sortie I2C du microcontrôleur et le port d'entrée (IN) de la carte.
Voici par exemple le raccordement sur la Pyboard... simple comme "Bonjour"
La bibliothèque si70x pour MicroPython
Nous avons par ailleurs porté la code Arduino vers MicroPython.
La bibliothèque si70x.py est disponible sur le GitHub ESP8266-uPy/ncd-si7005
Il ne reste plus qu'à copier le fichier si70x.py sur votre carte MicroPython Pyboard avec votre utilitaire favorit.
Tester
Pour tester la bibliothèque, il suffit alors de créer une instance du bus I2C comme recommandé pour la carte d'interface NCD pour Pyboard.
A noter que dans le cas présent, la vitesse de bus est réduite à 100 KHz.
Puis reste alors à créer l'instance de l'objet si7005 et d'interroger le capteur.
Ce qui produit les résultats suivant sur la console REPL
Où acheter
NCD SI7005 - Mesure d'humidité relative (%Rel) et température avec MicroPython
Basé sur composant SI7005 de Silicon Lab, le capteur I2C permet de faire un relevé de humidité relative et et température.
Carte NCD à base de SI7005 |
Ce qui est intéressant avec ce senseur c'est qu'il est pré-calibré en usine et que ces informations de calibration sont disponibles dans le composant.
Avec l'algorithme de correction adéquat, il est possible d'obtenir des mesured avec un précision de :
- +/- 4.5 %RH
- +/- 0.5 °C
Ce suffit de placer le câble entre le port de sortie I2C du microcontrôleur et le port d'entrée (IN) de la carte.
Voici par exemple le raccordement sur la Pyboard... simple comme "Bonjour"
Brancher la Pyboard sur le Capteur d'humidité. Source: Github MCHobby |
Nous avons par ailleurs porté la code Arduino vers MicroPython.
La bibliothèque si70x.py est disponible sur le GitHub ESP8266-uPy/ncd-si7005
Il ne reste plus qu'à copier le fichier si70x.py sur votre carte MicroPython Pyboard avec votre utilitaire favorit.
Tester
Pour tester la bibliothèque, il suffit alors de créer une instance du bus I2C comme recommandé pour la carte d'interface NCD pour Pyboard.
from machine import I2C, Pin # Créer le bus I2C en fonction de votre plateforme. i2c = I2C( 2, freq=100000 )
A noter que dans le cas présent, la vitesse de bus est réduite à 100 KHz.
Puis reste alors à créer l'instance de l'objet si7005 et d'interroger le capteur.
from si70x import SI7005 # On passe l'instance du bus I2C mpl = SI7005( i2c ) # On interroge le capteur i = 0 while True: i += 1 print( '--- Iteration %s %s' % (i,'-'*20) ) # tuple (hrel, temp) print( 'raw_values ', mpl.raw_values ) # Valeur brute de humidité, température print( 'values ', mpl.values ) # Valeurs _Human Friendly_
Ce qui produit les résultats suivant sur la console REPL
--- Iteration 1672 -------------------- raw_values (54.875, 24.25) values ('54.88 %HRel', '24.21875 C') --- Iteration 1673 -------------------- raw_values (54.875, 24.21875) values ('54.94 %HRel', '24.25 C')
Où acheter
Si vous avez trouvé cet article intéressant alors aidez nous à poursuivre nos travaux de documentations en achetant vos produits chez MCHobby.
Ressources- Capteur SI7005, avec interface NCD (GitHub, MC Hobby)
- Interface NCD sur ESP8266 (Feather, Wemos D1, UEXT) (GitHub, MC Hobby)
- Interface NCD sur MicroPython Pyboard (GitHub, MC Hobby)
Écrire un commentaire