Table des matières:

Tutoriel Java du capteur d'humidité relative et de température Raspberry Pi HTS221 : 4 étapes
Tutoriel Java du capteur d'humidité relative et de température Raspberry Pi HTS221 : 4 étapes

Vidéo: Tutoriel Java du capteur d'humidité relative et de température Raspberry Pi HTS221 : 4 étapes

Vidéo: Tutoriel Java du capteur d'humidité relative et de température Raspberry Pi HTS221 : 4 étapes
Vidéo: Измерение температуры и влажности с помощью датчика HTU21D I2C, Raspberry Pi и открытого исходного кода 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. Voici la démonstration avec un code java utilisant Raspberry Pi.

Étape 1: Ce dont vous avez besoin.

De quoi as-tu besoin..!!
De quoi as-tu besoin..!!

1. Framboise Pi

2. HTS221

3. Câble I²C

4. Bouclier I²C pour Raspberry Pi

5. Câble Ethernet

Étape 2: Connexions:

Connexions
Connexions
Connexions
Connexions
Connexions
Connexions
Connexions
Connexions

Prenez un shield I2C pour raspberry pi et poussez-le doucement sur les broches gpio de raspberry pi.

Connectez ensuite l'une des extrémités du câble I2C au capteur HTS221 et l'autre extrémité au blindage I2C.

Connectez également le câble Ethernet au pi ou vous pouvez utiliser un module WiFi.

Les connexions sont montrées dans l'image ci-dessus.

Étape 3: Coder:

Code
Code

Le code python pour HTS221 peut être téléchargé depuis notre référentiel github-Dcube Store

Voici le lien pour le même:

github.com/DcubeTechVentures/HTS221/blob/master/Java/HTS221.java

Nous avons utilisé la bibliothèque pi4j pour le code java, les étapes pour installer pi4j sur raspberry pi sont décrites ici:

pi4j.com/install.html

Vous pouvez également copier le code d'ici, il est donné comme suit:

// Distribué avec une licence libre-arbitre.

// Utilisez-le comme vous le souhaitez, à profit ou gratuitement, à condition qu'il rentre dans les licences de ses œuvres associées.

// HTS221

// Ce code est conçu pour fonctionner avec le mini module HTS221_I2CS I2C.

importer com.pi4j.io.i2c. I2CBus;

importer com.pi4j.io.i2c. I2CDevice;

importer com.pi4j.io.i2c. I2CFactory;

importer java.io. IOException;

La classe publique HTS221{ public static void main(String args) lève une exception

{

// Créer I2CBus

Bus I2CBus = I2CFactory.getInstance(I2CBus. BUS_1);

// Obtenir le périphérique I2C, l'adresse I2C HTS221 est 0x5F (95)

Périphérique I2CDevice = bus.getDevice (0x5F);

// Sélection du registre de configuration moyenne

// Échantillons de température moyenne = 16, échantillons d'humidité moyenne = 32

périphérique.write(0x10, (octet)0x1B);

// Sélection du registre de contrôle1

// Mise sous tension, mise à jour des données de bloc, débit de données o/p = 1 Hz

périphérique.write(0x20, (octet)0x85);

Thread.sleep(500);

// Lecture des valeurs d'étalonnage de la mémoire non volatile de l'appareil

// Valeurs d'étalonnage de l'humidité

octet val = nouvel octet[2];

// Lit 1 octet de données à partir de l'adresse 0x30(48)

val[0] = (byte)device.read(0x30);

// Lit 1 octet de données à partir de l'adresse 0x31(49)

val[1] = (octet)device.read(0x31);

entier H0 = (val[0] & 0xFF) / 2;

entier H1 = (val[1] & 0xFF) / 2;

// Lit 1 octet de données à partir de l'adresse 0x36(54)

val[0] = (byte)device.read(0x36);

// Lit 1 octet de données à partir de l'adresse 0x37(55)

val[1] = (octet)device.read(0x37);

entier H2 = ((val[1] & 0xFF) * 256) + (val[0] & 0xFF);

// Lit 1 octet de données à partir de l'adresse 0x3A(58)

val[0] = (octet)device.read(0x3A);

// Lit 1 octet de données à partir de l'adresse 0x3B(59)

val[1] = (octet)device.read(0x3B);

entier H3 = ((val[1] & 0xFF) * 256) + (val[0] & 0xFF);

// Valeurs d'étalonnage de la température

// Lit 1 octet de données à partir de l'adresse 0x32(50)

int T0 = ((byte)device.read(0x32) & 0xFF);

// Lit 1 octet de données à partir de l'adresse 0x33(51)

int T1 = ((byte)device.read(0x33) & 0xFF);

// Lit 1 octet de données à partir de l'adresse 0x35(53)

int raw = ((byte)device.read(0x35) & 0x0F);

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

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

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

// Lit 1 octet de données à partir de l'adresse 0x3C(60)

val[0] = (octet)device.read(0x3C);

// Lit 1 octet de données à partir de l'adresse 0x3D(61)

val[1] = (octet)device.read(0x3D);

entier T2 = ((val[1] & 0xFF) * 256) + (val[0] & 0xFF);

// Lit 1 octet de données à partir de l'adresse 0x3E(62)

val[0] = (byte)device.read(0x3E);

// Lit 1 octet de données à partir de l'adresse 0x3F(63)

val[1] = (octet)device.read(0x3F);

entier T3 = ((val[1] & 0xFF) * 256) + (val[0] & 0xFF);

// Lecture de 4 octets de données

// hum msb, hum lsb, temp msb, temp lsb

octet données = nouvel octet[4]; device.read (0x28 | 0x80, données, 0, 4);

// Convertir les données

int hum = ((données[1] & 0xFF) * 256) + (données[0] & 0xFF);

int temp = ((données[3] & 0xFF) * 256) + (données[2] & 0xFF);

si(temp > 32767)

{

temp -= 65536;

}

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

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

double fTemp = (cTemp * 1,8) + 32;

// Sortie des données à l'écran

System.out.printf("Humidité relative: %.2f %% RH %n", humidité);

System.out.printf("Température en Celsius: %.2f C %n", cTemp);

System.out.printf("Température en Fahrenheit: %.2f F %n", fTemp);

}

}

Étape 4: Candidatures:

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é: