top of page

LE MODULE CAPTEUR DE TEMPERATURE

Le module capteur de température comporte une thermistance et un amplificateur opérationnel LM358. Ce module peut capter des températures comprises entre -40°C et +125°C et sa sortie délivre une tension analogique comprise entre 0  et 5 V .

Ce module doit être relié à un connecteur analogique de la base. 

​

Exemple :

Nous souhaitons afficher sur un afficheur LCD la valeur de la température ambiante.

  • Si la température est inférieure à 20°C, le fond de l'écran sera bleu.

  • Si la température est comprise entre 20 et 23°C, le fond de l'écran sera blanc.

  • Si la température est supérieure à 23°C, le fond de l'écran sera rouge.

Câblage :​

Module "Grove"

​

Module capteur de température

Module afficheur LCD

Connecteur Base

​

A0

​

I2C

​

Programme :​

/* Temperature_Grove est un programme qui affiche la température ambiante sur un afficheur LCD*/

#include <Wire.h>                                                                                       // appel des bibliothèques
#include "rgb_lcd.h"
 
rgb_lcd lcd;                                                                                                  // création de l'objet lcd

const int colorR = 255;                                                                               // définition des constantes de couleur
const int colorG = 255;
const int colorB = 255;

int temp;
float temperature;
int B=3975;                                                                                                 //valeur de la thermistance
float resistance;

void setup()
{
lcd.begin(16,2);                                                                                          // initialisation du lcd
lcd.setRGB(colorR, colorG, colorB);                                                         // couleur de fond du lcd
}
 
void loop()
{
temp=analogRead(0);
resistance=(float)(1023-temp)*10000/temp;                                       //formule donnée sur le site Seeedstudio
temperature=1/(log(resistance/10000)/B+1/298.15)-273.15;
if (temperature <= 20)
  {
    lcd.setRGB(0, 0, colorB);
  }
if ((temperature > 20)&&(temperature < 23))
  {
    lcd.setRGB(colorR, colorG, colorB);
  }
if (temperature >= 23)
  {
    lcd.setRGB(colorR, 0, 0);
  }
lcd.clear();
lcd.print("T=");
lcd.print(temperature);
lcd.print(" Celsius");
delay(200);
}

bottom of page