Ce tutoriel fait partie de: Capteur numérique d'humidité relative et de température HTU21D
Vidéos relatives au capteur numérique d'humidité relative et de température HTU21D. Des liens vers d'autres vidéos se trouvent ci-dessous.
Leçon 35-1 : Utilisation du capteur de température HTU21D
Dans ce tutoriel, nous allons explorer comment utiliser le capteur de température et d'humidité HTU21D avec un Arduino. Le HTU21D est un capteur compact qui communique via I2C, ce qui facilite son intégration avec les microcontrôleurs. À la fin de cette leçon, vous serez en mesure de lire les valeurs de température et d'humidité et de les afficher via le moniteur série de l'Arduino.

Pour ce projet, nous allons utiliser la bibliothèque Adafruit spécifiquement conçue pour le capteur HTU21D. La bibliothèque simplifie le processus de lecture des données du capteur, nous permettant de nous concentrer sur l'intégration du capteur dans nos projets. Vous pouvez vous attendre à voir les lectures de température du capteur en Celsius, Fahrenheit et Kelvin, ainsi que le pourcentage d'humidité relative (dans la vidéo à 03:15).
Matériel expliqué
Le composant principal de ce projet est le capteur de température et d'humidité HTU21D. Ce capteur fonctionne avec une tension d'alimentation de 1,5 à 3,6 volts et consomme très peu d'énergie, ce qui le rend idéal pour les dispositifs alimentés par batterie. Il communique avec l'Arduino via le protocole I2C, nécessitant seulement deux lignes de données : SDA pour les données et SCL pour l'horloge.
Pour alimenter le capteur, nous allons le connecter à une source de 3,3V ou de 5V, selon le module spécifique que vous utilisez. La version Adafruit inclut un régulateur de tension, ce qui lui permet de fonctionner sans problème avec les deux niveaux de tension. Cette flexibilité en fait un excellent choix pour diverses applications.
Détails de la fiche technique
| Fabricant | TE Connectivity |
|---|---|
| Numéro de pièce | HTU21D-F |
| Tension logique/IO | 1,5 - 3,6 V |
| Tension d'alimentation | 3,3 V (typ.) |
| Consommation actuelle (au repos) | 0,02 µA |
| Consommation actuelle (mesure) | 450 µA (typ.) |
| Plage de température | -40 à +125 °C |
| Résolution de l'humidité | 0,04 % |
| Paquet | DFN 6 broches |
- Assurez-vous de maintenir des niveaux de tension appropriés pour éviter d'endommager le capteur.
- Utilisez des résistances de tirage sur les lignes I2C si elles ne sont pas incluses dans le module.
- Gardez les fils courts pour minimiser les interférences avec la communication I2C.
- Considérez l'équipement de dissipation thermique si vous l'utilisez dans des environnements à haute température.
- Vérifiez l'orientation du capteur pour garantir les bonnes connexions des broches.
Instructions de câblage

Pour connecter le capteur HTU21D à votre Arduino, commencez par relier la broche VCC du capteur à la broche d'alimentation 3,3 V de l'Arduino. Ensuite, connectez la broche GND du capteur à la broche de masse (GND) de l'Arduino. Puis, reliez la broche SDA du capteur à la broche analogique A4 de l'Arduino, qui sert de ligne de données I2C. Enfin, connectez la broche SCL du capteur à la broche analogique A5, qui agit comme la ligne d'horloge I2C. Assurez-vous que vos connexions sont sécurisées pour éviter des lectures intermittentes.
Pour plus de clarté, si vous utilisez une carte différente, assurez-vous d'identifier les bonnes broches pour SDA et SCL car elles peuvent varier. Cette configuration de câblage permettra à l'Arduino de communiquer efficacement avec le capteur HTU21D (dans la vidéo à 05:00).
Exemples de code et guide étape par étape
Ci-dessous un extrait de la fonction d'initialisation qui initialise la communication série et vérifie si le capteur est trouvé :
void setup() {
Serial.begin(9600);
if (!htu.begin()) {
Serial.println("Couldn't find sensor!");
while (1);
}
}Ce code commence la communication série à un débit de 9600 bauds et tente d'initialiser le capteur HTU21D. Si le capteur n'est pas détecté, il imprimera un message d'erreur et interrompra l'exécution ultérieure.
La boucle principale du programme lit en continu les valeurs de température et d'humidité :
void loop() {
Serial.print(getHTU('C'));
Serial.println("C");
Serial.print("Humidity:");
Serial.print(getHTU('H'));
Serial.println("%");
delay(1000);
}Dans cette boucle, nous appelons la fonctiongetHTUavec 'C' pour obtenir la température en Celsius et 'H' pour obtenir l'humidité. Les résultats sont imprimés sur le moniteur série toutes les secondes. Cela permet une observation en temps réel des lectures du capteur.
De plus, nous avons une fonctiongetHTUqui renvoie la température ou l'humidité en fonction d'une saisie de caractère :
float getHTU(char type) {
float temp = htu.readTemperature();
float rel_hum = htu.readHumidity();
return (type == 'H') ? rel_hum : temp;
}Cette fonction lit la température et l'humidité à partir du capteur et renvoie la valeur appropriée en fonction du type spécifié. Cette approche modulaire permet de garder le code propre et facile à entretenir.
Démonstration / À quoi s'attendre
Après la configuration et l'exécution réussies du code, vous devriez voir les valeurs de température et d'humidité affichées sur le moniteur série. Si vous appliquez de la chaleur au capteur, les lectures de température devraient augmenter en conséquence, tandis que l'humidité peut diminuer. Si la température dépasse la plage maximale du capteur, elle peut afficher des résultats inattendus, tels que zéro (dans la vidéo à 12:00).
Horodatages vidéo
- 00:00- Introduction
- 03:15- Vue d'ensemble des capteurs
- 05:00- Instructions de câblage
- 10:00- Revue de code
- 12:00- Démonstration
Ce tutoriel fait partie de: Capteur numérique d'humidité relative et de température HTU21D
- Leçon 35-2 : Utilisation du capteur de température HTU21D - Code personnalisé
- Leçon 35 : Utilisation du capteur de température HTU21D avec Arduino
- Leçon 36 : Utilisation du capteur de température HTU21D avec un écran LCD Arduino Cours étape par étape
- Utilisation de deux capteurs d'humidité et de température HTU21DF supplémentaires avec Arduino
- Affichage de la température d'un HTU21D sur un écran LCD
- Affichage de la température d'un HTU21D sous forme de graphique à barres sur un LCD
- Comment utiliser le capteur d'humidité et de température HTU21DF avec Arduino (code de base)
- Comment utiliser le capteur d'humidité et de température HTU21DF avec Arduino (code personnalisé)
Ce dont vous pourriez avoir besoin
-
Amazon
-
eBayAchetez le HTU21D sur eBayebay.us
-
AliExpressAchetez HTU21D ou SHT21 sur AliExpresss.click.aliexpress.com
Ressources et références
-
ExterneDifférence entre HTU21DF et HTU21D (image)robojax.com
Fichiers📁
Fiche technique (pdf)
-
HTU21D_temerature_humidity_datasheet
HTU21D_temerature_humidity_datasheet.pdf0.96 MB -
HTU31D HTU31V Temperature and Himidity Sensors Datasheet
HTU31_Sensors_Datasheet.pdf0.67 MB