Table des matières:
Vidéo: Tutoriel Java du capteur d'humidité relative et de température Raspberry Pi HTS221 : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
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.
1. Framboise Pi
2. HTS221
3. Câble I²C
4. Bouclier I²C pour Raspberry Pi
5. Câble Ethernet
Étape 2: 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:
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é:
Tutoriel Python du capteur d'humidité et de température Raspberry Pi SHT25 : 4 étapes
Tutoriel Python du capteur d'humidité et de température Raspberry Pi SHT25 : capteur d'humidité et de température SHT25 I2C ± 1,8 % HR ± 0,2 ° C I2C Mini module. Le capteur d'humidité et de température de haute précision SHT25 est devenu un standard de l'industrie en termes de facteur de forme et d'intelligence, fournissant un signal de capteur calibré et linéarisé
Arduino Nano - Tutoriel sur le capteur d'humidité relative et de température HTS221 : 4 étapes
Arduino Nano - Tutoriel sur le capteur d'humidité relative et de température HTS221 : 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 signal mixte (ASIC) pour fournir les informations de mesure via série numérique
Raspberry Pi - Tutoriel Python du capteur d'humidité et de température HIH6130 I2C : 4 étapes
Raspberry Pi - HIH6130 Capteur d'humidité et de température I2C Tutoriel Python : HIH6130 est un capteur d'humidité et de température avec sortie numérique. Ces capteurs offrent un niveau de précision de ±4% HR. Avec une stabilité à long terme de pointe, une véritable I2C numérique à compensation de température, une fiabilité de pointe, une efficacité énergétique
Raspberry Pi - Tutoriel Java du capteur d'humidité et de température HIH6130 I2C : 4 étapes
Raspberry Pi - HIH6130 Capteur d'humidité et de température I2C Tutoriel Java : HIH6130 est un capteur d'humidité et de température avec sortie numérique. Ces capteurs offrent un niveau de précision de ±4% HR. Avec une stabilité à long terme de pointe, une véritable I2C numérique à compensation de température, une fiabilité de pointe, une efficacité énergétique
Enregistreur de température, d'humidité relative et de pression atmosphérique utilisant Raspberry Pi et TE Connectivity MS8607-02BA01 : 22 étapes (avec photos)
Enregistreur de température, d'humidité relative et de pression atmosphérique à l'aide de Raspberry Pi et de la connectivité TE MS8607-02BA01 : Introduction : Dans ce projet, je vais vous montrer comment configurer par étape un système d'enregistrement de la température, de l'humidité et de la pression atmosphérique. Ce projet est basé sur la puce de capteur environnemental Raspberry Pi 3 Model B et TE Connectivity MS8607-02BA