Mesure et affichage d'une température

On utilise un capteur de température LM35 connecté à l'Arduino.

L'affichage se fera sur l'écran du PC, via le terminal de l'IDE

Présentation du capteur et de sa connexion à l'Arduino UNO

Première page de la notice constructeur du Capteur de température analogique LM35

 


Circuit intégré, mais le même boitier que les petits transistors ... Câblage à l'Arduino, l'entrée analogique peut être différente ...


But de l'expérimentation:

    Afficher sur le PC, toutes les secondes, la température en °C comme ci-dessous



Remarque: Ici l'expérimentateur tenait le capteur entre ses doigts ...



Première mise en fonction

  • Réaliser le câblage (HORS TENSION) et  faites-le vérifier

  • Récupérer les valeurs sur le terminal du PC:

Cliquer sur l'icône ARDUINO pour lancer l'IDE .

Charger le programme   Fichier/Exemples/03.Analog/AnalogInOutSerial dans l'Arduino.

Cliquer sur l'icone en haut à droite pour lancer le "terminal série" qui va servir à afficher les valeurs envoyées par l'Arduino

                    Paramétrer la vitesse de la liaison série à 9600 (en bauds)


   

Si tout va bien, vous devez obtenir la valeur lue par le convertisseur analogique-numérique.

Cette valeur convertie n'est pas la température, c'est l'image de la tension sur la borne "Analog voltage out" du LM35.

Cette tension est mesurée entre 0V et 5V sur une échelle de 1024 unités.

Pour 20°C à raison de 10mV par degré cette tension vaut 200mV soit 0.2V.

On lira pour 20°C la valeur 0.2 x 1024 / 5  soit environ 41.

Si vous placez vos doigts sur le LM35, sa température va augmenter ainsi que les valeurs lues sur l'écran


Obtention de la valeur de la température en degrés Celsius

Algorithme du programme :

    Après avoir initialisé la liaison série : Serial.begin(speed)    speed sera choisie à 9600 bauds

    Répéter sans fin

        Lire la valeur numérique sur l'entrée analogique et la conserver dans une variable.
            float mesure = analogRead(pin)  pin sera le nom de la broche utilisée comme entrée: A0 .... A5
            "float" définit le type de la variable, ici un nombre 'à virgule'.
            "mesure" est le nom choisi pour la variable.

        Effectuer la conversion valeur vers température en degrés:
            Le capteur fournit 10mV/°C et sur l'entrée analogique on a 5V pour une valeur de 1024
            On peut convertir la valeur de la mesure en tension en volts:
                   float tension = mesure/1024*5
            Puis trouver la température en degrés Celsius:
                   float temperature = tension*100
           
        Envoyer la valeur de la température au PC :
 Serial.println(temperature)
                Remarque: "println" fonctionne comme "print" mais avec un retour à la ligne suivante (New Line)
        Faire une pause de 1 seconde :
delay(1000)

Vous pouvez essayer de modifier le programme d'exemple précédent

Sinon utilisez le  Corrigé du programme

Source: LM35.ino


Pour aller plus loin:


Modifier le programme pour qu'une ventilation s'active lorsqu'on dépasse une certaine température.

La ventilation sera simulée par la "LED13" de l'arduino

On choisira une consigne de 2° au dessus de la température actuelle du local, de façon à pouvoir l'atteindre facilement
en "chauffant" le LM35 avec les doigts.