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.
Comment utiliser le capteur d'humidité et de température HTU21DF avec Arduino (code de base)
Dans ce tutoriel, nous allons apprendre à utiliser le capteur de température et d'humidité relative HTU21DF avec un Arduino. Ce capteur est connu pour sa précision et sa faible consommation d'énergie, ce qui le rend idéal pour diverses applications. À la fin de ce tutoriel, vous serez en mesure de lire les valeurs de température et d'humidité et de les afficher sur le moniteur série Arduino. Pour des éclaircissements supplémentaires, assurez-vous de consulter la vidéo à (dans la vidéo à 00:00).
Matériel expliqué
Le capteur HTU21DF est un capteur numérique d'humidité et de température qui communique en utilisant le protocole I2C. Il peut mesurer des températures allant de -40°C à +125°C et une humidité relative de 0% à 100%. Le capteur fonctionne avec une tension d'alimentation de 3,3V, ce qui le rend adapté aux applications alimentées par batterie.
Deux broches sont essentielles pour la communication : SDA (ligne de données) et SCL (ligne d'horloge). Le capteur dispose également d'un mode de faible consommation d'énergie, consommant seulement 0,04 µA lorsqu'il est inactif et environ 400 µA lors des mesures. Cette fonctionnalité le rend particulièrement utile dans les projets sensibles à l'énergie.
Détails de la fiche technique
| Fabricant | TE Connectivity (anciennement MEAS) |
|---|---|
| Numéro de pièce | HTU21DF |
| Tension logique/IO | 3,3 V |
| Tension d'alimentation | 1,5 - 3,6 V |
| Consommation de courant au repos | 0,04 µA |
| Mesure de la consommation actuelle | 400 µA |
| Plage de température | -40 à +125 °C |
| Plage d'humidité | 0 à 100 % |
| Résolution | 0,04 % (humidité), 0,01 °C (température) |
| Paquet | connecteur LGA à 6 broches |
- Assurez-vous de bonnes connexions pour éviter d'endommager.
- Maintenir l'alimentation électrique dans les limites de tension spécifiées (1,5 à 3,6 V).
- Utilisez des résistances de tirage sur les lignes SDA et SCL si nécessaire.
- Soyez prudent avec la polarité inversée lors de la connexion de l'alimentation.
- Laissez le capteur un certain temps pour se stabiliser après la mise sous tension.
Instructions de câblage
Pour connecter le capteur HTU21DF à l'Arduino, suivez ces étapes :
Tout d'abord, connectez la broche gauche du capteur à l'alimentation 3,3V de l'Arduino. La deuxième broche, qui est généralement marquée en rouge, doit être connectée à la masse (GND). Ensuite, connectez la broche SDA du capteur à la brocheA4sur l'Arduino, et connecter la broche SCL à la brocheA5Cette configuration permettra à l'Arduino de communiquer avec le capteur en utilisant le protocole I2C.
Assurez-vous que toutes les connexions sont sécurisées pour éviter tout problème de communication. Si vous utilisez une plaque de prototypage, vérifiez à nouveau le câblage pour maintenir des connexions appropriées. Dans la vidéo, des méthodes de câblage alternatives sont discutées (dans la vidéo à 01:30).
Exemples de code et guide étape par étape
Voici un bref aperçu du code utilisé pour interfacer avec le capteur HTU21DF. Tout d'abord, les bibliothèques nécessaires sont incluses :
#include
#include "Adafruit_HTU21DF.h" Ce code initialise la communication I2C et crée une instance du capteur HTU21DF commehtu.
Ensuite, nous configurons la communication série dans lesetup()fonction :
void setup() {
Serial.begin(9600);
if (!htu.begin()) {
Serial.println("Couldn't find sensor!");
while (1);
}
}Ici, le capteur est initialisé, et s'il échoue à se connecter, un message est imprimé et le programme s'arrête.
Dans leloop()fonction, nous lisons les valeurs de température et d'humidité :
void loop() {
float temp = htu.readTemperature();
float rel_hum = htu.readHumidity();
Serial.print("Temp: "); Serial.print(temp); Serial.print(" C");
Serial.print("\t\t");
Serial.print("Humidity: "); Serial.print(rel_hum); Serial.println(" %");
delay(500);
}La température est stockée dans la variable.tempet l'humidité relative est stockée dansrel_humCes valeurs sont imprimées sur le Moniteur Série toutes les 500 millisecondes, vous permettant d'observer les changements en temps réel.
Pour le code complet, veuillez vous référer au programme complet chargé en bas de l'article.
Démonstration / À quoi s'attendre
Une fois que tout est câblé et que le code est téléchargé, ouvrez le Moniteur Série pour voir les relevés de température et d'humidité. Vous devriez voir les valeurs se mettre à jour toutes les demi-secondes. Si vous appliquez de la chaleur au capteur en utilisant un pistolet à chaleur, vous remarquerez que les relevés de température augmentent tandis que les relevés d'humidité diminuent (dans la vidéo à 05:00).
Soyez conscient que si la température dépasse la limite maximale de 125 °C, les relevés peuvent devenir inexactes ou se réinitialiser. Il est essentiel de maintenir le capteur dans sa plage de fonctionnement spécifiée pour garantir des mesures précises.
Horodatages vidéo
- 00:00- Introduction
- 01:30- Instructions de câblage
- 05:00- Démonstration
Ce tutoriel fait partie de: Capteur numérique d'humidité relative et de température HTU21D
- Leçon 35-1 : Utilisation du capteur 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 personnalisé)
/***************************************************
This is an example for the HTU21D-F Humidity & Temperature Sensor
Designed specifically to work with the HTU21D-F sensor from Adafruit
----> https://www.adafruit.com/products/1899
This module uses I2C to communicate; 2 pins are required to
interface
****************************************************/
#include <Wire.h>
#include "Adafruit_HTU21DF.h"
// Connect Vin to 3-5VDC
// Connect GND to ground
// Connect SCL to I2C clock pin (A5 on UNO)
// Connect SDA to I2C data pin (A4 on UNO)
Adafruit_HTU21DF htu = Adafruit_HTU21DF();
void setup() {
Serial.begin(9600);
Serial.println("HTU21D-F test");
if (!htu.begin()) {
Serial.println("Couldn't find sensor!");
while (1);
}
}
void loop() {
float temp = htu.readTemperature();
float rel_hum = htu.readHumidity();
Serial.print("Temp: "); Serial.print(temp); Serial.print(" C");
Serial.print("\t\t");
Serial.print("Humidity: "); Serial.print(rel_hum); Serial.println(" %");
delay(500);
}
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
-
ExterneBibliothèque Adafruit HTU21D (GitHub)github.com
Fichiers📁
Fiche technique (pdf)
-
HTU21D_fiche_de_données_température_humidité
HTU21D_temerature_humidity_datasheet.pdf0.96 MB