Capteur de température LM75A avec LCD1602 I2C

Capteur de température LM75A avec LCD1602 I2C

Dans ce tutoriel, nous allons apprendre à utiliser le capteur de température LM75A pour afficher les relevés de température en Celsius et en Fahrenheit sur un écran LCD1602 en utilisant la communication I2C. Le LM75A peut mesurer des températures allant de -55 °C à +125 °C, ce qui le rend adapté à diverses applications. Une fois la configuration terminée, vous pourrez voir les relevés de température en temps réel sur l'écran LCD.

LCD1602-I2C display module with 4 wires

Pour ce projet, nous utiliserons le capteur LM75A et le module LCD1602 connectés via I2C, ce qui permet un câblage plus simple et l'utilisation de moins de broches sur l'Arduino. L'objectif est de créer un système qui lit en continu la température et l'affiche sur l'écran LCD. Si vous avez besoin de précisions sur une partie du processus, consultez le tutoriel vidéo (dans la vidéo à 00:00).

Matériel expliqué

Les principaux composants de ce projet comprennent le capteur de température LM75A et l'écran LCD1602. Le LM75A est un capteur de température I2C qui fournit des mesures de température précises. Il communique avec l'Arduino sur seulement deux fils, SDA (ligne de données) et SCL (ligne d'horloge), ce qui le rend facile à intégrer dans vos projets.

L'écran LCD1602 est un afficheur 16x2 qui peut afficher jusqu'à 32 caractères à la fois. En utilisant l'interface I2C, nous pouvons le contrôler avec seulement deux fils supplémentaires, ce qui simplifie grandement le câblage. La fonction de rétroéclairage de l'écran LCD peut également améliorer la visibilité dans des environnements peu éclairés.

Détails de la fiche technique

FabricantTexas Instruments
Numéro de pièceLM75A
Tension logique/E/Sde 2,7 V à 5,5 V
Tension d'alimentation2,7 V à 5,5 V
Courant de sortie (par canal)S/O
Courant de crête (par canal)Non applicable
Recommandations de fréquence PWMSans objet
Seuils logiques d'entrée0.3 * Vcc (bas), 0.7 * Vcc (haut)
Chute de tension / RDS(on)/ saturationNon applicable
Limites thermiquesFonctionnement : -55 °C à +125 °C
PaquetSOT-23
Notes / variantesDisponible avec plusieurs adresses I2C

  • Assurez-vous d'une alimentation appropriée (2.7 V à 5.5 V).
  • Utilisez des résistances de pull-up sur les lignes SDA et SCL si nécessaire.
  • Vérifiez la configuration des adresses I2C pour plusieurs appareils.
  • Maintenez les câbles courts pour minimiser les interférences.
  • Plage de température du moniteur : -55 °C à +125 °C
  • Utilisez le moniteur série pour déboguer les mesures de température.
  • Gérer efficacement les états d'erreur dans le code.
  • Faites attention aux exigences d'alimentation de l'écran.

Instructions de câblage

Arduino_wiring_LM75A_LCD_bb

Pour câbler le capteur de température LM75A et l'écran LCD1602, commencez par connecter l'alimentation. Connectez la broche VCC du LM75A et celle du LCD1602 à la broche 5V de l'Arduino. Ensuite, connectez la broche de masse (GND) des deux modules à la broche GND de l'Arduino.

Ensuite, connectez les lignes de communication I2C. La broche SDA du LM75A doit être reliée à la broche A4 de l'Arduino, tandis que la broche SCL doit être reliée à la broche A5. Cela permet la communication I2C entre le capteur et l'Arduino. Assurez-vous que les connexions sont sécurisées pour éviter toute erreur de communication.

Exemples de code et guide pas à pas

Dans le code, nous incluons d'abord les bibliothèques nécessaires pour le capteur LM75A et l'écran LCD1602. L'extrait suivant montre comment créer une instance du capteur LM75A :

LM75A lm75a_sensor(false, false, false);

Cette ligne initialise l'objet capteur LM75A. Les paramètres booléens correspondent aux broches A0, A1 et A2 du LM75A, permettant différentes adresses I2C si nécessaire.

Ensuite, nous configurons le moniteur série et initialisons l'écran LCD :

void setup(void) {
  Serial.begin(9600);
  lcd.begin();  
  lcd.backlight();
  lcd.print("Robojax LM75A");
}

Ici, nous démarrons la communication série à 9600 bauds et initialisons l'écran LCD. Le rétroéclairage est activé et un message initial est affiché à l'écran.

Dans la boucle principale, nous lisons en continu la température et l'affichons :

float temperature_in_degrees = lm75a_sensor.getTemperatureInDegrees();
if (temperature_in_degrees == INVALID_LM75A_TEMPERATURE) {
  Serial.println("Error while getting temperature");
}

Cette section récupère la température à partir du capteur. Si la lecture est invalide, un message d'erreur est envoyé au moniteur série. Sinon, la température peut être traitée et affichée sur l'écran LCD.

Démonstration / À quoi s'attendre

Une fois que tout est câblé et que le code est téléversé, vous devriez voir les relevés de température sur l'écran LCD1602, alternant entre Celsius et Fahrenheit. Si le capteur LM75A fonctionne correctement, il mettra à jour en continu la température affichée chaque seconde. En cas de problème, comme une polarité inversée ou un câblage incorrect, vérifiez les connexions et assurez-vous d'utiliser les bonnes broches (dans la vidéo à 00:00).

Images

LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LM75a-1
LM75a-1
LM75a-3
LM75a-3
LM75a-12
LM75a-12
Arduino_wiring_LM75A_LCD_bb
Arduino_wiring_LM75A_LCD_bb
129-LM75A temperature sensor with LCD1602 I2C
Langue: C++
Copié !

Ce dont vous pourriez avoir besoin

Ressources et références

Fichiers📁

Fichier Fritzing

Autres fichiers