Leçon 35 : Utilisation du capteur de température HTU21D avec Arduino
Ce projet vous guide pour utiliser un Arduino afin de lire les données de température et d'humidité d'un capteur HTU21D-F. Ce capteur est peu coûteux et largement disponible, ce qui le rend parfait pour une variété de projets. Le capteur transmet les données via I2C, un protocole de communication numérique courant. Apprendre à utiliser ce capteur et l'I2C ouvrira de nombreuses possibilités pour vos projets.

Applications pratiques :
- Construire un moniteur d'environnement pour une maison intelligente
- Créer une station météorologique
- Développement d'une enceinte climatisée pour des équipements électroniques sensibles
- Surveillance de la température et de l'humidité dans une serre ou un terrarium
Matériel/Composants
Vous aurez besoin des composants suivants :
- Carte Arduino (par exemple : Uno, Nano)
- Capteur de température et d'humidité HTU21D-F (dans la vidéo à 00:22)
- Fils de connexion
- Plaque d'essai (optionnelle, mais recommandée)
Guide de câblage
Le câblage est simple. Connectez le capteur à l'Arduino comme suit (dans la vidéo à 02:28) :
- VCC du capteur vers le 3,3 V de l'Arduino
- GND du capteur au GND de l'Arduino
- SDA du capteur vers A4 de l'Arduino
- SCL du capteur vers Arduino A5

Explication du code
Le code fourni utilise la bibliothèque Adafruit HTU21D-F (dans la vidéo à 03:03) pour interagir avec le capteur. Les éléments clés sont :
// These are the lines that you can configure:
const int inPin =A0;//can change
const int iteration = 1000; //can change (see video at 00:22)
const float LM35_FACTOR =0.01;// do not change
inPin: Spécifie la broche analogique connectée au capteur de température. Vous pouvez la modifier pour l'adapter à votre câblage.
iteration: Cette variable contrôle le nombre de mesures effectuées pour calculer la température moyenne. L'augmenter améliore la précision mais ralentit la prise des mesures (dans la vidéo à 00:22).
LegetHTU()La fonction (dans la vidéo à 08:46) permet de récupérer la température en Celsius, Fahrenheit ou Kelvin, ou l'humidité, en passant un caractère ('C', 'F', 'K' ou 'H') en argument. Le code utilise ensuite cette fonction pour afficher les données sur le moniteur série.
float getTemperature(char type) {
// ... (code to read temperature and humidity) ...
if (type == 'F') {
value = averageTemperature * 9 / 5 + 32; // Fahrenheit
} else if (type == 'K') {
value = averageTemperature + 273.15; // Kelvin
} else {
value = averageTemperature; // Celsius
}
return value;
}
Projet/Démonstration en direct
La vidéo montre le fonctionnement du capteur (dans la vidéo à 07:34). Le moniteur série affiche les relevés de température et d'humidité. Le présentateur montre aussi comment le code peut déclencher des actions en fonction des seuils de température (dans la vidéo à 06:45).
Chapitres
- [00:00] Introduction
- [00:22] Aperçu du capteur
- [01:22] Examen de la fiche technique
- [02:28] Câblage
- [03:03] Installation de la bibliothèque
- [04:05] Explication du code (Partie 1)
- [08:33] Explication du code (Partie 2)
- [07:34] Démonstration en direct
Ce dont vous pourriez avoir besoin
-
Amazon
Ressources et références
-
ExterneBibliothèque Adafruit HTU21D (GitHub)github.com
-
ExterneFiche technique HTU21D (PDF)cdn-shop.adafruit.com
Fichiers📁
Autres fichiers
-
Adafruit HTU21DF library (Robojax.com)
robojax_HTU21DF_Adafruit_HTU21DF_Library-master.zip