Pour une bouchée de pain on trouve sur le net (ebay pour ne citer que lui) des lots de thermistances. J’ai acheté un lot de 10 thermistances, MF52-103 10KOhms

Je me suis ensuite penché sur quelques articles pour connaitre la température ambiante. Après quelques déceptions ci et là, j’ai retenu cette source.

C’est en fait le « manuel d’utilisation » du module température du kit Grove. Un kit très sympa que je me suis moi même procuré. Mais on a vite fais le tours des kits Arduino. On avite envie de fabriquer ses propres modules sois-même 🙂 (enfin dans mon cas).

Dans un premier temps on va procéder a la connexion. On a donc sous la main, une thermistance, une résistance de 10Kohms, et un Arduino.

On suis ce schéma:

schema_temperature

J’ai légèrement modifié le sketch pour n’afficher que les degrés Celcius. Le code étant plus léger et plus lisible comme ca.

int a;
float ctemperature;
int B=3975; 
float resistance;

void setup()
{
  Serial.begin(9600);  
}

void loop()
{
  a=analogRead(0);
  resistance=(float)(1023-a)*10000/a; 
  ctemperature=1/(log(resistance/10000)/B+1/298.15)-273.15;
  Serial.print(ctemperature);
  Serial.write(186);
  Serial.println("C ");
  delay(1000);
}

                

 

 

Il suffit ensuite de lancer le moniteur série pour récupérer la température ambiante.

Note: L’afficheur digital de mon chauffage m’affiche 25°C (il n’as pas de décimales) quant à l’arduino il me renvoi 25.12°C. J’en conclu donc que le calcule du sketch ainsi que ma thermistance sont largement fiable pour ce type de projet.
Et si quelqu’un avais une explication pour cette ligne: ctemperature=1/(log(resistance/10000)/B+1/298.15)-273.15; Je suis preneur