Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Nous avons récemment travaillé sur divers projets qui nécessitaient une surveillance de la température et de l'humidité, puis nous nous sommes rendu compte que ces deux paramètres jouent en fait un rôle central dans l'estimation de l'efficacité de fonctionnement d'un système. Tant au niveau industriel qu'au niveau des systèmes personnels, un niveau de température optimal est la condition nécessaire pour une performance adéquate du système.
C'est la raison, dans ce tutoriel, nous allons expliquer le fonctionnement du capteur d'humidité et de température SHT25 avec Arduino Nano.
Étape 1: Présentation de SHT25:
Tout d'abord, commençons par la compréhension de base du capteur et du protocole sur lequel il fonctionne.
Capteur d'humidité et de température SHT25 I2C ± 1,8 % HR ± 0,2 ° C I2C Mini module. Ce capteur d'humidité et de température de haute précision est devenu un standard de l'industrie en termes de facteur de forme et d'intelligence, fournissant des signaux de capteur calibrés et linéarisés au format numérique I2C. Intégré à un circuit analogique et numérique spécialisé, ce capteur est l'un des appareils les plus efficaces pour mesurer la température et l'humidité.
Le protocole de communication sur lequel fonctionne le capteur est I2C. I2C signifie le circuit inter-intégré. Il s'agit d'un protocole de communication dans lequel la communication s'effectue via des lignes SDA (données série) et SCL (horloge série). Il permet de connecter plusieurs appareils en même temps. C'est l'un des protocoles de communication les plus simples et les plus efficaces.
Étape 2: Ce dont vous avez besoin..
Les matériaux dont nous avons besoin pour atteindre notre objectif comprennent les composants matériels suivants:
1. Capteur d'humidité et de température SHT25
2. Arduino Nano
3. Câble I2C
4. Bouclier I2C pour Arduino nano
Étape 3: connexion matérielle:
La section de raccordement matériel explique essentiellement les connexions de câblage requises entre le capteur et l'arduino nano. 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 SHT25 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 4: Code de surveillance de la température et de l'humidité:
Commençons maintenant par le code Arduino.
Lors de l'utilisation du module de capteur avec l'Arduino, nous incluons la bibliothèque Wire.h. La bibliothèque "Wire" contient les fonctions qui facilitent la communication i2c entre le capteur et la carte Arduino.
Le code Arduino complet est donné ci-dessous pour la commodité de l'utilisateur:
#comprendre
// L'adresse SHT25 I2C est 0x40(64)
#define Adr 0x40
void setup()
{
// Initialiser la communication I2C en tant que MASTER
Fil.begin();
// Initialiser la communication série, définir le débit en bauds = 9600
Serial.begin(9600);
retard (300);
}
boucle vide()
{
données int non signées[2];
// Lancer la transmission I2C
Wire.beginTransmission(Adr);
// Envoi de la commande de mesure d'humidité, NO HOLD master
Wire.write(0xF5);
// Arrêter la transmission I2C
Wire.endTransmission();
retard (500);
// Demande 2 octets de données
Wire.requestFrom(Adr, 2);
// Lecture de 2 octets de données
// humidité msb, humidité lsb
if(Fil.disponible() == 2)
{
data[0] = Wire.read();
données[1] = Wire.read();
// Convertir les données
humidité flottante = (((données[0] * 256,0 + données[1]) * 125,0) / 65536,0) - 6;
// Sortie des données vers Serial Monitor
Serial.print("Humidité relative:");
Serial.print(humidité);
Serial.println(" %RH");
}
// Lancer la transmission I2C
Wire.beginTransmission(Adr);
// Envoi de la commande de mesure de température, NO HOLD master
Wire.write(0xF3);
// Arrêter la transmission I2C
Wire.endTransmission();
retard (500);
// Demande 2 octets de données
Wire.requestFrom(Adr, 2);
// Lecture de 2 octets de données
// temp msb, temp lsb
if(Fil.disponible() == 2)
{
data[0] = Wire.read();
données[1] = Wire.read();
// Convertir les données
float cTemp = (((données[0] * 256,0 + données[1]) * 175,72) / 65536,0) - 46,85;
float fTemp = (cTemp * 1,8) + 32;
// Sortie des données vers Serial Monitor
Serial.print("Température en Celsius:");
Serial.print(cTemp); Serial.println("C");
Serial.print("Température en Fahrenheit:");
Serial.print(fTemp);
Serial.println(" F");
}
retard (300);
}
Tout ce que vous avez à faire est de graver le code dans Arduino et de vérifier vos lectures sur le port série. La sortie est montrée dans l'image ci-dessus.
Étape 5: Candidatures:
Le capteur de température et d'humidité relative SHT25 a diverses applications industrielles telles que la surveillance de la température, la protection thermique des périphériques informatiques. Nous avons également utilisé ce capteur dans des applications de station météorologique ainsi que dans un système de surveillance des serres.