🌡️ Indicateur de Température à LED : Guide Complet (Méthode Arduino/ESP32 & Analogique)

💡 Note du Maker : Ce projet est parfait pour surveiller la température d'un boîtier d'ordinateur, d'une imprimante 3D, ou d'une pièce. Nous vous proposons deux approches : une version moderne et programmable avec Arduino/ESP32, et une version classique 100% analogique pour les puristes de l'électronique.
Schéma d'un indicateur de température électronique à LED avec Arduino et capteur LM35
Figure 1 : Concept d'indicateur de température visuel à base de LEDs.

Pourquoi construire un indicateur de température à LED ?

Avoir une indication visuelle immédiate de la température est souvent plus utile qu'un simple chiffre sur un écran. Un indicateur à LED (de type "Bar Graph") permet de voir d'un coup d'œil si un système chauffe trop (zone rouge) ou fonctionne normalement (zone verte), sans avoir à lire un afficheur numérique.


🚀 Méthode 1 : La Version Moderne avec Arduino ou ESP32 (Recommandée)

Cette méthode est la plus flexible. Elle permet de changer facilement la plage de température, d'ajouter des alarmes sonores, ou d'envoyer des données via WiFi (avec ESP32).

📦 Liste des Composants (BOM) :

  • Microcontrôleur : Arduino Uno, Nano ou ESP32
  • Capteur de température : LM35 (précis et linéaire, 10mV/°C) ou DHT11
  • Affichage : Module "LED Bar Graph" (10 segments) ou 5 à 10 LEDs individuelles
  • Résistances : 10x 220Ω (pour limiter le courant des LEDs)
  • Divers : Breadboard et câbles jumper

🔌 Schéma de Câblage (avec LM35 et LEDs individuelles) :

  • LM35 : VCC → 5V, GND → GND, OUT → Broche Analogique A0 (Arduino) ou GPIO 34 (ESP32).
  • LEDs : Anodes (patte longue) → Broches numériques 2 à 11 (via résistances 220Ω). Cathodes (patte courte) → GND commun.

💻 Code Arduino Complet :

/* * Indicateur de Température à LED avec Arduino/ESP32 * TechFix Hub - DIY Electronics & Arduino Projects * Capteur : LM35 (10mV par degré Celsius) */ const int sensorPin = A0; // Broche analogique pour le LM35 const int numLeds = 10; // Nombre total de LEDs const int startLedPin = 2; // Première broche numérique pour les LEDs // Définir la plage de température pour l'affichage (ex: 20°C à 40°C) const float minTemp = 20.0; const float maxTemp = 40.0; void setup() { Serial.begin(9600); // Configurer toutes les broches des LEDs en sortie for (int i = 0; i < numLeds; i++) { pinMode(startLedPin + i, OUTPUT); } } void loop() { // 1. Lire la valeur analogique int sensorValue = analogRead(sensorPin); // 2. Convertir en tension (5V / 1024 pour Arduino, ou 3.3V / 4095 pour ESP32) // Pour Arduino Uno : float voltage = sensorValue * (5.0 / 1024.0); // 3. Convertir la tension en température (LM35 = 10mV/°C, donc 0.01V/°C) float temperature = voltage / 0.01; Serial.print("Température : "); Serial.print(temperature); Serial.println(" °C"); // 4. Calculer combien de LEDs allumer // Mapper la température (minTemp à maxTemp) vers le nombre de LEDs (0 à numLeds) int ledsToLight = map(temperature * 10, minTemp * 10, maxTemp * 10, 0, numLeds); // Limiter la valeur entre 0 et le nombre max de LEDs ledsToLight = constrain(ledsToLight, 0, numLeds); // 5. Allumer/Éteindre les LEDs en conséquence for (int i = 0; i < numLeds; i++) { if (i < ledsToLight) { digitalWrite(startLedPin + i, HIGH); // Allumer } else { digitalWrite(startLedPin + i, LOW); // Éteindre } } delay(500); // Mise à jour toutes les 500ms }

⚡ Méthode 2 : La Version Classique 100% Analogique

Pour les amateurs d'électronique pure sans microcontrôleur, nous utilisons un capteur de précision et un pilote de LED dédié. (Note : Le composant "TL489" mentionné dans les anciens montages est obsolète et difficile à trouver. Nous le remplaçons par le standard industriel LM3914, conçu spécifiquement pour piloter des barres de LEDs).

Composants Clés :

  • IC1 : LM335 (Capteur de température précis, sortie 10mV/°K)
  • IC2 : LM723 (Régulateur de tension utilisé ici comme amplificateur tampon pour stabiliser la référence)
  • IC3 : LM3914 (Pilote de barre de LEDs, détecte le niveau de tension et allume les LEDs correspondantes)
  • P1 : Potentiomètre 10kΩ (pour le calibrage de la plage)

Principe de Fonctionnement :

  1. Le LM335 délivre une tension proportionnelle à la température absolue (2.98V à 25°C, soit 10mV par degré Kelvin).
  2. Le circuit autour du LM723 agit comme un amplificateur non-inverseur avec un gain réglable (par exemple, un gain de 20). Cela transforme les 10mV/°C du capteur en 200mV/°C, une échelle parfaite pour le LM3914.
  3. Le LM3914 compare cette tension amplifiée à une référence interne divisée en 10 paliers. Pour chaque augmentation de 200mV (soit 1°C après amplification), une LED supplémentaire s'allume.
  4. Le potentiomètre P1 permet de décaler le "point zéro" (par exemple, faire commencer l'affichage à 18°C au lieu de 0°C).
⚠️ Conseil de Calibrage : Pour modifier la plage de température (par exemple, 18°C à 23°C), ajustez les résistances du diviseur de tension à l'entrée du LM3914 (pins 4, 6 et 7). Pour un écart de 2°C par LED, une résistance de référence de 100kΩ est souvent un bon point de départ.

🛠️ Dépannage et Bonnes Pratiques

  • Les LEDs clignotent : Ajoutez un condensateur de découplage de 100nF entre l'alimentation et la masse de chaque circuit intégré (IC).
  • Lecture instable (Version Arduino) : Le LM35 est sensible au bruit. Ajoutez un condensateur de 100nF entre la broche OUT et la masse du LM35, ou faites une moyenne de 10 lectures dans le code.
  • Auto-échauffement du LM35 : Ne faites pas passer plus de 1.5mA à travers le LM35, sinon il chauffera lui-même et faussera la mesure. Une résistance de 1kΩ en série avec l'alimentation du capteur peut aider.

Conclusion

Que vous choisissiez la flexibilité infinie d'un ESP32 ou l'élégance d'un montage analogique discret avec le LM3914, la réalisation d'un indicateur de température à LED est un projet fondamental et très satisfaisant. Il combine la gestion des capteurs, le traitement du signal et l'interface utilisateur visuelle.

Prochaine étape : Consultez notre guide sur l'ajout d'un écran OLED à ce montage pour afficher la valeur numérique exacte en plus des LEDs !

Bottom Ad [Post Page]