Leçon 35-2 : Utilisation du capteur de température HTU21D - Code personnalisé

Leçon 35-2 : Utilisation du capteur de température HTU21D - Code personnalisé

Dans ce tutoriel, nous allons explorer comment utiliser le capteur de température HTU21D avec Arduino pour mesurer la température et l'humidité. Le HTU21D est un capteur fiable et à faible consommation d'énergie qui communique via I2C, ce qui le rend facile à intégrer dans vos projets. À la fin de cette leçon, vous aurez un code fonctionnel qui lit la température en Celsius, Fahrenheit et Kelvin, ainsi que l'humidité relative.

HTU21D module

Avant de plonger dans le câblage et le code, il est essentiel de comprendre les composants impliqués. Le capteur HTU21D nécessite des connexions minimales : alimentation, masse et deux fils I2C pour le transfert de données. Cette simplicité en fait un excellent choix pour diverses applications, des stations météorologiques aux dispositifs domotiques. Pour un guide visuel, consultez la vidéo à l'heure 03:45.

Matériel expliqué

Le composant principal de ce projet est le capteur HTU21D, qui mesure la température et l'humidité. Ce capteur peut fonctionner avec des tensions allant de 1,5 V à 3,6 V, ce qui le rend polyvalent pour différentes applications. Il fournit des lectures à haute résolution, avec des mesures de température allant de -40 °C à +125 °C et des lectures d'humidité avec une résolution de 0,04 %.

De plus, le capteur utilise la communication I2C, qui nécessite deux broches : SDA (ligne de données) et SCL (ligne d'horloge). Cela permet une intégration facile avec Arduino et d'autres microcontrôleurs sans nécessiter un câblage complexe. La bibliothèque Adafruit simplifie l'interaction avec le capteur, gérant la récupération des données et les protocoles de communication sans effort.

Détails de la fiche technique

FabricantTE Connectivity
Numéro de pièceHTU21D-F
Tension logique/IO1,5 - 3,6 V
Tension d'alimentation3,3 V
Consommation actuelle (au repos)0,02 µA (typ.)
Consommation actuelle (active)450 µA (typ.)
Plage de température-40 à +125 °C
Plage d'humidité0 à 100 %HR
Résolution0,04 %HR; 0,01 °C
Paquet6 broches DFN

  • Assurez une alimentation correcte pour éviter d'endommager le capteur.
  • Utilisez des résistances de tirage sur les lignes SDA et SCL si elles ne sont pas intégrées.
  • Gardez les connexions des capteurs courtes pour minimiser le bruit.
  • Surveillez la tension pendant le fonctionnement pour maintenir la stabilité.
  • Envisagez d'utiliser un condensateur pour le découplage près des broches d'alimentation.

Instructions de câblage

Arduino wiring for HTU21DF light intesity sensor
Arduino wiring for HTU21DF light intesity sensor

Pour câbler le capteur de température HTU21D, commencez par connecter l'alimentation et la masse. Connectez la broche gauche du capteur à une source de 3,3 V, en vous assurant qu'elle peut supporter la tension requise. La deuxième broche, généralement marquée en rouge, doit aller à la masse.

Ensuite, connectez la broche SDA du capteur à la brocheA4sur l'Arduino, qui sert de ligne de données pour la communication I2C. Ensuite, connectez la broche SCL à la brocheA5, qui agit comme la ligne d'horloge. Assurez-vous que ces connexions sont sécurisées, car des fils desserrés peuvent entraîner des lectures intermittentes ou un échec de communication avec le capteur.

Exemples de code et guide étape par étape

Dans le code, nous commençons par inclure les bibliothèques nécessaires et par initialiser le capteur. La ligneAdafruit_HTU21DF htu = Adafruit_HTU21DF();crée une instance de la classe capteur. Dans lesetup()fonction, nous démarrons la communication série et vérifions si le capteur est correctement connecté.

void setup() {
  Serial.begin(9600);
  if (!htu.begin()) {
    Serial.println("Couldn't find sensor!");
    while (1);
  }
}

Ce fragment vérifie si le capteur fonctionne correctement. Si ce n'est pas le cas, il affiche un message d'erreur et interrompt le programme. Dans leloop()fonction, nous lisons les valeurs de température et d'humidité en continu.

void loop() {
    Serial.print(getHTU('C'));
    Serial.print("C");
    Serial.print(getHTU('H'));
    Serial.println("%");
    delay(1000);
}

Ici, la fonctiongetHTU()est appelé avec différents paramètres pour récupérer la température en Celsius et l'humidité. Le retard garantit que les relevés sont effectués chaque seconde, offrant une sortie fluide sur le moniteur série. Le code complet est disponible en référence sous l'article.

Démonstration / À quoi s'attendre

Une fois que tout est câblé correctement et que le code est téléchargé, vous devriez voir les relevés de température et d'humidité s'afficher dans le moniteur série. La température sera affichée en degrés Celsius, suivie du pourcentage d'humidité correspondant. Si vous appliquez de la chaleur au capteur, vous devriez observer la température augmenter en conséquence (dans la vidéo à 10:15).

Faites attention aux limites du capteur ; si la température dépasse 125 °C, il peut donner une lecture incorrecte ou afficher zéro. Assurez-vous toujours que vos connexions sont sécurisées et que le capteur est alimenté correctement pour éviter tout problème pendant son fonctionnement.

Horodatages de vidéo

  • 00:00Introduction
  • 03:45Câblage du capteur
  • 05:30Examen du code
  • 10:15Démonstration
  • 12:00Conclusion

Images

Arduino wiring for HTU21DF light intesity sensor
Arduino wiring for HTU21DF light intesity sensor
HTU21D module
HTU21D module
HTU21D module-back
HTU21D module-back
513-Lesson 35: Using HTU21D Temperature Sensor | Arduino Step-by-Step Course
Langue: C++
Copié !

Ce dont vous pourriez avoir besoin

Fichiers📁

Fiche technique (pdf)