Table des matières:

Mesure de l'humidité et de la température avec HTS221 et Raspberry Pi : 4 étapes
Mesure de l'humidité et de la température avec HTS221 et Raspberry Pi : 4 étapes

Vidéo: Mesure de l'humidité et de la température avec HTS221 et Raspberry Pi : 4 étapes

Vidéo: Mesure de l'humidité et de la température avec HTS221 et Raspberry Pi : 4 étapes
Vidéo: Monitoring temperature and humidity using the Particle Photon 2024, Juillet
Anonim
Image
Image

HTS221 est un capteur numérique capacitif ultra compact pour l'humidité relative et la température. Il comprend un élément de détection et un circuit intégré spécifique à l'application de signaux mixtes (ASIC) pour fournir les informations de mesure via des interfaces série numériques. Intégré avec tant de fonctionnalités, c'est l'un des capteurs les plus appropriés pour les mesures critiques d'humidité et de température.

Dans ce tutoriel, l'interfaçage du module capteur HTS221 avec raspberry pi est démontré et sa programmation en langage python a également été illustrée. Pour lire les valeurs d'humidité et de température, nous avons utilisé raspberry pi avec un adaptateur I2C. Cet adaptateur I2C rend la connexion au module capteur facile et plus fiable.

Étape 1: Matériel requis:

Matériel requis
Matériel requis
Matériel requis
Matériel requis
Matériel requis
Matériel requis

Les matériaux dont nous avons besoin pour atteindre notre objectif comprennent les composants matériels suivants:

1. HTS221

2. Framboise Pi

3. Câble I2C

4. Bouclier I2C pour framboise pi

5. Câble Ethernet

Étape 2: connexion matérielle:

Raccordement matériel
Raccordement matériel
Raccordement matériel
Raccordement matériel

La section de raccordement matériel explique essentiellement les connexions de câblage requises entre le capteur et le raspberry pi. Assurer des connexions correctes est la nécessité de base tout en travaillant sur n'importe quel système pour la sortie souhaitée. Ainsi, les connexions requises sont les suivantes:

Le HTS221 fonctionnera sur I2C. Voici l'exemple de schéma de câblage, montrant comment câbler chaque interface du capteur.

Prête à l'emploi, la carte est configurée pour une interface I2C, en tant que telle, nous vous recommandons d'utiliser cette connexion si vous êtes par ailleurs agnostique.

Tout ce dont vous avez besoin, c'est de quatre fils ! Seules quatre connexions sont nécessaires pour les broches Vcc, Gnd, SCL et SDA et celles-ci sont connectées à l'aide d'un câble I2C.

Ces connexions sont illustrées dans les images ci-dessus.

Étape 3: Code pour la mesure de l'humidité et de la température:

Code pour la mesure de l'humidité et de la température
Code pour la mesure de l'humidité et de la température

L'avantage d'utiliser raspberry pi est qu'il vous offre la flexibilité du langage de programmation dans lequel vous souhaitez programmer la carte afin d'interfacer le capteur avec elle. Exploitant cet avantage de cette carte, nous démontrons ici sa programmation en python. Le code python pour HTS221 peut être téléchargé depuis notre communauté github qui est Control Everything Community.

En plus de la facilité des utilisateurs, nous expliquons le code ici également:

Comme première étape de codage, vous devez télécharger la bibliothèque smbus dans le cas de python, car cette bibliothèque prend en charge les fonctions utilisées dans le code. Donc, pour télécharger la bibliothèque, vous pouvez visiter le lien suivant:

pypi.python.org/pypi/smbus-cffi/0.5.1

Vous pouvez également copier le code python fonctionnel de ce capteur à partir d'ici:

importer smbus

heure d'importation

# Obtenez le bus I2C

bus = smbus. SMbus(1)

# Adresse HTS221, 0x5F(95)

# Sélectionnez le registre de configuration moyenne, 0x10(16)

