Affichage de la température d'un HTU21D sous forme de graphique à barres sur un LCD

Affichage de la température d'un HTU21D sous forme de graphique à barres sur un LCD

Dans ce tutoriel, nous apprendrons comment afficher les relevés de température d'un capteur de température et d'humidité HTU21D sur un écran LCD sous forme de graphique à barres. Les relevés incluront des valeurs en Celsius, Fahrenheit, Kelvin et humidité relative, offrant un aperçu complet des conditions environnementales. Ce projet vous aidera à comprendre comment câbler correctement les composants et à mettre en œuvre le code nécessaire pour que tout fonctionne parfaitement.

HTU21D module

Pour ceux qui veulent un guide visuel, assurez-vous de consulter la vidéo associée à ce tutoriel (dans la vidéo à 00:00).

Matériel expliqué

Les principaux composants de ce projet comprennent le capteur HTU21D et l'écran LCD 1602. Le HTU21D est un capteur numérique d'humidité et de température qui communique via I2C. Il fournit des lectures précises de température et d'humidité, qui peuvent être facilement accessibles via sa bibliothèque. L'écran LCD 1602, quant à lui, affiche les lectures dans un format lisible par l'homme, permettant des évaluations rapides des conditions environnementales.

Le HTU21D utilise une interface I2C simple, ce qui facilite la connexion et la communication avec des microcontrôleurs comme Arduino. L'affichage LCD 1602 utilise également I2C, ce qui simplifie le câblage en réduisant le nombre de broches nécessaires pour se connecter à l'Arduino. Cela permet une configuration plus propre tout en offrant une sortie visuelle claire.

Détails de la fiche technique

FabricantAdafruit
Numéro de pièceHTU21D
Tension logique/IO3,3 V (typ.)
Tension d'alimentation1,5 - 3,6 V
Plage de températures-40 à 125 °C
Plage d'humidité0 à 100 %HR
Résolution0,01 °C / 0,04 %HR
CommunicationI2C
Paquet4 broches LGA

  • Utilisez 3,3 V pour alimenter le HTU21D ; le connecter à 5 V peut l'endommager.
  • Assurez-vous d'utiliser des résistances de tirage appropriées sur les lignes I2C (SDA et SCL).
  • Éloignez le capteur des sources de chaleur pendant les tests.
  • Vérifiez l'adresse I2C correcte à l'aide d'un sketch de scanner I2C.
  • Assurez-vous que l'écran LCD est correctement initialisé avec la bonne adresse.

Instructions de câblage

Arduino wiring for HTU21DF light intesity sensor with LCD
Arduino wiring for HTU21DF light intesity sensor with LCD

Pour connecter le capteur HTU21D et l'afficheur LCD 1602, suivez ces étapes attentivement :

Tout d'abord, connectez le capteur HTU21D. Connectez la première broche (VCC) au broche 3,3 V de l'Arduino. La deuxième broche (GND) doit être connectée à la masse (GND) de l'Arduino. La troisième broche (SDA) est connectée à la broche A4 de l'Arduino, et la quatrième broche (SCL) se connecte à la broche A5. Assurez-vous d'utiliser les bonnes couleurs de fils pour plus de clarté, en utilisant le rouge pour VCC, le noir pour GND, l'orange pour SDA et le jaune pour SCL.

Ensuite, pour l'affichage LCD 1602, connectez la broche VCC à la broche 5 V sur l'Arduino et la broche GND à la terre. La broche SDA de l'écran LCD doit être connectée à la même broche A4 utilisée pour le HTU21D, et la broche SCL doit être connectée à la broche A5. Cette configuration permet au capteur et à l'affichage de communiquer via le protocole I2C.

Exemples de code et guide pas à pas

Dans le code, la première étape consiste à inclure les bibliothèques nécessaires pour le capteur et l'écran LCD. La ligne#include est essentiel pour la communication I2C, tandis que#include "Adafruit_HTU21DF.h"initialise le capteur HTU21D. La ligne suivante crée une instance de la classe HTU21D :

Adafruit_HTU21DF htu = Adafruit_HTU21DF();

Cette ligne configure le capteur pour une utilisation dans le programme, nous permettant d'appeler ses méthodes plus tard pour lire les valeurs de température et d'humidité.

Dans lesetup()fonction, nous initialisons le moniteur série et l'affichage LCD. Les lignes suivantes vérifient si le capteur fonctionne correctement :

if (htu.begin()) {
    lcd.print("HTU21DF Bargraph");  
} else {
    lcd.print("missing HTU21DF"); 
    while(1); // Pause forever.
}

Si le capteur ne parvient pas à s'initialiser, le programme affichera un message d'erreur et interrompra l'exécution. Cela est crucial pour le débogage et garantit que le capteur est correctement connecté.

Dans leloop()fonction, les relevés de température sont effectués et affichés. La lignefloat T = getHTU('H');récupère la température ou l'humidité en fonction du paramètre passé. La valeur récupérée est ensuite affichée sur l'écran LCD :

lcd.setCursor (0,1); 
lcd.print(T); // print  
lcd.print((char)223); // prints degree symbol
lcd.print("C"); //

Ce code positionne le curseur sur la deuxième ligne de l'écran LCD et imprime la valeur de la température accompagnée du symbole de degré. L'utilisation de(char)223est une astuce pratique pour afficher le symbole de degré sur l'écran LCD.

Démonstration / À quoi s'attendre

Une fois tout configuré et le code téléchargé, vous devriez voir les lectures de température affichées sur l'écran LCD sous forme de graphique à barres. Les lectures se mettront à jour en continu, reflétant la température et l'humidité actuelles. Si vous soufflez de l'air chaud sur le capteur, vous constaterez que la température augmente rapidement, confirmant que le système fonctionne comme prévu. Faites attention à la polarité inversée ou au câblage incorrect, car cela peut entraîner un dysfonctionnement ou des dommages (dans la vidéo à 02:30).

Horodatages vidéo

  • 00:00- Introduction
  • 01:30- Explication du câblage
  • 02:30- Démonstration de code
  • 04:00- Démonstration
  • 05:30- Conclusion

Images

Arduino wiring for HTU21DF light intesity sensor with LCD
Arduino wiring for HTU21DF light intesity sensor with LCD
HTU21D module
HTU21D module
HTU21D module-back
HTU21D module-back
214-Arduino code using HTU21D-F Humidity & Temperature on LCD bargraph
Langue: C++
Copié !

Fichiers📁

Fiche technique (pdf)