# 0x1B(27) Échantillons moyens de température = 256, Échantillons moyens d'humidité = 512

bus.write_byte_data (0x5F, 0x10, 0x1B)

# Adresse HTS221, 0x5F(95)

# Sélectionnez le registre de contrôle1, 0x20(32)

# 0x85 (133) Mise sous tension, mise à jour continue, taux de sortie des données = 1 Hz

bus.write_byte_data (0x5F, 0x20, 0x85)

temps.sommeil (0,5)

# Adresse HTS221, 0x5F(95)

# Lire les valeurs d'étalonnage de la mémoire non volatile de l'appareil

# Valeurs d'étalonnage de l'humidité

# Lire les données à partir de 0x30(48), 1 octet

val = bus.read_byte_data(0x5F, 0x30)

H0 = val/2

# Lire les données de 0x31(49), 1 octet

val = bus.read_byte_data (0x5F, 0x31)

H1 = val /2

# Lire les données de 0x36(54), 2 octets

val0 = bus.read_byte_data(0x5F, 0x36)

val1 = bus.read_byte_data (0x5F, 0x37)

H2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Lire les données de 0x3A (58), 2 octets

val0 = bus.read_byte_data (0x5F, 0x3A)

val1 = bus.read_byte_data (0x5F, 0x3B)

H3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Valeurs d'étalonnage de la température

# Lire les données à partir de 0x32(50), 1 octet

T0 = bus.read_byte_data(0x5F, 0x32)

T0 = (T0 & 0xFF)

# Lire les données de 0x32(51), 1 octet

T1 = bus.read_byte_data(0x5F, 0x33)

T1 = (T1 & 0xFF)

# Lire les données à partir de 0x35(53), 1 octet

raw = bus.read_byte_data (0x5F, 0x35)

brut = (brut & 0x0F)

# Convertir les valeurs d'étalonnage de la température en 10 bits

T0 = ((brut & 0x03) * 256) + T0

T1 = ((brut & 0x0C) * 64) + T1

# Lire les données de 0x3C (60), 2 octets

val0 = bus.read_byte_data (0x5F, 0x3C)

val1 = bus.read_byte_data(0x5F, 0x3D)

T2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Lire les données de 0x3E(62), 2 octets

val0 = bus.read_byte_data(0x5F, 0x3E)

val1 = bus.read_byte_data(0x5F, 0x3F)

T3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Lire les données de 0x28 (40) avec le registre de commande 0x80 (128), 4 octets

# humidité msb, humidité lsb, temp msb, temp lsb

données = bus.read_i2c_block_data (0x5F, 0x28 | 0x80, 4)

# Convertir les données

humidité = (données[1] * 256) + données[0]

humidité = ((1,0 * H1) - (1,0 * H0)) * (1,0 * humidité - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0)

temp = (données[3] * 256) + données[2]

si temp > 32767:

température -= 65536

cTemp = ((T1 - T0) / 8,0) * (temp - T2) / (T3 - T2) + (T0 / 8,0)

fTemp = (cTemp * 1,8) + 32

# Données de sortie à l'écran

print "Humidité relative: %.2f %%" %humidité

print "Température en Celsius: %.2f C" %cTemp

print "Température en Fahrenheit: %.2f F" %fTemp

La partie de code mentionnée ci-dessous comprend les bibliothèques nécessaires à la bonne exécution des codes python.

importer smbus

heure d'importation

Le code peut être exécuté en tapant la commande mentionnée ci-dessous dans l'invite de commande.

$> python HTS221.py

La sortie du capteur est également indiquée dans l'image ci-dessus pour la référence de l'utilisateur.

Étape 4: Candidatures:

Applications
Applications

HTS221 peut être utilisé dans divers produits de consommation tels que les humidificateurs d'air et les réfrigérateurs, etc. Ce capteur trouve également son application dans un domaine plus large, notamment la domotique intelligente, l'automatisation industrielle, les équipements respiratoires, le suivi des actifs et des marchandises.

Conseillé: